From e24d99cb5fa0451bc792f65718b24507a366a403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?leehagjoon=28=EC=9D=B4=ED=95=99=EC=A4=80=29?= Date: Mon, 25 Sep 2023 18:40:54 +0900 Subject: [PATCH] =?UTF-8?q?[LDRA]=20585=20S=20(=EB=B6=80=EB=B6=84=EC=A0=81?= =?UTF-8?q?=20=EC=B2=98=EB=A6=AC):=20=EB=8F=99=EC=9D=BC=ED=95=9C=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=EC=97=90=20=EB=8C=80=ED=95=9C=20?= =?UTF-8?q?=EB=B9=84=ED=8A=B8=EC=99=80=20=EC=97=B0=EC=82=B0=20-=20=20?= =?UTF-8?q?=ED=95=9C=EC=A4=84=EB=A1=9C=20=EC=9E=91=EC=97=85=EB=90=98?= =?UTF-8?q?=EB=8A=94=20=EB=B6=80=EB=B6=84=EB=93=A4=20=EB=B3=80=EC=88=98=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=EB=A1=9C=20=EB=82=98=EB=88=A0=EC=84=9C=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/encrptn/kisa/KISA_SEED_CBC.java | 18 ++++++++++++++---- .../server/encrptn/kisa/KISA_SHA256.java | 12 ++++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/palnet/server/encrptn/kisa/KISA_SEED_CBC.java b/src/main/java/com/palnet/server/encrptn/kisa/KISA_SEED_CBC.java index 9e90541..7faad63 100644 --- a/src/main/java/com/palnet/server/encrptn/kisa/KISA_SEED_CBC.java +++ b/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) { diff --git a/src/main/java/com/palnet/server/encrptn/kisa/KISA_SHA256.java b/src/main/java/com/palnet/server/encrptn/kisa/KISA_SHA256.java index c21b838..8a790fa 100644 --- a/src/main/java/com/palnet/server/encrptn/kisa/KISA_SHA256.java +++ b/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); } }