Implementation of the RSA algorithm (https://en.wikipedia.org/wiki/RSA_(cryptosystem)) in Java. Architecture separates model from control and provides flexible interfaces for swapping algorithm implementations.
- Encrypt and decrypt messages provided by user through input scanner
- JUnit test coverage
- Encrypting and decrypting methods can cause crashes due to BigInteger implementation