crypto

package
v0.90.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package crypto provides cryptographic operations for signing and verification.

This package provides:

  • ECDSA P-256 signing and verification
  • DER encoding/decoding of ECDSA signatures
  • Public key extraction from signatures
  • SHA256 hashing

Signing

Sign data using ECDSA P-256:

signature, err := crypto.SignWithECDSA(privateKey, data)
if err != nil {
	log.Fatal(err)
}

Verification

Verify ECDSA signatures:

valid := crypto.VerifyECDSASignature(publicKey, data, signature)

Serialization

Marshal ECDSA signatures to DER format:

derSig, err := crypto.MarshalECDSASignatureDER(r, s)
if err != nil {
	log.Fatal(err)
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalECDSASignatureDER

func MarshalECDSASignatureDER(r, s *big.Int) ([]byte, error)

MarshalECDSASignatureDER converts ECDSA signature components to DER format

func SignWithECDSA

func SignWithECDSA(privateKey *ecdsa.PrivateKey, data []byte) ([]byte, error)

SignWithECDSA signs data with an ECDSA private key using SHA256

func VerifyECDSASignature

func VerifyECDSASignature(publicKey *ecdsa.PublicKey, data []byte, signature []byte) bool

VerifyECDSASignature verifies an ECDSA signature

Types

type ECDSASignature

type ECDSASignature struct {
	R, S *big.Int
}

ECDSASignature represents an ECDSA signature for ASN.1 encoding

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL