Закончил Рассчёт 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 XMM2,XMMWORD PTR [rax+32]
movdqu XMM3,XMMWORD PTR [rax+48]
call Wt
call Wt ;
ret
Sha256 Endp
;Инициализация хэш функции, ввод исходных значений
@@ -1934,9 +1934,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15
and eax,1fffffffh
xor ecx,eax ; S0
pshufd xmm113,xmm113,00111001b ;-2.
pshufd xmm13,xmm13,00111001b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM113
movd eax,XMM13
;bswap eax
ror eax,17
xor ebx,eax
@@ -2073,10 +2073,12 @@ Wt proc; вынес в отдельную процедуру заполнени
;pshufd xmm15,xmm15,11100100b ;-0 (Rec)
;bswap edx
movd xmm15,edx
;W61---------начать с этого. Нужно заполнить XMM15------------------------------------------------------------------
;W61---------начать с этого. Нужно заполнить XMM15z\------------------------------------------------------------------
sub rsp,16
movdqu [rsp],xmm0; сохраняю в стеке XMM0, чтобы он заменил XMM15
xor rcx,rcx ;в ecx будет xor трёх вращений
pshufd xmm7,xmm7,01001110b ;-15.
movd eax,xmm7
pshufd xmm11,xmm11,01001110b ;-15.
movd eax,xmm11
;bswap eax
ror eax,7
xor ecx,eax
@@ -2085,9 +2087,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15
and eax,1fffffffh
xor ecx,eax ; S0
pshufd xmm10,xmm10,00111001b ;-2.
pshufd xmm14,xmm14,00111001b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM10
movd eax,XMM14
;bswap eax
ror eax,17
xor ebx,eax
@@ -2096,25 +2098,26 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,9
and eax,3fffffh
xor ebx,eax ;S1
pshufd xmm7,xmm7,10010011b ;-16.
pshufd xmm11,xmm11,10010011b ;-16.
xor rdx,rdx
movd eax,xmm7
movd eax,xmm11
;bswap eax
add edx,eax
add edx,ecx
pshufd XMM9,XMM9,00111001b ;-7.
movd eax,XMM9
pshufd XMM13,XMM13,00111001b ;-7.
movd eax,XMM13
;bswap eax
add edx,eax
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
movd xmm15,edx
orpd xmm11,xmm15
movd xmm0,edx
orpd xmm15,xmm0
;W62---------------------------------------------------------------------------
xor rcx,rcx ;в ecx будет xor трёх вращений
pshufd xmm7,xmm7,01001110b ;-15.
movd eax,xmm7
pshufd xmm11,xmm11,01001110b ;-15.
movd eax,xmm11
;bswap eax
ror eax,7
xor ecx,eax
@@ -2123,9 +2126,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15
and eax,1fffffffh
xor ecx,eax ; S0
pshufd xmm11,xmm11,10010011b ;-2.
pshufd xmm15,xmm15,10010011b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM11
movd eax,XMM15
;bswap eax
ror eax,17
xor ebx,eax
@@ -2134,25 +2137,25 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,9
and eax,3fffffh
xor ebx,eax ;S1
pshufd xmm7,xmm7,10010011b ;-16.
pshufd xmm11,xmm11,10010011b ;-16.
xor rdx,rdx
movd eax,xmm7
movd eax,xmm11
;bswap eax
add edx,eax
add edx,ecx
pshufd XMM9,XMM9,00111001b ;-7.
movd eax,XMM9
pshufd XMM13,XMM13,00111001b ;-7.
movd eax,XMM13
;bswap eax
add edx,eax
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
movd xmm15,edx
orpd xmm11,xmm15
movd xmm0,edx
orpd xmm15,xmm0
;W63---------------------------------------------------------------------------
xor rcx,rcx ;в ecx будет xor трёх вращений
pshufd xmm8,xmm8,00111001b ;-15.
movd eax,xmm8
pshufd xmm12,xmm12,00111001b ;-15.
movd eax,xmm12
;bswap eax
ror eax,7
xor ecx,eax
@@ -2161,9 +2164,9 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,15
and eax,1fffffffh
xor ecx,eax ; S0
pshufd xmm11,xmm11,10010011b ;-2.
pshufd xmm15,xmm15,10010011b ;-2.
xor rbx,rbx ;в ebx будет xor трёх вращений
movd eax,XMM11
movd eax,XMM15
;bswap eax
ror eax,17
xor ebx,eax
@@ -2172,21 +2175,23 @@ Wt proc; вынес в отдельную процедуру заполнени
rol eax,9
and eax,3fffffh
xor ebx,eax ;S1
pshufd xmm7,xmm7,00111001b ;-16.
pshufd xmm11,xmm11,00111001b ;-16.
xor rdx,rdx
movd eax,xmm7
movd eax,xmm11
;bswap eax
add edx,eax
add edx,ecx
pshufd XMM10,XMM10,00111001b ;-7.
movd eax,XMM10
pshufd XMM14,XMM14,00111001b ;-7.
movd eax,XMM14
;bswap eax
add edx,eax
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
movd xmm15,edx
orpd xmm11,xmm15
movd XMM0,edx
orpd xmm15,xmm0
movdqu XMM0,[rsp]
add rsp,16
ret
Wt Endp
end
BIN
View File
Binary file not shown.
Binary file not shown.