Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
N
nettle
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Marcus Hoffmann
nettle
Commits
f817a67c
Commit
f817a67c
authored
Aug 26, 2009
by
Niels Möller
Browse files
Options
Downloads
Patches
Plain Diff
Work in progress checkin, replaced the fourth set of rounds.
Rev: nettle/x86/sha1-compress.asm:1.5
parent
f9436ea6
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
x86/sha1-compress.asm
+50
-59
50 additions, 59 deletions
x86/sha1-compress.asm
with
50 additions
and
59 deletions
x86/sha1-compress.asm
+
50
−
59
View file @
f817a67c
...
@@ -32,7 +32,7 @@ C Constants
...
@@ -32,7 +32,7 @@ C Constants
define
(
<
K1VALUE
>
,
<
0x5A827999
>
)
C
Rounds
0
-
19
define
(
<
K1VALUE
>
,
<
0x5A827999
>
)
C
Rounds
0
-
19
define
(
<
K2VALUE
>
,
<
0x6ED9EBA1
>
)
C
Rounds
20
-
39
define
(
<
K2VALUE
>
,
<
0x6ED9EBA1
>
)
C
Rounds
20
-
39
define
(
<
K3VALUE
>
,
<<
$
>
0x8F1BBCDC
>
)
C
Rounds
40
-
59
define
(
<
K3VALUE
>
,
<<
$
>
0x8F1BBCDC
>
)
C
Rounds
40
-
59
define
(
<
K4VALUE
>
,
<
<
$
>
0xCA62C1D6
>
)
C
Rounds
60
-
79
define
(
<
K4VALUE
>
,
<
0xCA62C1D6
>
)
C
Rounds
60
-
79
C
Reads
the
input
via
T2
into
register
,
byte
swaps
it
,
and
stores
it
in
the
DATA
array.
C
Reads
the
input
via
T2
into
register
,
byte
swaps
it
,
and
stores
it
in
the
DATA
array.
C
SWAP
(
index
,
register
)
C
SWAP
(
index
,
register
)
...
@@ -74,11 +74,6 @@ define(<F1>, <
...
@@ -74,11 +74,6 @@ define(<F1>, <
andl
$
1
,
T1
andl
$
1
,
T1
xorl
$
3
,
T1
>
)
dnl
xorl
$
3
,
T1
>
)
dnl
define
(
<
F2
>
,
<
movl
$
1
,
T1
xorl
$
2
,
T1
xorl
$
3
,
T1
>
)
dnl
C
The
form
of
one
sha1
round
is
C
The
form
of
one
sha1
round
is
C
C
C
a
' = e + a <<< 5 + f( b, c, d ) + k + w;
C
a
' = e + a <<< 5 + f( b, c, d ) + k + w;
...
@@ -143,7 +138,7 @@ define(<ROUND_F1_NOEXP>, <
...
@@ -143,7 +138,7 @@ define(<ROUND_F1_NOEXP>, <
add
T2
,
$
5
add
T2
,
$
5
>
)
>
)
dnl
ROUND_F2
(
a
,
b
,
c
,
d
,
e
,
i
)
dnl
ROUND_F2
(
a
,
b
,
c
,
d
,
e
,
i
,
k
)
define
(
<
ROUND_F2
>
,
<
define
(
<
ROUND_F2
>
,
<
mov
OFFSET
(
eval
(
$
6
%
16
))
(
DATA
),
T1
mov
OFFSET
(
eval
(
$
6
%
16
))
(
DATA
),
T1
xor
OFFSET
(
eval
((
$
6
+
2
)
%
16
))
(
DATA
),
T1
xor
OFFSET
(
eval
((
$
6
+
2
)
%
16
))
(
DATA
),
T1
...
@@ -154,7 +149,7 @@ define(<ROUND_F2>, <
...
@@ -154,7 +149,7 @@ define(<ROUND_F2>, <
mov
$
4
,
T2
mov
$
4
,
T2
xor
$
3
,
T2
xor
$
3
,
T2
xor
$
2
,
T2
xor
$
2
,
T2
lea
K2VALUE
(
T1
,
T2
),
T2
lea
$
7
(
T1
,
T2
),
T2
rol
<
$
>
30
,
$
2
rol
<
$
>
30
,
$
2
mov
$
1
,
T1
mov
$
1
,
T1
rol
<
$
>
5
,
T1
rol
<
$
>
5
,
T1
...
@@ -250,33 +245,30 @@ PROLOGUE(_nettle_sha1_compress)
...
@@ -250,33 +245,30 @@ PROLOGUE(_nettle_sha1_compress)
EXPAND
(
18
)
ROUND
(
SC
,
SD
,
SE
,
SA
,
SB
,
<
F1
>
)
EXPAND
(
18
)
ROUND
(
SC
,
SD
,
SE
,
SA
,
SB
,
<
F1
>
)
EXPAND
(
19
)
ROUND
(
SB
,
SC
,
SD
,
SE
,
SA
,
<
F1
>
)
EXPAND
(
19
)
ROUND
(
SB
,
SC
,
SD
,
SE
,
SA
,
<
F1
>
)
C
T2
is
free
to
use
in
these
rounds
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
20
,
K2VALUE
)
C
movl
K2VALUE
,
KVALUE
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
21
,
K2VALUE
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
20
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
22
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
21
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
23
,
K2VALUE
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
22
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
24
,
K2VALUE
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
23
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
24
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
25
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
26
,
K2VALUE
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
25
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
27
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
26
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
28
,
K2VALUE
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
27
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
29
,
K2VALUE
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
28
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
29
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
30
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
31
,
K2VALUE
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
30
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
32
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
31
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
33
,
K2VALUE
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
32
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
34
,
K2VALUE
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
33
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
34
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
35
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
36
,
K2VALUE
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
35
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
37
,
K2VALUE
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
36
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
38
,
K2VALUE
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
37
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
39
,
K2VALUE
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
38
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
39
)
C
We
have
to
put
this
constant
on
the
stack
movl
K3VALUE
,
KVALUE
movl
K3VALUE
,
KVALUE
EXPAND
(
40
)
ROUND_F3
(
SA
,
SB
,
SC
,
SD
,
SE
)
EXPAND
(
40
)
ROUND_F3
(
SA
,
SB
,
SC
,
SD
,
SE
)
EXPAND
(
41
)
ROUND_F3
(
SE
,
SA
,
SB
,
SC
,
SD
)
EXPAND
(
41
)
ROUND_F3
(
SE
,
SA
,
SB
,
SC
,
SD
)
...
@@ -302,30 +294,29 @@ PROLOGUE(_nettle_sha1_compress)
...
@@ -302,30 +294,29 @@ PROLOGUE(_nettle_sha1_compress)
EXPAND
(
58
)
ROUND_F3
(
SC
,
SD
,
SE
,
SA
,
SB
)
EXPAND
(
58
)
ROUND_F3
(
SC
,
SD
,
SE
,
SA
,
SB
)
EXPAND
(
59
)
ROUND_F3
(
SB
,
SC
,
SD
,
SE
,
SA
)
EXPAND
(
59
)
ROUND_F3
(
SB
,
SC
,
SD
,
SE
,
SA
)
movl
K4VALUE
,
KVALUE
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
60
,
K4VALUE
)
EXPAND
(
60
)
ROUND
(
SA
,
SB
,
SC
,
SD
,
SE
,
<
F2
>
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
61
,
K4VALUE
)
EXPAND
(
61
)
ROUND
(
SE
,
SA
,
SB
,
SC
,
SD
,
<
F2
>
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
62
,
K4VALUE
)
EXPAND
(
62
)
ROUND
(
SD
,
SE
,
SA
,
SB
,
SC
,
<
F2
>
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
63
,
K4VALUE
)
EXPAND
(
63
)
ROUND
(
SC
,
SD
,
SE
,
SA
,
SB
,
<
F2
>
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
64
,
K4VALUE
)
EXPAND
(
64
)
ROUND
(
SB
,
SC
,
SD
,
SE
,
SA
,
<
F2
>
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
65
,
K4VALUE
)
EXPAND
(
65
)
ROUND
(
SA
,
SB
,
SC
,
SD
,
SE
,
<
F2
>
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
66
,
K4VALUE
)
EXPAND
(
66
)
ROUND
(
SE
,
SA
,
SB
,
SC
,
SD
,
<
F2
>
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
67
,
K4VALUE
)
EXPAND
(
67
)
ROUND
(
SD
,
SE
,
SA
,
SB
,
SC
,
<
F2
>
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
68
,
K4VALUE
)
EXPAND
(
68
)
ROUND
(
SC
,
SD
,
SE
,
SA
,
SB
,
<
F2
>
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
69
,
K4VALUE
)
EXPAND
(
69
)
ROUND
(
SB
,
SC
,
SD
,
SE
,
SA
,
<
F2
>
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
70
,
K4VALUE
)
EXPAND
(
70
)
ROUND
(
SA
,
SB
,
SC
,
SD
,
SE
,
<
F2
>
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
71
,
K4VALUE
)
EXPAND
(
71
)
ROUND
(
SE
,
SA
,
SB
,
SC
,
SD
,
<
F2
>
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
72
,
K4VALUE
)
EXPAND
(
72
)
ROUND
(
SD
,
SE
,
SA
,
SB
,
SC
,
<
F2
>
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
73
,
K4VALUE
)
EXPAND
(
73
)
ROUND
(
SC
,
SD
,
SE
,
SA
,
SB
,
<
F2
>
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
74
,
K4VALUE
)
EXPAND
(
74
)
ROUND
(
SB
,
SC
,
SD
,
SE
,
SA
,
<
F2
>
)
ROUND_F2
(
SA
,
SB
,
SC
,
SD
,
SE
,
75
,
K4VALUE
)
EXPAND
(
75
)
ROUND
(
SA
,
SB
,
SC
,
SD
,
SE
,
<
F2
>
)
ROUND_F2
(
SE
,
SA
,
SB
,
SC
,
SD
,
76
,
K4VALUE
)
EXPAND
(
76
)
ROUND
(
SE
,
SA
,
SB
,
SC
,
SD
,
<
F2
>
)
ROUND_F2
(
SD
,
SE
,
SA
,
SB
,
SC
,
77
,
K4VALUE
)
EXPAND
(
77
)
ROUND
(
SD
,
SE
,
SA
,
SB
,
SC
,
<
F2
>
)
ROUND_F2
(
SC
,
SD
,
SE
,
SA
,
SB
,
78
,
K4VALUE
)
EXPAND
(
78
)
ROUND
(
SC
,
SD
,
SE
,
SA
,
SB
,
<
F2
>
)
ROUND_F2
(
SB
,
SC
,
SD
,
SE
,
SA
,
79
,
K4VALUE
)
EXPAND
(
79
)
ROUND
(
SB
,
SC
,
SD
,
SE
,
SA
,
<
F2
>
)
C
Update
the
state
vector
C
Update
the
state
vector
movl
84
(
%
esp
),
T1
movl
84
(
%
esp
),
T1
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment