파이썬/파이썬(python) 초급

[8-6 파이썬] 파이썬 예제 풀기, 카이사르 암호, 시저 암호, 암호화, 복호화, 암호 프로그램 만들기, 함수 파이썬 연습, argument, parameter 연습

Olivia-BlackCherry 2022. 8. 16. 17:10

카이사르 암호란?

이 프로그램을 통해 비밀 메세지를 만들 수 있다.  :-)

 

예를 들어, 

Olivia라는 글자를 

카이사르 암호기에 넣으면

rolyld라고 바뀌어 나온다. 

 

카이사르 암호기가 작동하는 원리는

매우 간단하다. 

바로,

알파벳의 위치 이동

이다.

 

특정한 위치 만큼 

알파벳의 위치를 앞으로 이동시켜

암호화된 글자를 뽑아내는 것이다. 

 

예를 들어 

a는 알파벳의 1번째 자리이고,

b는 알파벳의 2번째 자리이다.

 

ab를

카이사르 암호기를 통해 

알파벳 위치를 3만큼 이동시킨다고 하면

a는 알파벳의 1+3 = 4번째 자리로 바뀌므로 d가 되고,

b는 알파벳의 2+3 = 5번째 자리로 바뀌므로 e가 된다.

 

반대로

암호를 해독할 때는 

특정한 위치 만큼 

알파벳의 위치를 뒤로 이동시키면 된다.  

.

 

 

 

 

해당 개념을 이용하여 단계별 코딩을 진행해보자. 

1단계 
- index() 함수 사용해서 index값 쉽게 알기
- 암호화하는 encrypt 함수, 복호화하는 decrypt 함수 2개 만들기

index 뜻: 목차, 색인, 위치

encode 뜻: 암호화하다

decode 뜻: 해독하다

encrypt 뜻: (컴퓨터에서) 암호화하기

decrypt 뜻: (컴퓨터에서) 복호화하기, 해독하기

 

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.

 

 

2단계
- 사용자가 encode할지 decode할지 결정하도록 하기
- 사용자가 암호화하고 싶은 단어 입력하기
- 사용자가 얼마만큼 이동할지 입력하기

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.

 

 

3단계
- encrypt함수와 decrypt 함수 하나로 합치기
- 1,2단계에서 발생한 이동하는 거리 문제 해결하기
- 함수에 argument 3개로 받기

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.

 

 

4단계
- shift 가 26보다 큰 수일 때 발생하는 문제 해결하기
- 공백, 기호, 공백이 있는 경우에 발생하는 문제 해결하기

# 첫 번째 방법

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.

 

# 두 번째 방법

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.

 

 

5단계
- 첫화면 시작 그림 띄우기
- 바로 종료하지 않고, 사용자에게 계속 반복할 것인지 묻기

# 첫 번째 방법

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.

 

# 두 번째 방법

아래의 재생버튼 ▶을 눌러 실행하면 됩니다.