Java AES 暗号化/復号化の非常に標準的な方法を使用しています。
byte[] key = hexStringToByteArray("C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF");
byte[] message = hexStringToByteArray("01A0A1A2A3A4A5A6A703020100060001");
SecretKeySpec secretKeySpec = new SecretKeySpec(key, "AES");
// Instantiate the cipher
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec);
byte[] encrypted = cipher.doFinal(message);
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
byte[] original = cipher.doFinal(encrypted);
ご覧のとおり、128 ビット キーと 128 ビット メッセージを使用しています。私は常に期待どおりの結果を得ることができますが、暗号化された結果は常に 256 ビット長です。2 番目の 128 ビットは常に同じです。結果を切り捨てる以外に、最初の 128 ビットを変更せずに、暗号が最初の 128 ビットのみを返すようにするにはどうすればよいですか? ここでのブロックサイズの定義と混同しているように感じます。