Public Key Cryptography, RSA
              
          2022. 12. 8. 15:25ㆍ프로그래밍/보안
암호기술 큰틀
- 대칭키 암호(Symmetric key cryptography)
- Block Cipher
 - Stream Cipher
 
 - 비대칭 암호
- Public-key Cryptography(공개 키 암호학)
 - Digital Signature
 
 
공개키 암호학
- 2개의 key가 존재 public key private key
A에게 전송할 때는 공개된 A의 public key를 사용하여 암호화, 전송
A는 수신한 내용을 A 자신의 private key를 사용하여 복호화
-> 반대의 경우는 '서명' signature 을 위한 경우
- trap door one way function: 개구멍 있는 일방통행
개구멍(private key)을 아는 사람만 볼 수 있도록 하는 방법
RSA(Rivest, Shamir, Adelman)
사용된 난제: Large prime number factorization
준비
- 큰 소수 p, q를 준비, N = pq ex) p = 11, q = 3
 - 암호화를 위한 ϕ(pq) = (p-1)(q-1) 와 서로소인 작은수 e 선택 ex) p-1 * q-1 = 20, e = 3(20 과 서로소인 수)
 - ed = 1 mod (p-1)(q-1)을 만족하는 d를 선택 ex) 3*7 = 1 mod 20, d = 7
 - public key = (N,e), private key = d ex) (N,e) = (33,3), d = 7
 
C = M^e mod N => 암호화
M = C^d mod N => 복호화
증명:
오일러 공식: x가 prime 이면 x^ϕ(n) = 1 mod n
'프로그래밍 > 보안' 카테고리의 다른 글
| Hash (0) | 2022.12.09 | 
|---|---|
| Elliptic Curve Cryptography, Perfect Forward Secrecy (0) | 2022.12.08 | 
| Digital Signature, Public Key Infrastructure(PKI) (0) | 2022.12.08 | 
| Diffie Hellman: Key exchange (0) | 2022.12.08 | 
| Modular Arithmetic (0) | 2022.12.08 |