공개키와 개인키를 세트로 만들어서 암호화와 복호화를 하는 인터넷 암호화 및 인증 시스템의 하나
RSA를 공부하기 전에 mod 계산을 연습해보자!
29 mod 14 -> 29를 14로 나눈 나머지
29 mod 14 = 1 -> 29를 14로 나눈 나머지는 1과 같다
나누는 수가 거듭제곱일 경우엔 이렇게 해 봐
7⁴ mod 12 = 7x7x7x7 mod 12
= ((7x7 mod 12) x (7x7 mod 12)) mod 12
= ((49 mod 12) x (49 mod 12)) mod 12
= (1x1) mod 12
= 1 mod 12
= 1
7x7x7x7 mod 12는 7x7 mod 12를 2회 곱한 것이라고 생각하는 거야.
그럼 퀴즈! 다음 문제를 풀어볼래?
7⁴ mod 9
그럼 이제 RSA에 무엇인지 알려줄게.
RSA는 공개 키 알고리즘의 하나야.
1977년에 세명의 수학자에 의해서 개발되었어.
RSA란 이름은 개발자들의 이름에서 따왔어. Ron Rivest, Adi Shamir, Leonard Adleman 이름의 첫 글자를 합한 것이지.
개인키의 암호를 해독하려면 슈퍼컴퓨터로도 1만 년 이상이 소요되므로 공개키 암호방식의 대명사로서 거의 모든 분야에 응용되고 있어.
하지만 계산량이 많은 것이 단점으로 꼽혀.
RSA는 공개 키 암호와 디지털 서명에 사용할 수 있어.
RSA는 현재 가장 많이 보급되어있는 공개키 암호 알고리즘이지만 이 외에도 ELGaml, Rabin, 타원곡선암호 등 여러개가 있어.