본문 바로가기
보안

정보보호개론] 5. 공개키 암호

by excelnote2 2013. 5. 9.

공개키 암호

◦ 공개키 암호(비대칭키 암호)

  - 암호화키 != 복호화키

  - 암호화에 사용되는 키와 복호화에 사용되는 키가 서로 다른 시스템

  - 하나의 키를 알더라도 다른 키 추측 불가

  - 대칭키(비밀키) 암호의 키 분배 문제가 해결(키분배, 관리 용이)

  - 키사이즈 길다

  - 계산이 복잡하고 속도 느림

  - 비밀키 몰라도 암호화 가능

  - 전저서명, 키분배 등 응용가능


◦ 공개키 종류

Hard problem

종류

인수분해문제기반(Factoring Problem)

RSA, Rabin

유한체 이산대수문제기반

(Discrete logarithm Problem)

ElGamal, XTR

타원곡선 이산대수문제기반

ECC (Elliptic Curve Cryptosystem)

부호이론문제

McEliece Cryptosystem

배낭문제 (Subset-sum)

Merkle-Hellman Knapsack

격자이론

NTRU

매듭이론

Braid-Group Cryptosystem 


◦ RSA

  - 커다란 두 소수의 곱 n=pq의 인수분해문제에 기반

  - 현재 n이 1024비트 이상이어야 안전하며 2048 권장

  - RSA 구성

    1) 커다란 소수 p, q 선택하여 n=qp 계산

    2) Gcd(d,(p-1)(q-1))=1을 만족하는 d 선택(비밀키, 복호화키)

    3) ed=1 mod((p-1)(q-1))을 만족하는 e 구함(공개키, 암호화키)·· 


◦ ELGamal 

  - 유한체에서의 이산대수문제에 기반

  - 암호문의 길이가 RSA보다 두배


◦ 타원곡선암호시스템(ECC)

  - 타원곡선군에서의 이산대수 문제를 기반

  - RSA와 ELGamal보다 키 사이즈 작음(160비트 이상 권장)

  - 구현은 복잡하나 어떤 공개키 암호시스템보다 효율적

  - 저장량, 대폭역, 계산복잡도가 비교적 적다

  - 모바일 환경에 적합

  - 타원곡선암호시스템은 특정한 암호시스템이라기보다 암호 알고리즘을 구현해 볼 수 있는 수학적 장소를 제공
    (RSA, ELGamal을 정수 공간이 아닌 타원 쌍곡선 위에서 
구현 가능)

 

댓글