Black Lives Matter. Support the Equal Justice Initiative.

Package ed25519

import "crypto/ed25519"
Overview
Index
Subdirectories

Overview ▾

软件包ed25519实现了Ed25519签名算法. 参见https://ed25519.cr.yp.to/ .

这些功能还与RFC 8032中定义的" Ed25519"功能兼容.但是,与RFC 8032的表述不同,此软件包的私钥表示形式包括一个公钥后缀,以使使用同一密钥的多个签名操作更加有效. 该程序包将RFC 8032私钥称为"种子".

Constants

const (
    // PublicKeySize is the size, in bytes, of public keys as used in this package.
    PublicKeySize = 32
    // PrivateKeySize is the size, in bytes, of private keys as used in this package.
    PrivateKeySize = 64
    // SignatureSize is the size, in bytes, of signatures generated and verified by this package.
    SignatureSize = 64
    // SeedSize is the size, in bytes, of private key seeds. These are the private key representations used by RFC 8032.
    SeedSize = 32
)

func GenerateKey 1.13

func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error)

GenerateKey使用rand的熵生成一个公共/私有密钥对. 如果rand为nil,将使用crypto / rand.Reader.

func Sign 1.13

func Sign(privateKey PrivateKey, message []byte) []byte

Sign用私有密钥对消息进行签名并返回签名. 如果len(privateKey)不是PrivateKeySize,它将惊慌.

func Verify 1.13

func Verify(publicKey PublicKey, message, sig []byte) bool

验证通过publicKey报告sig是否是消息的有效签名. 如果len(publicKey)不是PublicKeySize,它将惊慌.

type PrivateKey 1.13

PrivateKey是Ed25519私钥的类型. 它实现crypto.Signer.

type PrivateKey []byte

func NewKeyFromSeed 1.13

func NewKeyFromSeed(seed []byte) PrivateKey

NewKeyFromSeed从种子计算私钥. 如果len(seed)不是SeedSize,它将惊慌. 提供此功能是为了与RFC 8032互操作.RFC8032的私钥与该程序包中的种子相对应.

func (PrivateKey) Public 1.13

func (priv PrivateKey) Public() crypto.PublicKey

Public返回与priv相对应的PublicKey.

func (PrivateKey) Seed 1.13

func (priv PrivateKey) Seed() []byte

Seed返回对应于priv的私钥种子. 提供它是为了与RFC 8032互操作.RFC8032的私钥与该程序包中的种子相对应.

func (PrivateKey) Sign 1.13

func (priv PrivateKey) Sign(rand io.Reader, message []byte, opts crypto.SignerOpts) (signature []byte, err error)

Sign用priv签名给定的消息. Ed25519对要签名的消息执行两次传递,因此无法处理预隐藏的消息. 因此,opts.HashFunc()必须返回零以指示未对消息进行哈希处理. 这可以通过将crypto.Hash(0)作为opts的值来实现.

type PublicKey 1.13

PublicKey是Ed25519公共密钥的类型.

type PublicKey []byte

Subdirectories

Name Synopsis
..

by  ICOPY.SITE