{"id":26151687,"url":"https://github.com/anker661/toy_rsa","last_synced_at":"2026-05-25T23:36:54.463Z","repository":{"id":245821189,"uuid":"818301425","full_name":"ANKer661/Toy_RSA","owner":"ANKer661","description":"A Python implementation of RSA encryption/decryption with an interactive Streamlit demo.","archived":false,"fork":false,"pushed_at":"2024-06-27T09:39:17.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-27T11:11:50.157Z","etag":null,"topics":["python3","rsa-algorithm","streamlit-application","toy-project"],"latest_commit_sha":null,"homepage":"https://anker661-toy-rsa-rsa-demo-app-isyesw.streamlit.app/","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/ANKer661.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":"2024-06-21T14:38:09.000Z","updated_at":"2024-06-27T09:39:20.000Z","dependencies_parsed_at":"2024-06-24T10:56:05.310Z","dependency_job_id":"4f013dc1-25e8-41d2-b64d-ed85947fd2e2","html_url":"https://github.com/ANKer661/Toy_RSA","commit_stats":null,"previous_names":["anker661/toy_rsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANKer661%2FToy_RSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANKer661%2FToy_RSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANKer661%2FToy_RSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANKer661%2FToy_RSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ANKer661","download_url":"https://codeload.github.com/ANKer661/Toy_RSA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242987703,"owners_count":20217533,"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":["python3","rsa-algorithm","streamlit-application","toy-project"],"created_at":"2025-03-11T06:38:23.416Z","updated_at":"2025-12-12T07:46:36.347Z","avatar_url":"https://github.com/ANKer661.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Toy_RSA\n\nThis project implements RSA (Rivest–Shamir–Adleman) encryption and decryption algorithm in Python, along with a Streamlit web interface for easy interaction.\n\n### Features\n\n- RSA key generation with customizable bit length\n- Message encryption and decryption\n- Prime number generation using Miller-Rabin primality test\n- Web interface using Streamlit\n\n### Project Structure\n\n- `rsa/`:\n  \n  - `keys_generation.py`: Functions for generating RSA keys\n  - `primes.py`: Prime number generation and testing\n  - `rsa_operations.py`: Core RSA encryption and decryption operations\n  \n    - Contains functions for pre-processing, encryption, decryption, and post-processing\n    - Implements the RSA pipeline that ties all operations together\n  - `utils.py`: Utility functions like quick exponentiation\n- `tests/`\n- `rsa_demo_app.py`: Streamlit web application\n\n\n### How It Works\n\n1. Generate RSA keys by specifying the desired bit length.\n2. Enter a message to encrypt.\n3. The system will encrypt the message using the public key, then decrypt it using the private key.\n4. View the intermediate steps and final results.\n\n\n### Installation\n\n1. Clone this repository:\n```\ngit clone https://github.com/ANKer661/Toy_RSA.git\ncd Toy_RSA\n```\n\n2. Install the required dependencies:\n```\npip install streamlit\n```\n\n3. Run the Streamlit app:\n```\nstreamlit run app.py\n```\n\n\n### Online Demo\n\nTry out Toy-RSA online without any installation. \n\nVisit this Streamlit app: [Toy-RSA Demo](https://anker661-toy-rsa-rsa-demo-app-isyesw.streamlit.app/)\n\nHere's a screenshot of the demo:\n![Demo Screenshot](images/demo_screenshot.png)\n\n### License\nThis project is licensed under the MIT License - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanker661%2Ftoy_rsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanker661%2Ftoy_rsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanker661%2Ftoy_rsa/lists"}