https://github.com/lucianoscarpaci/rabin
This project implements the Rabin Cryptosystem in SageMath, a public-key encryption algorithm based on the integer factorization problem. The system uses blum primes for p and q to simplify the decryption process.
https://github.com/lucianoscarpaci/rabin
algorithm-im asymmetric-cryptography cryptographic-algorithms cryptographic-security encryption-decryption integer-factorization mathematical-cryptography number-theory prime-factorizations public-key-encryption rabin-cryptosystem sagemath secure-communication
Last synced: 2 months ago
JSON representation
This project implements the Rabin Cryptosystem in SageMath, a public-key encryption algorithm based on the integer factorization problem. The system uses blum primes for p and q to simplify the decryption process.
- Host: GitHub
- URL: https://github.com/lucianoscarpaci/rabin
- Owner: lucianoscarpaci
- License: mit
- Created: 2024-10-14T01:07:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-14T01:17:04.000Z (about 1 year ago)
- Last Synced: 2025-08-19T06:02:16.502Z (3 months ago)
- Topics: algorithm-im, asymmetric-cryptography, cryptographic-algorithms, cryptographic-security, encryption-decryption, integer-factorization, mathematical-cryptography, number-theory, prime-factorizations, public-key-encryption, rabin-cryptosystem, sagemath, secure-communication
- Language: Jupyter Notebook
- Homepage:
- Size: 57.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rabin
This project implements the Rabin Cryptosystem in SageMath, a public-key encryption algorithm based on the integer factorization problem. The system uses blum primes for p and q to simplify the decryption process.
# Introduction
This implementation of rabin uses the sagemath libraries inverse_mod, is_blum_prime, and random_prime so you need
sagemath for this implementation to work properly. The code is in Jupyter Notebook format for simplicity.
# Installation
To install the tool, clone the repository and download the notebook file. You can run the notebook file in a Jupyter Notebook environment.
# Expected output