summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SHA3Test.java
diff options
context:
space:
mode:
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jce/provider/test/SHA3Test.java')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jce/provider/test/SHA3Test.java136
1 files changed, 0 insertions, 136 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SHA3Test.java b/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SHA3Test.java
deleted file mode 100644
index 89b85ae..0000000
--- a/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SHA3Test.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.bouncycastle.jce.provider.test;
-
-import java.security.MessageDigest;
-import java.security.Security;
-
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.util.encoders.Hex;
-import org.bouncycastle.util.test.SimpleTest;
-
-public class SHA3Test
- extends SimpleTest
-{
- final static String provider = "BC";
-
- static private byte[] nullMsg = new byte[0];
-
- static private String[][] nullVectors =
- {
- { "SHA3-224", "f71837502ba8e10837bdd8d365adb85591895602fc552b48b7390abd" },
- { "SHA3-256", "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" },
- { "SHA3-384", "2c23146a63a29acf99e73b88f8c24eaa7dc60aa771780ccc006afbfa8fe2479b2dd2b21362337441ac12b515911957ff" },
- { "SHA3-512", "0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e" },
- };
-
- static private byte[] shortMsg = Hex.decode("54686520717569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f67");
-
- static private String[][] shortVectors =
- {
- { "SHA3-224", "310aee6b30c47350576ac2873fa89fd190cdc488442f3ef654cf23fe" },
- { "SHA3-256", "4d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15" },
- { "SHA3-384", "283990fa9d5fb731d786c5bbee94ea4db4910f18c62c03d173fc0a5e494422e8a0b3da7574dae7fa0baf005e504063b3" },
- { "SHA3-512", "d135bb84d0439dbac432247ee573a23ea7d3c9deb2a968eb31d47c4fb45f1ef4422d6c531b5b9bd6f449ebcc449ea94d0a8f05f62130fda612da53c79659f609" },
- };
-
- public String getName()
- {
- return "SHA3";
- }
-
- void test(String algorithm, byte[] message, String expected)
- throws Exception
- {
- MessageDigest digest = MessageDigest.getInstance(algorithm, provider);
-
- byte[] result = digest.digest(message);
- byte[] result2 = digest.digest(message);
-
- // test zero results valid
- if (!MessageDigest.isEqual(result, Hex.decode(expected)))
- {
- fail("null result not equal for " + algorithm);
- }
-
- // test one digest the same message with the same instance
- if (!MessageDigest.isEqual(result, result2))
- {
- fail("Result object 1 not equal");
- }
-
- if (!MessageDigest.isEqual(result, Hex.decode(expected)))
- {
- fail("Result object 1 not equal");
- }
-
- // test two, single byte updates
- for (int i = 0; i < message.length; i++)
- {
- digest.update(message[i]);
- }
- result2 = digest.digest();
-
- if (!MessageDigest.isEqual(result, result2))
- {
- fail("Result object 2 not equal");
- }
-
- // test three, two half updates
- digest.update(message, 0, message.length/2);
- digest.update(message, message.length/2, message.length-message.length/2);
- result2 = digest.digest();
-
- if (!MessageDigest.isEqual(result, result2))
- {
- fail("Result object 3 not equal");
- }
-
- // test four, clone test
- digest.update(message, 0, message.length/2);
- MessageDigest d = (MessageDigest)digest.clone();
- digest.update(message, message.length/2, message.length-message.length/2);
- result2 = digest.digest();
-
- if (!MessageDigest.isEqual(result, result2))
- {
- fail("Result object 4(a) not equal");
- }
-
- d.update(message, message.length/2, message.length-message.length/2);
- result2 = d.digest();
-
- if (!MessageDigest.isEqual(result, result2))
- {
- fail("Result object 4(b) not equal");
- }
-
- // test five, check reset() method
- digest.update(message, 0, message.length/2);
- digest.reset();
- digest.update(message, 0, message.length/2);
- digest.update(message, message.length/2, message.length-message.length/2);
- result2 = digest.digest();
-
- if (!MessageDigest.isEqual(result, result2))
- {
- fail("Result object 5 not equal");
- }
-
- }
-
- public void performTest()
- throws Exception
- {
- for (int i = 0; i != nullVectors.length; i++)
- {
- test(nullVectors[i][0], nullMsg, nullVectors[i][1]);
- test(shortVectors[i][0], shortMsg, shortVectors[i][1]);
- }
- }
-
- public static void main(String[] args)
- {
- Security.addProvider(new BouncyCastleProvider());
-
- runTest(new SHA3Test());
- }
-}