Cryptography

[Cryptohack] RSA starter 2 write up

chltjdbs 2023. 8. 29. 21:34

RSA에서 공개키를 만드는 방법은 이렇다 

 

1.두 개의 큰 소수(p, q) 선택.
2.n = p * q 계산.
3.φ(n) = (p - 1) * (q - 1) 계산.
4.작은 소수 e 선택 (일반적으로 65537).
5.e에 대한 φ(n)의 역원을 찾아 개인키 d 계산.
6.공개키: (n, e), 개인키: (n, d) 생성됨.

 

이 일련의 과정을 통해 암호문을 구할 수 있다 

text = 12
p = 17
q = 23
n = p * q
e = 65537
print(pow(text,e,n))

암호화 하려는 평문과 정해져있는 공개키중 하나인 E를 제곱 한 뒤 

N, 주어진 두 소수 q,p의 곱으로 모듈러스 지수화 ( 나머지연산 ) 을 해주면 값이 나오게 된다 

 = 301