Substitution Cipher Implementation - File Encryption/Decryption



Task

Encrypt a input/source file by replacing every upper/lower case alphabets of the source file with another predetermined upper/lower case alphabets or symbols and save it into another output/encrypted file and then again convert that output/encrypted file into original/decrypted file.

This type of Encryption/Decryption scheme is often called a Substitution Cipher.



Related tasks

 Caesar cipher
 Rot-13
 Vigenère Cipher/Cryptanalysis


See also

 Wikipedia: Substitution cipher


include ..\Utilitys.tlhy
 
" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
" VsciBjedgrzyHalvXZKtUPumGfIwJxqOCFRApnDhQWobLkESYMTN"
"A simple example"
 
:Encode %mode !mode
    %i %t
    $mode not [rot rot swap rot] if
    len [
        !i
        $i get swap !t
        rot swap find
        rot swap get
        $t swap $i set
    ] for
    $mode not [rot rot swap rot] if
;
 
dup ?
true Encode dup ?
false Encode ?
 
" " input