Work Words Frames Shelf Hello

Project - 2014

Encrypto

A Python encryption tool that transforms plaintext into ciphertext using a modified Vigenere algorithm - with a tkinter GUI for easy interaction.

PythonCryptographyGUI
Encrypto GUI showing encryption interface

The Encrypto interface - enter your message, provide a key, and encrypt.

Classical cryptography
with a modern interface

Encrypto implements a modified version of the Vigenere cipher - one of history's most famous polyalphabetic substitution ciphers. Rather than a simple character shift like Caesar's cipher, the Vigenere uses a keyword to vary the substitution at each position, making frequency analysis significantly harder.

The modification extends the classical algorithm to handle a broader character set and adds additional transformation steps. A tkinter GUI wraps the algorithm, providing text fields for input, key entry, and output display - making encryption and decryption accessible without touching the command line.

Language

Python

Algorithm

Vigenere

GUI

tkinter

Type

Polyalphabetic

Operations

Encrypt + Decrypt

Year

2014

Encryption (left) and decryption (right) - symmetric key operations.

The Vigenere cipher, extended

The classical Vigenere cipher works by shifting each plaintext character by the corresponding character in a repeating keyword. If the keyword is "KEY" and the plaintext is "HELLO", H is shifted by K(10), E by E(4), L by Y(24), and so on. This creates a polyalphabetic cipher where the same plaintext letter can map to different ciphertext letters depending on its position.

Encrypto's modification extends this concept beyond the 26-letter alphabet, handles mixed case, and applies additional transformations that make the output more resistant to casual analysis. The symmetric nature means the same key encrypts and decrypts - enter the ciphertext with the original key to recover the plaintext.

An early exploration of algorithms

Built in 2014, Encrypto represents an early exploration of algorithm implementation and GUI programming. The Vigenere cipher provides a perfect learning exercise - simple enough to implement cleanly, complex enough to require careful thought about character mapping, key cycling, and edge cases.