한땀한땀 정성들인 코딩
RSA암호 본문
반응형
대칭키시스템
1.공개키로 암호화 한다.
2.개인키로 복호화 한다.
RSA는 공개키,개인키 어떤 키로든 암복호화 할수있다.
1.두개의 소수를 선택, (p,q)
2.N=q*q, N생성
3.사용자의 공개키(e,33) 개인키(d,33)
4.오일러 피함수 (p-1)(q-1)
5.피함수값과 서로 소의 관계가 되도록 임의의 공개키e를 선정. (서로소=최대공약수가 1)
6.e*d % 오일러피함수 = 1 의 관계에 있는 개인키 d를 유클리드 알고리즘을 사용
예제
1. p=7, q=11 소수선정 n=p*q=77 n값계산
2.(p-1)*(q-1) = 60 오일러함수 값 계산
3.60과 서로소 관계에 있는 1보다 큰 임의의 정수 선정 e=7
4.e*d % 60 = 1을 만족하는 d=43
5.평문 8을 암호화 하면 c = 8^7 % 77 = 57
6.복호화 57^43 % 77 = 8
공개키(7,77) 개인키(43,77)
큰 수(1024bit이상되어야 안전)를 p,q로 선정
해독에는 많은시간이 걸린다.
rsa의 키는 계속 봐뀌기 때문에 찾는것이 거의 불가능.
반응형