본문 바로가기
보안/암호화 방식

[보안] Playfair 암호

by 꾸적꾸적 2022. 5. 27.

Playfair 암호에서 키값에 따라 키 매트릭스가 달라지는데,

올바른 키 값을 사용해 키 매트릭스를 만들었을 경우에,

송신자가 원하는 Plaintext를 수신자가 알아볼 수 있습니다.

 

 

키 매트릭스를 만들 때에는, 키 값을 왼쪽 위부터 순서대로, 그리고 중복 문자가 없도록 집어넣은 다음, 남은 알파벳을 전부 기입하는 형식으로 만들 수 있습니다.

-> 상호간 인지된 키 값 : MONARCHY

 

ABCDEFGHIJKLMNOPQRSTUVWXYZ

BDEFGIJKLPQSTUVWXZ

->MONARCHYBDEFGIJKLPQSTUVWXZ

 

M O N A R
C H Y B D
E F G I/J K
L P Q S T
U V W X Z

-> 키 매트릭스.

 

키 매트릭스를 사용하여, 원하는 Plaintext를 암호화 할 수 있는데

방법은 다음과 같다.

 

Playfair 암호화 규칙

1. Plaintext의 철자를 두 글자씩 묶어 문장을 나눈다.

ex) MATERIAL -> MA TE RI AL

 

(, 중복되는 철자가 나올 경우, X등의 잘 사용하지 않는 글자(스페셜 레터)를 사용하여 나눈다.)

// 단어의 혼란을 방지하기 위해서 스페셜 레터를 사용한다.

ex) BALLOON -> BA LX LO ON

 

(Plaintext가 홀수일 경우에는 마지막에 스페셜 캐릭터를 사용한다.)

ex) RESIN -> RE SI NX

 

2. 두 글자가 같은 행에 있을 경우에는, 각각의 단어에서 오른쪽에 있는 글자를 사용 한다.

ex) G->I/J

 

3. 두 글자가 같은 열에 있을 경우에는, 각각의 단어에서 아래쪽에 있는 글자를 사용 한다.

ex) G->Q

 

4. 두 글자가 다른 행렬일 경우에는, 타겟 글자의 같은 행, 파트너 글자의 열이 같은 글자를 사용한다. ex) YS -> BQ

ex) BALLOON -> BA LX LO ON

BA -> IB (3번 방식)

LX -> SU (4번 방식)

LO -> PM (4번 방식)

ON -> NA (2번 방식)

 

IBSUPMNA

수신자는 이러한 암호화된 값을 받게 된다.

이를 복호화 하는 방식은 아래에 서술.

 

 

Playfair 복호화(암호화 반대로)

1. 암호화된 문장의 철자를 두 글자씩 묶어 문장을 나눈다.

2. 두 글자가 같은 행에 있을 경우에는, 각각의 단어에서 왼쪽에 있는 글자를 사용 한다.

ex) G->F

 

3. 두 글자가 같은 열에 있을 경우에는, 각각의 단어에서 위쪽에 있는 글자를 사용 한다.

ex) G->Y

 

4. 두 글자가 다른 행렬일 경우에는, 타겟 글자의 같은 행, 파트너 글자의 열이 같은 글자를 사용한다. ex) YS -> BQ

ex) IBSUPMNA -> IB SU PM NA

IB -> BA (3번 방식)

SU -> LX (4번 방식)

PM -> LO (4번 방식)

NA -> ON (2번 방식)

-> BA LX LO ON 이 경우, X는 스페셜 레터로 확인된다.

 

BALLOON

이런 방식으로 수신측은 암호화된 값을 복호화 할 수 있다.

댓글