단일 치환 암호

2024. 4. 2. 21:23대학교/정보보안

단일 치환 암호는 알파벳 하나가 다른 알파벳 하나와 1 : 1 대응관계를 맺는 암호라고 볼 수 있다.

암/복호될때 1 : 1로 치환되는 그런 암호가 바로 '단일 치환 암호' 라고 할 수 있다.

 

전에 보아한 카이사르 암호도 단일 치환 암호의 일종이다.

하지만 카이사르 암호는 평행이동을 하는 것 때문에 소규모의 키 값과 반복성을 가져서 보안에 취약하다.

 

그래서 이것을 없애버리면 어떤 일이 발생할까?

 

일단 무작위의 알파벳과 대응한다고 해보면

a 와 대응하는 것이 a~z까지 있을 수 있다는것.

 

대응 관계를 정의한 치환표가 있고 이것이 결국 키이다.

 

이렇게 되면 경우의 수는 403291461126605635584000000이다. 예?????  4조의 약 1000배가 된다고 한다;;

 

왜냐하면... a~z까지 26자리에서 첫번째자리 대응 26중 하나, 두 번째 자리 26-1(25)중 하나. 세 번째 자리 26-2(24)..이런식으로 되는것. 

 

첫 번째 자리에 a~z까지 올 수 있고 a~z까지 각각 25니까.26이 25개 즉 26 * 25. 또 

25개중 하나에 24개가 달려있으니 25 * 24... 이런식으로 1까지 곱해지는것.

 

이것을 팩토리얼이라고 부름. 머리가 안좋으니 그림으로 ㄱㄱ

 

a일때 25가지 b일때 25가지 c일때 25가지니까...쭉 26가지의 알파벳이 25가지의 경우의 수를 가짐 즉 26 * 25가 됨..

동일한 원리로 25가지가 24가지의 수를 가지고 이런식임

 

암튼 그래서 결국 26*25*24....*1이다 이말이다. 

 

결국 저 어마무시한 숫자는 brute force attack을 예방할 수 있다는 뜻이기도 하다. 대입을 해야하는데 범접할수 없는 수..컴퓨터가 할일이 너~무 많은것.

'대학교 > 정보보안' 카테고리의 다른 글

비즈네르 암호 - Vigenere Cipher  (0) 2024.04.08
단일 치환 암호 만들기 & 해독  (0) 2024.04.03
카이사르 암호  (0) 2024.04.02