정수 모듈로 n으로 이루어진 집합은 덧셈과 곱셈의 연산을 포함하여 링(Ring)이 됩니다.
이는 집합 내의 두 요소를 더하거나 곱하는 경우에도 집합 내의 다른 요소가 반환된다는 것을 의미합니다.
모듈러스가 소수일 때: n = p인 경우, 우리는 집합 내의 모든 요소에 대한 역원을 보장받으며, 이로 인해 링은 필드(Field)로 승격됩니다. 이 필드를 유한체 Fp라고 합니다.Diffie-Hellman 프로토콜은 일반적으로 큰 소수인 유한체 Fp의 요소들로 작동합니다.
소수 p = 991과 요소 g = 209가 주어진 경우, g * d mod 991 = 1을 만족하는 역원 d를 찾아보겠습니다.
역원으로 d를 구하면 되는 문제이다 역원은 RSA에서도 했듯이 pycrypto 안에있는 inverse함수로 구할 수 있다.
from Crypto.Util.number import inverse
print(inverse(209, 991))
g(209) inverse 991 을 하면 당연히 d 가 나온다
569 가 flag
'Cryptography' 카테고리의 다른 글
RSA CRT Attack 중국인 나머지 정리 (2) | 2024.05.08 |
---|---|
[python] .pem 파일에서 e,n 얻기 (0) | 2024.03.27 |
RSA 낮은 지수 공격 cyling Attack code (0) | 2024.03.03 |
BraekerCTF Write up - Thus spoke machine (0) | 2024.02.29 |
RSA 역원 (0) | 2024.02.17 |