🔎 대칭키 암호학 (Symmetric key cryptography): 송신자와 수신자 사이 비밀 키 공유
→ 키의 관리와 분배 어려움
🔎 비대칭키 암호학 (Asymmetric key cryptography)
= 공개키 암호학 (public key cryptography)
- 송신자와 수신자 사이 비밀 키를 공유하지 않음
- 공개키-개인키 쌍 사용
공개키: 모두 다 알고 있음
비밀키: 본인만 알고 있음
- 많은 연산 필요. 속도 느림
➡️ 암호화
📤 송신자 Alice: Bob의 공개키로 암호화하여 메세지 전달
📥 수신자 Bob: Bob의 개인키로 복호화하여 메세지 확인 오직 Bob만이 메세지를 복호화 할 수 있음
![비대칭키_암호화](https://velog.velcdn.com/images/kimjihong9/post/67b45afa-f568-49c1-9675-00c849bbe7b9/image.png)
➡️ 전자서명
📤 송신자 Bob: Bob의 개인키로 암호화하여 본인이 서명했음을 증명하는 메세지 전달
📥 수신자 Alice: Bob의 공개키로 복호화하여 Bob이 서명한 메세지 확인
![비대칭키_전자서명](https://velog.velcdn.com/images/kimjihong9/post/7c1ad94e-f21e-428b-8897-8e284d5992fe/image.png)
➡️ Used for establishing symmetric key
대칭키 설립에 사용
![](https://velog.velcdn.com/images/kimjihong9/post/3b7afb5f-099a-4698-bae4-0091b748484a/image.png)
➡️ Used for signing message digest
요약한 메세지 서명에 사용
![](https://velog.velcdn.com/images/kimjihong9/post/4517d39a-bdf4-4dba-8ffd-4452b67433ce/image.png)
🔐 Diffie-Hellman
- 암호 이론
→ 이산로그 계산의 어려움 이용
→ 유한 필드의 지수화 쉬움 이용
- 공개키 방식을 사용하여 대칭키 공유
(대칭키 암호화 하기 전에 diffie-hellman을 이용하여 대칭키 공유)
- 기밀성 제공
- 암호화x, 전자서명, 무결성 제공x
⚠️ 공개키-개인키는 오직 대칭키를 얻을 때에만 사용
❓과정
→ 송신자와 수신자 각각 개인키와 공개키 생성 후, 각자의 공개키 교환
→ 상대방의 공개키를 자신의 개인키와 합치면 비밀키 획득
- Alice-Bob: 큰 소수 p, p보다 작은 g 생성
p,g는 공개키
- Alice: 난수 x 생성. Bob에게 X = g^x mod p 전달
x는 개인키
Bob: 난수 y 생성. Alice에게 Y = g^y mod p 전달 y는 개인키
- Alice: Y^x = g^xy mod p 계산
Bob: X^y = g^xy mod p 계산
➡️ Y^x = X^y Alice-Bob의 대칭키
![](https://velog.velcdn.com/images/kimjihong9/post/0f65ec3e-c941-4f0b-a9dc-cb1ef67000f1/image.png)
🔐 RSA
- 암호 이론
→ 소인수분해 이용. 큰 수의 인수분해 어려움 이용
- 암호화o, 기밀성, 부인 봉쇄, 전자서명 제공
- 무결성 제공x
❓과정
→ 송신자가 수신자에게 공개키 요청
→ 수신자가 송신자에게 본인의 공개키 전송
→ 송신자는 전달받은 공개키를 이용하여 메세지를 암호화 후, 수신자에게 메세지 전달
→ 수신자는 개인키로 암호화된 메세지 복호화
- 두 개의 큰 소수 p와 q 생성
- n = p*g
ø(n) = (p-1)(q-1) 생성
- 랜덤으로 암호화 키 e
1<e<ø(n) 이고 ø(n)와 서로소 관계인 수
생성
- e*d mod ø(n) = 1을 만족하는 복호화 키 d 계산
➡️ 공개키: P(e, n) 개인키: P(d,n)
암호화 과정
![](https://velog.velcdn.com/images/kimjihong9/post/e628f62e-080c-4194-a527-38b6245f7936/image.png)
전자서명 과정
![](https://velog.velcdn.com/images/kimjihong9/post/ae76be09-48d6-42fd-8699-818734fa8306/image.png)
References:
https://com24everyday.tistory.com/299
우리도 이거 배웠는데!!!!