개인공부
암호학 - RSA
chaha
2023. 5. 17. 12:56
RSA 암호화
: 현재 SSL/TLS에 가장 많이 사용되는 공개키 암호화 알고리즘
: 미국 국가 표준 암호화 알고리즘인 AES보다 RSA 방식이 계산 집약적이고 훨씬 느림
: AES 256비트가 RSA 15,360비트와 같은 수준으로 이 때문에
사용자 데이터를 직접 암호화하는 데는 일반적으로 사용되지 않고, 소량의 데이터를 암호화하는 데 사용됨
RSA(비대칭)
-암호화키와 복호화키가 다름, 양자컴퓨터로 뚫림
-소수이용(길어지면 어려움)
소수 : 1보다 큰 수 중 약수가 1과 자기자신밖에 없는 수
합성수 : 1보다 큰 수 중 소수를 뺀 나머지 수
RSA 알고리즘 구현방식
n -> mosulus
e -> 공개지수 n과 e ->공개키
d ->비밀지수 n과 d -> 개인키

n 구하기 - 임의의 두 소수 p와 q를 정하고 n=p*q를 해주면 n을 구할 수 있음
e 구하기
- Φ(n) = (p-1)*(q-1)식을 이용하여 Φ(n)을 구함
-e 는 1< e < Φ(n)로써 1과 Φ(n) 사이에 있고 Φ(n)와 서로소인 e를 정해주면 됨
d 구하기
-(e*d) mod Φ(n) = 1
M(평문) = 사용자가 원하는 임의의 값 대입(자연수)
암호화하기

복호화하기
