From 20fdddd6764e881aa48aed218ee8dee5adace23f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?leehagjoon=28=EC=9D=B4=ED=95=99=EC=A4=80=29?= Date: Tue, 26 Sep 2023 13:33:19 +0900 Subject: [PATCH] =?UTF-8?q?[LDRA]=20585=20S=20:=20=EB=8F=99=EC=9D=BC?= =?UTF-8?q?=ED=95=9C=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EB=B9=84=ED=8A=B8=EC=99=80=20=EC=97=B0=EC=82=B0=20?= =?UTF-8?q?-=20=20=ED=95=9C=EC=A4=84=EB=A1=9C=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EB=90=98=EB=8A=94=20=EB=B6=80=EB=B6=84=EB=93=A4=20=EB=B3=80?= =?UTF-8?q?=EC=88=98=20=EC=B6=94=EA=B0=80=EB=A1=9C=20=EB=82=98=EB=88=A0?= =?UTF-8?q?=EC=84=9C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comn/encrptn/kisa/KISA_SEED_CBC.java | 32 +++++++++++++++---- .../palnet/comn/encrptn/kisa/KISA_SHA256.java | 22 ++++++++++--- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SEED_CBC.java b/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SEED_CBC.java index d65415e..3e1d934 100644 --- a/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SEED_CBC.java +++ b/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SEED_CBC.java @@ -372,12 +372,18 @@ public class KISA_SEED_CBC { if(ENDIAN != Common.BIG_ENDIAN) { for(i=0;i> ((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> ((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)); } } @@ -814,13 +820,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); } } @@ -828,12 +842,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; } diff --git a/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SHA256.java b/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SHA256.java index 0b3f140..da493f0 100644 --- a/src/main/java/com/palnet/comn/encrptn/kisa/KISA_SHA256.java +++ b/src/main/java/com/palnet/comn/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); } } @@ -286,12 +294,18 @@ public class KISA_SHA256 { 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; }