치환 암복호화의 고대 유물인 카이사르 암호화를 스크래치로 구현해봅시다.
변수 설명:
- Password: 입력 받은 암호/평문을 담을 변수입니다.
- alphabets: 알파벳 26글자를 담을 변수입니다.
- i,j: n번째 문자를 확인하기 위한 변수입니다.
- result: 암/복호화 결과문입니다.
먼저 카이사르 암호의 암/복호화 방법은
- 암호화 시 3글자 만큼 뒤로 이동한다. (volcano → yrofdqr)
- 복호화 시 3글자 만큼 앞으로 이동한다. (yrofdqr → volcano)
로 이루어져 있습니다.
화면은 다음과 같이 구성했습니다.
Enc 버튼: 암호화를 시작하는 방송을 발생시킵니다.
Dec 버튼: 복호화를 시작하는 방송을 발생시킵니다.
고양이: 입력 받은 이벤트 대로 말하고 연산을 합니다.
버튼의 동작은 간단합니다.
각각의 버튼은 방송하고 끝입니다.
고양이가 방송을 받아 이벤트를 시작합니다.
여기서 주목할 것은 부호입니다.
암호화는 1로 정하고 복호화 시 -1로 정했습니다.
이는 카이사르 암호화에서 알파벳을 이동할 방향을 정하는 것입니다.
암복호화 하기 전 변수를 간단히 초기화 합니다.
1. 입력받은 문자 수 만큼 반복합니다.
- 각 글자별로 암/복호화를 반복합니다.
2. 알파벳 수 만큼 반복합니다
- n번째의 문자의 알파벳 순서를 찾습니다.
3. 결과에 (n+3)%26 혹은 (n-3)%26의 결과를 추가합니다.
4. 결과를 말합니다.
동작 결과:
위에 서술한 내용대로 암호화 및 복호화가 정상적으로 이루어집니다.
암/복호화의 제일 기초적인 방식인 카이사르 암복호화를 스크래치로 구현해 보았습니다.
'일상' 카테고리의 다른 글
IQOS(아이코스) AS 후기 (0) | 2017.09.16 |
---|---|
Scratch - 가위바위보 하기 (0) | 2017.07.18 |
Scratch To JAVA - 고양이와 강아지의 즐거운 놀이 (0) | 2017.07.06 |
Scratch - 고양이와 강아지의 즐거운 놀이 (0) | 2017.07.05 |
피클 만들기 (0) | 2017.07.04 |