diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jce/provider/test/SipHashTest.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/jce/provider/test/SipHashTest.java | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SipHashTest.java b/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SipHashTest.java deleted file mode 100644 index 5986141..0000000 --- a/bcprov/src/main/java/org/bouncycastle/jce/provider/test/SipHashTest.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.bouncycastle.jce.provider.test; - -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Security; - -import javax.crypto.KeyGenerator; -import javax.crypto.Mac; -import javax.crypto.SecretKey; -import javax.crypto.spec.SecretKeySpec; - -import org.bouncycastle.jce.provider.BouncyCastleProvider; -import org.bouncycastle.util.Arrays; -import org.bouncycastle.util.encoders.Hex; -import org.bouncycastle.util.test.SimpleTest; - -public class SipHashTest - extends SimpleTest -{ - public void performTest() - throws Exception - { - testMac(); - testKeyGenerator(); - } - - private void testKeyGenerator() - throws NoSuchAlgorithmException, - NoSuchProviderException - { - testKeyGen("SipHash"); - testKeyGen("SipHash-2-4"); - testKeyGen("SipHash-4-8"); - } - - private void testKeyGen(String algorithm) - throws NoSuchAlgorithmException, - NoSuchProviderException - { - KeyGenerator kg = KeyGenerator.getInstance(algorithm, "BC"); - - SecretKey key = kg.generateKey(); - - if (!key.getAlgorithm().equalsIgnoreCase("SipHash")) - { - fail("Unexpected algorithm name in key", "SipHash", key.getAlgorithm()); - } - if (key.getEncoded().length != 16) - { - fail("Expected 128 bit key"); - } - } - - private void testMac() - throws NoSuchAlgorithmException, - NoSuchProviderException, - InvalidKeyException - { - byte[] key = Hex.decode("000102030405060708090a0b0c0d0e0f"); - byte[] input = Hex.decode("000102030405060708090a0b0c0d0e"); - - byte[] expected = Hex.decode("e545be4961ca29a1"); - - Mac mac = Mac.getInstance("SipHash", "BC"); - - mac.init(new SecretKeySpec(key, "SipHash")); - - mac.update(input, 0, input.length); - - byte[] result = mac.doFinal(); - - if (!Arrays.areEqual(expected, result)) - { - fail("Result does not match expected value for doFinal()"); - } - - mac.init(new SecretKeySpec(key, "SipHash-2-4")); - - mac.update(input, 0, input.length); - - result = mac.doFinal(); - if (!Arrays.areEqual(expected, result)) - { - fail("Result does not match expected value for second doFinal()"); - } - - mac = Mac.getInstance("SipHash-2-4", "BC"); - - mac.init(new SecretKeySpec(key, "SipHash-2-4")); - - mac.update(input, 0, input.length); - - result = mac.doFinal(); - if (!Arrays.areEqual(expected, result)) - { - fail("Result does not match expected value for alias"); - } - - // SipHash 4-8 - expected = Hex.decode("e0a6a97dd589d383"); - - mac = Mac.getInstance("SipHash-4-8", "BC"); - - mac.init(new SecretKeySpec(key, "SipHash")); - - mac.update(input, 0, input.length); - - result = mac.doFinal(); - - if (!Arrays.areEqual(expected, result)) - { - fail("Result does not match expected value for SipHash 4-8"); - } - } - - public String getName() - { - return "SipHash"; - } - - public static void main( - String[] args) - { - Security.addProvider(new BouncyCastleProvider()); - - runTest(new SipHashTest()); - } -} |