보안&네트워크/보안
공개키 암호화
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는 원문을 개인키로 암호화해야 서명이 가능하다..
반응형