...

パッケージ ed25519

import "crypto/ed25519"
概要
目次
サブディレクトリ

概要 ▾

ed25519 パッケージは, Ed25519 署名アルゴリズムを実装します。 https://ed25519.cr.yp.to/ を参照してください。

これらの関数は, RFC 8032 で定義されている "Ed25519" 関数とも互換性があります。ただし, RFC 8032 の定式化とは異なり,このパッケージの秘密キー表現には公開キーサフィックスが含まれており,同じキーを使用した複数の署名操作がより効率的になります。このパッケージでは, RFC 8032 秘密キーを " シード " と呼びます。

定数

const (
    // PublicKeySize は,このパッケージで使用される公開キーのサイズ (バイト単位) です。
    PublicKeySize = 32
    // PrivateKeySize は,このパッケージで使用される秘密鍵のサイズ (バイト単位) です。
    PrivateKeySize = 64
    // SignatureSize は,このパッケージによって生成および検証される署名のサイズ (バイト単位) です。
    SignatureSize = 64
    // SeedSize は,秘密キーシードのサイズ (バイト単位) です。これらは, 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

署名は, privateKey でメッセージに署名し,署名を返します。 len(privateKey) が PrivateKeySize でない場合,パニックします。

func Verify 1.13

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

Verify は,sig が publicKey によるメッセージの有効な署名であるかどうか報告します。 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 との相互運用性のために渡されています。 RFC 8032 の秘密鍵は,このパッケージのシードに対応しています。

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 との相互運用性のために渡されています。 RFC 8032 の秘密鍵は,このパッケージのシードに対応しています。

func (PrivateKey) Sign 1.13

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

Sign は, priv で指定されたメッセージに署名します。 Ed25519 は,署名されるメッセージに対して 2 つのパスを実行するため,事前にハッシュされたメッセージを処理できません。したがって, opts.HashFunc() は,メッセージがハッシュされていないことを示すためにゼロを返す必要があります。これは, opts の値として crypto.Hash(0) を渡すことで実現できます。

type PublicKey 1.13

PublicKey は, Ed25519 公開キーの型です。

type PublicKey []byte

サブディレクトリ

名前 概要
..