{"id":19696208,"url":"https://github.com/mithi/simple-cryptography","last_synced_at":"2025-10-08T07:35:34.707Z","repository":{"id":112535817,"uuid":"174844625","full_name":"mithi/simple-cryptography","owner":"mithi","description":"Scripts that illustrate basic cryptography concepts based on Coursera Standford Cryptography I course and more. ","archived":false,"fork":false,"pushed_at":"2020-07-02T12:20:23.000Z","size":29589,"stargazers_count":65,"open_issues_count":0,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-05T15:04:25.474Z","etag":null,"topics":["algorithm","ciphertext","coursera","coursera-cryptography","crypto","cryptographic-algorithms","cryptographic-attacks","cryptography","cryptography-concepts","factoring","factorization","meet-in-the-middle","meet-in-the-middle-attacks","padding-oracle","padding-oracle-attacks","public-key-cryptography","rsa-attacks","stanford","symmetric-encryption","symmetric-key-cryptography"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mithi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-10T15:45:04.000Z","updated_at":"2025-03-11T21:12:47.000Z","dependencies_parsed_at":"2023-05-15T18:30:20.923Z","dependency_job_id":null,"html_url":"https://github.com/mithi/simple-cryptography","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithi%2Fsimple-cryptography","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithi%2Fsimple-cryptography/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithi%2Fsimple-cryptography/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithi%2Fsimple-cryptography/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mithi","download_url":"https://codeload.github.com/mithi/simple-cryptography/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251493958,"owners_count":21598204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","ciphertext","coursera","coursera-cryptography","crypto","cryptographic-algorithms","cryptographic-attacks","cryptography","cryptography-concepts","factoring","factorization","meet-in-the-middle","meet-in-the-middle-attacks","padding-oracle","padding-oracle-attacks","public-key-cryptography","rsa-attacks","stanford","symmetric-encryption","symmetric-key-cryptography"],"created_at":"2024-11-11T19:34:18.048Z","updated_at":"2025-10-08T07:35:34.696Z","avatar_url":"https://github.com/mithi.png","language":"Python","readme":"# [🐳](https://mithi.github.io/deep-blueberry) [☕️](https://ko-fi.com/minimithi)\n\n# About\n- Python scripts that illustrate basic cryptography concepts based on Coursera Standford Cryptography I course and more\n- Each has tests, notes and detailed explanations in the hopes that you can clearly understand what's happening\n- The references section of this README links to awesome websites you can use for learning cryptography\n\n### 1. [Many Time Pad](./01-many-time-pad/)\n- This script will be able to decrypt a target ciphertext, given a bunch on intercepted ciphertexts encrypted with the same key (which may or may not have random errors). A stream cipher key should never be used more than once.\n\n### 2. [Block Ciphers](./02-block-ciphers/)\n- You'll be able to encrypt or decrypt a message given a key using two modes of block cipher operations; CBC mode and CTR mode.\n\n### 3. [Simple File Authentication System](./03-file-authentication/)\n- A simple file authentication system that simulate how you'd be able to authenticate and play video chunks as they are downloaded without having to wait for the entire file.\n\n### 4. [Padding Oracle Attack](./04-padding-oracle/)\n- This script illustrates how you'd be able to decrypt an intercepted ciphertext if the receiver reveals whether a sent ciphertext is of valid format or not.\n\n### 5.  [Meet In the Middle Attack](./05-meet-in-the-middle/)\n- The meet-in-the-middle attack (MITM) is a generic space–time tradeoff cryptographic attack. We demonstrate the MITM attack by using it to solve a discrete log problem.\n\n### 6. [Factoring Challenges](./06-factoring/)\n- RSA can be broken when the public modulus `N` is generated incorrectly. These scripts illustrate how you'd be able to factor `N` when `p` and `q` are close to each other.\n\n### 7. [Basic RSA](./07-basic-rsa/)\n - An example pipeline that demonstrates basic RSA encryption and decryption.\n \n# References\n- [❤️ Crypto Hack](https://cryptohack.org/)\n- [Coursera Cryptography I, Stanford, Dan Boneh](https://www-origin.coursera.org/learn/crypto)\n- [A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup](https://toc.cryptobook.us/)\n- [Crypto 101 by Laurens Van Houtven](https://www.crypto101.io/)\n- [Crypto Pals Crypto Challenges](https://cryptopals.com/)\n\n# [🐳](https://mithi.github.io/deep-blueberry) [☕️](https://ko-fi.com/minimithi)\n","funding_links":["https://ko-fi.com/minimithi"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmithi%2Fsimple-cryptography","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmithi%2Fsimple-cryptography","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmithi%2Fsimple-cryptography/lists"}