MajorClass/Information Security

[정보보안] 암호에 대한 이해(1)

쿠뱃봉 2022. 12. 7. 21:55

1. 대칭키와 비대칭 키

대칭키 - 암호화와 복호화 하는데 사용하는 키가 같은 것

비대칭 키- 공개키 암호 시스템

 

2. 암호의 발전사

 

  • 최초의 암호
    • 정보 은닉(스테가노그래피)
  • 전치법
    • 메시지에 있는 문자의 위치를 바꾸는 방법
  • 대체법
    • 해당 글자를 다른 글자로 대체
    • 줄리어스 시저
    • 모노알파베틱(단일치환기법)
  • 빈도수 분석법
  • 비즈네르 암호화
    • 다중 문자 치환 기법
    • 비즈네르 암호표

3. 현대 암호

 

-암호 알고리즘

  • 대칭키 암호 알고리즘
    • DES,3DES,AES,SEED
  • 공개키 암호 알고리즘
    • RSA, ELGamal, Knapsack
  • 암호학적 해쉬 및 메시지 인증 코드
    • SHA-1,MD5

- 암호 프로토콜

특수한 보안 기능과 목적을 제공하는 것 - 암호 프로토콜 (응용 프로토콜)

  • 키 분배 키 교환 프로토콜
  • 전자 서명
    • RSA,ELGamal,DSA
  • 영지식 증명 (Zero-knowledge proof)
    • 내가 정보제공을 안하면서 안다는 사실을 알림4.

 

 

 

 

 

4. 현대 암호의 특징

 

(1)암호의 다양한 활용

  • 데이터 기밀성
    • 데이터가 무엇인지 모르게 감춤
    • 암호 알고리즘
  • 사용자 인증
    • 전자서명
  • 데이터 무결성 인증
    • 통신 중간에 데이터가 위변조 되지 않았는지
  • 영지식 증명

(2) 정수론에 기반

(3) 암호의 안정성이 NP-hard 문제의 어려움에 기반

  • 이산 대수 문제, 소인수분해 문제

 

4. 대칭 암호화 방식

-대칭 암호화란 암호화하는 키와 복호화 하는 키가 같은 것.

-암호학적 강도

  • 혼돈 
    • 암호문의 통계적 성질과 평문의 통계적 성질의 관계를 난해하게 만드는 성질
  • 확산
    • 각각의 평문 비트와 키 비트가 암호문의 모든 비트에 영향을 주는 성질

 

5.DES(Data Encryption Standard)

  • 페이스텔 구조
  • 16개의 라운드를 가짐
  • 64비트의 블록 암호화 알고리즘
  • 56비트 크기의 암호화 키 사용
    • 모든 블럭에 같은 키 사용

 

6. 블럭 암호

  • 평문과 암호문이 고정된 크기의 블록으로 구성
  • 암호문은 평문의 반복되는 회전 함수로 생산
  • 회전 함수 입력은 전번 회전 출력과 키로 구성
  • 종류
    • CBC(Ciper Block Chaining)

 

7. 페이스텔 암호와 DES

페이스텔 암호
DES의 암호화와 복호화 과정
DES
DES : S-Box
S-Box에 대한 이해

 

  • DES의 한계 - 복호화 가능

 

8. 트리플 DES

  • DES의 복호화가 가능해짐에 따라 AES가 나오기 전까지 임시로 사용한 암호 알고리즘
  • 2개의 암호화 키를 이용 (56비트 키 2개, 112비트 키)
  • 암호화 과정
    • C1=E(P,K1)
    • C2=D(C1,K2)
    • C3=E(C2,K1)
    • C= E(D(E(P,K1),K2),K1)
  • 복호화 과정
    • C2=D(C3,K1)
    • C1=E(C2,K2)
    • P=D(C1,K1)
  • Double DES는?
    • 암호화 과정
      • C1=E(P,K1)
      • C=D(C1,K2)
    • 복호화 과정
      • C1=E(C,K2)
      • C=D(C1,K1)
    • 암호화 과정의 C1=E(P,K1)과 복호화 과정의 C1=E(C,K2) 에서 C1이 같을 것이기에 
    • 각각 한 단계만 해보면 되므로 2^56+2^56=2^57번만에 key를 찾아낼 수 있게 된다.
    • 따라서 성능이 2^57인 것이다.
    • 반면에 triple DES는 성능이 2^56 * 2^56 = 2^(56+56) = 2^112 의 성능을 가진다.

 

9. AES(Advanced Encryption Standard)

  • 128 비트 암호화 블록
  • 키 최소 128비트 최대 256비트 까지 3가지 종류의 key
  • 15개의 알고리즘이 제안
  • 리즈멘과 대먼의 Rijndael 알고리즘이 선정됨

 

 

10. 대칭키 암호 알고리즘의 장단점

- 장점

  • 연산이 매우 빠름
  • 알고리즘이 쉽고, 구현이 간단하다

-단점

  • 키 교환(또는 분배)가 어려움
  • 사용자가 늘어날수록, 비밀키의 개수도 증가
    • n명이 통신을 하기 위해서는 n(n-1)/2 개의 비밀키가 필요
  • 키를 비밀로 유지