728x90
반응형
대칭키 암호 시스템과 어떤 차이가 있는가?
각 사용자는 2개의 키를 가지고 있다.
공개키는 모두가 알 수 있는 키이며, 개인키는 사용자만 알고 있다.
A -> B에게 암호화하여 보낼 것이다.
암호화는 B의 공개키를 활용하여 암호화하여 보낼 것이다.
이를 복호화할 때는 B의 개인키를 사용할 것이다.
따라서 이를 복호화하는 것은 B만 가능하다
비대칭키 암호화 방식
- 수학적 난제를 이용
- Elgamal -> Discrete Logarithm 문제의 어려움
- RSA -> Factorizing (소인수분해) 문제의 어려움
Elgamal Encryption
Public key
B의 공개키
- p : prime 엄청나게 큰 소수 선택
- g : generator g < p, \(g \in Z^*_p\)
- Y : \(Y \equiv g^x mod\ p\) -> x를 알아내기 어렵다
Private Key
B의 개인키
- x : choose at random, x < p
Encryption : Ciphertext <a,b>
A가 M에 대해서 B의 공개키로 암호화 하는 과정
같은 메세지에 대해서도 서로 다른 암호문을 생성해야한다. -> 랜덤 k
- k : choose at random, relatively prime to p-1(secret)
- a \(\equiv g^k mod\ p\) -> 중간에 공격자가 가로채도 k를 알 수 없다
- b \(\equiv Y^k M\ mod\ p\) -> 즉, 평문을 bob의 공개키에 앨리스가 선택한 k승 하여 공개키 p로 mod한 값이다.
- b가 암호문
Decryption
bob도 k를 알지 못한다.
하지만 bob은 y를 만드는 x가 무엇인지 알고 있다.
- a = \(g^k\)이므로 \(a^x\) = \(g^{xk}\)
- M = \(b/(a^x)\)(mod p)
- = \(Y^k M / g^{xk}\)
- = \(g^{xk} M / g^{xk}\) = M
728x90
반응형
'Hacking > Cryptography' 카테고리의 다른 글
[Key Exchange] Diffie-Hellman (0) | 2024.12.15 |
---|---|
[비대칭키 암호 시스템] RSA (0) | 2024.12.15 |
[공개키 암호 시스템] 정수론 (0) | 2024.12.15 |
[대칭키 암호 시스템] DES (0) | 2024.12.15 |
고전, 근대, 현대 암호 (2) | 2024.12.15 |