보안&네트워크/보안

공개키 암호화

kakk789 2022. 1. 12. 21:35

공개키 암호화 종류

구분 특징 수학적배경 장점 단점
디피
헬만
- 최초의 알고리즘
- 키 분배전용
(사실 키 분배가 아니라 각자 계산하여 같은 값을 사용하는 것)

- 공개키와 개인키로 대칭키를 만듦
이산대수
문제
- 키분배에 최적화
- 키는 필요시에만 생성
(키 저장 불필요)

- 비밀키가 노출되더라도 세션키의 안전성에는 영향을 미치면안됌.
- 암호모드 불가(인증불가)

- 위조에 취약 (신분위장)
RSA - 대표적인 공개키 알고리즘 소인수분해
문제
- 여러 Library 존재
-신분 위장공격방어
컴퓨터 속도의 발전으로
키 길이 증가
DSA - 전자서명 알고리즘 표준 이산대수
문제
- 간단한 구조
yes, no
의 결과만 가짐)
- 전자서명에 사용

- 암호화, 키교환 불가
ECC - 짧은 키로 높은 암호 강도
- PDA, 스마트폰, 핸드폰
-
무선에서 많이 사용
타원 곡선 - 오버헤드 적음
- 160= RSA 1024
- 키 테이블(20 Kbyte)필요

알고 가야 할 개념

유한체(Finite Field)? 집합에 속해 있는 원소의 수가 한정되어 있으며, 덧셈, 곱셈 연산에 대하여 닫혀 있는 집합. 닫혀있다 라는 의미는 '덧셈, 곱셈의 연산 결과 또한 집합에 속해있다' 라는 의미
**
이산대수의 난해함 : Y=ax mod b에서 Y,a,b를 알지만 x를 구하는건 어렵다.

 

수학적 방법에 따른 공개키 암호화 알고리즘

1. 소인수분해(큰수의 소인수분해는 어렵다) : RSA (공개키), Rabin Encryption

 

2. 유한체의 이산대수 : Diffie – Hellman, Elgamal (공개키), XTR

디피 헬만(대칭키) --> Elgamal(공개키, 전자서명, 느리고, 키도 길고 별로임) --> DSS (=DSA, 전자서명)

 

3. 타원곡선의 이산대수 : ECC ( Elliptic Curve Cryptosystem ) ( 공개키 )

  • RSA의 대체, 공개키 암호화 방식
  • 짧은 암호키이지만 동일한 성능을 갖는다 ( 사양이 낮아도 성능 유지 가능 )
  • 3072bit RSA == 256bit ECC 성능 동일
  • 키 길이가 짧다 = 열악한 환경에서도 사용 가능 = 무선 환경과 같은 환경에서 쓰기 좋다
    1) 디지털 서명 용도 : ECDSA  
    2) 키교환 용도 : ECDH
    3) 난수 생성 용도 : Dual-EC_DRBG
    4) 암호화 / 복호화 용도 : EC-KEM, EC ELGamal, Massey-Omura, Menezes Vanstone


4.
부호 이론(Coding Theory) : McEliece


5.
배낭문제 : Knapsack 암호

 

6. NTRU (격자이론) : braid-group, Cryptosystem (매듭이론)

키 분배 방식 해결

사전에 키 분배 키 공유 키 분배
Bloom 방식 중앙집중식
공개키 분배방식 == KDC
디피 헬만, Matsumoto-Takashima-Imai, Okamoto-Nakamura Needham-Schroeder,
Diffie-Hellman, RSA

 

RSA, DSA의 차이

- RSA 검증이 더 빠름

- DSA 키 생성이 더 빠름

- RSA는 전자 서명시 원문 메시지가 필요

- RSA는 원문을 개인키로 암호화해야 서명이 가능하다..

반응형