본문으로 바로가기

카이사르 암호(시저: Caesar Ciper)에 대하여...

category 끄적거림 2018.09.29 16:37

카이사르 암호(시저: Caesar Ciper)에 대하여...

간만에 질문을 받았네요.

저에게 질문을 하신 분은 현재 전산직 공무원 준비 중이고 정보보호론 암호화 파트를 인강 보면서 공부하고 있는데, 사진이 이해가 가질 않는다.

설명 좀 해달라.

암호문 C = (P + k) mod 26
평문 P = (C - k) mod 26

에서 k값이 13일 때, 암호문 A와 O를 구하면?
-------------------------------------------

흠, 사실 전 소공이 전공이라.. 그래도 뭐 @_@

일단 mod 26이란 말은 알파벳 A ~ Z 총 26개라는 말입니다.

A = 0
B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9
K = 10
L = 11
M = 12
N = 13
O = 14

......

X = 23
Y = 24
Z = 25

이렇게 총 26개


암호문 공식에 대입해야 겠죠.
C = (P + k) mod 26

우선 평문 A값인 0을 대입
C = (0 + 13) mod 26
C = 13 mod 26
C = 13
A값(암호)은 13


이제 평문 O값인 14를 대입
C = (14 + 13) mod 26
C = 27 mod 26
C = 1
O값(암호)은 1

이제, 13(A)와 1(O)가 맞는지 확인~


평문(복호문) P = (C - k) mod 26
A가 13이니
P = (13 - 13) mod 26
P = 0 mod 26
P = 0
0이 A이니 맞네요.


이젠 O차례

O는 1
P = (1 - 13) mod 26 또는 P = (1 + 13) mod 26
P = -12 mod 26 또는 P = 14 mod 26

* 복호시 피제수(C + k)값이 음수가 나올 땐 두 값(C, k)을 더한 후 mod값(나머지: quotient)을 구하면 됩니다.


P = 14
O는 14

그러므로 평문 A, O를 암호문으로 바꾸면 13, 1

**카이사르(시저) 암호는 대칭키 암호이고, 카이사르(시저) 또는 시프트(shift) 암호라고도 부릅니다.


시프트(shift) 암호는 카이사르(시저) 공식에 K(키값)값 자리에 시프트(shift)를 넣어 사용합니다.

카이사르(시저)
암호문 C = (P + K) mod 26
평문 P = (C - K) mod 26

시프트(shift)
암호문 C = (P + shift) mod 26
평문 P = (C - shift) mod 26




댓글을 달아 주세요

  1. 복구 2018.10.01 15:10 신고

    khd2225@nate.com 초대장부탁드립니다~