Go to file
2017-02-12 19:46:51 -08:00
psyfer fixed conversion error for aes cipher 2016-03-14 13:59:24 -07:00
.gitignore adding key as an example 2016-03-14 14:21:44 -07:00
key.json updated key 2016-03-14 14:21:57 -07:00
LICENSE updated license 2016-02-12 09:00:01 -08:00
main.go fixed conversion error for aes cipher 2016-03-14 13:59:24 -07:00
README.md updated readme with goreport card and godoc 2017-02-12 19:46:51 -08:00

Psyfer

GoDoc Go Report Card

Overview

Psyfer is a app which lets you perform various different ciphers to input strings. It also provides the ability to guess certain ciphers.

Getting Started

If you have a working Go enviroment on your computer, you can download pull down this repo and build this code.

Once you have psyfer, you can run commands like:

> psyfer vig -k xyz "this is my string"

which will perform the vigenere cipher with a key of "xyz" on the given input

Usage

psyfer trans

Running psyfer trans [mode] [flags] [input] will perform various different transposition ciphers to your input string. the possible options are random, railfence, and split.

Here is an example:

psyfer trans railfence "my input string"

Likewise, you can also decrypt by adding the -d flag:

psyfer trans railfence "m nu tigyiptsrn" -d

psyfer sub

Running psyfer sub [flags] [input] will perform a substitution cipher according to a key file. An example key file is found in the repo called key.json.

Here is an example:

psyfer sub -k key.json "my input string"

Likewise, you can also decrypt by adding the -d flag:

psyfer sub -k key.json "ax nmpir krqnmb" -d

psyfer vig

Running psyfer vig [flags] [input] will perform the vigenere cipher with the provided key.

Here is an example:

psyfer vig -k mykey "my input string"

Likewise, you can also decrypt by adding the -d flag:

psyfer vig -k mykey "decrypt this string" -d

psyfer aes

Running psyfer aes [flags] [input] will perform the AES cipher with keysizes 128, 192 or 256 bit in Electronic Codebook (ECB). The key is "baked" into the program (example keys found in FIPS publication 197.

The default behavior is to return the hex representation of the string. the -a flag will display in ascii.

Here is an example:

psyfer aes -k 128 "my input string"

Likewise, you can also decrypt by adding the -d flag:

psyfer aes -k 128 "my input string" -d

psyfer guess

Running psyfer guess [flags] [input] will return the top five most likely solutions to the caesar cipher provided.

Here is an example:

psyfer guess "wklv lv d vhfuhw phvvdjh"

which will return "THISISASECRETMESSAGE" as the most likely answer