解码点函数输出中的PublicKeySizeInvalid错误

问题描述 投票:1回答:1

我在GHCI尝试这个功能,

import Data.ByteString.Char8
import Crypto.PubKey.ECIES 
import Crypto.ECC
import Data.Proxy

curve = Proxy :: Proxy Curve_X448

str = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
seed = Data.ByteString.Char8.pack str
d =  decodePoint curve seed
d

但它给出了一个错误CryptoFailed CryptoError_PublicKeySizeInvalid,什么应该是str的大小?

haskell cryptography elliptic-curve
1个回答
2
投票

对于X448曲线,顾名思义,密钥大小应为448位,或56字节:

-- import ...

curve = Proxy :: Proxy Curve_X448

seed = Data.ByteString.Char8.replicate 56 'a'
d = decodePoint curve seed
d

打印出来:

CryptoPassed (PublicKey "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
© www.soinside.com 2019 - 2024. All rights reserved.