https://github.com/louislefevre/rsa
RSA cryptosystem for demonstrating the encryption and decryption of messages
https://github.com/louislefevre/rsa
algorithm cryptography decryption encryption rsa
Last synced: 8 months ago
JSON representation
RSA cryptosystem for demonstrating the encryption and decryption of messages
- Host: GitHub
- URL: https://github.com/louislefevre/rsa
- Owner: louislefevre
- License: mit
- Created: 2020-03-08T03:28:05.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-15T23:27:29.000Z (about 4 years ago)
- Last Synced: 2025-02-05T18:27:37.554Z (9 months ago)
- Topics: algorithm, cryptography, decryption, encryption, rsa
- Language: Java
- Homepage:
- Size: 850 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RSA
RSA cryptosystem for demonstrating the encryption and decryption of messages. The main purpose of this project is to show how the RSA algorithm works through a GUI, and should not be considered secure for actual encryption purposes.
A video demonstration and explanation can be found [here](https://vimeo.com/403422627).
## Example

## How to Run
The compiler and runtime environment require minimum Java 8, and if on Windows, running from the command line requires the Java JDK to be added to the PATH environment variable.
To run the source code from command line:
```
cd src/main/java
javac Main.java
java Main
```
To run the JAR file from command line:
```
cd bin/
java -jar rsa.jar
```
To run the EXE file from command line:
```
cd bin/
rsa.exe
```
## How to Use
When generating the keys, the entire process of how the RSA algorithm works is logged and explained in the console. However, note that this is only viewable when running the program via the first two "How to Run" options.
After starting the program:
- Generate the modulus, public key, and private key ([example](assets/generation.png)).
- Encrypt a message using the modulus and public key ([example](assets/encryption.png)).
- Decrypt the message using the modulus and private key ([example](assets/decryption.png)).