예제 #1
0
    public bool PhtTest()
    {
        TwoFish tf   = new TwoFish();
        bool    done = true;

        BitArray[] wynik  = tf.function_H(TwoFish.ConvertHexToBitArray("0"), TwoFish.ConvertHexToBitArray("00010203"), TwoFish.ConvertHexToBitArray("08090A0B"));
        BitArray[] wynik1 = tf.function_H(TwoFish.ConvertHexToBitArray("1"), TwoFish.ConvertHexToBitArray("04050607"), TwoFish.ConvertHexToBitArray("0C0D0E0F"));
        BitArray   MDS1   = tf.MDS(wynik[0], wynik[1], wynik[2], wynik[3]);
        BitArray   MDS2   = tf.MDS(wynik1[0], wynik1[1], wynik1[2], wynik1[3]);
        BitArray   ROL8   = tf.ShiftLft(MDS2, 8);

        tf.PHT(MDS1, ROL8);


        return(done);
    }
예제 #2
0
    public bool MdsTest()
    {
        TwoFish tf   = new TwoFish();
        bool    done = true;

        BitArray[] wynik = tf.function_H(TwoFish.ConvertHexToBitArray("0"), TwoFish.ConvertHexToBitArray("00010203"), TwoFish.ConvertHexToBitArray("08090A0B"));
        if (tf.ConvertToHex(tf.MDS(wynik[0], wynik[1], wynik[2], wynik[3])) != "5430e6e6")
        {
            done = false;
        }

        return(done);
    }