Symmetric Key Encipherment - 기본

최호철·2022년 4월 28일
0

대칭 키 암호화(Symmetric Key Encipherment) 란?

대칭 키 암호화(Symmetric Key Encipherment)는 encryption 하는 key와 decryption 하는 key가 같은 암호화 기법이다.

장점: 알고리즘에서 사용되는 연산의 비용이 낮기 때문에 비대칭 키 암호화 기법보다 빠르다.

단점: 대칭 키 암호화에서 사용하는 동일한 key를 encryption, decryption 하는 모든 유저가 가져야 한다.

따라서 key 공유 시에 안전한 channel을 이용해야 한다.

암호학 공부의 시작은 덧셈 암호, 곱셈 암호라고 생각한다.

덧셈 암호, 곱셈 암호는 암호학에서 적극적으로 사용하게 되는 modulo 연산을 이해하는 데 도움이 된다.

덧셈 암호(Additive Cipher)

Plain Text, Cipher Text가 영어라고 가정하면 plain text, cipher text, key 모두 Z26Z_{26}의 원소이다.

P = Plain Text, C = Cipher Text, k = key
Encryption => C=(P+k)mod26C = (P + k) \mod 26
Decryption => P=(Ck)mod26P = (C - k) \mod 26

덧셈 암호는 key가 Z26Z_{26}의 원소이므로 brute force를 통해 26번의 연산으로 공격 성공이 가능하다.

곱셈 암호(Multiplicative Cipher)

Plain Text, Cipher Text가 영어라고 가정하면 plain text, cipher text는 Z26Z_{26}의 원소이다.

다만 key는 Z26Z_{26}*의 원소이다.

Z26Z_{26}*의 의미는 Z26Z_{26}에서 모듈로 곱의 역원이 존재하는 원소 라는 뜻이다.

쉽게 말해서 26과 최대공약수가 1인 수 즉, gcd(26,x)=1\gcd(26, x) = 1을 성립하게 만드는 x를 뜻한다.

Z26=Z_{26}* = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25}

P = Plain Text, C = Cipher Text, k = Key
Encryption => C=(Pk)mod26C = (P * k) \mod 26
Decryption => P=(Ck1)mod26P = (C * k^{-1}) \mod 26

곱셈 암호는 key가 Z26Z_{26}*의 원소이므로 brute force를 통해 13번의 연산으로 공격 성공이 가능하다.

대칭 키 암호화의 기본에는 이외에도 아핀 암호, autokey cipher, playfair cipher, vigenere 암호, hill 암호, 전치 암호 등이 있다.

하지만 대칭 키 암호화에서 가장 대표적인 암호화 알고리즘은 DES, AES이다.

profile
Hello, 호철 :D

0개의 댓글