자, 이제 본격적으로 암호들에 대하여 하나하나 배워나가 봅시다. 먼저 고전 암호들을 이해하기 위해서는 대칭키 암호와 비대칭키 암호라는 것을 알아야합니다.
B – 1 대칭키
대칭키는 말 그대로 대칭의 구도를 이루고 있는 암호 키를 말합니다. 좀더 이해하기 쉽게 설명해 볼까요? 대칭키는 암호화와 복호화에 같은 암호 키를 사용하는 알고리즘을 말하는 겁니다. 암호를 만들 때와 암호를 해독할 때 같은 키를 공유하기에 암호화 연산 속도가 빨라 효율적인 암호 시스템을 구축할 수 있다는 장점이 있습니다. 현재는 일정한 블록 단위로 암호화와 복호화를 진행하는 대칭키 암호방식인 블록 암호에 사용되어, 비트코인의 암호화 방식에 가장 기본적인 개념으로 사용되고 있습니다.
B – 2 비대칭키
반대로 암호화와 복호화에 다른 키를 사용하는 암호화 방식도 있습니다. 이는 비대칭키 암호화라고 부릅니다. 대칭키 암호는 암호화와 복호화에 같은 키를 사용하여 보안상의 치명적인 이슈가 있을 수 있습니다. 이를 방지하기 위해서 만들어 진 것이 비대칭키 암호입니다. 비대칭암호화의 단계는 간단히 이렇게 표현할 수 있습니다. 내 공개키를 상대방에게 알려주면, 상대방은 공개키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 나에게 보내줍니다. 암호화된 데이터는 내가 갖고 잇는 개인키를 이용하여 복호화 할 수 있습니다. 반대로 내가 상대방에게 데이터를 보낼 때는 상대방이 알려준 공개키를 이용하여 암호화하고 상대방은 자신이 갖는 비밀키를 사용하여 복호화 합니다.