본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

자신만 알고 있는 비밀키와 외부에 노출되어도 되는 공개키 두가지를 이용하는 암호화 구조

  • A의 공개키는 누구나 알고 있다.
  • 누군가가 A의 공개키로 암호화할 경우 그 암호문은 A의 비밀키로만 복호화할 수 있다.
  1. A는 공개 키/개인 키로 이루어진 한 쌍의 키를 만든다.
  2. A는 자신의 공개 키를 B에게 보낸다.
  3. B는 A의 공개 키를 써서 메시지를 암호화한다.
  4. B는 암호문을 A에게 보낸다.
  5. A은 자신의 개인 키를 써서 암호문을 복호화한다.
  • 1976년 휘트필드 디피(Whitfield Diffie)와 마틴헬만(Martin Hellman)이 공개 키 암호의 아이디어를 발표
  • 1977년 구체적인 알고리즘으로서 랠프 메르클레(Ralph Merkle)와 마틴 헬만(Martin Hellman)에 의한 Knapsack 암호 개발
  • 1978년 MIT 박사 3인에 의해 공개키 암호 알고리즘 RSA 발표
    • 론 라이베스트(Ron Rivest)
    • 아디 샤미르(Adi Shamir)
    • 레너드 애들먼(Leonard Adleman)
  • 1985년 밀러와 코블리츠에 의해 ECC 암호 아이디어 발표

대표 알고리즘

편집 원본 편집

공개키 암호는 한쪽 방향으로는 계산이 쉽고 거꾸로는 매우 어려운 수학 문제에 안전성을 둔다.

알고리즘 바탕이 되는 어려운 문제 쓰임
RSA 큰 수의 소인수분해 암호화, 전자서명, 키 교환
라빈(Rabin) 소인수분해(합성수 법의 제곱근) 암호화
엘가말(ElGamal) 이산대수 암호화, 전자서명
디피-헬만 이산대수 키 교환(암호화 자체는 하지 않는다)
DSA 이산대수 전자서명 전용
ECC(Elliptic Curve Cryptosystem) 타원 곡선 위의 이산대수 짧은 키로 RSA 와 같은 강도
Knapsack 배낭 문제 초기 공개키 암호. 지금은 깨져 쓰지 않는다

대칭키 알고리즘과 구분

편집 원본 편집

암호화와 복호화에 같은 키를 쓰는 대칭키 알고리즘은 공개키 알고리즘이 아니다. DES, 3DES, AES, SEED, ARIA, IDEA 가 여기에 든다. 특히 Rijndael(라인달)은 2000년 AES 로 뽑힌 블록 암호의 원래 이름이라 대칭키 알고리즘이다. "공개키 알고리즘이 아닌 것" 을 고르는 문제에서 RSA·ECC·ElGamal 사이에 섞여 나온다.