2024. 4. 8. 19:10ㆍ대학교/정보보안
전치 암호중에는 단일 전치 암호, Nihilist암호, 대각선 암호가 있다.
전치 - Transposition의 뜻은
Trans(변화) Position(위치)
그렇다..뭔가 이동하는 느낌이다. 치환 암호와 달리 특정 알파벳에 다른 알파벳이 대응하는것이 아닌, 이동하면서..위치가 변하는것이다.
전치 암호는 평문을 어떤 방식으로 이동해야 알아볼수 없는, 의미가 없는것이 되느냐에 대한 방안이다.
먼저 단일 전치 암호에 대해 알아보도록 하자.
암호를 하려면 키와 평문이 있어야 한다.
키를 만드는 방식은 키워드(단어)로 구성되는데. 일단 'hello'로 해 보겠다.
(key : hello
plaintext : hellcollege)
전에 소개했던 다른 암호와는 달리 키 값(숫자)는 알파벳 순서가 아니다. 여기서는 상대적인 알파벳 순서라고 할 수 있다.
hello라는 단어에서 제일 순위가 높은 e가 1이 되고, 그 다음 순위인 h가 2, l은 중복되니 앞에가 우선순위로 앞 l이 3, 뒤 l이 4, o가 5라고 할 수 있다.
이제 평문(Plaintext)으로 행렬을 만들어야 한다.
이런식으로 평문을 key의 길이에 맞추어 잘라 열을 늘려간다.
행열을 완성시켜야 하기 때문에 나머지는 쓰레기 값을 넣은다.
이제 Key의 순서에 맞게 또 자른다.
1번 열은 ela , 2번 열은 hoe, 3번 열은 llb, 4번열은 lec, 5번 열은 cgd이다.
합치면 elahoellbleccgd이다. 암호 완성!
그렇다면 복호는? 전체 문자의 수 / 키의 길이로 열의 길이를 구한 후, 여기서는 15 / 5이니 3이다.
다시 ela, hoe, llb, lec, cgd 가 나온다.
그러니 키 값이 21345니까 다시 한번 키를 적용시키면 hoe, ela, llb, lec, cgd가 나오고
이것을 행렬로 표현하면?
hellc
olleg
eabcd 가 나온다. 이것이 단일 전치 암호!!
이제 Nihilist 암호를 알아보도록 하자. Nihilist 암호는 키가 가로 세로 다 적용된것이다.
이로케... 그러니 지금 2열에 1번이니까? olleg를 뽑고, 다시 행쪽의 key의 순서에 의해 loleg라는 값이 나오는것
같은 원리로 해서 lolegegllcaebcd라는 암호문이 나오는것.
만약 평문이 주어진 행렬의 크기보다 크다면 이라는 의문이 들긴 하지만 늘리면 될것같은데...뭐 생각이랑 실제랑 다를수도 있으니 직접 만들어보는게 직빵이다. 나중에 한번 만들어보겠다.
마지막으로 대각선 암호는... Nihilist + 대각선이라고 보면 된다..
Nihilist 암호화로 나온 암호문을 다시 행렬로 만든 후
이런식으로 지그재그 기법을 써서 나온것을 암호문으로 결정하는것
loeehlelablgccd가 나오는것.
결국 전치 암호 (같은 원리)를 꼬아서 꼬아서 꼬아서... 암호한것이다...
'대학교 > 정보보안' 카테고리의 다른 글
플레이페어 암호 - Play fair Cipher (0) | 2024.04.08 |
---|---|
비즈네르 암호 - Vigenere Cipher (0) | 2024.04.08 |
단일 치환 암호 만들기 & 해독 (0) | 2024.04.03 |