生成ECDH secp256r1时,公钥和私钥的长度错误

时间:2018-07-11 07:00:28

标签: android security public-key-encryption key-pair ecdh

如何获得所需长度的钥匙?我选择算法ECDh并为其绘制曲线“ secp256r1”。根据这些曲线的说明,密钥的长度应为256位。但是我得到了另一个长度:publicKey-91byte,私有-150byte。我在做什么错了?

try {
        ECGenParameterSpec ecParamSpec = new ECGenParameterSpec("secp256r1");
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("ECDH", "SC");
        keyPairGenerator.initialize(ecParamSpec);
        final KeyPair keyPair = keyPairGenerator.generateKeyPair();

        privateKey = keyPair.getPrivate();
        publicKey  = keyPair.getPublic();

        byte[] pubStr = publicKey.getEncoded();
        byte[] privStr = privateKey.getEncoded();
    } catch (Exception e) {
        e.printStackTrace();
    }

如何获得256个长度的键?

0 个答案:

没有答案