별의 공부 블로그 🧑🏻‍💻
728x90
728x170

64. 암호화 개요

1. 시저 암호와 암호화의 개요

  • 암호화
    • 평문의 데이터를 암호화 키 를 사용해서 암호문을 만들거나 암호문을 암호화 키 로 복호화해서 평문을 만드는 과정
  • 최초의 암호화
    • 평행 이동을 시켜서 암호화를 수행함.
      • 평행 이동 : 시저 암호(Caesar Cipher)로 알파벳을 일정한 문자 수만큼 이동

예 : 암호화 키가 3일 때의 시저 암호화

평문

1 2 3 4 5 6 7 8 9 10
A B C D E F G H I J

암호문(Cipher Text)

1 2 3 4 5 6 7 8 9 10
H I J A B C D E F G
  • 특정 위치를 이동함으로써 암호화가 수행됨.
  • 위의 방법으로 영문 ABC를 암호화하면, 암호문 4번째 배열이므로 DEF가 됨.
    • 다시 배열의 위치에 -3을 빼면, DA로, EB로, FC로 복호화 되어서 다시 평문을 얻게 됨.
  • 시저 암호의 문제점
    • 영문자를 대상으로 하고 있음.
      • 영문자는 최대 26자인데, 26자에 대해서 평문과 암호문을 모두 나열하면 바로 해독할 수 있음.
        • A -> D, B -> C 등으로 Z까지 나열해보면 암호화 키가 3이라는 것을 쉽게 알 수 있음.
  • 전사 공격
    • 범위의 모든 평문과 암호화 문을 나열하여 암호화를 해독하는 것

 

2. 암호화(Encryption)

  • 평문을 암호화 키를 사용해서 암호문으로 바꾸고, 암호문을 암호화 키를 사용해서 평문으로 만드는 일련의 과정
  • 평문(Plaintext)암호화 키(Encryption)를 사용해서 암호문(Cyphertext)으로 만들고, 복호화 키(Decryption Key)를 사용해서 평문으로 복원하는 과정
  • 암호화와 복호화 과정
                        송신자와 수신자가                                         송신자와 수신자가 
                        공유한 비밀 열쇠                                          공유한 비밀 열쇠
평문 입력 --------------> 암호화 알고리즘 -------------> 암호문 전송 ---------------> 복호화 알고리즘 -----------------> 평문 출력
  • 암호화 세부 내용
구분 특징
암호학(Cryptology) - 암호 기법(Ctyptography) : 암호화와 복호화의 원리, 절차 및 방법론에 관한 학문
- 암호 해독(Cryptanalysis) : 암호문으로부터 복호화 키를 찾아내거나 암호문을 평문으로 복원하려는 노력 또는 그에 관한 학문
평문(Plaintext) - 일반인이 이해할 수 있는 형태의 정보
암호문(Chiphertext) - 평문을 이해할 수 없는 형태로 변형한 문장
암호화(Encryption) - 비밀성 보장을 위해 암호  알고리즘에 의해 평문을 암호문으로 바꾸는 과정
복호화(Decryption) - 암호화된 문장을 평문으로 바꾸는 과정
알고리즘 - 특수한 순서로 평문에 적용되는 복잡한 수학 공식

 

3. 치환 암호(Substitution Cipher)

  • 고전 암호
    • 단순한 문자 대입 방법으로 통계적 특성을 분석하여 암호문 해독이 가능 했음.
    • 대표적인 암호
      • 시저 암호(Caeser Cipher)
      • 비제네르(Vigenere) 암호
      • 힐(Hill) 암호
  • 근대 암호
    • 기계를 이용하여 암호 알고리즘을 구현
    • 대표적인 암호
      • 애니그마(ENIGMA)
        • 평문을 자판으로 입력하면, 각 회전자에 의해 암호문으로 변환
  • 현대 암호
    • 1940년대 말 Clause Shannon의 정보 이론에 의해 현대 암호학 시작
    • 다양한 이론에 의해 복잡도가 높은 암호 알고리즘의 실현

단일 치환 암호(Simple Substitution Cipher)

  • 시저 암호(Caesar Cipher)가 전사 공격에 취약하여 단일 치환 암호(Simple Substitution Cipher) 가 등장함.
  • 시저 암호의 알파벳을 다른 알파벳으로 변환함.
    • 시저 암호 : A ->D, B -> E 등
    • 단일 치환 암호 : A -> F, B -> Y 등
  • 단일 치환 암호를 사용하려면 어떻게 변환하는지를 알 수 있는 치환표 가 있어야 함.
    • 복호화 또한 치환표를 사용해서 가능함.
    • 암호화 키가 치환표가 됨.
    • 전사 공격으로 해독이 어려워짐.
      • 치환표가 증가하면 할수록 해독이 더욱 어려워지기 때문
  • 평문에 등장하는 문자의 빈도 수와 암호문에 등장하는 문자의 빈도 수를 계산하면 단일 치환 암호도 해독이 쉬워짐.
    • 치환 암호는 빈도수 공격에 취약함.
      • 평문에 자주 등장하는 단어가 암호문에도 동일하게 자주 등장하기 때문

