-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
158 lines (121 loc) · 5.16 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
export CGO_CFLAGS=-Wno-deprecated-declarations
all: ch02 ch03 ch04 ch05 ch06 ch07 ch08 ch09
format:
gofmt -s -w .
clean:
go clean -testcache
################################################################################
# Chapter 2
################################################################################
impl_lcg: clean
go test -v ./ch02/lcg/go/impl_lcg
exploit_lcg: clean
go test -v ./ch02/lcg/go/exploit_lcg
lcg: impl_lcg exploit_lcg
ch02: lcg
################################################################################
# Chapter 3
################################################################################
impl_mt19937:
go test -v ./ch03/mt19937/impl_mt19937
exploit_mt19937: clean
go test -v ./ch03/mt19937/exploit_mt19937
mt19937: impl_mt19937 exploit_mt19937
impl_dual_ec_drbg: clean
go test -v ./ch03/dual_ec_drbg/impl_dual_ec_drbg
exploit_dual_ec_drbg: clean
go test -v ./ch03/dual_ec_drbg/exploit_dual_ec_drbg
dual_ec_drbg: impl_dual_ec_drbg exploit_dual_ec_drbg
ch03: mt19937 dual_ec_drbg
################################################################################
# Chapter 4
################################################################################
impl_lfsr: clean
go test -v ./ch04/lfsr/impl_lfsr
exploit_lfsr: clean
go test -v ./ch04/lfsr/exploit_lfsr
lfsr: impl_lfsr exploit_lfsr
impl_rc4: clean
go test -v ./ch04/rc4/impl_rc4
exploit_rc4: clean
go test -v ./ch04/rc4/exploit_rc4
rc4: impl_rc4 exploit_rc4
ch04: lfsr rc4
################################################################################
# Chapter 5
################################################################################
impl_padding_oracle: clean
go test -v ./ch05/padding_oracle/impl_padding_oracle
exploit_padding_oracle: clean
go test -v ./ch05/padding_oracle/exploit_padding_oracle
padding_oracle: impl_padding_oracle exploit_padding_oracle
impl_beast: clean
go test -v ./ch05/beast/impl_beast
exploit_beast: clean
go test -v ./ch05/beast/exploit_beast
beast: impl_beast exploit_beast
ch05: padding_oracle beast
################################################################################
# Chapter 6
################################################################################
TABLE_JSON_GZ_URL := https://github.com/krkhan/crypto-impl-exploit/releases/download/meap-v03/table.json.gz
ch06/rainbow_table/exploit_rainbow_table/testdata/table.json:
curl \
-L \
$(TABLE_JSON_GZ_URL) \
-o \
ch06/rainbow_table/exploit_rainbow_table/testdata/table.json.gz && \
gzip -d ch06/rainbow_table/exploit_rainbow_table/testdata/table.json.gz
impl_rainbow_table: clean
go test -v ./ch06/rainbow_table/impl_rainbow_table
exploit_rainbow_table: clean ch06/rainbow_table/exploit_rainbow_table/testdata/table.json
go test -timeout 1h -v ./ch06/rainbow_table/exploit_rainbow_table
generate_rainbow_table: clean
rm -f ./ch06/rainbow_table/exploit_rainbow_table/testdata/table.json && \
go test -timeout 1h -v ./ch06/rainbow_table/exploit_rainbow_table
rainbow_table: impl_rainbow_table exploit_rainbow_table
ch06: rainbow_table
################################################################################
# Chapter 7
################################################################################
impl_length_ext: clean
go test -v ./ch07/length_ext/impl_length_ext
exploit_length_ext: clean
go test -v ./ch07/length_ext/exploit_length_ext
length_ext: impl_length_ext exploit_length_ext
ch07: length_ext
################################################################################
# Chapter 8
################################################################################
impl_common_factors: clean
go test -v ./ch08/common_factors/impl_common_factors
exploit_common_factors: clean
go test -v ./ch08/common_factors/exploit_common_factors
common_factors: impl_common_factors exploit_common_factors
impl_short_priv_exp: clean
go test -v ./ch08/short_priv_exp/impl_short_priv_exp
exploit_short_priv_exp: clean
go test -v ./ch08/short_priv_exp/exploit_short_priv_exp
short_priv_exp: impl_short_priv_exp exploit_short_priv_exp
ch08: common_factors short_priv_exp
################################################################################
# Chapter 9
################################################################################
impl_ecdsa_reused_nonce: clean
go test -v ./ch09/ecdsa_reused_nonce/impl_ecdsa_reused_nonce
exploit_ecdsa_reused_nonce: clean
go test -v ./ch09/ecdsa_reused_nonce/exploit_ecdsa_reused_nonce
ecdsa_reused_nonce: impl_ecdsa_reused_nonce exploit_ecdsa_reused_nonce
impl_rsa_bleichenbacher_sig: clean
go test -v ./ch09/rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig
exploit_rsa_bleichenbacher_sig: clean
go test -v ./ch09/rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig
rsa_bleichenbacher_sig: impl_rsa_bleichenbacher_sig exploit_rsa_bleichenbacher_sig
ch09: ecdsa_reused_nonce rsa_bleichenbacher_sig
################################################################################
# Chapter 10
################################################################################
branch_predict:
gcc ./ch10/branch-predict/branch-predict.c -o ./ch10/branch-predict/branch-predict && \
./ch10/branch-predict/branch-predict
ch10: branch_predict