From 626e82c0f671328c3853d922b653c368ae638028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B0=D1=81=20=D0=9C=D0=B8=D1=85=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=20WindowsDesktop?= Date: Fri, 20 Aug 2021 14:52:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D1=8B=D0=B9=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=85=D0=BE=D0=B4=20=D1=86=D0=B8=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=20=D1=81=D0=BC=D0=B5=D1=88=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sha-256.asm | 83 +++++++++++++++++++++++++++++++++++++------------- sha-256.dll | Bin 9216 -> 9216 bytes Книга1.2.xlsm | Bin 46718 -> 51152 bytes Регистры.txt | 19 ++++++------ 4 files changed, 71 insertions(+), 31 deletions(-) diff --git a/sha-256.asm b/sha-256.asm index 8d07005..b18d721 100644 --- a/sha-256.asm +++ b/sha-256.asm @@ -2203,29 +2203,30 @@ Wt Endp CompCycle proc; Цикл сжатия. Вынес в отдельную процедуру ; на входе: R12-R15 текущий хэш ; XMM0 - XMM15 - Wt - ;Инициирую значениа a,b,c,d,e,f,g,h (копирую r12-r15 в r8-r11) - mov r8,r12 - mov r9,r13 - mov r10,r14 - mov r11,r15 ;i=0 - rol r12,32 ;B=A - shl r13,32 ;D=C - rol r14,32 ;F=E - shl r15,32 ;H=G - mov eax,r12d - or r13,rax ;C=B - mov eax,r14d - or r15,rax ;G=F - mov rax,0ffffffffh - shl rax,32 - and r12,rax ;A=null - and r14,rax ;E=null + ;Инициирую значениа a,b,c,d,e,f,g,h (копирую r12-r15 в r8-r11) + mov r8,r12 + mov r9,r13 + mov r10,r14 + mov r11,r15 + rol r12,32 ;B=A + shl r13,32 ;D=C + rol r14,32 ;F=E + shl r15,32 ;H=G + mov eax,r12d + or r13,rax ;C=B + mov eax,r14d + or r15,rax ;G=F + mov rax,0ffffffffh + shl rax,32 + and r12,rax ;A=null + and r14,rax ;E=null ;Ma mov eax,r8d ;eax=A mov rbx,r8 shr rbx,32 ;ebx=B - mov ecx,r9d ;ecx=C + mov rcx,r13 + shr rcx,32 ;ecx=C and eax,ebx ;A and B and ebx,ecx ;B and C mov edx,r8d ;edx=A @@ -2233,10 +2234,48 @@ CompCycle proc; Цикл сжатия. Вынес в отдельную проц or eax,ebx ;(A and B) or (B and C) or edx,eax ;(A and C) or ((A and B) or (B and C)) ;edx=Ma - - - - + ;Ch + mov eax,r10d;eax=E + and eax,r15d;eax=p1=(E and F) + mov ebx,r10d;ebx=E + xor ebx,0ffffffffh ;ebx=p2=(E xor 0ffffffffh) + mov rcx,r15 + shr rcx,32 ;ecx=G + and ecx,ebx ;ecx=p3=(p2 and G) + or ecx,eax + ;ecx=Ch + ;Σо + ror r8d,2 ;a rightrotate 2 + mov eax,r8d + ror r8d,11 ;a rightrotate 13: + xor eax,r8d + ror r8d,9 ;a rightrotate 22: + xor r8d,eax + ;r8d=Σо + ;Σ1 + ror r10d,6 ;a rightrotate 6 + mov eax,r10d + ror r10d,5 ;a rightrotate 11: + xor eax,r10d + ror r10d,14 ;a rightrotate 22: + xor r10d,eax + ;r10d=Σ1 + ;T1 + mov eax,k_konst + pshufd XMM0,XMM0,00111001b + movd ebx,XMM0 + bswap ebx + add eax,ebx ;Wt+kn + add eax,ecx ;Wt+kn+Ch + add eax,r10d ;Wt+kn+Ch+Σ1 + shr r11,32 ;r11d=H + add r11d,eax ;Wt+kn+Ch+Σ1+h + shr r9,32 ;r9d=D + add r9d,r11d ;D+T1 + or r14,r9 ;E=D+T1 + add r11d,r8d ;T1+Σо + add r11d,edx ;T1+Σо+Ma + or r12,r11 ;A=T1+T2 ret CompCycle Endp end \ No newline at end of file diff --git a/sha-256.dll b/sha-256.dll index 41f4e841939937ce2b72cc7c3ac2411e937461ea..cec50c76daf502ce0a2a3a4ce79ff1231fe5b401 100644 GIT binary patch delta 178 zcmZqhXz-YDgE@PO{Kng?jEwI$KV)o^uJ`Od>v8aJ%GD{lQbLj>aI0&&BvcH!Gh6 z149~r!2!!O{<_2brBqst= PH(6Y6AyC~;Id@h76a*Mp diff --git a/Книга1.2.xlsm b/Книга1.2.xlsm index cb2e1082a633ced74c51f9c6ac361f214651e2b6..52e7fbc4930c17ed2d51d7a276c1ce89baaf37c2 100644 GIT binary patch delta 31058 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 T_ag21@;P~-RUT~pbM$`zWn=KM delta 26503 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 diff --git a/Регистры.txt b/Регистры.txt index 20444ab..b32bffc 100644 --- a/Регистры.txt +++ b/Регистры.txt @@ -1,14 +1,15 @@ RAX 64(double) 00000000 00000000 8 байт +RBX 64(double) 00000000 00000000 8 байт RCX 64(double) 00000000 00000000 8 байт -RDX 64(double) 00000000 00000000 8 байт -R8 64(double) 00000000 00000000 8 байт - A,B (Занят только во время цикла) -R9 64(double) 00000000 00000000 8 байт - C,D (Занят только во время цикла) -R10 64(double) 00000000 00000000 8 байт - E,F (Занят только во время цикла) -R11 64(double) 00000000 00000000 8 байт - G,H (Занят только во время цикла) -R12 64(double) 00000000 00000000 8 байт - H1,H2 -R13 64(double) 00000000 00000000 8 байт - H3,H4 -R14 64(double) 00000000 00000000 8 байт - H5,H6 -R15 64(double) 00000000 00000000 8 байт - H7,H8 +RDX 64(double) 00000000 00000000 8 байт +R8 64(double) 00000000 00000000 8 байт - B,A (Занят только во время цикла) +R9 64(double) 00000000 00000000 8 байт - D,C (Занят только во время цикла) +R10 64(double) 00000000 00000000 8 байт - F,E (Занят только во время цикла) +R11 64(double) 00000000 00000000 8 байт - H,G (Занят только во время цикла) +R12 64(double) 00000000 00000000 8 байт - H2,H1 +R13 64(double) 00000000 00000000 8 байт - H4,H3 +R14 64(double) 00000000 00000000 8 байт - H6,H5 +R15 64(double) 00000000 00000000 8 байт - H8,H7 XMM0 128 00000000 00000000 00000000 00000000 16 байт - W3,W2,W1,W0 XMM1 128 00000000 00000000 00000000 00000000 16 байт - W7,W6,W5,W4 XMM2 128 00000000 00000000 00000000 00000000 16 байт - W11,W10,W9,W8