티스토리 뷰
플레이페어 암호 (Playfair cipher)
플레이페어 (John playfair)와 휘트스톤(Charles Wheatstone)
플레이페어 암호(Playfair cipher)는 영국의 물리학자인 휘트스톤(Charles Wheatstone)과 영국의 수학자 및 지질학자인 플레이페어(John Playfair)가 만든 암호화 방식입니다. 하지만, 휘트스톤이 죽고 플레이페어는 이 암호화 방식을 자신의 이름을 본따 발표하게 됩니다.
<암호화 방식>
이 암호는 5x5 알파벳 행렬을 이용하고, key값을 사용합니다.
예를들어, 키값이 CRYPTO라면 키값을 쓰고 키값에 사용되지 않은 나머지 알파벳을 5x5 행렬 구조로 맞춰 적은 것이 암호화, 복호화의 핵심이 됩니다.
5x5 행렬 구조로 알파벳을 적을 때, 칸의 개수를 맞춰주기 위해 I와 J는 한칸에 써야합니다.
이제 이것을 이용하여 HI PLAYFAIR 라는 평문을 암호화 해보겠습니다.
1. 먼저, 평문을 2개의 알파벳 묶음으로 분리해줍니다.
HI PL AY FA IR
2. 이제 묶여진 두개의 알파벳을 위에 만든 행렬을 이용하여 치환을 해줍니다.
○ 묶인 두개의 알파벳이 같은 행에 있을 경우, 위에 만든 행렬을 이용하여 오른쪽으로 한칸씩 밀어주시면 됩니다.
ex) H와 I는 같은 행에 있으므로, 암호화를 하면 IK가 됩니다.
○ 묶인 두개의 알파벳이 사각형 모양을 그릴 경우에는 그 사각형을 기준으로 왼쪽과 오른쪽에 있는 알파벳으로 치환해 주시면 됩니다.
ex) P와 L은 사각형 모양을 그리므로 CQ가 됩니다.
○ 묶인 두개의 알파벳이 같은 열에 있을 경우, 아래쪽으로 한칸씩 밀어주시면 됩니다.
ex) E와 K는 KS가 됩니다.
※ 만약, 연속으로 같은 알파벳이 나올경우에는 사이에 임의의 알파벳을 끼어 넣어 준 뒤, 치환을 해주시면 됩니다.
또한, 2개의 묶음으로 나눠 떨어지지 않는 홀수개의 평문일 경우에는 맨 끝에 임의의 알파벳을 붙인 뒤, 치환을 해주시면 됩니다.
ex) HELLO -> HE LX XL OX ( 임의의 알파벳 X를 넣어보았습니다.)
HI PLAYFAIR -> IK CQBRGOGP
'Study > Crypto' 카테고리의 다른 글
Base85 원리 (0) | 2013.08.08 |
---|---|
Base64 원리 (0) | 2013.08.08 |
폴리비우스 암호 (Polibius cipher) (0) | 2013.08.08 |
카이사르 암호 (Caesar cipher) (0) | 2013.08.08 |
프리메이슨 암호 (freemason cipher) (0) | 2013.08.08 |
- Total
- Today
- Yesterday