< 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 >