본 논문에서는 양자내성암호(Post-Quantum Cryptography)를 위한 Crystals-Kyber 암호 알고리즘에 기반한 고성능 Crystals-Kyber 암호 아키텍처를 제안한다. Crystals-Kyber 암호 알고리즘은 NIST(National Institute of Standards and Technology)에서 양자내성암호 표준화를 위한 공모전 후보 중 하나로 Round 3 에 진출한 알고리즘 중 하나이다. 제안하는 Crystals-Kyber 암호 아키텍처는 크게 세가지 모듈로 구성되며 공개키(Public key)와 비밀키(Secret key)를 생성하는 Key Generator 모듈과 사용자의 메시지를 암호화하는 Encryptor 모듈 암호화된 암호문(Ciphertext)를 복호화하는 Decryptor 모듈로 구성되어 있다.
격자-기반 암호 알고리즘은 LWE(Learning With Error) 문제를 사용해왔다. LWE 는 암호화 과정에서 에러를 추가하여 에러가 포함된 선형방정식으로부터 균일한 랜덤 벡터로부터 구별하는 LWE(Learning with Errors) 문제를 기반으로 한다. 하지만 계산시에 키의 크기가 커지는 단점과 연산속도가 느리다는 단점이 있어 이를 변형한 다항식 환(Ring) 안에서 수행하는 Ring-LWE 문제를 사용한다. Crystals-Kyber 암호 알고리즘은 Ring-LWE 문제를 기반으로 Module-LWE 를 사용한다[15]. Crystals-Kyber 의 Module-LWE 는 다항식 환 Rq 를 파라미터 k 값에 따라 여러 번 Sampling 하여 만들어진 다항식 행렬을 NTT(Number Theoretic Transform) 도메인에서 곱셈 연산을 한다. Crystals-Kyber 의 Sampling 과정은 NIST 에 의해 표준화가 된 Keccak 알고리즘을 사용한 해시 함수 SHA3(Secure Hash Algorithm3) 를 이용하며 세부적으로는 SHA3-512, SHAKE-128, SHAKE-256 을 사용한다. Crystals-Kyber 의 암호 알고리즘은 가장 연산 시간이 긴 다항식 곱셈을 연산 시간을 줄이기 위해 NTT 를 활용한다. 따라서 본 논문에서 제안하는 Crystals-Kyber 는 파이프라인이 가능한 구조인 2 병렬-MDF(Multi-path Delay Feedback) NTT 를 사용하여 연산 시간을 크게 줄인 하드웨어 아키텍처를 구현한다.
Crystals-Kyber 의 암호 알고리즘은 보안 강도에 따라 Security level 이 각 1, 3, 5, 로 나뉜다. 제안하는 Crystals-Kyber 암호 아키텍처는 Security level 5 에 해당하는 하드웨어 구현을 하였고, 파라미터는 n=256, q=3329, k=4 에 해당한다. Module-LWE 를 사용하는 Crystals-Kyber 알고리즘은 파라미터 n 과 q 를 고정으로 하며 k 값만을 변경하여 Security level 이 변경 가능하기 때문에 확장성이 용이하다는 장점이 있다.
제안하는 고성능 Crystals-Kyber 암호 아키텍처는 Xilinx VIVADO 툴을 이용하여 Virtex-7 FPGA 플랫폼에서 설계 및 구현 하였다. Crystals-Kyber 암호 아키텍처는 NTT(Number Theoretic Transform) 도메인에서 곱셈 연산이 이루어지기 때문에 구조적으로 파이프라인이 가능한 Multi-path Delay Feedback(MDF)방식 NTT 모듈과 INTT 모듈을 사용하여 데이터 처리율을 향상시켰다. 면적과 데이터 처리율 간에 적절한 합의점으로 2-병렬 구조로 설계하였다. 제안하는 Crystals-Kyber-1024 암호 아키텍처는 2-병렬-MDF NTT 를 사용해 연산 시간을 크게 단축시켰으며 높은 클럭주파수에서 동작이 가능하도록 설계 되었다. 또한 면적과 연산 시간을 고려한 ATP(Area Time Product)는 높은 효율성을 나타냈다.
본 논문에서 제안하는 양자내성암호를 위한 고성능 Crystals-Kyber 암호 아키텍처는 정보화 시대에 있어 양자컴퓨터와 기존컴퓨터 모두로부터 보안성이 보장된 암호 알고리즘으로 다양한 곳에서 고성능 Crystals-Kyber 암호 아키텍처가 사용될 수 있을 것으로 기대된다.