|
|
@ -398,7 +398,8 @@ public class KISA_SEED_CBC { |
|
|
|
K = pInfo.seed_key.key_data; // Pointer of round keys
|
|
|
|
K = pInfo.seed_key.key_data; // Pointer of round keys
|
|
|
|
pInfo.encrypt = enc.value; //
|
|
|
|
pInfo.encrypt = enc.value; //
|
|
|
|
Common.memcpy(pInfo.ivec, pbszIV, 16, ENDIAN); |
|
|
|
Common.memcpy(pInfo.ivec, pbszIV, 16, ENDIAN); |
|
|
|
pInfo.last_block_flag = pInfo.buffer_length = 0; |
|
|
|
pInfo.buffer_length = 0; |
|
|
|
|
|
|
|
pInfo.last_block_flag = pInfo.buffer_length; |
|
|
|
|
|
|
|
|
|
|
|
// Set up input values for Key Schedule
|
|
|
|
// Set up input values for Key Schedule
|
|
|
|
ABCD[ABCD_A] = Common.byte_to_int(pbszUserKey, 0*4, ENDIAN); |
|
|
|
ABCD[ABCD_A] = Common.byte_to_int(pbszUserKey, 0*4, ENDIAN); |
|
|
@ -736,11 +737,23 @@ public class KISA_SEED_CBC { |
|
|
|
|
|
|
|
|
|
|
|
public KISA_SEED_INFO() { |
|
|
|
public KISA_SEED_INFO() { |
|
|
|
encrypt = 0; |
|
|
|
encrypt = 0; |
|
|
|
ivec[0] = ivec[1] = ivec[2] = ivec[3] = 0; |
|
|
|
ivec[3] = 0; |
|
|
|
|
|
|
|
ivec[2] = ivec[3]; |
|
|
|
|
|
|
|
ivec[1] = ivec[2]; |
|
|
|
|
|
|
|
ivec[0] = ivec[1]; |
|
|
|
|
|
|
|
// ivec[0] = ivec[1] = ivec[2] = ivec[3] = 0;
|
|
|
|
seed_key.init(); |
|
|
|
seed_key.init(); |
|
|
|
cbc_buffer[0] = cbc_buffer[1] = cbc_buffer[2] = cbc_buffer[3] = 0; |
|
|
|
cbc_buffer[3] = 0; |
|
|
|
|
|
|
|
cbc_buffer[2] = cbc_buffer[3]; |
|
|
|
|
|
|
|
cbc_buffer[1] = cbc_buffer[2]; |
|
|
|
|
|
|
|
cbc_buffer[0] = cbc_buffer[1]; |
|
|
|
|
|
|
|
// cbc_buffer[0] = cbc_buffer[1] = cbc_buffer[2] = cbc_buffer[3] = 0;
|
|
|
|
buffer_length = 0; |
|
|
|
buffer_length = 0; |
|
|
|
cbc_last_block[0] = cbc_last_block[1] = cbc_last_block[2] = cbc_last_block[3] = 0; |
|
|
|
cbc_last_block[3] = 0; |
|
|
|
|
|
|
|
cbc_last_block[2] = cbc_last_block[3]; |
|
|
|
|
|
|
|
cbc_last_block[1] = cbc_last_block[2]; |
|
|
|
|
|
|
|
cbc_last_block[0] = cbc_last_block[1]; |
|
|
|
|
|
|
|
// cbc_last_block[0] = cbc_last_block[1] = cbc_last_block[2] = cbc_last_block[3] = 0;
|
|
|
|
last_block_flag = 0; |
|
|
|
last_block_flag = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -940,7 +953,8 @@ public class KISA_SEED_CBC { |
|
|
|
K = pInfo.seed_key.key_data; // Pointer of round keys
|
|
|
|
K = pInfo.seed_key.key_data; // Pointer of round keys
|
|
|
|
pInfo.encrypt = enc.value; //
|
|
|
|
pInfo.encrypt = enc.value; //
|
|
|
|
Common.memcpy(pInfo.ivec, pbszIV, 16, ENDIAN); |
|
|
|
Common.memcpy(pInfo.ivec, pbszIV, 16, ENDIAN); |
|
|
|
pInfo.last_block_flag = pInfo.buffer_length = 0; |
|
|
|
pInfo.buffer_length = 0; |
|
|
|
|
|
|
|
pInfo.last_block_flag = pInfo.buffer_length; |
|
|
|
|
|
|
|
|
|
|
|
// Set up input values for Key Schedule
|
|
|
|
// Set up input values for Key Schedule
|
|
|
|
ABCD[ABCD_A] = Common.byte_to_int(pbszUserKey, 0*4, ENDIAN); |
|
|
|
ABCD[ABCD_A] = Common.byte_to_int(pbszUserKey, 0*4, ENDIAN); |
|
|
|