반갑습니다. 어렵게만 느껴지는 암호학을 그림 그리듯 쉽게 설명해 드리는 IT 칼럼니스트, 비트지기입니다.
지난 시간에는 데이터를 변조 불가능하게 만드는 '지문', SHA-256에 대해 배웠습니다. 오늘은 우리가 비트코인 지갑을 만들 때 생성되는 개인키(Private Key)와 공개키(Public Key)가 어떻게 만들어지는지 알아볼 차례입니다.
우리가 흔히 쓰는 은행 비밀번호는 내가 정합니다. "1234" 이렇게요. 하지만 비트코인 비밀번호는 내가 정하지 않습니다.
수학이 정해줍니다. 그것도 아주 기묘하게 생긴 '타원곡선' 위에서 말이죠.
이 곡선 위에 점을 찍고 튕기기만 하면, 슈퍼컴퓨터도 뚫을 수 없는 철통 보안이 완성됩니다. 여러분, 당구를 쳐보셨나요?
당구대 위에서 공을 치면 쿠션에 맞고 튕겨 나갑니다. 공이 멈춘 위치를 보고, "이 공이 처음에 어디서, 어떤 세기로 출발해서 몇 번 쿠션을 맞고 여기 섰을까?"
를 역추적할 수 있을까요? 거의 불가능합니다.
비트코인의 암호 원리...