我是EC加密的新手,对此有些挣扎。我正在使用Java 8和BouncyCatle提供程序。我现在遇到的问题是:当我使用以下代码生成EC-KeyPair时:
ECGenParameterSpec spec = new ECGenParameterSpec("secp521r1");
KeyPairGenerator kpg = KeyPairGenerator.getInstance("ECDH", BouncyCastleProvider.PROVIDER_NAME);
kpg.initialize(spec, new SecureRandom());
return kpg.generateKeyPair();
并尝试获取公用密钥的字节数组以将其发送给其他人,编码密钥的长度为158个字节,格式为X.509。但是我期望X9.62格式和65到66字节之间的密钥大小。为什么公共密钥这么大,我如何用期望的密钥大小对其进行编码?(我期望密钥的大小,因为我期望密钥的长度为521位)
相关分类