에듀테크 프로젝트 대시보드
공개키 암호화
자물쇠(공개키)는 온 세상에 뿌리고, 그 자물쇠를 여는 열쇠(개인키)는 나만 갖는다. "어떻게 처음 보는 사람과 비밀 대화를 시작할까?"라는 문제를 푸는 아이디어를 애니메이션과 진짜로 계산되는 미니 RSA로 살펴본다.
암호화에 쓴 키로 그대로 복호화하면 대칭키, 암호화 키와 복호화 키가 다르면 비대칭키다. 대칭키는 빠르지만 "그 키를 어떻게 안전하게 건네주지?"가 문제고, 공개키는 이 열쇠 배달 문제를 없앤다.
밥은 공개 자물쇠🔒를 누구에게나 나눠준다. 앨리스는 그 자물쇠로 상자를 잠가 보내고, 개인 열쇠🗝️를 가진 밥만 열 수 있다. 중간에서 훔쳐봐도 자물쇠는 열지 못한다.
RSA는 "큰 수의 소인수분해는 매우 어렵다"에 기댄다. 아래는 원리를 보기 위한 아주 작은 숫자 버전이다. 실제로는 600자리 이상의 소수를 쓴다.
n과 e, 암호문 c를 모두 볼 수 있다.
하지만 d를 구하려면 n을 p·q로 소인수분해해서 φ(n)을 알아내야 한다 —
수가 충분히 크면 지구의 모든 컴퓨터를 동원해도 수십억 년이 걸린다.