공개키 암호 RSA 알고리즘
> RSA란 무엇인가? : 공개 키 암호 알고리즘 중 하나.
> RSA의 어원 : Rivest, Shamir, Adleman이 공개 키 암호 알고리즘인 RSA를 발표.
> 공개키를 사용한 메시지 전송 : 밥(Bob)의 공개키와 개인키 (둘은 한 쌍이다.)
> RSA의 응용 : 공개 키 암호 / 디지털 서명 / 키 교환
RSA 실습 ( 실습 환경 : 우분투(Ubuntu) )
1) 1024 Bit의 개인키 만들기.
2) 개인키로부터 공개키를 만든다. (개인키와 공개키는 한 쌍이기 때문)
3) cat 명령어로 privatekey.pem 개인키를 확인한다. (일반 텍스트 파일로 만들어져 있는 것을 확인 가능)
4) cat 명령어로 publickey.pem 공개키를 확인한다.
5) 개인키로부터 공개키를 만들었으므로 공개키로 암호화한 것을 개인키로 복호화 가능하다.
↳<암호화>publickey.pem(공개키)로 –encrypt(암호화) ( bimil.txt를 bimil.enc로 )
↳<복호화>privatekey.pem(개인키)로 –decrypt(복호화)
( bimil.enc를 anbimil.txt로 )
↳<복호화>privatekey.pem(개인키)로 –decrypt(복호화)
( bimil.enc를 anbimil.txt로 )
RSA에 의한 암호화
> RSA에서 평문, 키, 암호문 전부 숫자로 변환한 뒤 실행
> RSA의 암호화는 [ 암호문 = (평문)Emod N ] => E,N을 묶어서 공개키
> (평문은 비트단위로 되어있기 때문에 큰 수로 표현,
> 평문을 E제곱하여 mod연산을 한 후 N으로 나누면 암호문이 됨.)
RSA에 의한 복호화
> RSA의 암호화는 [ 평문 = (암호문)Dmod N ] => D,N을 묶어서 개인키
요약 | ||
키 쌍 | 공개 키 | 수 E와 수 N |
개인 키 | 수 D와 수 N | |
암호화 | 암호문 = (평문)Emod N (평문을 E제곱해서 N으로 나눈 나머지) |
|
복호화 | 평문 = (암호문)Dmod N (암호문을 D제곱해서 N으로 나눈 나머지) |
결론 : RSA는 키만 서로 다르다
'현대 암호학 기초' 카테고리의 다른 글
[ 암호학 ] 공개키 암호 Q & A (0) | 2022.05.25 |
---|---|
[ 암호학 ] 공개 키 암호_3 (RSA) (0) | 2022.05.24 |
[ 암호학 ] 공개 키 암호 (0) | 2022.05.22 |
[ 암호학 ] 블록 암호 모드 (0) | 2022.05.20 |
[ 암호학 ] AES란? (0) | 2022.05.19 |