본문 바로가기
보안&네트워크/리눅스, 윈도우(OS 관련)

RSA (공개키 암호 알고리즘)

by kakk789 2022. 1. 12.

RSA

소인수 분해의 어려움을 이용

무슨 말이냐면 소수 11 과 13이 있을 때 n=pq --> 143=11*13 라고 하면
p
q를 이용하여 n을 구하는 것은 쉽지만, n의 값만 보고
p, q를 유추하기 어려움(소인수 분해의 어려움)을 이용.


-> 공식 암호화 : c = me mod n  공개키로 암호화
(m=평문, e=공개키, n=pq(공개키), c= 암호문)


-> 공식 복호화 : m = cd mod n  개인키로 복호화
(m=평문, e=공개키, n=pq(공개키), c= 암호문)

키 생성 과정

ex) p=5, q=7로 선택
*** n,e=
공개키
*** n,d=
개인키
***
참고로 p, q도 비밀로 해야함

*** 서로소란 두 수의 최대 공약수가 1인 두 자연수


1.
임의의 소수 p,q 를 생성


2. p
q를 곱하여 n을 구한다( n= 35 = 공개키)


3. (P-1)(q-1)
을 계산한다. (5-1)(7-1)=24


4. 3
번에서 구한 24와 서로소인 임의의 자연수 e를 구한다
--> e=7로 선택하였음 (e= 공개키)


4.1 e
의 값은 1 < e < n 중에서 24와 서로소인 값을 구하는 것.


5. e*d mod [(p-1)(q-1)] = 1
d를 구한다.
-->
, 7*d mod 24 = 1 인 값을 구하는 것

https://m.blog.naver.com/nttkak/20130239694
https://blogger.pe.kr/583

반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

리눅스 특수권한  (0) 2022.01.12
레지스트리 루트키 설명  (0) 2022.01.12
Sha 해시 함수  (0) 2022.01.12
Diffie-Hellman (디피헬만)  (0) 2022.01.12
스케줄링  (0) 2021.12.31

댓글