ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 암호학 4주차 - 현대 암호
    보안/CRYPTOGRAPHY 2024. 3. 15. 18:11

    0. 대칭키 암호 시스템 (Symmetric Key Cryptosystem)

    : 송신자와 수신자가 같은 키를 공유해야 하는 암호 시스템

    ex. 카이사르 암호, 비제네르 암호

    - 사전에 서로 키를 공유하는 과정이 반드시 필요한데, 현대에서는 도청 문제가 생겼다.

    -- > 키 공유 알고리즘 연구

    -- > Diffie와 Hellman이 Diffie-Hellman 키 교환 알고리즘 제시,

    공개키 암호 시스템( Public Key Cryptosysytem) 창안

    : 송신자와 수신자가 서로 다른 키를 사용함 /

    비대칭키 암호 시스템(Asymmetric Cryptography) 이라고 한다.


    1. 현대 암호

    1945년 Claude Shannon이 안전한 암호 시스템은 혼돈과 확산의 성질을 만족해야 한다고 발표

    • 혼돈

    : 암호문에서 평문의 특성을 알아내기 힘든 성질

    - 단일 치환 암호는 혼돈 성질을 만족하지 못한다.

    • 확산

    : 평문의 작은 변화가 암호문의 큰 변화로 이어지는 성질

    - 대부분의 고전 암호에서 찾아보기 힘든 성질이다.


    2. 대칭키 암호 시스템

    암호화와 복호화에 같은 키를 사용하는 암호 시스템, 블록 암호와 스트림 암호로 구분한다.

    • 블록 암호(Block Cipher)

    : 평문을 정해진 크기의 블록 단위로 암호화하는 암호

    - 평문의 크기가 블록 크기의 배수가 아니어서 균등하게 쪼갤 수 없는 경우:

    평문 뒤에 데이터를 추가하는 패딩(padding) 을 수행한다. 평문이 블록 크기의 배수가 될 때까지 추가한다.

    -예시: DES, AES

    • 스트림 암호(Stream Cipher)

    : 송신자와 수신자가 공유하는 데이터 스트림을 생성하고 이를 평문에 XOR 하는 암호

    - 평문 P, 암호문 C, 스트림을 X 라 할 때 C = P XOR X

    - X ⊕ X = 0 이므로 수신자는 C ⊕ X = P ⊕ X ⊕ X = P 로 복호화 가능

    - 평문과 같은 길이의 스트림을 안전하게 공유할 수 있으면 평문을 공유할 수 있어 암호화가 필요 없다.

    -- > 송신자와 수신자는 스트림 대신 '시드'를 공유하고 사전에 합의된 함수의 인자로 넣어 스트림 각자 생성

    - 스트림 암호는 단순연산으로 구현되어 속도가 빠르다.

    - 블록암호보다 안전하지 못해 연산 능력 부족한 임베디드 기기/속도가 중요한 환경에서만 제한적으로 사용

    • 대칭키 암호시스템 장점
    1. 공개키 암호시스템에 비해 빠른 속도

    • 대칭키 암호시스템 단점
    1. 송신자와 수신자가 사전에 키를 교환해야 하는 제약이 존재한다.
    2. 새로운 상대와 통신할 때마다 계속 키를 생성해야 한다.

    - 대칭키 암호: 그룹 내에 여러 명이 있으면 두 사람마다 서로 다른 키를 생성해야 한다.

    즉 N명 있으면 N C 2 개의 키가 필요하다.

    - 공개키 암호 시스템에서는 키생성에 불편함이 없다.


    3. 공개키 암호 시스템

    : 송신자는 수신자의 공개키(Public Key)로 데이터를 암호화하여 수신자에게 전송하고 수신자는 자신의 비밀키(Private Key)로 복호화한다.

    - 공개키는 모두에게 공개되어 있음

    - 공개키를 알면 누구나 수신자에게 암호문을 보낼 수 있다.

    - 개인키는 수신자만 알고 있어 도청해도 복호화가 불가능하다.

    • 공개키 암호 시스템의 장점
    1. 필요한 키의 개수가 대칭키 암호 시스템보다 적다.

    - 공개키 암호: 그룹 내의 사람들이 각자 공개키와 비밀키 만들고 공개키만 공개하면 된다.

    N명 있으면 2N개의 키만 필요하다. 대칭키 암호는 N C 2 개의 키가 필요하다.

    2. 한 번 키를 생성하면 새로운 상대와 통신해도 자신이 키를 다시 만들어야 할 필요가 없다.


    4. 암호의 기능

    • 기밀성 ( Confidentiality)

    : 허락된 사람(키를 가지고 있는 사람) 만이 정보를 열람할 수 있게 하는 기능

    • 무결성 (Integrity)

    : 송신자가 보낸 정보에 변조가 일어나지 않았음을 의미 ( 데이터의 변화가 발생하지 않았음을 보증하는 기능)

    • 인증 (Authentication)

    : 정보를 주고 받는 상대방의 신원을 확인하는 기능

    -ex. 공인인증서

    • 부인 방지 (Non-repudiation)

    : 정보를 교환한 이후에 교환한 사실을 부인할 수 없게 하는 기능

    '보안 > CRYPTOGRAPHY' 카테고리의 다른 글

    암호학 5주차 - 블록암호  (0) 2024.03.16
    암호학 5주차 - DES  (0) 2024.03.15
    암호학 5주차 - AES  (1) 2024.03.15
    암호학 4주차 - 고전 암호  (0) 2024.03.15
    암호학 3주차  (0) 2024.03.15
Designed by Tistory.