|
|
|
@ -849,12 +849,18 @@ public class KISA_SEED_CBC {
|
|
|
|
|
if(ENDIAN == BIG_ENDIAN) { |
|
|
|
|
int shift_value = (3-b_offset%4)*8; |
|
|
|
|
int mask_value = 0x0ff << shift_value; |
|
|
|
|
int value = (src[b_offset/4] & mask_value) >> shift_value; |
|
|
|
|
int mask_value2 = src[b_offset/4]; |
|
|
|
|
int value2 = mask_value2 & mask_value; |
|
|
|
|
int value = value2 >> shift_value; |
|
|
|
|
// int value = (src[b_offset/4] & mask_value) >> shift_value;
|
|
|
|
|
return (byte)value; |
|
|
|
|
} else { |
|
|
|
|
int shift_value = (b_offset%4)*8; |
|
|
|
|
int mask_value = 0x0ff << shift_value; |
|
|
|
|
int value = (src[b_offset/4] & mask_value) >> shift_value; |
|
|
|
|
int mask_value2 = src[b_offset/4]; |
|
|
|
|
int value2 = mask_value2 & mask_value; |
|
|
|
|
int value = value2 >> shift_value; |
|
|
|
|
// int value = (src[b_offset/4] & mask_value) >> shift_value;
|
|
|
|
|
return (byte)value; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -871,13 +877,11 @@ public class KISA_SEED_CBC {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void byte_to_int(int[] dst, int dst_offset, byte[] src, int src_offset, int ENDIAN) { |
|
|
|
|
int value = 0; |
|
|
|
|
if(ENDIAN == BIG_ENDIAN) { |
|
|
|
|
value = ((0x0ff&src[src_offset]) << 24) | ((0x0ff&src[src_offset+1]) << 16) | ((0x0ff&src[src_offset+2]) << 8) | ((0x0ff&src[src_offset+3])); |
|
|
|
|
dst[dst_offset] = ((0x0ff&src[src_offset]) << 24) | ((0x0ff&src[src_offset+1]) << 16) | ((0x0ff&src[src_offset+2]) << 8) | ((0x0ff&src[src_offset+3])); |
|
|
|
|
} else { |
|
|
|
|
value = ((0x0ff&src[src_offset])) | ((0x0ff&src[src_offset+1]) << 8) | ((0x0ff&src[src_offset+2]) << 16) | ((0x0ff&src[src_offset+3]) << 24); |
|
|
|
|
dst[dst_offset] = ((0x0ff&src[src_offset])) | ((0x0ff&src[src_offset+1]) << 8) | ((0x0ff&src[src_offset+2]) << 16) | ((0x0ff&src[src_offset+3]) << 24); |
|
|
|
|
} |
|
|
|
|
dst[dst_offset] = value; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static int byte_to_int(byte[] src, int src_offset, int ENDIAN) { |
|
|
|
|