Documentation
¶
Overview ¶
パッケージdsaは、FIPS 186-3で定義されたデジタル署名アルゴリズムを実装します。
このパッケージのDSA操作は、定数時間アルゴリズムを使用して実装されていません。
廃止予定:DSAはレガシーアルゴリズムであり、パッケージcrypto/ed25519で実装されたEd25519などのモダンな代替方法を代わりに使用する必要があります。1024ビットのモジュラス(L1024N160パラメーター)を持つキーは、暗号学的に弱く、より大きなキーは一般的にサポートされていません。FIPS 186-5では、DSAが署名生成については承認されなくなっています。
Index ¶
- Variables
- func GenerateKey(priv *PrivateKey, rand io.Reader) error
- func GenerateParameters(params *Parameters, rand io.Reader, sizes ParameterSizes) error
- func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error)
- func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool
- type ParameterSizes
- type Parameters
- type PrivateKey
- type PublicKey
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidPublicKey = errors.New("crypto/dsa: invalid public key")
ErrInvalidPublicKey は、このコードで使用できない公開鍵の場合に発生します。 FIPSはDSAキーの形式に対して非常に厳格ですが、他のコードではそうでない場合もあります。 したがって、他のコードで生成された可能性がある鍵を使用する場合は、このエラーを処理する必要があります。
Functions ¶
func GenerateKey ¶
func GenerateKey(priv *PrivateKey, rand io.Reader) error
GenerateKey は公開鍵と秘密鍵のペアを生成します。PrivateKeyのパラメータはすでに有効である必要があります(GenerateParametersを参照してください)。
func GenerateParameters ¶
func GenerateParameters(params *Parameters, rand io.Reader, sizes ParameterSizes) error
GenerateParameters はランダムで有効なDSAパラメータをparamsに生成します。 この関数は高速なマシンでも数秒かかる場合があります。
Types ¶
type ParameterSizes ¶
type ParameterSizes int
ParameterSizesは、DSAパラメータの受け入れ可能な素数のビット長の列挙です。 FIPS 186-3、セクション4.2を参照してください。
const ( L1024N160 ParameterSizes = iota L2048N224 L2048N256 L3072N256 )
type Parameters ¶
Parametersはキーのドメインパラメータを表します。これらのパラメータは多くのキーで共有することができます。Qのビット長は8の倍数でなければなりません。