{"id":20879527,"url":"https://github.com/rsarky/og-rsa","last_synced_at":"2025-07-26T15:11:48.792Z","repository":{"id":120663437,"uuid":"254664058","full_name":"rsarky/og-rsa","owner":"rsarky","description":"An RSA implementation in pure Rust","archived":false,"fork":false,"pushed_at":"2020-04-12T14:14:31.000Z","size":17,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-15T18:04:15.061Z","etag":null,"topics":["cryptography","rsa","rust"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rsarky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-04-10T15:05:41.000Z","updated_at":"2024-10-14T14:08:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"0dc7a3ef-9c3f-4725-9e6f-e5cf79bb3342","html_url":"https://github.com/rsarky/og-rsa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rsarky/og-rsa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsarky%2Fog-rsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsarky%2Fog-rsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsarky%2Fog-rsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsarky%2Fog-rsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsarky","download_url":"https://codeload.github.com/rsarky/og-rsa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsarky%2Fog-rsa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267184095,"owners_count":24049127,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cryptography","rsa","rust"],"created_at":"2024-11-18T07:16:49.821Z","updated_at":"2025-07-26T15:11:48.718Z","avatar_url":"https://github.com/rsarky.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# og_rsa\nImplementation of the original RSA algorithm in Rust.\n\nMADE FOR LEARNING AND FUN. SHOULD **NOT** BE USED IN PRODUCTION.\n\n\n**og_rsa** is pretty much a direct implementation of the [original RSA paper](http://people.csail.mit.edu/rivest/Rsapaper.pdf), hence the name.\n\n## Usage\nI am using _Cargo_ as my build system. Clone this repository and run a `cargo build`.\n\nNOTE: **og_rsa** can currently handle only small(\u003c ~128 byte) files.\n\n### Key generation\nThe first step is to generate  a public/private key pair using `./rsa generate`.\nThis will generate a pair of files: `key` (private key) and `key.pub` (public key).\n\n### Encryption\n```\n./rsa encrypt -k key.pub -f a-test-file.txt\n```\n\nThis will generate a file with the same name as the one being encrypted but with\n`.enc` appended. In the above example the file generated will be `a-test-file.txt.enc`.\n\n### Decryption\n```\n./rsa encrypt -k key.pub -f a-test-file.txt.enc\n```\n\nThis will generate a file with the same name as the one being decrypted but with\n`.dec` appended. In the above example the file generated will be `a-test-file.txt.enc.dec`.\n\n### `./rsa`\n\n```\nRSA Encryption Algorithm 0.1\nRohit Sarkar\nRSA implementation in Rust\n\nUSAGE:\n    rsa [SUBCOMMAND]\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nSUBCOMMANDS:\n    decrypt     Decrypts a file encrypted with the RSA algorithm\n    encrypt     Encrypts a plain text file using the RSA algorithm\n    generate    Generates a pair of public and private keys (key and key.pub)\n    help        Prints this message or the help of the given subcommand(s)\n```\n\n## TODO\n- [ ] Add support for arbitrary sized files.\n- [ ] Tests\n- [ ] Padding\n- [ ] Make things configurable (number of bits in the key, key file name, public key suffix etc.)\n- [ ] Better error handling\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsarky%2Fog-rsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frsarky%2Fog-rsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsarky%2Fog-rsa/lists"}