다중 치환 암호(Polyalphabetic Substitution Cipher)

  • 단일 치환 암호의 빈도수 공격의 문제점을 해결하기 위해 암호문에 나타나는 빈도 수를 거의 균등하게 만드는 암호화 기법
  • 대표적인 방법
    • 비제네르(Vigenere) 암호
    • 힐(Hill) 암호

 

4. 다중 치환 암호 : 힐(Hill) 암호화

  • 힐 암호화
    • 평문의 문자에 해당 정수 값을 부여하고, m개의 문자를 치환하는 암호화 방법
  • k : 암호화 키
  • p : 평문
  • C : 암호문
  • 알파벳이 26개이므로 mod26으로 나머지를 계산함.

힐 암호화

C1 = (k11 p1 + k12 p2 + k13 p3) mod 26
C2 = (k21 p1 + k22 p2 + k23 p3) mod 26
C3 = (k31 p1 + k32 p2 + k33 p3) mod 26

열 벡터 및 행렬

  • 암호화를 위해서 열 벡터와 행렬로 다음과 같이 표현함.
C1 = k11 k12 k13 P1
C2 = k21 k22 k23 P2
C3 = k31 k32 k33 P3

암호화 키

  • 위의 식을 사용해서 실제 AB를 암호화 하면 다음과 같음.
      17   17    5
k =   21   18   21
       2    2   19
  • 우선 AB를 정수와 치환함.
  • A=10, B=5, C=2로 치환(치환표) 된다면, 정수를 다음의 열 벡터 및 행렬에 대입함.

열 벡터 및 행렬

C1 =    17      17      5      10
C2 =    21      18     21       5     mod    26
C3 =     2       2     19       2     
  • C1 = 17*10 + 17*5 + 5*2 = 265
  • C2 = 21*10 + 18*5 + 21*2 = 342
  • C3 = 2*10 + 2*5 + 19*2 = 68
  • 결과값을 26의 나머지와 mod 연산을 수행하면 다음과 같음.
    • C1 = 265 mod 26 = 5
    • C2 = 342 mod 26 = 4
    • C3 = 68 mod 26 = 4
  • 마지막으로 암호화 된 정수를 치환표로 치환함.

암호화 기법

구분 유형 특징
고대 치환
(Substitution)
- 문자열을 다른 문자열로 이동하면서 교체하는 것
- 평문을 추론하기 어렵게 만듦.
근대 전치(이동)
(Transposition)
- 무작위로 보이는 원칙에 따라서 문자의 순서를 바꾸는 것
- 확산의 성질로 암호문을 퍼뜨려 숨김.
현대 대칭키 암호화 - 송신자와 수신자의 암호화 키가 동일한 암호화 방식
공개키 암호화 - 암호화 키와 복호화 키가 다른 암호화 방식
타원 곡선 암호(ECC) - Elliptic Curve Cryptography
- 공개키 암호 시스템의 큰 키를 이용해야 하는 단점을 보완
양자 암호 - Quantum Cryptography
- 현재 활발한 연구 중
- 이론적으로만 존재하는 것으로 여기던 완벽한 암호 시스템
  • 애니그마(ENIGMA)
    • 독일의 세르비우스에 의해서 개발
      • 송신자와 수신자는 애니그마 기계를 1대씩 가지고 있어야 함.
    • 송신자와 수신자 모두 코드북이 있어야 함.
      • 코드북은 날짜 키를 가지고 있음.

Clause Shannon의 Information Theory(정보 이론)

  • 혼돈(Confusion)
    • 암호문과 평문과의 상관관계를 숨김
    • 대치를 통해 구현
  • 확산(Diffusion)
    • 평문의 통계적 성질을 암호문 전반에 퍼뜨려 숨김.
    • 전치로 구현
    • 평문과 암호화 키의 각 비트(Bit)들은 암호문의 모든 비트에 영향을 주어야 함.

암호가 해독되는 이유

  • 암호화 알고리즘이 공개된 경우
  • 해당 문자의 치우침에 따라 통게가 가능할 경우
  • 해당 암호에 대한 예문을 많이 보유하고 있는 경우

 


 

내용 출처 : 이기적 네트워크관리사 1·2급 필기 (임호진, 황성하 공저, 영진닷컴)

728x90
그리드형(광고전용)

'Certificate > Network Manager' 카테고리의 다른 글

68. 전자상거래 보안  (0) 2021.05.03
67. 웹 서버 보안  (0) 2021.05.03
66. 비대칭키(공개키) 암호화  (0) 2021.05.02
65. 대칭키(비밀키) 암호화  (0) 2021.05.01
63. 정보 보호 공격 유형과 보호 대책  (0) 2021.05.01
62. 정보 보호 목표  (0) 2021.05.01
61. 게이트웨이(Gateway)  (0) 2021.05.01
60. 라우터(Router)  (0) 2021.05.01
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