', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 기계식 암호화장치 #2 - 암호화와 복호화 :: MakerLee's Workspace
728x90

암호화를 하는 방법은 여러 가지가 있지만

여기서는 간단하게 1:1 대응하는 방식으로 하기로 했습니다.

 ㄱ

 ㄴ

 ㄷ

 ㄹ

이런 식으로 ㄱ 은 1로, ㄴ은 2로 바뀌는 방식입니다. 

하지만 이런 식의 암호화는 너무 쉬우므로 순서를 불규칙하게 합니다. 





 ㄱ

 ㄴ

 ㄷ

 ㄹ

이렇게 순서를 바꿔 암호화의 규칙성을 찾기 힘들게 하는거죠.

그리고 암호화하는 바퀴를 여러개 만들어 각각의 바퀴마다 규칙을 다르게 합니다. 


첫번째 바퀴는

2

3

1

4


두번째 바퀴는

4

1

2

3



이런 식으로 바퀴마다 숫자의 배열이 전부 달라집니다. 


각 바퀴마다 A,B,C,D,E,F,G,H 라고 이름을 짓습니다. 








이제 이런 바퀴쌍이 똑같이 2개씩 있고 바퀴의 순서를 똑같이 조립합니다. 

그러면 송신자가

[안녕하세요] 를 [ 2 / 3 /12 / 5 / 6 / 23 ] 이렇게 암호화 한후


수신자가 그 암호를 받아 

[ 2 / 3 /12 / 5 / 6 / 23 ] 에 맞춰 휠을 돌리면 [안녕하세요] 라고 복호화가 될겁니다.








바퀴는 25각형으로 되어 있고

각 면의 왼쪽에는 한글 자음과 모음, 오른쪽에는 대응하는 숫자가 써 있습니다. 

하지만 이런 경우 숫자의 띄어쓰기가 확실하지 않으면 해석이 힘들겠죠

1 / 2 / 24  를 해석했을 때 12 / 24 로 해석하게 되는 문제가 있을겁니다.






그래서 숫자 대신 영어를 쓰기로 합니다. 

이렇게 하면 잘못 해석하기가 힘들죠.







두 통신자가 서로 암호 휠의 순서를 무작위로 통일하면 중간에 암호가 유출되더라도 

탈취자가 암호를 해석하는 일이 더 어려워지게 됩니다. 



암호화 방법은 여러 가지가 있지만 여기서 만드는 기계식 암호화 장치의 기본 원리는 이와 같습니다. 



728x90

+ Recent posts