crypto/ecies: use AES-192 for curve P384 (#24139)
Using curve P384 for encryption causes the error "ecies: shared key params are too big". Also, readme.md says curve P384 should use AES192 not AES256. Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
This commit is contained in:
parent
2c58e6b62d
commit
045e90c897
@ -279,7 +279,7 @@ var testCases = []testCase{
|
||||
{
|
||||
Curve: elliptic.P384(),
|
||||
Name: "P384",
|
||||
Expected: ECIES_AES256_SHA384,
|
||||
Expected: ECIES_AES192_SHA384,
|
||||
},
|
||||
{
|
||||
Curve: elliptic.P521(),
|
||||
|
@ -80,6 +80,14 @@ var (
|
||||
KeyLen: 16,
|
||||
}
|
||||
|
||||
ECIES_AES192_SHA384 = &ECIESParams{
|
||||
Hash: sha512.New384,
|
||||
hashAlgo: crypto.SHA384,
|
||||
Cipher: aes.NewCipher,
|
||||
BlockSize: aes.BlockSize,
|
||||
KeyLen: 24,
|
||||
}
|
||||
|
||||
ECIES_AES256_SHA256 = &ECIESParams{
|
||||
Hash: sha256.New,
|
||||
hashAlgo: crypto.SHA256,
|
||||
@ -108,7 +116,7 @@ var (
|
||||
var paramsFromCurve = map[elliptic.Curve]*ECIESParams{
|
||||
ethcrypto.S256(): ECIES_AES128_SHA256,
|
||||
elliptic.P256(): ECIES_AES128_SHA256,
|
||||
elliptic.P384(): ECIES_AES256_SHA384,
|
||||
elliptic.P384(): ECIES_AES192_SHA384,
|
||||
elliptic.P521(): ECIES_AES256_SHA512,
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user