NAME vigenere.py, ioc.py, crack-vigenere.py SYNOPSIS vignere.py [-dv] key ioc.py [-v] crack-vigenere.py [-v] key-length reference-text DESCRIPTION vignere.py encrypts or decrypts stdin to stdout using a viginere cipher and the given key. The key is alphabetic, lowercase, with "a" representing 0 shift, and "z" a shift of 25. When decrypting, "z" is be a shift of -25. Any non-alphabetic characters in stdin are discarded, and lower and upper case letters are considered identical. Output ciphertext as capital letters, and plaintext as little letters. Use a traditional grouping of 5 letters pair group separated by one space, and 5 groups per line. See the shiftcipher program for an example. The ioc.py inputs a presumed vigenere encrypted text from stdin and guesses the length of the key encrypting the text, using the method of the index of coincidence. The (non-verbose) output is just a number. crack-vignere takes a presumed vigenere encrypted text from standard in, and writes the key by which the text has been encrypted to standard out. It takes two arguments: the presumed key length, which will be suggested by ioc.py, and a reference text to get letter frequencies. OPTIONS -d decrypt -v verbose
For learning Pyton, the [repo]/class/proj1 directory as a few Python programs the provide example code. For those without Python experience, note that Python programs must be properly indented. I have found it best to have an editor that can show invisibles and to indent either by only spaces or only tabs. Programs that mix spaces and tabs often do not compile in Python.
Copy the class examples to a proj1 directory in your folder — that is, [repo]/[username]/proj1. The add and submit to the subversion repository. This will be your introduction to subversion. Do not modify the class folder. Consider it to be read-only. Although nothing stops you from modifying what is in the class folder, if you try to commit your changes, you will get access denied.
Read my tutorial on subversion, and pay attention to the svn st command. It will help you to unravel problems you might have submitting to subversion.
The cryptographic skills learned are,
author: burton rosenberg
created: 21 jan 2018
update: