Browse Source

[LDRA] 585 S (부분적 처리): 동일한 데이터에 대한 비트와 연산 - 한줄로 작업되는 부분들 변수 추가로 나눠서 처리

feature/ldra
leehagjoon(이학준) 1 year ago
parent
commit
e24d99cb5f
  1. 18
      src/main/java/com/palnet/server/encrptn/kisa/KISA_SEED_CBC.java
  2. 12
      src/main/java/com/palnet/server/encrptn/kisa/KISA_SHA256.java

18
src/main/java/com/palnet/server/encrptn/kisa/KISA_SEED_CBC.java

@ -827,13 +827,21 @@ public class KISA_SEED_CBC {
int mask_value = 0x0ff << shift_value;
int mask_value2 = ~mask_value;
int value2 = (value&0x0ff) << shift_value;
dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
int dstValue = dst[b_offset / 4];
dstValue = (dstValue & mask_value2) | (value2 & mask_value);
dst[b_offset / 4] = dstValue;
// dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
} else {
int shift_value = (b_offset%4)*8;
int mask_value = 0x0ff << shift_value;
int mask_value2 = ~mask_value;
int value2 = (value&0x0ff) << shift_value;
dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
int dstValue = dst[b_offset / 4];
dstValue = (dstValue & mask_value2) | (value2 & mask_value);
dst[b_offset / 4] = dstValue;
// dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
}
}
@ -863,11 +871,13 @@ 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) {
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]));
value = ((0x0ff&src[src_offset]) << 24) | ((0x0ff&src[src_offset+1]) << 16) | ((0x0ff&src[src_offset+2]) << 8) | ((0x0ff&src[src_offset+3]));
} else {
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);
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] = value;
}
public static int byte_to_int(byte[] src, int src_offset, int ENDIAN) {

12
src/main/java/com/palnet/server/encrptn/kisa/KISA_SHA256.java

@ -272,13 +272,21 @@ public class KISA_SHA256 {
int mask_value = 0x0ff << shift_value;
int mask_value2 = ~mask_value;
int value2 = (value&0x0ff) << shift_value;
dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
int dstValue = dst[b_offset / 4];
dstValue = (dstValue & mask_value2) | (value2 & mask_value);
dst[b_offset / 4] = dstValue;
// dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
} else {
int shift_value = (b_offset%4)*8;
int mask_value = 0x0ff << shift_value;
int mask_value2 = ~mask_value;
int value2 = (value&0x0ff) << shift_value;
dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
int dstValue = dst[b_offset / 4];
dstValue = (dstValue & mask_value2) | (value2 & mask_value);
dst[b_offset / 4] = dstValue;
// dst[b_offset/4] = (dst[b_offset/4] & mask_value2) | (value2 & mask_value);
}
}

Loading…
Cancel
Save