Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 생성자
- 코딩테스트
- generic class
- javascript
- spring
- 크루스칼
- 공개키 암호화
- 알고리즘
- JPA
- sql
- 자바의정석
- DB
- python
- js
- Algorithm
- dfs
- 항해99
- 개발자취업
- dbms
- data structure
- 코딩테스트준비
- 가상컴퓨팅
- 암호학
- Java
- 자료구조
- BFS
- jsp
- 코테
- 문자열
- Queue
Archives
- Today
- Total
PLOD
[crypto] Public Key Cryptography 본문
1. public key cryptography(공개키 암호화)
비대칭키 암호화 라고도 한다.암호화와 복호화에 동일한 알고리즘을 사용한다.
.public key로 암호화를 하고 private key로 복호화를 한다. public key(공개키)를 통해 암호화 하기 때문에
키 교환을 할 필요가 없다. private key(비밀키)는 비밀로 유지한다.
2. 공개키 암호화 알고리즘을 사용하는 이유(Digital Signature(private key))
1) Confidentiality(기밀성)
2) Authentication(인증)
3) Non-repudiation(부인 방지)
RSA public key가 (N,e) 비밀키가 d라고 가정해보자
RSA에서 비밀키 d를 이루는 p,q는 아주 큰 소수로 정한다. 그렇기 때문에 e값을 알더라도 d값을
알 수가 없다.
ex)
공개키 : (N,e) = (33,3),
비밀키 : d = 7,
메세지 M = 8 일때, Ciphertext(C)는
C = M^e mod N = 8^3 = 512 = 17 mod 33 가 된다.
C를 복호화 하기 위해서는 M의 세제곱이 32로 나누었을때 나머지가 17이 되는 수를 찾아야 한다.
M = C^d mod N = 17^ 7 = 410,338,673 = 12,434,505 * 33 + 8 = 8 mod 33
* PKI(Public Key Infrastructure)
공개키 암호화와 전자서명을 사용 할 수 있게 기반을 마련해둔 것
1) key generation 과 mangement
2) Certification Authority(CA)
3) Certification Revocation Lists(CRLs) , 인증서 폐기
'computer science > Cryptography' 카테고리의 다른 글
[crypto] SSL/TLS (0) | 2022.12.08 |
---|---|
[crypto]Authentication Protocols (0) | 2022.12.07 |
[crypto] Hash (0) | 2022.12.05 |
[crypto]Diffie-‐Hellman (0) | 2022.12.05 |
[crypto] Modular Arithmetic (0) | 2022.12.05 |
Comments