RSA가 깨질 것이라고 얘기하는 것은 아직은 시기상조이다. 그런데 컴퓨팅 환경이 지속적으로 좋아지다 보면 언젠가는 RSA도 안전하지 않게 된다. 기존 암호화 시스템에서 양자내성 알고리즘을 적용해야 하는 이유가 있다. 그것은 바로 “그 때 가서 고치려고 한다면 이미 늦어버린다”는 것.

암호 통신에서 가장 많이 사용되어지는 모듈이 바로 TLS이다. TLS는 사실 5바이트를 헤더로 가지는 심플한 프로토콜로 암호화 및 인증을 할 수 있도록 하는 일종의 껍데기이다. 실제 인증과 암호화는 그 내부에서 구현되어 있는 실제 코드들에 의해 구현이 된다.

개발자 입장에서 양자암호를 지원하는 모듈을 탑재하기 위해서는 기존 코드에서 RSA 관련 모듈을 들어내고 새로운 알고리즘을 끼워 놓와야 한다는 부담감이 있다(하위 호환성의 문제도 있고). 그래서 이런 부담감을 줄이기 위해 기존 TLS library(openssl)상에서 세팅을 조금만 변경하여 빌드만 새로 하면 양자암호를 적용할 수 있는 오픈소스가 있다. 작년 BoB 프로젝트를 하면서 알게 되었는데(내가 알아낸 것은 아니고 플젝 팀원들이 알아냄) 관련 코드를 clone받아서 manual대로 빌드하면서 느낀 점 - “와, 장난이 아니게 잘 되어 있네.”

언젠가 이것 가지고 외부 발표를 해 볼 생각이다. 뭐, 양자암호에 대해 깊이 논하는 건 out of 능력이고, liboqs 사용법을 설명하는 정도?

https://github.com/open-quantum-safe/liboqs