我使用 secp192r1 曲线生成了 ECC 公钥和私钥。我得到 75 的公共和 125 的私有编码密钥数组长度。为什么私钥比公钥长?为什么私钥不比公钥长两倍?为什么私钥不是 192 位 = 24 字节,因为 secp192r1?
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
ECNamedCurveParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("secp192r1");
KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
g.initialize(ecSpec, new SecureRandom());
KeyPair pair = g.generateKeyPair();
System.out.println(pair.getPublic().getEncoded().length);
System.out.println(pair.getPrivate().getEncoded().length);