├── .gitignore ├── Makefile ├── README.md ├── ch02 ├── biased_coin_toss │ └── main.go └── lcg │ ├── cpp │ └── main.cpp │ └── go │ ├── exploit_lcg │ ├── exploit_lcg.go │ └── exploit_lcg_test.go │ └── impl_lcg │ ├── impl_lcg.go │ └── impl_lcg_test.go ├── ch03 ├── dual_ec_drbg │ ├── exploit_dual_ec_drbg │ │ ├── exploit_dual_ec_drbg.go │ │ └── exploit_dual_ec_drbg_test.go │ └── impl_dual_ec_drbg │ │ ├── impl_dual_ec_drbg.go │ │ └── impl_dual_ec_drbg_test.go └── mt19937 │ ├── exploit_mt19937 │ ├── exploit_mt19937.go │ └── exploit_mt19937_test.go │ └── impl_mt19937 │ ├── impl_mt19937.go │ └── impl_mt19937_test.go ├── ch04 ├── lfsr │ ├── exploit_lfsr │ │ ├── exploit_lfsr.go │ │ └── exploit_lfsr_test.go │ └── impl_lfsr │ │ ├── impl_lfsr.go │ │ └── impl_lfsr_test.go └── rc4 │ ├── exploit_rc4 │ ├── exploit_rc4.go │ └── exploit_rc4_test.go │ └── impl_rc4 │ ├── impl_rc4.go │ └── impl_rc4_test.go ├── ch05 ├── beast │ ├── exploit_beast │ │ ├── exploit_beast.go │ │ └── exploit_beast_test.go │ └── impl_beast │ │ ├── impl_beast.go │ │ └── impl_beast_test.go └── padding_oracle │ ├── exploit_padding_oracle │ ├── exploit_padding_oracle.go │ └── exploit_padding_oracle_test.go │ └── impl_padding_oracle │ ├── impl_padding_oracle.go │ └── impl_padding_oracle_test.go ├── ch06 └── rainbow_table │ ├── exploit_rainbow_table │ ├── exploit_rainbow_table.go │ ├── exploit_rainbow_table_test.go │ └── testdata │ │ └── .gitkeep │ └── impl_rainbow_table │ ├── impl_rainbow_table.go │ └── impl_rainbow_table_test.go ├── ch07 └── length_ext │ ├── exploit_length_ext │ ├── exploit_length_ext.go │ └── exploit_length_ext_test.go │ └── impl_length_ext │ ├── impl_length_ext.go │ └── impl_length_ext_test.go ├── ch08 ├── common_factors │ ├── exploit_common_factors │ │ ├── exploit_common_factors.go │ │ └── exploit_common_factors_test.go │ └── impl_common_factors │ │ ├── impl_common_factors.go │ │ └── impl_common_factors_test.go └── short_priv_exp │ ├── exploit_short_priv_exp │ ├── exploit_short_priv_exp.go │ └── exploit_short_priv_exp_test.go │ └── impl_short_priv_exp │ ├── impl_short_priv_exp.go │ └── impl_short_priv_exp_test.go ├── ch09 ├── ecdsa_reused_nonce │ ├── exploit_ecdsa_reused_nonce │ │ ├── exploit_ecdsa_reused_nonce.go │ │ └── exploit_ecdsa_reused_nonce_test.go │ └── impl_ecdsa_reused_nonce │ │ ├── impl_ecdsa_reused_nonce.go │ │ └── impl_ecdsa_reused_nonce_test.go └── rsa_bleichenbacher_sig │ ├── exploit_rsa_bleichenbacher_sig │ ├── exploit_rsa_bleichenbacher_sig.go │ └── exploit_rsa_bleichenbacher_sig_test.go │ └── impl_rsa_bleichenbacher_sig │ ├── impl_rsa_bleichenbacher_sig.go │ └── impl_rsa_bleichenbacher_sig_test.go ├── ch10 └── branch-predict │ └── branch-predict.c ├── go.mod └── go.sum /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/.gitignore -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/README.md -------------------------------------------------------------------------------- /ch02/biased_coin_toss/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch02/biased_coin_toss/main.go -------------------------------------------------------------------------------- /ch02/lcg/cpp/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch02/lcg/cpp/main.cpp -------------------------------------------------------------------------------- /ch02/lcg/go/exploit_lcg/exploit_lcg.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch02/lcg/go/exploit_lcg/exploit_lcg.go -------------------------------------------------------------------------------- /ch02/lcg/go/exploit_lcg/exploit_lcg_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch02/lcg/go/exploit_lcg/exploit_lcg_test.go -------------------------------------------------------------------------------- /ch02/lcg/go/impl_lcg/impl_lcg.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch02/lcg/go/impl_lcg/impl_lcg.go -------------------------------------------------------------------------------- /ch02/lcg/go/impl_lcg/impl_lcg_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch02/lcg/go/impl_lcg/impl_lcg_test.go -------------------------------------------------------------------------------- /ch03/dual_ec_drbg/exploit_dual_ec_drbg/exploit_dual_ec_drbg.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/dual_ec_drbg/exploit_dual_ec_drbg/exploit_dual_ec_drbg.go -------------------------------------------------------------------------------- /ch03/dual_ec_drbg/exploit_dual_ec_drbg/exploit_dual_ec_drbg_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/dual_ec_drbg/exploit_dual_ec_drbg/exploit_dual_ec_drbg_test.go -------------------------------------------------------------------------------- /ch03/dual_ec_drbg/impl_dual_ec_drbg/impl_dual_ec_drbg.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/dual_ec_drbg/impl_dual_ec_drbg/impl_dual_ec_drbg.go -------------------------------------------------------------------------------- /ch03/dual_ec_drbg/impl_dual_ec_drbg/impl_dual_ec_drbg_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/dual_ec_drbg/impl_dual_ec_drbg/impl_dual_ec_drbg_test.go -------------------------------------------------------------------------------- /ch03/mt19937/exploit_mt19937/exploit_mt19937.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/mt19937/exploit_mt19937/exploit_mt19937.go -------------------------------------------------------------------------------- /ch03/mt19937/exploit_mt19937/exploit_mt19937_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/mt19937/exploit_mt19937/exploit_mt19937_test.go -------------------------------------------------------------------------------- /ch03/mt19937/impl_mt19937/impl_mt19937.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/mt19937/impl_mt19937/impl_mt19937.go -------------------------------------------------------------------------------- /ch03/mt19937/impl_mt19937/impl_mt19937_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch03/mt19937/impl_mt19937/impl_mt19937_test.go -------------------------------------------------------------------------------- /ch04/lfsr/exploit_lfsr/exploit_lfsr.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/lfsr/exploit_lfsr/exploit_lfsr.go -------------------------------------------------------------------------------- /ch04/lfsr/exploit_lfsr/exploit_lfsr_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/lfsr/exploit_lfsr/exploit_lfsr_test.go -------------------------------------------------------------------------------- /ch04/lfsr/impl_lfsr/impl_lfsr.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/lfsr/impl_lfsr/impl_lfsr.go -------------------------------------------------------------------------------- /ch04/lfsr/impl_lfsr/impl_lfsr_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/lfsr/impl_lfsr/impl_lfsr_test.go -------------------------------------------------------------------------------- /ch04/rc4/exploit_rc4/exploit_rc4.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/rc4/exploit_rc4/exploit_rc4.go -------------------------------------------------------------------------------- /ch04/rc4/exploit_rc4/exploit_rc4_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/rc4/exploit_rc4/exploit_rc4_test.go -------------------------------------------------------------------------------- /ch04/rc4/impl_rc4/impl_rc4.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/rc4/impl_rc4/impl_rc4.go -------------------------------------------------------------------------------- /ch04/rc4/impl_rc4/impl_rc4_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch04/rc4/impl_rc4/impl_rc4_test.go -------------------------------------------------------------------------------- /ch05/beast/exploit_beast/exploit_beast.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/beast/exploit_beast/exploit_beast.go -------------------------------------------------------------------------------- /ch05/beast/exploit_beast/exploit_beast_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/beast/exploit_beast/exploit_beast_test.go -------------------------------------------------------------------------------- /ch05/beast/impl_beast/impl_beast.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/beast/impl_beast/impl_beast.go -------------------------------------------------------------------------------- /ch05/beast/impl_beast/impl_beast_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/beast/impl_beast/impl_beast_test.go -------------------------------------------------------------------------------- /ch05/padding_oracle/exploit_padding_oracle/exploit_padding_oracle.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/padding_oracle/exploit_padding_oracle/exploit_padding_oracle.go -------------------------------------------------------------------------------- /ch05/padding_oracle/exploit_padding_oracle/exploit_padding_oracle_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/padding_oracle/exploit_padding_oracle/exploit_padding_oracle_test.go -------------------------------------------------------------------------------- /ch05/padding_oracle/impl_padding_oracle/impl_padding_oracle.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/padding_oracle/impl_padding_oracle/impl_padding_oracle.go -------------------------------------------------------------------------------- /ch05/padding_oracle/impl_padding_oracle/impl_padding_oracle_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch05/padding_oracle/impl_padding_oracle/impl_padding_oracle_test.go -------------------------------------------------------------------------------- /ch06/rainbow_table/exploit_rainbow_table/exploit_rainbow_table.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch06/rainbow_table/exploit_rainbow_table/exploit_rainbow_table.go -------------------------------------------------------------------------------- /ch06/rainbow_table/exploit_rainbow_table/exploit_rainbow_table_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch06/rainbow_table/exploit_rainbow_table/exploit_rainbow_table_test.go -------------------------------------------------------------------------------- /ch06/rainbow_table/exploit_rainbow_table/testdata/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ch06/rainbow_table/impl_rainbow_table/impl_rainbow_table.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch06/rainbow_table/impl_rainbow_table/impl_rainbow_table.go -------------------------------------------------------------------------------- /ch06/rainbow_table/impl_rainbow_table/impl_rainbow_table_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch06/rainbow_table/impl_rainbow_table/impl_rainbow_table_test.go -------------------------------------------------------------------------------- /ch07/length_ext/exploit_length_ext/exploit_length_ext.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch07/length_ext/exploit_length_ext/exploit_length_ext.go -------------------------------------------------------------------------------- /ch07/length_ext/exploit_length_ext/exploit_length_ext_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch07/length_ext/exploit_length_ext/exploit_length_ext_test.go -------------------------------------------------------------------------------- /ch07/length_ext/impl_length_ext/impl_length_ext.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch07/length_ext/impl_length_ext/impl_length_ext.go -------------------------------------------------------------------------------- /ch07/length_ext/impl_length_ext/impl_length_ext_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch07/length_ext/impl_length_ext/impl_length_ext_test.go -------------------------------------------------------------------------------- /ch08/common_factors/exploit_common_factors/exploit_common_factors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/common_factors/exploit_common_factors/exploit_common_factors.go -------------------------------------------------------------------------------- /ch08/common_factors/exploit_common_factors/exploit_common_factors_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/common_factors/exploit_common_factors/exploit_common_factors_test.go -------------------------------------------------------------------------------- /ch08/common_factors/impl_common_factors/impl_common_factors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/common_factors/impl_common_factors/impl_common_factors.go -------------------------------------------------------------------------------- /ch08/common_factors/impl_common_factors/impl_common_factors_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/common_factors/impl_common_factors/impl_common_factors_test.go -------------------------------------------------------------------------------- /ch08/short_priv_exp/exploit_short_priv_exp/exploit_short_priv_exp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/short_priv_exp/exploit_short_priv_exp/exploit_short_priv_exp.go -------------------------------------------------------------------------------- /ch08/short_priv_exp/exploit_short_priv_exp/exploit_short_priv_exp_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/short_priv_exp/exploit_short_priv_exp/exploit_short_priv_exp_test.go -------------------------------------------------------------------------------- /ch08/short_priv_exp/impl_short_priv_exp/impl_short_priv_exp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/short_priv_exp/impl_short_priv_exp/impl_short_priv_exp.go -------------------------------------------------------------------------------- /ch08/short_priv_exp/impl_short_priv_exp/impl_short_priv_exp_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch08/short_priv_exp/impl_short_priv_exp/impl_short_priv_exp_test.go -------------------------------------------------------------------------------- /ch09/ecdsa_reused_nonce/exploit_ecdsa_reused_nonce/exploit_ecdsa_reused_nonce.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/ecdsa_reused_nonce/exploit_ecdsa_reused_nonce/exploit_ecdsa_reused_nonce.go -------------------------------------------------------------------------------- /ch09/ecdsa_reused_nonce/exploit_ecdsa_reused_nonce/exploit_ecdsa_reused_nonce_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/ecdsa_reused_nonce/exploit_ecdsa_reused_nonce/exploit_ecdsa_reused_nonce_test.go -------------------------------------------------------------------------------- /ch09/ecdsa_reused_nonce/impl_ecdsa_reused_nonce/impl_ecdsa_reused_nonce.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/ecdsa_reused_nonce/impl_ecdsa_reused_nonce/impl_ecdsa_reused_nonce.go -------------------------------------------------------------------------------- /ch09/ecdsa_reused_nonce/impl_ecdsa_reused_nonce/impl_ecdsa_reused_nonce_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/ecdsa_reused_nonce/impl_ecdsa_reused_nonce/impl_ecdsa_reused_nonce_test.go -------------------------------------------------------------------------------- /ch09/rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig.go -------------------------------------------------------------------------------- /ch09/rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig/exploit_rsa_bleichenbacher_sig_test.go -------------------------------------------------------------------------------- /ch09/rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig.go -------------------------------------------------------------------------------- /ch09/rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch09/rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig/impl_rsa_bleichenbacher_sig_test.go -------------------------------------------------------------------------------- /ch10/branch-predict/branch-predict.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/ch10/branch-predict/branch-predict.c -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krkhan/crypto-impl-exploit/HEAD/go.sum --------------------------------------------------------------------------------