RSA implementation using python. This repository also contains two types of attacks on RSA. It also contains a socket programming to send and receive messages using RSA algorithm.
-
make sure you have the following libraries:
- math
- socket
- Crypto
- os
-
open two terminals
-
run server.py using the following command: python server.py ,in the first terminal
-
run client.py using the following command: python client.py ,in the second terminal
-
start chatting on the client side "both client and server can send and receive but the client starts the sending"
- make sure you have the previous libraries in addtion to the following ones:
- time
- matplotlib.pyplot
- run each cell in order
- the final output is a graph represents the relationship between the number of bits of the key and time taken to attack the algorithm
- main.py : contains all the functions implementaions and all the imports
- server.py: contains the server code that establish the connection
- client.py: contains the client code that connects with the server
- attack.ipynb: contains the Brute-Force Attack and Fermat factoring algorithm Attack code.