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); }
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); }
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); }