Welcome to mirror list, hosted at ThFree Co, Russian Federation.

CamelliaTest.java « test « crypto « spongycastle « org « java « test « src « core - gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a3d4819395c755c9753218c94c6ab350539357a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package org.spongycastle.crypto.test;

import org.spongycastle.crypto.engines.CamelliaEngine;
import org.spongycastle.crypto.params.KeyParameter;
import org.spongycastle.util.encoders.Hex;
import org.spongycastle.util.test.SimpleTest;
import org.spongycastle.util.test.TestResult;

/**
 * Camellia tester - vectors from https://www.cosic.esat.kuleuven.be/nessie/testvectors/ and RFC 3713
 */
public class CamelliaTest
    extends CipherTest
{
    static SimpleTest[]  tests = 
            {
                new BlockCipherVectorTest(0, new CamelliaEngine(),
                    new KeyParameter(Hex.decode("00000000000000000000000000000000")),
                    "80000000000000000000000000000000", "07923A39EB0A817D1C4D87BDB82D1F1C"),
                new BlockCipherVectorTest(1, new CamelliaEngine(),
                    new KeyParameter(Hex.decode("80000000000000000000000000000000")),
                    "00000000000000000000000000000000", "6C227F749319A3AA7DA235A9BBA05A2C"),
                new BlockCipherVectorTest(2, new CamelliaEngine(),
                        new KeyParameter(Hex.decode("0123456789abcdeffedcba9876543210")),
                        "0123456789abcdeffedcba9876543210", "67673138549669730857065648eabe43"),
                //
                // 192 bit
                //
                new BlockCipherVectorTest(3, new CamelliaEngine(),
                        new KeyParameter(Hex.decode("0123456789abcdeffedcba98765432100011223344556677")),
                        "0123456789abcdeffedcba9876543210", "b4993401b3e996f84ee5cee7d79b09b9"),
                new BlockCipherVectorTest(4, new CamelliaEngine(),
                        new KeyParameter(Hex.decode("000000000000000000000000000000000000000000000000")),
                        "00040000000000000000000000000000", "9BCA6C88B928C1B0F57F99866583A9BC"),
                new BlockCipherVectorTest(5, new CamelliaEngine(),
                        new KeyParameter(Hex.decode("949494949494949494949494949494949494949494949494")),
                        "636EB22D84B006381235641BCF0308D2", "94949494949494949494949494949494"),
                //
                // 256 bit
                //
                new BlockCipherVectorTest(6, new CamelliaEngine(),
                    new KeyParameter(Hex.decode("0123456789abcdeffedcba987654321000112233445566778899aabbccddeeff")),
                    "0123456789abcdeffedcba9876543210", "9acc237dff16d76c20ef7c919e3a7509"),
                new BlockCipherVectorTest(7, new CamelliaEngine(),
                        new KeyParameter(Hex.decode("4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A")),
                        "057764FE3A500EDBD988C5C3B56CBA9A", "4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A"),
                new BlockCipherVectorTest(8, new CamelliaEngine(),
                        new KeyParameter(Hex.decode("0303030303030303030303030303030303030303030303030303030303030303")),
                        "7968B08ABA92193F2295121EF8D75C8A", "03030303030303030303030303030303"),
            };

    CamelliaTest()
    {
        super(tests, new CamelliaEngine(), new KeyParameter(new byte[32]));
    }

    public String getName()
    {
        return "Camellia";
    }

    public static void main(
        String[]    args)
    {
        CamelliaTest    test = new CamelliaTest();
        TestResult      result = test.perform();

        System.out.println(result);
    }
}