|
|
|
@ -372,12 +372,18 @@ public class KISA_SEED_CBC {
|
|
|
|
|
if(ENDIAN != Common.BIG_ENDIAN) { |
|
|
|
|
for(i=0;i<inLen;i++) |
|
|
|
|
{ |
|
|
|
|
data[i] = (byte)(in[i/4] >> ((i%4)*8)); |
|
|
|
|
int temp = in[i / 4]; |
|
|
|
|
int shift = (i % 4) * 8; |
|
|
|
|
data[i] = (byte) (temp >> shift); |
|
|
|
|
// data[i] = (byte)(in[i/4] >> ((i%4)*8));
|
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
for(i=0;i<inLen;i++) |
|
|
|
|
{ |
|
|
|
|
data[i] = (byte)(in[i/4] >> ((3-(i%4))*8)); |
|
|
|
|
int temp = in[i / 4]; |
|
|
|
|
int shift = (3 - (i % 4)) * 8; |
|
|
|
|
data[i] = (byte) (temp >> shift); |
|
|
|
|
// data[i] = (byte)(in[i/4] >> ((3-(i%4))*8));
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1055,10 +1061,20 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
System.out.print("[ Test Encrypt mode : \uFFFD\uFFFD\uFFFD 1 ]" +"\n"); |
|
|
|
|
System.out.print("Key\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) System.out.print(Integer.toHexString(0xff&pbUserKey[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++) { |
|
|
|
|
int intValue = 0xff & pbUserKey[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff & pbUserKey[i]) + " ");
|
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
System.out.print("Plaintext\t\t\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) System.out.print(Integer.toHexString(0xff&pbData[i])+" "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & pbData[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbData[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1071,18 +1087,30 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("\nIV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt)\t: "); |
|
|
|
|
for (int i=0; i<CIPHERTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&defaultCipherText[i])+" "); |
|
|
|
|
for (int i=0; i<CIPHERTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & defaultCipherText[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&defaultCipherText[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt)\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&PPPPP[i])+" "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & PPPPP[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&PPPPP[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1091,18 +1119,30 @@ public class KISA_SEED_CBC {
|
|
|
|
|
byte[] Plain1 = SEED_CBC_Decrypt(pbUserKey, bszIV, Cipher1, 0, 16); |
|
|
|
|
|
|
|
|
|
System.out.print("IV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt1)\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&Cipher1[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & Cipher1[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&Cipher1[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt1)\t: "); |
|
|
|
|
for (int i=0; i<2; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&Plain1[i])+" "); |
|
|
|
|
for (int i=0; i<2; i++){ |
|
|
|
|
int intValue = 0xff & Plain1[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&Plain1[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1111,18 +1151,30 @@ public class KISA_SEED_CBC {
|
|
|
|
|
byte[] Plain2 = SEED_CBC_Decrypt(pbUserKey, bszIV, Cipher2, 0, 32); |
|
|
|
|
|
|
|
|
|
System.out.print("IV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt)\t: "); |
|
|
|
|
for (int i=0; i<32; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&Cipher2[i])+" "); |
|
|
|
|
for (int i=0; i<32; i++){ |
|
|
|
|
int intValue = 0xff & Cipher2[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&Cipher2[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt)\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&Plain2[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & Plain2[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&Plain2[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1133,18 +1185,30 @@ public class KISA_SEED_CBC {
|
|
|
|
|
byte[] Plain3 = SEED_CBC_Decrypt(pbUserKey, bszIV, Cipher3, 0, 32); |
|
|
|
|
|
|
|
|
|
System.out.print("IV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt3)\t: "); |
|
|
|
|
for (int i=0; i<32; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&Cipher3[i])+" "); |
|
|
|
|
for (int i=0; i<32; i++){ |
|
|
|
|
int intValue = 0xff & Cipher3[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&Cipher3[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt3)\t: "); |
|
|
|
|
for (int i=0; i<18; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&Plain3[i])+" "); |
|
|
|
|
for (int i=0; i<18; i++){ |
|
|
|
|
int intValue = 0xff & Plain3[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&Plain3[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1173,10 +1237,20 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
System.out.print("\n\n[ Test Encrypt mode : \uFFFD\uFFFD\uFFFD 2 ]" +"\n"); |
|
|
|
|
System.out.print("Key\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) System.out.print(Integer.toHexString(0xff&pbUserKey[i])+", "); |
|
|
|
|
for (int i=0; i<16; i++) { |
|
|
|
|
int intValue = 0xff & pbUserKey[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbUserKey[i])+", ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
System.out.print("Plaintext\t\t\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) System.out.print(Integer.toHexString(0xff&pbData[i])+", "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & pbData[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbData[i])+", ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1245,13 +1319,21 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("IV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+", "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+", ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt 1)\t: "); |
|
|
|
|
for (int i=0; i<CIPHERTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+", "); |
|
|
|
|
for (int i=0; i<CIPHERTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & pbszCipherText[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+", ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1348,8 +1430,12 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt 1)\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&result[i])+", "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & result[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&result[i])+", ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
data = null; |
|
|
|
@ -1434,13 +1520,21 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("\n\nIV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt)\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & pbszCipherText[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1539,8 +1633,12 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt 1)\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&result[i])+" "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & result[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&result[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
data = null; |
|
|
|
@ -1610,13 +1708,21 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("\n\nIV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt)\t: "); |
|
|
|
|
for (int i=0; i<32; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+" "); |
|
|
|
|
for (int i=0; i<32; i++){ |
|
|
|
|
int intValue = 0xff & pbszCipherText[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1714,8 +1820,12 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt 1)\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&result[i])+" "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & result[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&result[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
data = null; |
|
|
|
@ -1787,13 +1897,21 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("\n\nIV\t\t\t\t: "); |
|
|
|
|
for (int i=0; i<16; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&bszIV[i])+" "); |
|
|
|
|
for (int i=0; i<16; i++){ |
|
|
|
|
int intValue = 0xff & bszIV[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&bszIV[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
System.out.print("Ciphertext(SEED_CBC_Encrypt)\t: "); |
|
|
|
|
for (int i=0; i<32; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+" "); |
|
|
|
|
for (int i=0; i<32; i++){ |
|
|
|
|
int intValue = 0xff & pbszCipherText[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&pbszCipherText[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1892,8 +2010,12 @@ public class KISA_SEED_CBC {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.print("Plaintext(SEED_CBC_Decrypt 1)\t: "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++) |
|
|
|
|
System.out.print(Integer.toHexString(0xff&result[i])+" "); |
|
|
|
|
for (int i=0; i<PLAINTEXT_LENGTH; i++){ |
|
|
|
|
int intValue = 0xff & result[i]; |
|
|
|
|
String hexString = Integer.toHexString(intValue); |
|
|
|
|
System.out.print(hexString + " "); |
|
|
|
|
// System.out.print(Integer.toHexString(0xff&result[i])+" ");
|
|
|
|
|
} |
|
|
|
|
System.out.print("\n\n"); |
|
|
|
|
|
|
|
|
|
data = null; |
|
|
|
|