我正在CBC模式提供程序中使用带有AES的充气城堡ECIES来加密数据:
Cipher iesCipher = Cipher.getInstance("ECIESWITHAES-CBC");
iesCipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] ciphertext = iesCipher.doFinal(plaintext);
这将产生以下格式的密文:
0x04 || coordinate x || coordinate y || PKCS5 padded ciphertext || 20-byte HMAC-digest
0x04
表示未压缩的格式,还存储y坐标。使用例如。 secp256k1,这会导致32字节不必要的开销。
现在,我想使用带有0x02
和0x03
前缀的压缩格式。
不幸的是,我没有找到用于实现此目标的参数规范。