본문 바로가기

Programming/Python

[Python] Ceasar cipher

고전암호인 시저암호는 알파벳을 키 값만큼 평행이동 시킴으로써 암호화하는 알고리즘이다.

 

키 값이 3이면 다음과 같이 이동하여 암호화된다.

복호화는 거꾸로 올라가면 되는 단순한 암호화 방식이다.

 

 

 

 

#Ceasar cipher

def Encryption(key, plain_text):
	cipher_text = []

	for i in plain_text:
		cipher = ord(i)+key
		if cipher > 90 : cipher_text.append(chr(cipher-26))
		else: cipher_text.append(chr(cipher))

	print(''.join(cipher_text))

def Decryption(key, cipher_text):
	plain_text = []

	for i in cipher_text:
		plain = ord(i)-key
		if plain < 65 : plain_text.append(chr(plain+26))
		else : plain_text.append(chr(plain))

	print(''.join(plain_text))

while 1 :
	fac = input('Encryption or Decryption  : ')
	fac = fac.upper()
	if fac != 'ENCRYPTION' and fac != 'DECRYPTION':
		print('Please Again')
		continue

	key = int(input('key(number) : '))
	text = input('text : ')
	text = text.upper()

	if fac == 'ENCRYPTION': Encryption(key, text)
	elif fac == 'DECRYPTION': Decryption(key, text)
	else:
		print('Error')
		exit()
	break



 

 

 

'Programming > Python' 카테고리의 다른 글

[Python] web scraping  (0) 2020.09.25
[Python] 단일 치환 암호  (0) 2020.04.25
[Python] Ceasar cipher  (0) 2020.04.25