< prev index next >
test/com/sun/crypto/provider/Cipher/AES/TestGHASH.java
Print this page
*** 1,7 ****
--- 1,8 ----
/*
* Copyright (c) 2015, Red Hat, Inc.
+ * Copyright (c) 2015, Oracle, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 22,32 ****
*/
/*
* @test
* @bug 8069072
! * @summary Test vectors for com.sun.crypto.provider.GHASH
*/
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
--- 23,40 ----
*/
/*
* @test
* @bug 8069072
! * @summary Test vectors for com.sun.crypto.provider.GHASH.
! *
! * Single iteration to verify software-only GHASH algorithm.
! * @run main TestGHASH
! *
! * Multi-iteration to verify test intrinsics GHASH, if available.
! * Many iterations are needed so we are sure hotspot will use intrinsic
! * @run main TestGHASH -n 10000
*/
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
*** 122,141 ****
}
}
public static void main(String[] args) throws Exception {
TestGHASH test;
! if (args.length == 0) {
! test = new TestGHASH("com.sun.crypto.provider.GHASH");
! } else {
! test = new TestGHASH(args[0]);
! }
// Test vectors from David A. McGrew, John Viega,
// "The Galois/Counter Mode of Operation (GCM)", 2005.
// <http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf>
-
test.check(1, "66e94bd4ef8a2c3b884cfa59ca342b2e", "", "",
"00000000000000000000000000000000");
test.check(2,
"66e94bd4ef8a2c3b884cfa59ca342b2e", "",
"0388dace60b6a392f328c2b971b2fe78",
--- 130,159 ----
}
}
public static void main(String[] args) throws Exception {
TestGHASH test;
! String test_class = "com.sun.crypto.provider.GHASH";
! int i = 0;
! int num_of_loops = 1;
! while (args.length > i) {
! if (args[i].compareTo("-c") == 0) {
! test_class = args[++i];
! } else if (args[i].compareTo("-n") == 0) {
! num_of_loops = Integer.parseInt(args[++i]);
! }
! i++;
! }
!
! System.out.println("Running " + num_of_loops + " iterations.");
! test = new TestGHASH(test_class);
! i = 0;
+ while (num_of_loops > i) {
// Test vectors from David A. McGrew, John Viega,
// "The Galois/Counter Mode of Operation (GCM)", 2005.
// <http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf>
test.check(1, "66e94bd4ef8a2c3b884cfa59ca342b2e", "", "",
"00000000000000000000000000000000");
test.check(2,
"66e94bd4ef8a2c3b884cfa59ca342b2e", "",
"0388dace60b6a392f328c2b971b2fe78",
*** 160,166 ****
--- 178,186 ----
"61353b4c2806934a777ff51fa22a4755" +
"699b2a714fcdc6f83766e5f97b6c7423" +
"73806900e49f24b22b097544d4896b42" +
"4989b5e1ebac0f07c23f4598",
"df586bb4c249b92cb6922877e444d37b");
+ i++;
+ }
}
}
< prev index next >