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 |
Tags
- 알고리즘
- Queue
- BFS
- DB
- dbms
- 코테
- 공개키 암호화
- data structure
- Java
- javascript
- 생성자
- jsp
- JPA
- 클라우드 컴퓨팅
- MVC
- generic class
- 가상컴퓨팅
- 크루스칼
- 자료구조
- Stack
- cloud computing
- 암호학
- python
- spring
- dfs
- 자바의정석
- Algorithm
- JDBC
- sql
- 코딩테스트
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