‘현대 암호’는 크게 ‘해시암호’, ‘대칭키암호’, ‘비대칭키암호’로 나뉜다. 먼저 ‘해시암호’는 ‘일방향 해시 함수’로 불리기도 하는데 암호화는 가능하지만 역방향인 복호화는 불가능한 일방향 알고리즘을 말한다. 간단하게 비유하자면, 삶은 감자를 Hash하는 것과 같다. 그래서 대체적으로 input(삶은 감자)에 비해 output(Hash된 감자)의 크기가 작아지게 되고, Hash했기 때문에 output으로 원래의 형태인 input을 절대로 추측할 수 없게 된다.
이러한 특징 때문에 어떤 서비스를 받기 위해 로그인 시, 서버에서 패스워드를 체크할 때 사용된다. 디바이스에서 패스워드를 입력하면 해시 함수를 통해 원본을 알 수 없도록 해시된 정보가 로그인 데이터베이스로 전송되고, 마찬가지로 처음 회원가입 시 입력한 패스워드도 해시가 된 상태로 로그인 데이터베이스에 저장되어 있어, 전송된 것과 데이터베이스에 저장되어 있는 것을 비교하여 패스워드가 맞았는지 틀렸는지를 확인한다. 외에도 전송 중 데이터가 도중에 변경되었는지 여부를 판단하기 위한 무결성 체크, 블록체인 등에도 자주 사용된다.
‘대칭키암호’와 ‘비대칭키암호’는 암호화와 복호화에 같은 키Key를 사용하는지 아닌지의 차이이다. 두 암호화 알고리즘은 서로 장단점이 있기 때문에 환경에 따라 사용되는 알고리즘이 정해진다.
‘대칭키암호’의 특징 중 하나는 ‘비대칭키암호’에 비해 필요로 하는 연산량이 매우 적기 때문에 빠르다. 그래서 대용량 데이터를 저장소에 보관할 때나 중요한 데이터를 암호화하여 전송할 때 주로 쓰인다. 그렇기 때문에 보통 ‘암호화’라고 하면 ‘대칭키암호’를 이용한 암호화를 가리킨다.
그러나 ‘대칭키암호’에는 치명적인 단점이 있는데 ‘송수신자간 사전 키 공유’를 필요로 한다. 송수신자가 가까이에 있을 경우 간단히 공유할 수 있지만 지구 반대편에 있을 경우 얘기가 달라진다. 실제로 국가간 보안 채널을 구축하기 위하여 과거에는 외부와 완전히 차단된 가방 안에 키를 적어서 비행기를 타고 물리적으로 옮기기도 하였다고 한다.
이러한 ‘송수신자간 사전 키 공유’라는 불편함을 해결하기위해 수학자들은 또다시 연구를 거듭하였다. 그 결과 과거에 있었던 수학적 기술을 현대 기술에 맞게 좀 더 보완하여 해결한다. 그것이 바로 ‘비대칭키암호’이다.
‘비대칭키암호’는 암호화 키와 복호화 키가 서로 다른 것이 특징이자 장점이다. 암호화 키는 public key로써 암호화에만 사용되기 때문에 공유되어도 상관이 없다. 그렇지만 복호화 키는 secret key로써 복호화에만 사용되기 때문에 절대로 유출되어서는 안 된다. 이러한 특징 덕분에 ‘대칭키암호’의 단점인 사전 키 공유를 해결하기 위해 주로 사용된다. ‘대칭키암호’의 키를 ‘비대칭키암호’의 public key로 암호화해서 전송하면 이에 대응하는 secret key를 가진 사람만 복호화하여 ‘대칭키암호’의 키를 안전하게 공유할 수 있다.
그렇다고 만능은 아니다. ‘비대칭키암호’의 가장 큰 단점은 ‘수학적 난문(數學的難問, hardest math problem)’ 중 하나인 ‘소인수분해의 어려움’을 기반으로 안전성을 유지하고 있다는 점이다. 쉽게 풀어서 결론만 얘기하자면 ‘정말 매우 큰 컴퓨팅 파워’가 있다면 언제든 해독할 수 있다는 의미이다. 여기서의 ‘정말 매우 큰 컴퓨팅 파워’는 지구상의 모든 생명체와 모든 기기를 총동원해도 도달할 수 없기 때문에 이론상 해독은 가능하지만 현실적으로 불가능해서 안전하다고 여겨진다.
현재 우리는 디지털 혁명을 넘어선 빅데이터와 AI를 활용하는 4차 산업혁명 시대에 살고 있다. 방대한 양의 빅데이터와 AI를 학습하고 활용하기 위해서는 컴퓨터의 성능, 즉 많은 컴퓨팅 파워를 필요로 하기 때문에 컴퓨터 발전도 활발히 진행되고 있다. 그것에 발맞춰 물리학계에서는 기존의 컴퓨터 성능을 월등히 뛰어넘는 ‘양자 컴퓨터’ 상용화 연구에 박차를 가하고 있다. 그렇기 때문에 인류는 또다시 위기에 당면해 있다. ‘비대칭키암호’의 가장 큰 단점은 ‘정말 매우 큰 컴퓨팅 파워’가 있다면 해독이 가능하다는 것이었는데 양자 컴퓨터는 ‘정말 매우 큰 컴퓨팅 파워’에 가깝다. 즉, ‘양자 컴퓨터’가 상용화 된다면 정보보안의 큰 구멍이 뚫려 금융 보안 체계부터 무너지기 시작하여 우리의 삶과 일상을 유지할 수 없게 될 것이다. 그렇기 때문에 암호학계에서는 이 위기를 극복하기 위해 ‘정말 매우 큰 컴퓨팅 파워’로부터 안전한, 즉 양자 컴퓨터로도 해독이 불가능한 차세대 ‘비대칭키암호’의 필요성이 계속 대두되어 왔고 연구도 활발히 진행중이다. 결국 2009년 컴퓨터과학자 ‘크레이그 젠트리(Craig Gentry)’의 ‘동형암호’ 알고리즘에 의해 실질적인 돌파구가 마련되어 현재 빠르게 발전되어 가고 있다. 초기에는 ‘별’이라는 한글 한 글자를 암호화하면 A4용지 400장 정도의 길이인 암호문이 되거나 처리속도가 30분 이상 소요되는 등 실용성에 문제가 많았다. 그렇지만 현재는 획기적으로 개선되어 Google, Amazon, Facebook 등에서 부분적으로 사용되고 있다.
우리 인류는 어떠한 문제가 닥치면 언제나 그랬듯이 방법을 찾아왔고 해결해가며 발전해 오고있다. ‘암호학’도 마찬가지다. 고대서부터 중요한 정보의 기밀성을 유지하기 위해 노력해왔고, 그것들이 해독되는 문제가 발생되면 또다시 보완해 가거나 혹은 해독을 위한 방법을 찾는 등 여러방면으로 발전해 가고있다. 현대에 들어서는 ‘양자 컴퓨터’에 의해 ‘대칭키암호’로 이루어진 암호 시스템이 붕괴될 가능성이 있었지만 이 또한 ‘양자 컴퓨터’의 상용화 이전에 ‘동형암호’의 등장으로 ‘문제 해결’에 거의 다가와 있다. 그렇지만 과학 기술이 하루가 다르게 발전하듯 다가올 미래에 또다시 ‘양자 컴퓨터’ 이상의 무언가가 나타날지 모른다. 그렇지만 우리들은 방법을 찾을 것이다. 늘 그래왔듯이.
We will find a way. we always have.
투이톡 구독하기: https://www.youtube.com/channel/UCNOcyPHY9cMDE1f05yvvH7g?sub_confirmation=1