- Published on
About Symmetric key and encryption fundamentals
- Authors
- Name
- 이민기
- Github
- @mingi3442
Symmetric Key (대칭키) 암호
암호화와 복호화를 하기 위해 사용되는 키가 동일한 암호 알고리즘
![](/_next/image?url=%2Fstatic%2Fimages%2Fcryptography%2Fsymmetric-key.jpeg&w=1080&q=75)
𖤐 대칭키 알고리즘
평문 (P) : PlainText, 암호문 (C) : CipherText , 키 (K) : Key,
암호화 알고리즘 (E) : Encryption Algorithm , 복호화 알고리즘 (D) : Decryption Algorithm
- C =
E⒦( P )
- P =
D⒦( C )
- 송신자 :
E⒦( P )
- 수신자 :
D⒦( C )
=D⒦( E⒦ ( P ) )
=P
대표적인 대칭 키 알고리즘
1. DES (Data Encryption Standard)
DES는 한 때 강력한 암호화 방법으로 여겨졌지만, 키 길이가 56비트로 상대적으로 짧아서 브루트포스 공격에 취약합니다. 이로 인해 1990년대 후반부터는 더 안전한 알고리즘으로의 전환 필요성이 대두되었으며 DES의 취약성에 대응하기 위해 Triple DES(3DES)가 개발되었으며, 이후 나중에는 더 강력하고 효율적인 AES(Advanced Encryption Standard)가 DES를 대체하게 되었습니다
2. AES (Advanced Encryption Standard) 𖤐
2001년 NIST(미국 국립기술 표준원)에서 공표한 대칭키 암호 알고리즘이며 높은 안정성과 속도로 전 세계적으로 많이 이용하고 있으며 암호화 키의 길이에 따라 AES-128, AES-192, AES-256로 나누어 집니다.
전치 암호의 원리와 종류
전치 암호
기호를 다른 기호로 변경하는 것이 아닌 재 정렬시켜 암호화하는 방식입니다.
1. Keyless Transpostion ciphers
키가 없는 전치 암호
Rail fence 암호
평문을 합의한 열의 개수를 기준으로 단어를 재조합하는 방법입니다.
- ✓ 열 2개로 암호화
Hello World => HLOOL
, ELLWRD
2. Keyed Transpostion ciphers
키가 있는 전치 암호
사전에 합의된 크기로 평문을 블록 단위로 나눈 뒤 각각의 블록에 키를 대입하여 재배치하는 방법입니다.
✓ 2개로 암호화
2 1 1 2 Hello World =>
EH
,LL
,WO
,RO
,DL
대치 암호의 원리와 종류
대치 암호
어떠한 기호를 다른 기호로 대체하는 암호의 종류
- Monoalphabetic ciphers (단일문자 암호) : 평문의 기호와 대응하는 암호문 기호는 항상 1:1 대응관계를 가집니다.
- Polyalphabetic ciphers (다중문자 암호) : 평문의 기호와 대응하는 암호문 기호는 1:M 대응관계를 가집니다
1. 단일 문자 암호
1-1 Additive Cipher (덧셈 암호)
✏️가장 기본적인 암호이며 알파벳을 기준으로 평문과 암호문의 키는 Z26의 원소가 됩니다.
C(암호문) = (P + k) mod 26
P(평문) = (C - k) mod 26
1-2 Multiplicative Cipher (곱셈 암호)
✏️키는 평문과 암호문이 해당하는 Z26의 원소에서 역원이 존재하는 원소를 사용합니다.
C(암호문) = ( P * k ) mod 26 P(평문) = (C * k^-1) mod 26
1-3 Affine Cipher (아핀 암호)
✏️덧셈 암호와 곱셈 암호를 결합하여 두개의 키를 사용한 암호입니다.
2. 다중 문자 암호
2-1 Autokey Cipher (자동키 암호)
✏️첫 번째 키를 미리 정의한 후 나머지 키는 평문의 문자를 이용해서 암호화하는 방식입니다.
2-2 Playfair Cipher (플레이페어 암호)
✏️1차 세계대전에서 영국군이 사용한 암호 방식이며 5 * 5 행렬로 배열된 알파벳 문자로 이루어진 비밀키를 기준으로 규칙을 정해서 사용합니다.
Kerckhoff의 원리와 암호 해독 공격 방법
𖤐 Kerckhoff의 원리
암호화에서 암호화 알고리즘의 안전성보다 키의 안전성이 더 중요하다
공격자는 항상 암호화 알고리즘 ( E )와 복호화 알고리즘( D )은 알고리즘은 알고있다고 가정해야한다는 원칙입니다.
그러므로 안전성은 키의 안전성에 바탕을 두어야 한다는 원리입니다.
암호 해독 공격 방법
- Brute-Force Attack (전수조사 공격) : 암호문을 가로챈 후 모든 가능한 키를 사용하여 복호화 한 후 평문 획득하는 공격방법을 말합니다.
- Statistical Attack (통계적인 공격) : 평문언어의 고유한 특징들 을 이용하여 복호화한다 예를 들어 영어에서 제일 빈번하게 나오는 단어는
E
이며 암호문 역시 가장 빈번하게 나오는 단어를E
라고 가정하고 복호화하는 공격 방법을 말합니다. - Pattern Attack (패턴 공격) : 암호문에서 존재하는 패턴을 연구해 복호화하는 공격 방법을 말합니다.