├── .gitignore ├── 01-many-time-pad ├── README.md ├── data.txt ├── helpers.py ├── manytimepad.py └── script.py ├── 02-block-ciphers ├── README.md ├── cbc.py ├── cbc_test.py ├── ctr.py ├── ctr_test.py ├── helpers.py ├── img │ ├── cbc-diagram.png │ └── ctr-diagram.png └── script.py ├── 03-file-authentication ├── README.md ├── authentication.py ├── authentication_test.py ├── data │ ├── authentication-system.png │ ├── task.png │ ├── video1.mp4 │ └── video2.mp4 └── script.py ├── 04-padding-oracle ├── README.md ├── img │ ├── sample-use.png │ └── test.png ├── paddingoracle.py ├── paddingoracle_test.py ├── script.py ├── script2.py └── toyserver.py ├── 05-meet-in-the-middle ├── README.md └── mitm.py ├── 06-factoring ├── README.md ├── factoring.py ├── img │ ├── factoring1.png │ ├── factoring2.png │ └── factoring3.png └── script.py ├── 07-basic-rsa ├── README.md ├── data │ ├── N.txt │ ├── c.txt │ ├── d.txt │ ├── e.txt │ └── m.txt ├── publickeysystem.py ├── publickeysystem_test.py ├── script.py └── script2.py ├── 08-basic-blockchain ├── README.md └── generate_private_key.py ├── 10-bip-0039 ├── english.txt ├── generate_mnemonic_words.py ├── testmnemonic.py ├── vectors.json └── words.py ├── 9-merkle-tree ├── merkletests.py └── merkletree.py ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /01-many-time-pad/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/01-many-time-pad/README.md -------------------------------------------------------------------------------- /01-many-time-pad/data.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/01-many-time-pad/data.txt -------------------------------------------------------------------------------- /01-many-time-pad/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/01-many-time-pad/helpers.py -------------------------------------------------------------------------------- /01-many-time-pad/manytimepad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/01-many-time-pad/manytimepad.py -------------------------------------------------------------------------------- /01-many-time-pad/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/01-many-time-pad/script.py -------------------------------------------------------------------------------- /02-block-ciphers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/README.md -------------------------------------------------------------------------------- /02-block-ciphers/cbc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/cbc.py -------------------------------------------------------------------------------- /02-block-ciphers/cbc_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/cbc_test.py -------------------------------------------------------------------------------- /02-block-ciphers/ctr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/ctr.py -------------------------------------------------------------------------------- /02-block-ciphers/ctr_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/ctr_test.py -------------------------------------------------------------------------------- /02-block-ciphers/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/helpers.py -------------------------------------------------------------------------------- /02-block-ciphers/img/cbc-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/img/cbc-diagram.png -------------------------------------------------------------------------------- /02-block-ciphers/img/ctr-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/img/ctr-diagram.png -------------------------------------------------------------------------------- /02-block-ciphers/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/02-block-ciphers/script.py -------------------------------------------------------------------------------- /03-file-authentication/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/README.md -------------------------------------------------------------------------------- /03-file-authentication/authentication.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/authentication.py -------------------------------------------------------------------------------- /03-file-authentication/authentication_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/authentication_test.py -------------------------------------------------------------------------------- /03-file-authentication/data/authentication-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/data/authentication-system.png -------------------------------------------------------------------------------- /03-file-authentication/data/task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/data/task.png -------------------------------------------------------------------------------- /03-file-authentication/data/video1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/data/video1.mp4 -------------------------------------------------------------------------------- /03-file-authentication/data/video2.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/data/video2.mp4 -------------------------------------------------------------------------------- /03-file-authentication/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/03-file-authentication/script.py -------------------------------------------------------------------------------- /04-padding-oracle/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/README.md -------------------------------------------------------------------------------- /04-padding-oracle/img/sample-use.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/img/sample-use.png -------------------------------------------------------------------------------- /04-padding-oracle/img/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/img/test.png -------------------------------------------------------------------------------- /04-padding-oracle/paddingoracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/paddingoracle.py -------------------------------------------------------------------------------- /04-padding-oracle/paddingoracle_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/paddingoracle_test.py -------------------------------------------------------------------------------- /04-padding-oracle/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/script.py -------------------------------------------------------------------------------- /04-padding-oracle/script2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/script2.py -------------------------------------------------------------------------------- /04-padding-oracle/toyserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/04-padding-oracle/toyserver.py -------------------------------------------------------------------------------- /05-meet-in-the-middle/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/05-meet-in-the-middle/README.md -------------------------------------------------------------------------------- /05-meet-in-the-middle/mitm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/05-meet-in-the-middle/mitm.py -------------------------------------------------------------------------------- /06-factoring/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/06-factoring/README.md -------------------------------------------------------------------------------- /06-factoring/factoring.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/06-factoring/factoring.py -------------------------------------------------------------------------------- /06-factoring/img/factoring1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/06-factoring/img/factoring1.png -------------------------------------------------------------------------------- /06-factoring/img/factoring2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/06-factoring/img/factoring2.png -------------------------------------------------------------------------------- /06-factoring/img/factoring3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/06-factoring/img/factoring3.png -------------------------------------------------------------------------------- /06-factoring/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/06-factoring/script.py -------------------------------------------------------------------------------- /07-basic-rsa/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/README.md -------------------------------------------------------------------------------- /07-basic-rsa/data/N.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/data/N.txt -------------------------------------------------------------------------------- /07-basic-rsa/data/c.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/data/c.txt -------------------------------------------------------------------------------- /07-basic-rsa/data/d.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/data/d.txt -------------------------------------------------------------------------------- /07-basic-rsa/data/e.txt: -------------------------------------------------------------------------------- 1 | 65537 2 | -------------------------------------------------------------------------------- /07-basic-rsa/data/m.txt: -------------------------------------------------------------------------------- 1 | Factoring lets us break RSA. 2 | -------------------------------------------------------------------------------- /07-basic-rsa/publickeysystem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/publickeysystem.py -------------------------------------------------------------------------------- /07-basic-rsa/publickeysystem_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/publickeysystem_test.py -------------------------------------------------------------------------------- /07-basic-rsa/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/script.py -------------------------------------------------------------------------------- /07-basic-rsa/script2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/07-basic-rsa/script2.py -------------------------------------------------------------------------------- /08-basic-blockchain/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/08-basic-blockchain/README.md -------------------------------------------------------------------------------- /08-basic-blockchain/generate_private_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/08-basic-blockchain/generate_private_key.py -------------------------------------------------------------------------------- /10-bip-0039/english.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/10-bip-0039/english.txt -------------------------------------------------------------------------------- /10-bip-0039/generate_mnemonic_words.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/10-bip-0039/generate_mnemonic_words.py -------------------------------------------------------------------------------- /10-bip-0039/testmnemonic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/10-bip-0039/testmnemonic.py -------------------------------------------------------------------------------- /10-bip-0039/vectors.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/10-bip-0039/vectors.json -------------------------------------------------------------------------------- /10-bip-0039/words.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/10-bip-0039/words.py -------------------------------------------------------------------------------- /9-merkle-tree/merkletests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/9-merkle-tree/merkletests.py -------------------------------------------------------------------------------- /9-merkle-tree/merkletree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/9-merkle-tree/merkletree.py -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mithi/simple-cryptography/HEAD/README.md --------------------------------------------------------------------------------