PQC(Post Quantum Cryptography) 양자 내성 암호

2021. 11. 26. 11:32암호학/인증서

두 사용자 A와 B가 비밀리에 메시지를 주고받기를 원한다고 가정해 보겠습니다. 이를 위해 ① 우선 사용자 A는 랜덤하게 비밀번호를 하나 생성합니다. 이를 ‘키(key) 생성 단계’라고 하며 보통 의사난수발생기(PRNG: Pseudo Random Number Generator)나 양자난수발생기(QRNG: Quantum Random Number Generator)를 통해 이루어집니다. ② 다음으로 A는 상대방의 신원이 정말 B가 맞는지 확인합니다. 이를 ‘사용자 인증’이라고 합니다. ③ 신원 확인이 끝나면 사용자 A는 자신이 생성한 비밀번호를 B에게 아무도 모르게 전달합니다. 이 과정을 ‘키 분배(또는 공유) 단계’라고 합니다. ④ 사용자 B와 랜덤한 비밀번호를 서로 공유하게 된 A는 이제 AES나 SEED와 같은 비밀키(대칭키) 암호알고리즘에 보내고자 하는 메시지를 넣고, 이를 서로 공유하고 있는 비밀번호로 잠근 후 B에게 전송합니다. 이 과정을 ‘암호화(encryption) 단계’라고 합니다.

보통 “암호통신을 한다”는 것은 위에서 언급한 ①번에서 ④번까지의 과정이 모두 온전히 이루어졌을 때를 의미합니다. 하나 QKD의 경우 위의 4가지 단계 중 ③번에 해당하는 기능만을 제공합니다. 반면 PQC의 경우 ②, ③, ④에 해당하는 기능을 모두 제공할 수 있으며, 이에 더해 전자서명 기능까지도 지원 가능합니다. (공개키 암호인 PQC의 경우 비밀키(대칭키) 암호알고리즘을 사용하지 않고도 암호화 통신이 가능함) 바로 이러한 이유로 영국의 NCSC(National Cyber Security Centre) 및 미국의 NSA(National Security Agency), 그리고 저명한 보안전문가인 브루스 슈나이어(Bruce Schneier) 하버드대 교수는 양자 컴퓨터 시대를 준비하기 위해 QKD 보다는 PQC에 집중할 것을 권고하고 있기도 합니다.

'암호학 > 인증서' 카테고리의 다른 글

인증서 날짜, RSA key size 파싱 코드  (0) 2021.12.03
x509 인증서 & 전자서명 심층분석  (0) 2021.11.26
/.vimrc ctags 코드  (0) 2021.11.24