Represent a ECDSA signature namely R and S.
Modulecrypton-2.1.7Haskell2010
Crypto.PubKey.ECC.ECDSA
WARNING: Signature operations may leak the private key. The nonce is inverted without a side channel on every curve, and on P-256 the scalar multiplication is the constant-time C implementation, but what surrounds them is Integer arithmetic, whose cost follows the values it is given, and on every other curve the multiplication follows the nonce as well. Signature verification takes only public values and should be safe.
- 7 types
- 13 values
- Packagecrypton-2.1.7
- Exports20
- LanguageHaskell2010
- LicenceBSD-3-Clause AND MIT AND ISC
- SourceECDSA.hs
ECDSA signature with public key recovery information.
Instances4Eq, Data, Read, Show
Eq ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAData ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSARead ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAShow ExtendedSignatureDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
ECC Public Point
ECDSA Public Key.
Constructors
ECC Private Number
ECDSA Private Key.
Constructors
Instances5Eq, Data, Read, Show, DebugShow
Eq PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAData PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSARead PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAShow PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAThe curve is shown;
private_dis not. Use debugShow to see it.DebugShow PrivateKeyDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
ECDSA Key Pair.
Constructors
Instances5Eq, Data, Read, Show, DebugShow
Eq KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAData KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSARead KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSAShow KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSADebugShow KeyPairDefined in crypton-2.1.7 · Crypto.PubKey.ECC.ECDSA
Public key of a ECDSA Key pair.
Private key of a ECDSA Key pair.
signWith :: (ByteArrayAccess msg, HashAlgorithm hash)=> Integerk random number
-> PrivateKeyprivate key
-> hashhash function
-> msgmessage to sign
-> Maybe Signature
Sign message using the private key and an explicit k number.
WARNING: Vulnerable to timing attacks.
signDigestWith :: HashAlgorithm hash=> Integerk random number
-> PrivateKeyprivate key
-> Digest hashdigest to sign
-> Maybe Signature
Sign digest using the private key and an explicit k number.
WARNING: Vulnerable to timing attacks.
signExtendedDigestWith :: HashAlgorithm hash=> Integerk random number
-> PrivateKeyprivate key
-> Digest hashdigest to sign
-> Maybe ExtendedSignature
Sign digest using the private key and an explicit k number.
WARNING: Vulnerable to timing attacks.
Sign message using the private key.
WARNING: Vulnerable to timing attacks.
Sign digest using the private key.
WARNING: Vulnerable to timing attacks.
Sign digest using the private key.
WARNING: Vulnerable to timing attacks.
Verify a bytestring using the public key.
Verify a digest using the public key.
Recover the public key from an extended signature and a message.
Recover the public key from an extended signature and a digest.
Deterministic nonce generation according to RFC 6979. Allows using different hash algorithms for the HMAC-based DRG and the message digest.