Module: Introduction to Computer Security

Submodule 1: Overview of Computer Security

Encryption / Decryption using Vigenere Tableaux

Created: October 21, 2003
Last Updated: October 23, 2003

Version 0.1
Author: Pinkesh Valdria and T. Andrew Yang


Level of Difficulty: Moderate

Completion Time: 3 weeks

Progaramming involved: Yes



Objectives

The objective of this project is to learn how to use Polyalphabetic Substitution Technique to encrypt and decrypt messages


Example

Vigenère Tableax

Vigenere Table 
Vigenere cipher uses this table together with a keyword to encipher a message. For example, suppose we wish to encipher the plaintext message:
"The secret keyword for today is python"
using the keyword "python".

We begin by writing the keyword, repeated as many times as necessary, above the plaintext message. To derive the ciphertext using the tableau, for each letter in the plaintext, one finds the intersection of the row given by the corresponding keyword letter and the column given by the plaintext letter itself to pick out the ciphertext letter.

Encrypt

	Keyword:	pytho npyth onpyt honpy thonp ython py
Plaintext: These cretk eywor dfort odayi spyth on
Ciphertext: IFXZS PGCMR SLLMK KTBGR HKOLX QIFHU DL

Decipherment of an encrypted message can be done using the Kasiski/Kerckhoff Method.

[Description of the Kasiski method should be placed here...]

Once you determine the keyword, use the vigenere table to decode the ciphet text.

Decrypt

	Ciphertext:	IFXZS PGCMR SLLMK KTBGR HKOLX QIFHU DL
Keyword: pytho npyth onpyt honpy thonp ython py
Plaintext: These cretk eywor dfort odayi spyth on

The Project

Decipher the Ciphertext message:
Ciphertext: KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY



Resources

Book: Security in Computing - Charles P. Pfleeger


Glossary

Encryption: is a process of encoding a message so that its meaning is not obvious
Decryption: is a reverse process, transforming an encoding message back into its normal form