{"id":21701467,"url":"https://github.com/aman-17/rabin-cryptosystem","last_synced_at":"2025-03-20T15:45:27.652Z","repository":{"id":159382314,"uuid":"317563074","full_name":"aman-17/rabin-cryptosystem","owner":"aman-17","description":"Implementation of Rabin PKC in python","archived":false,"fork":false,"pushed_at":"2021-11-18T11:10:29.000Z","size":304,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-25T15:11:15.518Z","etag":null,"topics":["cryptography","encryption","python","rabin-cryptosystem"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aman-17.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":"2020-12-01T14:14:52.000Z","updated_at":"2025-01-13T22:26:22.000Z","dependencies_parsed_at":"2023-06-12T11:00:28.705Z","dependency_job_id":null,"html_url":"https://github.com/aman-17/rabin-cryptosystem","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/aman-17%2Frabin-cryptosystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman-17%2Frabin-cryptosystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman-17%2Frabin-cryptosystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman-17%2Frabin-cryptosystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aman-17","download_url":"https://codeload.github.com/aman-17/rabin-cryptosystem/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244645508,"owners_count":20486993,"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":["cryptography","encryption","python","rabin-cryptosystem"],"created_at":"2024-11-25T20:20:03.961Z","updated_at":"2025-03-20T15:45:27.632Z","avatar_url":"https://github.com/aman-17.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RABIN_CRYPTOSYSTEM\n\nThe  modular  square  root  problem  has  a  special  property  of  the  having  com-putational equivalent to a well-known hard mathematical problem namely integerfactorization problem.  The Rabin scheme used in public-key cryptosystem is hererevisited with a focus limited to a few specific open issues.  In particular, messagedecryption requires one out of four roots of a quadratic equation in a residue ringto be chosen, and a longstanding problem is to identify unambiguously and deter-ministically the encrypted message at the decryption side by adding the minimumnumber of extra bits to the cipher-text.  The proposed Rabin-p Key EncapsulationMechanism is built upon the said problem as its source of security, aiming for effi-cient and practical modular square root-based cryptosystem of which accompaniedwith the following properties:\n* Improves  the  performance  without  plaintext  padding  mechanisms  or  sendingextra bits during encryption and decryption processes.\n* The plaintext is uniquely decrypted without decryption failure.\n* Improve decryption efficiency by using only one modular exponentiation.\n* A decryption key using a single prime number.\n* It has sufficient large plaintext space.\n\nRabin Cryptosystem is an public-key cryptosystem invented by Michael Rabin. It usesasymmetric key encryption for communicating between two parties and encrypting themessage.The Rabin encryption scheme is one of an existing workable asymmetric cryptosystemthat comes with nice cryptographic properties.  For instance, it has low-cost encryptionof which the Rabin encryption is relatively fast to encrypt compared to the widely com-mercialized RSA cryptosystem, and it has been proven to be as difficult as the integerfactorization problem.  On the other hand,  the decryption of Rabin’s scheme producesfour possible answers, which only one is correct.  This four-to-one decryption setting ofthe Rabin decryption could lead to a decryption failure scenario since no indicator forselecting the correct plaintext is given. We revisit the Rabin cryptosystem and then aspire to furnish a new design aiming forefficient, secure and practical Rabin-like cryptosystem.\n\nMy primary programming language is Python, so I will make use of the Rabin Algorithmfor making an encryption and decryption program in Python.  We are also going to usefew python libraries to make code easy as we have large mathematical operations.  Thereare  three  inputs  for  Rabin  512  encryption  and  decryption  1  output  for  each  of  themrespectively.\n\n### [click here to read complete document](Rabin_crypto_system.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faman-17%2Frabin-cryptosystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faman-17%2Frabin-cryptosystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faman-17%2Frabin-cryptosystem/lists"}