-
RSA (Rivest–Shamir–Adleman) is a public-key cryptosystem that is widely used for secure data transmission.
-
In a public-key cryptosystem, the encryption key is public and distinct from the decryption key, which is kept secret (private). An RSA user creates and publishes a public key based on two large prime numbers, along with an auxiliary value. The prime numbers are kept secret.
-
Messages can be encrypted by anyone, via the public key, but can only be decoded by someone who knows the prime numbers.
-
The security of RSA relies on the practical difficulty of factoring the product of two large prime numbers, the "factoring problem". There are no published methods to defeat the system if a large enough key is used.
This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.
- Clone the repository
$ git clone https://github.com/ZeyadTarekk/RSA.git
- Navigate to repository directory
$ cd RSA
- Install dependencies
pip install sympy
pip install matplotlib
pip install sockets
- Running the chat
python src/main1.py
python src/main2.py
- Running the attacks
python src/attack.py
- 1 for mathematical attack
- 2 To test the key length vs attack time
- Running the efficiency test
python src/effeciency.py
- Python
Zeyad Tarek |
This software is licensed under MIT License, See License for more information.