Commit d7d813b3 authored by Kenny Root's avatar Kenny Root Committed by Feng Yu
Browse files

DO NOT MERGE

CipherTest: add test for multiple updateAAD calls

Make sure that multiple updateAAD calls are equivalent to other calls to
updateAAD with the same data.

(cherry picked from commit 67ee3c5c)

Bug: 27371173
Change-Id: Ie69df0906438ad26c566daed3f55b07ba60fe468
parent ee76ab4a
......@@ -3516,6 +3516,33 @@ public final class CipherTest extends TestCase {
cipher.doFinal(new byte[] {1,2,3,4});
}
/*
* Check that two AAD updates are equivalent to one.
* http://b/27371173
*/
public void test_AESGCMNoPadding_UpdateAADTwice_Success() throws Exception {
SecretKeySpec key = new SecretKeySpec(new byte[16], "AES");
GCMParameterSpec spec = new GCMParameterSpec(128, new byte[12]);
Cipher c1 = Cipher.getInstance("AES/GCM/NoPadding");
Cipher c2 = Cipher.getInstance("AES/GCM/NoPadding");
c1.init(Cipher.ENCRYPT_MODE, key, spec);
c1.updateAAD(new byte[] {
0x01, 0x02, 0x03, 0x04, 0x05,
});
c1.updateAAD(new byte[] {
0x06, 0x07, 0x08, 0x09, 0x10,
});
c2.init(Cipher.ENCRYPT_MODE, key, spec);
c2.updateAAD(new byte[] {
0x01, 0x02, 0x03, 0x04, 0x05,
0x06, 0x07, 0x08, 0x09, 0x10,
});
assertEquals(Arrays.toString(c1.doFinal()), Arrays.toString(c2.doFinal()));
}
/*
* Check that GCM encryption with old and new instances update correctly.
* http://b/26694388
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment