/475group15

eecs 475 group 15

Primary LanguageAssembly

Speck 128/256
Alex Athan, Spencer Kim, Martin Dureja, Daniel Sofferman
AAthans, SpegKim, MartinDu, DSoff

Run function createPlaintext with the following format:
createPlaintext(ENC/DEC, empty vector)

To input the plaintext or ciphertext, you must pipe it into cin using the terminal with a text file.
***The plaintext/ciphertext should be in hex.***

Run function keyGenerator with an empty vector passed in to generate a 256-bit key

Call the speckClass constructor in the following format:
speckClass specky(Encryption(ENC)/Decryption(DEC), WORDSIZE (64), # rounds (CORRESPONDING ROUNDS = 34), plaintext/ciphertext vector, key vector)

where Encryption would be passed in plaintext and Decryption passed in ciphertext


REQUIRES: OpenSSL; works with version 1.0.1e

Example:

	Build the program with "make"
	Create a input.txt file with the plaintext or ciphertext (note that we only decrypt padded ciphertexts) in HEX
	./speck_openssl.out < input.txt
	Enjoy!