202 バイトのキーがあり、それを使用してバイナリ ファイルを復号化します。
StringSource keyStr( key, Z3_KEY_LENGTH, true );
AutoSeededRandomPool rng;
ECIES<ECP>::Decryptor ellipticalEnc( keyStr );
unsigned char *tmpBuffer( new unsigned char[ src.Size() ] );
DecodingResult dr = ellipticalEnc.Decrypt( rng, src.Data(), src.Size(), tmpBuffer );
私はこれに jsafejce を使用しようとしました:
PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(key);
KeyFactory factory = KeyFactory.getInstance("EC", "JsafeJCE");
PrivateKey privateKey = factory.generatePrivate(privKeySpec);
Cipher eciesDecrypter = Cipher.getInstance("ECIES/SHA1/HMACSHA1", "JsafeJCE");
と
Cipher eciesDecrypter = Cipher.getInstance("ECIESwithXOR/SHA1/HMACSHA1", "JsafeJCE");
しかし、最初にブロックエラーが発生し、16 で割る必要があり、2 番目に mac チェックエラーが発生します。
誰か提案はありますか?