Cryptography Made Easy

    Vigenere Polyalphabet Substitution Cipher

    Vigenere is a classical polyalphabet cipher. It's working mechanism is based on polyalphabet substitution table. The Cipher Text is defined by the intersection of row and column on substitution table. However, the row position is defined by the current character of plain text and the column position of key or vice versa

    For deciphering purpose, plain text it the column where cipher text exist in the row position that defined by current character of Key. The substitution table is shown below


    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    AABCDEFGHIJKLMNOPQRSTUVWXYZ
    BBCDEFGHIJKLMNOPQRSTUVWXYZA
    CCDEFGHIJKLMNOPQRSTUVWXYZAB
    DDEFGHIJKLMNOPQRSTUVWXYZABC
    EEFGHIJKLMNOPQRSTUVWXYZABCD
    FFGHIJKLMNOPQRSTUVWXYZABCDE
    GGHIJKLMNOPQRSTUVWXYZABCDEF
    HHIJKLMNOPQRSTUVWXYZABCDEFG
    IIJKLMNOPQRSTUVWXYZABCDEFGH
    JJKLMNOPQRSTUVWXYZABCDEFGHI
    KKLMNOPQRSTUVWXYZABCDEFGHIJ
    LLMNOPQRSTUVWXYZABCDEFGHIJK
    MMNOPQRSTUVWXYZABCDEFGHIJKL
    NNOPQRSTUVWXYZABCDEFGHIJKLM
    OOPQRSTUVWXYZABCDEFGHIJKLMN
    PPQRSTUVWXYZABCDEFGHIJKLMNO
    QQRSTUVWXYZABCDEFGHIJKLMNOP
    RRSTUVWXYZABCDEFGHIJKLMNOPQ
    WSTUVWXYZABCDEFGHIJKLMNOPQR
    TTUVWXYZABCDEFGHIJKLMNOPQRS
    UUVWXYZABCDEFGHIJKLMNOPQRST
    VVWXYZABCDEFGHIJKLMNOPQRSTU
    WWXYZABCDEFGHIJKLMNOPQRSTUV
    XXYZABCDEFGHIJKLMNOPQRSTUVW
    YYZABCDEFGHIJKLMNOPQRSTUVWX
    ZZABCDEFGHIJKLMNOPQRSTUVWXY

    Encryption Example: If Key="X" and Plain Text = "L" then Cipher Text="I"

    Encryption Example: If Key="M" and Cipher Text = "O" then Plain Text="C"


    If "A" defined as "0" and "Z" is defined as "25", then the process of encryption and decryption defined as follow:

    CT = (PT + KEY) mod 26

    PT = (CT - KEY) mod 26


    Where "PT" is "Plain Text", "CT" is "Cipher Text" and "KEY" is "Ciphering / Deciphering Key".

    Google

    © Edi Permadi
    All text is available under the terms of the GNU Free Documentation License.