Закончил Рассчёт Wt

This commit is contained in:
Стас Михайлов WindowsDesktop
2021-08-14 14:20:28 +03:00
parent f3a7a7e2ab
commit d5294cff26
3 changed files with 42 additions and 37 deletions
+42 -37
View File
@@ -242,7 +242,7 @@ Sha256 proc CF_Addr:QWORD,CF_FullSize:QWORD,CF_CurrSize:QWORD,CF_digests:QWORD,C
movdqu XMM1,XMMWORD PTR [rax+16] movdqu XMM1,XMMWORD PTR [rax+16]
movdqu XMM2,XMMWORD PTR [rax+32] movdqu XMM2,XMMWORD PTR [rax+32]
movdqu XMM3,XMMWORD PTR [rax+48] movdqu XMM3,XMMWORD PTR [rax+48]
call Wt call Wt ;
ret ret
Sha256 Endp Sha256 Endp
;Инициализация хэш функции, ввод исходных значений ;Инициализация хэш функции, ввод исходных значений
@@ -1934,9 +1934,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15 rol eax,15
and eax,1fffffffh and eax,1fffffffh
xor ecx,eax ; S0 xor ecx,eax ; S0
pshufd xmm113,xmm113,00111001b ;-2. pshufd xmm13,xmm13,00111001b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM113 movd eax,XMM13
;bswap eax ;bswap eax
ror eax,17 ror eax,17
xor ebx,eax xor ebx,eax
@@ -2073,10 +2073,12 @@ Wt proc; вынес в отдельную процедуру заполнени
;pshufd xmm15,xmm15,11100100b ;-0 (Rec) ;pshufd xmm15,xmm15,11100100b ;-0 (Rec)
;bswap edx ;bswap edx
movd xmm15,edx movd xmm15,edx
;W61---------начать с этого. Нужно заполнить XMM15------------------------------------------------------------------ ;W61---------начать с этого. Нужно заполнить XMM15z\------------------------------------------------------------------
sub rsp,16
movdqu [rsp],xmm0; сохраняю в стеке XMM0, чтобы он заменил XMM15
xor rcx,rcx ;в ecx будет xor трёх вращений xor rcx,rcx ;в ecx будет xor трёх вращений
pshufd xmm7,xmm7,01001110b ;-15. pshufd xmm11,xmm11,01001110b ;-15.
movd eax,xmm7 movd eax,xmm11
;bswap eax ;bswap eax
ror eax,7 ror eax,7
xor ecx,eax xor ecx,eax
@@ -2085,9 +2087,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15 rol eax,15
and eax,1fffffffh and eax,1fffffffh
xor ecx,eax ; S0 xor ecx,eax ; S0
pshufd xmm10,xmm10,00111001b ;-2. pshufd xmm14,xmm14,00111001b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM10 movd eax,XMM14
;bswap eax ;bswap eax
ror eax,17 ror eax,17
xor ebx,eax xor ebx,eax
@@ -2096,25 +2098,26 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,9 rol eax,9
and eax,3fffffh and eax,3fffffh
xor ebx,eax ;S1 xor ebx,eax ;S1
pshufd xmm7,xmm7,10010011b ;-16. pshufd xmm11,xmm11,10010011b ;-16.
xor rdx,rdx xor rdx,rdx
movd eax,xmm7 movd eax,xmm11
;bswap eax ;bswap eax
add edx,eax add edx,eax
add edx,ecx add edx,ecx
pshufd XMM9,XMM9,00111001b ;-7. pshufd XMM13,XMM13,00111001b ;-7.
movd eax,XMM9 movd eax,XMM13
;bswap eax ;bswap eax
add edx,eax add edx,eax
add edx,ebx ;w[i]=w[i-16]+s0+w[i-7]+s1 add edx,ebx ;w[i]=w[i-16]+s0+w[i-7]+s1
pshufd xmm11,xmm11,00111001b ;-0 (Rec) pshufd xmm15,xmm15,00111001b ;-0 (Rec)
;bswap edx ;bswap edx
movd xmm15,edx movd xmm0,edx
orpd xmm11,xmm15 orpd xmm15,xmm0
;W62--------------------------------------------------------------------------- ;W62---------------------------------------------------------------------------
xor rcx,rcx ;в ecx будет xor трёх вращений xor rcx,rcx ;в ecx будет xor трёх вращений
pshufd xmm7,xmm7,01001110b ;-15. pshufd xmm11,xmm11,01001110b ;-15.
movd eax,xmm7 movd eax,xmm11
;bswap eax ;bswap eax
ror eax,7 ror eax,7
xor ecx,eax xor ecx,eax
@@ -2123,9 +2126,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15 rol eax,15
and eax,1fffffffh and eax,1fffffffh
xor ecx,eax ; S0 xor ecx,eax ; S0
pshufd xmm11,xmm11,10010011b ;-2. pshufd xmm15,xmm15,10010011b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM11 movd eax,XMM15
;bswap eax ;bswap eax
ror eax,17 ror eax,17
xor ebx,eax xor ebx,eax
@@ -2134,25 +2137,25 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,9 rol eax,9
and eax,3fffffh and eax,3fffffh
xor ebx,eax ;S1 xor ebx,eax ;S1
pshufd xmm7,xmm7,10010011b ;-16. pshufd xmm11,xmm11,10010011b ;-16.
xor rdx,rdx xor rdx,rdx
movd eax,xmm7 movd eax,xmm11
;bswap eax ;bswap eax
add edx,eax add edx,eax
add edx,ecx add edx,ecx
pshufd XMM9,XMM9,00111001b ;-7. pshufd XMM13,XMM13,00111001b ;-7.
movd eax,XMM9 movd eax,XMM13
;bswap eax ;bswap eax
add edx,eax add edx,eax
add edx,ebx ;w[i]=w[i-16]+s0+w[i-7]+s1 add edx,ebx ;w[i]=w[i-16]+s0+w[i-7]+s1
pshufd xmm11,xmm11,01001110b ;-0 (Rec) pshufd xmm15,xmm15,01001110b ;-0 (Rec)
;bswap edx ;bswap edx
movd xmm15,edx movd xmm0,edx
orpd xmm11,xmm15 orpd xmm15,xmm0
;W63--------------------------------------------------------------------------- ;W63---------------------------------------------------------------------------
xor rcx,rcx ;в ecx будет xor трёх вращений xor rcx,rcx ;в ecx будет xor трёх вращений
pshufd xmm8,xmm8,00111001b ;-15. pshufd xmm12,xmm12,00111001b ;-15.
movd eax,xmm8 movd eax,xmm12
;bswap eax ;bswap eax
ror eax,7 ror eax,7
xor ecx,eax xor ecx,eax
@@ -2161,9 +2164,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15 rol eax,15
and eax,1fffffffh and eax,1fffffffh
xor ecx,eax ; S0 xor ecx,eax ; S0
pshufd xmm11,xmm11,10010011b ;-2. pshufd xmm15,xmm15,10010011b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM11 movd eax,XMM15
;bswap eax ;bswap eax
ror eax,17 ror eax,17
xor ebx,eax xor ebx,eax
@@ -2172,21 +2175,23 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,9 rol eax,9
and eax,3fffffh and eax,3fffffh
xor ebx,eax ;S1 xor ebx,eax ;S1
pshufd xmm7,xmm7,00111001b ;-16. pshufd xmm11,xmm11,00111001b ;-16.
xor rdx,rdx xor rdx,rdx
movd eax,xmm7 movd eax,xmm11
;bswap eax ;bswap eax
add edx,eax add edx,eax
add edx,ecx add edx,ecx
pshufd XMM10,XMM10,00111001b ;-7. pshufd XMM14,XMM14,00111001b ;-7.
movd eax,XMM10 movd eax,XMM14
;bswap eax ;bswap eax
add edx,eax add edx,eax
add edx,ebx ;w[i]=w[i-16]+s0+w[i-7]+s1 add edx,ebx ;w[i]=w[i-16]+s0+w[i-7]+s1
pshufd xmm11,xmm11,01001110b ;-0 (Rec) pshufd xmm15,xmm15,01001110b ;-0 (Rec)
;bswap edx ;bswap edx
movd xmm15,edx movd XMM0,edx
orpd xmm11,xmm15 orpd xmm15,xmm0
movdqu XMM0,[rsp]
add rsp,16
ret ret
Wt Endp Wt Endp
end end
BIN
View File
Binary file not shown.
Binary file not shown.