Git Product home page Git Product logo

totalrsa's Introduction

TotalRSA                    Author: Isaac Gordon
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
CS 381 - Internet Security
Prof. Bon Sy
Queens College
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+


HOW TO COMPILE
--------------
>> javac TotalRSA.java
>> javac Dashboard.java
>> javac Brutus.java


HOW TO RUN
----------
>> java Total RSA <prime.txt>
	- where prime.txt is a file of prime numbers, one per line. 


USE CASES
---------
Generate Keys ->  User prompts will lead to generating  p, q, n, d, e, cipher-text, and decrypted cipher-text
		  and output them to the console. 

Diffie Hellman -> will prompt the user for inputs for a DH exchange. The value of b will be sent encrypted 
		  with RSA. The resulting values of the DH exchange will be outputted to the console.

Crack By List -> a File Chooser will allow the user to upload a text file of RSA public keys (only n), one 
		 key per line. Let S be the set of all public keys. The program will then attempt to find 
		 a GCD of tuple in the set S X S. Results will be printed to the console in the form of "n= p= q=".

Compute Private Key -> User prompted for p,q,e and the program computes d. Values of p,q,n,e,d are 
                       printed to the console

Encrypt -> User is prompted for a message m, modulus n, and encryption key e/d. The cipher-text will 
	   be printed to the console. 

Decrypt -> User is prompted for cipher text x, modulus n, and decryption key e/d. The plain-text will 
	   be printed to the console.

New Brute Force Crack -> Prompts the user for a public key (n. e), then runs a new thread attempting to brute force 
			 crack the key and solve for the private key "d". This runs as a separate thread and will print 
		         out the results to the console once it finishes running. 
			 On success you will have the option to encrypt/decrypt messages using that key.


***!!! !!!***		***!!! !!!*** 
   ||| |||      BUGS  	   ||| |||
***       ***		***       ***

- all fixed :)


SOURCES
-------
This program was created using components whose authors are listed below. Said resources are modified
to different degrees for this program. I would say this program is 50/50 split between original code and 
resource code.

Prime Numbers : https://primes.utm.edu/lists/small/millions/
Basis for Generate Keys: https://github.com/TheAlgorithms/Java/blob/master/ciphers/RSA.java
Basis for Crack by List: https://github.com/Rawrz/RSA-Public-Key-Cracking
Basis for Brute Force: https://github.com/verachai/RSA/tree/master/miniRSA/src/miniRSA

totalrsa's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.