Python/Project

파이썬 고전 암호(치환 암호 구현).ver 1 - 공부하는 도비

DOVISH WISDOM 2021. 2. 3. 18:32  
728x90
반응형
# 고전 암호 - 치환 암호

def substitution_codebook():
    encbook = {'a':'c', 'b':'f', 'c':'d', 'd':'p', 'e':'z', 'f':'j', 'g':'h', 'h':'a', 'i':'b', 'j':'l', 'k':'m',\
    'l':'n', 'm':'e', 'n':'q', 'o':'y', 'p':'s', 'q':'r', 'r':'t', 's':'o', 't':'w', 'u':'x', 'v':'i', 'w':'k', 'x':'u', 'y':'g', 'z':'v'}

    decbook = {}

    for k in encbook:           
        temp = encbook[k]
        decbook[temp] = k

    return encbook, decbook

def encrypt(msg1, encbook):
    temp = ""
    for c in msg1:
        c = encbook[c]
        temp += c

    return temp

def decrypt(msg2, decbook):
    temp = ""
    for c in msg2:

        c = decbook[c]
        temp += c
    return temp

if __name__ == '__main__':
    print("평 문  : ",end=" ")
    plaintext = input()

    encbook, decbook = substitution_codebook()
    
    ciphertext = encrypt(plaintext, encbook)
    print("암호화 : ",ciphertext)

    deciphertext = decrypt(ciphertext, decbook)
    print("복호화 : ",deciphertext)

 

 

고전 암호 중 치환 암호를 구현한 것입니다.

치환 암호는 사용자가 치환하고자 하는 알파벳을 치환 코드로 지정한 다음, 입력한 문자열을 치환해서 암호화 합니다.

반응형