경량 스트림 암호 구현 적합성 검증 도구

암호 알고리즘의 구현 적합성 평가는 제품에 사용될 알고리즘이 설계자의 의도에 맞게 정확히 구현되어 있는지를 평가하는 것이다. 대표적인 구현 적합성 평가 시스템으로는 미국 NIST 주관의 암호 모듈 적합성 검증 프로그램(CMVP)을 들 수 있다. CMVP는 미 연방표준 FIPS에 포함된 암호 모듈의 구현 적합성을 평가하는 것이며, FIPS 내에는 스트림 암호가 없는 관계로 CMVP 세부 항목에 스트림 암호에 대한 검증도구는 포함되어 있지 않다. 본 논문에서는 CMVP에는 포함되어 있지 않아서 아직 구현 적합성 검증 기법이 알려지지 않고 있지만, 주로 무선 환경에서 표준으로 제정되어 널리 사용되고 있는 블루투스 표준 스트림 암호 E0와 제3세대 비동기식 이동통신 표준 스트림 암호 A5/3, WEP과 SSL/TLS 등에 사용되는 스트림 암호 RC4에 대한 구현 적합성 검증 방법을 제안하고, JAVA로 구현한 검증 도구를 보여준다. 【Cryptographic algorithm testing is performed to ensure that a specific algorithm implementation is implemented correctly and functions correctly. CMVP(Cryptographic Module Validation Program) of NIST in US is the well-known testing system that validates cryptographic modules to Federal Information Processing Standards (FIPS). There is no FIPS-approved stream cipher, and CMVP doesn't involve its validation testing procedure. In this paper we provide validation systems for three currently used light-weight stream ciphers: Bluetooth encryption algorithm E0, 3GPP encryption algorithm A5/3, and RC4 used for WEP and SSL/TLS Protocols. Moreover we describe our validation tools implemented by JAVA programing.】