Exemple #1
0
 public void setKey(Byte a1, Byte a2, Byte a3, Byte a4, Byte a5, Byte a6, Byte a7, Byte a8)
 {
     key = new byt();
     key.convert64(a1, a2, a3, a4, a5, a6, a7, a8);
 }
Exemple #2
0
 public void setText(Byte a1, Byte a2, Byte a3, Byte a4, Byte a5, Byte a6, Byte a7, Byte a8)
 {
     text = new byt();
     text.convert64(a1, a2, a3, a4, a5, a6, a7, a8);
 }
Exemple #3
0
            public void encrypt()
            {
                enc = new byt();
                byt p1, p2, p3, p4, p5;
                p1 = new byt();
                p2 = new byt();
                p3 = new byt();
                p4 = new byt();
                p5 = new byt();
                byt k1, k2, k3, k4;
                k1 = new byt();
                k2 = new byt();
                k3 = new byt();
                k4 = new byt();

                k1.PC1(key);
                p1.IP(text);
                k2.convert28(k1, 0);
                k3.convert28(k1, 1);
                p2.convert32(p1, 0);
                p3.convert32(p1, 1);

                for (int i = 0; i < 16; i++)
                {
                    k2.leftShift();
                    k3.leftShift();

                    if (i != 0 && i != 1 && i != 8 && i != 15)
                    {
                        k2.leftShift();
                        k3.leftShift();
                    }

                    k1.convert56(k2, k3);
                    k4.PC2(k1);
                    p4.E(p3);
                    p5.xor(k4, p4);
                    p4.S(p5);
                    p5.P(p4);
                    p4.xor(p5, p2);
                    p2.copy(p3);
                    p3.copy(p4);
                }

                p1.convert64(p3, p2);
                enc.IIP(p1);
            }