Skip to content

John-Malcolm-Design/Multi-Threaded-Cypher-Breaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi Threaded Cypher Breaker

##Synopsis Rail Fence cypher, encryption, decryption and cypher breaking using multithreading in Java. Utilizes the Java Collections & Concurrent APIs. JUnit is used to test every method in the application and Log4J has been added (not yet implemented) for a more robust logging system. This program uses a highly abstracted and loosly coupled style so as to create a more robust Object Orientated Program.

alt tag

##Packages src/

  • ie.gmit.sw: Application entry points and global classes.
  • ie.gmit.sw.cryptography: Cryptographic classes that relate to encryption, decryption and decyphering.
  • ie.gmit.sw.io: Input/output classes should be stored here, including network, user and file I/O.
  • ie.gmit.sw.result: Results based on n-gram scoring of decyphered text, ngram and text scoring classes.
  • ie.gmit.sw.uml: UML Diagram.

test/

  • ie.gmit.sw.cryptography: Cryptography test cases.
  • ie.gmit.sw.io: IO test cases.
  • ie.gmit.sw.result: Result test cases.

##Technologies

  • Language: Java
  • Build tool: Ant
  • Logging: Log4J
  • Unit testing: JUnit
  • UML: Object Aid

##Building Application Application should be built via the build.xml ant file. Build phases below:

  • clean: Delete all generated classes and files.
  • init: Creates dist folder for compiled code, jars and docs if it does not exist. (depends on clean)
  • compile: Compile source code. This does not include test cases. (depends on init)
  • junit: Compile and run test cases. Prints reports for each test class to reports folder. (depends on compile)
  • archive: Create .jars for running application. (depends on junit passing)
  • docs: Generate Javadocs. (depends on archive)
  • deploy (default): Compress classes and documentation into Zip and compressed tarball. (depends on docs)

Build and see generated Javadocs for more info on each class and method.

JAX-RS based REST class that allows for HTTP access is currently in development and will be added to the ie.gmit.sw.io package in version 2.0. Front end website repo: https://github.com/johnmalcolm/Rail-Fence-Cypher-Website

About

Cryptanalytic API for breaking Rail Fence cyphers in Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages