비즈네르 암호 - Vigenere Cipher

2024. 4. 8. 18:36대학교/정보보안

저번에 배운 카이사르 암호, 단일 치환 암호는 1 : 1 대응 관계를 가져서 평문에서 나타나는 반복이 암호문에서 동일하게 반복된다. 그래서 이 빈도를 가지고 분석을 하는 공격으로 암호문을 해독할 수 있었는데. 

이러한 위협을 보완하기 위해 '다중 치환 암호' 라는것이 있다.

 

다중 치환 암호는 단일 치환 암호와는 달리 일 대 다 관계를 가지고 있다. 같은 A라도 상황에 따라 D가 되거나 G가 되거나 여러 알파벳이 될 수 있다는 소리이다. 이러할 경우 중복이 방지되고 알파벳이 계속 변형되기 때문에 누가 누구인지 확정을 할 수 없고 이는 빈도 분석을 하지 못한다는 소리이다. 

 

비즈네르 암호는 바로 다중 치환 암호에 해당한다.

 

이제 비즈네르 암호 방식에 대해 알아보도록 하자.

 

 

일단 간단하게 말하자면 카이사르 암호의 상위버전이라고 할 수 있다.

 

카이사르 암호는 하나의 키에 모든 메시지가 바뀐다.

비즈네르 암호는 그 키가 늘어난것이 하나의 키라고 보면 된다.

 

역시나 말로 설명하면 이해하기가 어려운 부분이 있다.

일단 테이블은 카이사르 암호와 동일하다. (여기서는 비즈네르 테이블이라 명한다.)

 

일단 평문(Plaintext) : hell college 를 암호화 해보자.

 

먼저 키가 있어야 한다. 이것은 공개 키 암호로 서로가 같은 키를 가지고(알고) 있어야 한다.

 

키는 어떠한 단어로 주어보겠다. 키니까 진짜 'key'라는 문자를 키로 하겠다.

 

자 그렇다면 key는 ... 알파벳 순서(숫자)로 표현한다면. (0~25)

k : 10

e : 4

y : 24 라고 할 수 있다.

 

(10,4,24)가 키이다.

 

이제 평문 'hell college'에 키값을 순서대로 부여? 분배?한다

 

h : 10

e : 4

l : 24 

끝났으니 다시 10으로 돌아가서 

l : 10

 

c : 4

l : 24

....이렇게 키 값을 부여하는것이다.

 

l이 여러개 나왔지만 24와 10 같은 알파벳이지만 다른 키가 부여되었다. (이로서 뭔가 같아도 다른 값이 나올거라는 추측이 이 된다)

 

이제 암호화를 할건데, 이 단계는 카이사르 암호와 동일하다.

h의 값은 7, 키가 10이니까 7번에서 앞으로 10칸움직인 표 라는 소리이다. 그렇다면 h의 위치에 자리할 값은 h + key 값이 되고, 17번에 위치하고 있는 값이 바로 h를 암호화한 값이라고 할 수 있다.

 

rinp msnp....의 형태로 된다.

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

전치 암호 - Transposition Cipher  (0) 2024.04.08
단일 치환 암호 만들기 & 해독  (0) 2024.04.03
단일 치환 암호  (0) 2024.04.02