aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java')
-rw-r--r--libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java181
1 files changed, 0 insertions, 181 deletions
diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java
deleted file mode 100644
index 1ae2bca1b..000000000
--- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/MacTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.spongycastle.crypto.test;
-
-import org.spongycastle.crypto.BlockCipher;
-import org.spongycastle.crypto.Mac;
-import org.spongycastle.crypto.engines.DESEngine;
-import org.spongycastle.crypto.macs.CBCBlockCipherMac;
-import org.spongycastle.crypto.macs.CFBBlockCipherMac;
-import org.spongycastle.crypto.params.KeyParameter;
-import org.spongycastle.crypto.params.ParametersWithIV;
-import org.spongycastle.crypto.paddings.PKCS7Padding;
-import org.spongycastle.util.encoders.Hex;
-import org.spongycastle.util.test.SimpleTest;
-
-/**
- * MAC tester - vectors from
- * <a href=http://www.itl.nist.gov/fipspubs/fip81.htm>FIP 81</a> and
- * <a href=http://www.itl.nist.gov/fipspubs/fip113.htm>FIP 113</a>.
- */
-public class MacTest
- extends SimpleTest
-{
- static byte[] keyBytes = Hex.decode("0123456789abcdef");
- static byte[] ivBytes = Hex.decode("1234567890abcdef");
-
- static byte[] input1 = Hex.decode("37363534333231204e6f77206973207468652074696d6520666f7220");
-
- static byte[] output1 = Hex.decode("f1d30f68");
- static byte[] output2 = Hex.decode("58d2e77e");
- static byte[] output3 = Hex.decode("cd647403");
-
- //
- // these aren't NIST vectors, just for regression testing.
- //
- static byte[] input2 = Hex.decode("3736353433323120");
-
- static byte[] output4 = Hex.decode("3af549c9");
- static byte[] output5 = Hex.decode("188fbdd5");
- static byte[] output6 = Hex.decode("7045eecd");
-
- public MacTest()
- {
- }
-
- public void performTest()
- {
- KeyParameter key = new KeyParameter(keyBytes);
- BlockCipher cipher = new DESEngine();
- Mac mac = new CBCBlockCipherMac(cipher);
-
- //
- // standard DAC - zero IV
- //
- mac.init(key);
-
- mac.update(input1, 0, input1.length);
-
- byte[] out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output1))
- {
- fail("Failed - expected " + new String(Hex.encode(output1)) + " got " + new String(Hex.encode(out)));
- }
-
- //
- // mac with IV.
- //
- ParametersWithIV param = new ParametersWithIV(key, ivBytes);
-
- mac.init(param);
-
- mac.update(input1, 0, input1.length);
-
- out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output2))
- {
- fail("Failed - expected " + new String(Hex.encode(output2)) + " got " + new String(Hex.encode(out)));
- }
-
- //
- // CFB mac with IV - 8 bit CFB mode
- //
- param = new ParametersWithIV(key, ivBytes);
-
- mac = new CFBBlockCipherMac(cipher);
-
- mac.init(param);
-
- mac.update(input1, 0, input1.length);
-
- out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output3))
- {
- fail("Failed - expected " + new String(Hex.encode(output3)) + " got " + new String(Hex.encode(out)));
- }
-
- //
- // word aligned data - zero IV
- //
- mac.init(key);
-
- mac.update(input2, 0, input2.length);
-
- out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output4))
- {
- fail("Failed - expected " + new String(Hex.encode(output4)) + " got " + new String(Hex.encode(out)));
- }
-
- //
- // word aligned data - zero IV - CBC padding
- //
- mac = new CBCBlockCipherMac(cipher, new PKCS7Padding());
-
- mac.init(key);
-
- mac.update(input2, 0, input2.length);
-
- out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output5))
- {
- fail("Failed - expected " + new String(Hex.encode(output5)) + " got " + new String(Hex.encode(out)));
- }
-
- //
- // non-word aligned data - zero IV - CBC padding
- //
- mac.reset();
-
- mac.update(input1, 0, input1.length);
-
- out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output6))
- {
- fail("Failed - expected " + new String(Hex.encode(output6)) + " got " + new String(Hex.encode(out)));
- }
-
- //
- // non-word aligned data - zero IV - CBC padding
- //
- mac.init(key);
-
- mac.update(input1, 0, input1.length);
-
- out = new byte[4];
-
- mac.doFinal(out, 0);
-
- if (!areEqual(out, output6))
- {
- fail("Failed - expected " + new String(Hex.encode(output6)) + " got " + new String(Hex.encode(out)));
- }
- }
-
- public String getName()
- {
- return "Mac";
- }
-
- public static void main(
- String[] args)
- {
- runTest(new MacTest());
- }
-}