Ⅰ. 서론
암호 구현에 있어서 키 분배 또는 인증 기능이 요구되는 경우공개 키 암호가 적용되지만 데이터 암복호화 등 고속 처리가 요구되는 응용에는 스트림 암호나 블록 암호가 많이 사용된다. 블록 암호는 소프트웨어 구현이 용이한 반면 채널 에러 시 수신 단에서 블록크기만큼 에러가 확산되어 채널 효율(channel efficiency)이 떨어지며. 비도 수준에 대한 정량화 가 불가능한 단점이 있다. 반면 스트림 암호는 에러 확산이 없고. 비도 수준에 대한 수학적 정량화가 가 능하며, 하드웨어 구현이 용이하고, 통신 지연이 없 으며. 고속 통신이 가능한 것 등의 잇 점으로 인해 서 이동 . 무선통신 전송로 구간의 링크 암호 또는 군사 . 외교용으로 많이 사용되고 있다.
스트림 암호 알고리즘이란 이진화된 평문과 이진 키 수열의 배타적 논.리합(XOR) 연산을 실행하여 암호문을 생성하는 알고리즘을 말하며, 이때 출력 키 수열에 대한 특성과 발생 방법이 안전도에 직접 적인 영향을 미친다. 스트림 암호 시스템 설계 시 고려 사항으로는 키수열 발생기에 대한 암호학적 안 전성 (비도), 통신 채널 환경에 적합한 키 수열 동 기방식 성능 (통신 신뢰성) , 그리고 암호화 속도 등에 대한 분석이 필수적이다’ 스트림 암호의 안전성 은 여러 종류의 암호 공격에 대하여 얼마나 강한 키 수열을 발생시키느냐에 달려 있으며. 일반적으로 Beker(4), Siegen- thaler"오]' Goli*' 등이 제 시한 아래의 기준을 따른다.
(1) 주기 (Period): 출력 키 수열은 주기에 대한 최소 값이 보장되어야 한다.
(2) 랜덤 특성 (Randomness): 출력 키 수열은 좋은 랜덤 특성을 가져야한다’
(3) 선형 복잡도 (Linear complexity): 출력 키 수열은 큰 선형 복잡도를 가져야 한다.
(4) 상관 면역도 (Correlation immunity): 출력 키 수열은 높은 상관 면역도를 갖는다.
(5) 키 수열 사이클 수 (Keystream cycle): 출력 키 수열은 1개 이상의 키 수열 사이클에서 발생 되어야 한다.
70~90년대에 발표된 대표적인 키 수열 발생기로 는 비메모리 형태의 Geffe 발생기⑺와 메모리 형태의 Rueppel 합산 수열 발생기 (summation gene- rator)&~顶를 들 수 있다. 이들 두 방식 모두 최대 주기를 갖을 뿐 아니라 랜덤 특성이 양호하고 구현 이 용이한 장점이 있지만. Geffe 발생기는 선형 복 잡도가 작고 상관 면역도가 없기(0) 때문에 상관성 공격 (correlation attack)에 취약한 것으로 알려져 있다:그리고 Rueppel 발생기는 2개의 LFSR 로 구성될 경우 선형 복잡도 및 상관 면역도가 거의 최대로 만족되지만, 연속되는 "0” 또는 T'이 나타나는 특수한 줄력에 대하여 Meier등""과 Dawson t13' 의 상관성 공격에 취약하였으며, LM 발생기 형태 또는 3개 이상의 LFSR로 구성될 때 상관성 공격으 로부터 안전성을 보장받을 수 있게 된다.
최근에는 여러 종류의 클럭 조절 (clock-controlled) 형 키 수열 발생기가 제안된 바 있으며, 그 중에서 안전한 암호로는 유럽지역 디지털 셀룰러 폰 (GSM) 의 표준 암호인 A5암호'"*', Bilateral stop-and-go 발생기(⑸ 등이 있다. 이들과는 달리 미국 IBM의 SEAL'""이나 RSA사의 RC4[17) 방식은 고속화에 초점을 둔 소프트웨어 형태의 암호 발생기이며. 비 선형 FCSRtfeedback with carry shift register) 을 적용한 concoction 발생기(1)는 기존의 LFSR 을 대체하는 발생기이다. 추후로는 각국마다 표준 스트림 암호를 설계하여 이동 . 무선 암호 등에 적용 할 것으로 보이며, 특히 컴퓨터 네트워크의 초고속 화로 인하여 비트 처리 형태의 스트림 암호와 블록 처리 형태의 블록 암호를 결합시킨 병렬형 스트림 암호 시스템 (parallel stream cipher system)"' 등 안전성이 높으면서 고속화 실현이 가능한 알고리 즘에 관심이 모일 것으로 기대된다.
본 논문에서는 Simpson 등*이 제안한 LILIES 암호에 대한 하드웨어 병렬 구현에 대하여 연 구한다. LILI-128 암호는 유럽 GSM 표준암호인 A5에 이어 유럽지역 IMT-2000 표준암호 후보로 제안되고 있는 동기식 스트림 암호 알고리즘이다. 본 논문에서는 LILI-128 암호의 하드웨어 구현에 따른 구조적인 문제점을 발견하고 이를 해결함으로 써 IMT-2000 표준암호로서의 병렬형 고속화 구현 방안에 대하여 접근코자 한다. LILI-128 암호는 128-비트 크기의 클럭 조절형 스트림 암호 방식"4; 으로 이러한 구조는 동기식 논리회로 구현시 속도가 저하되는 단점이 있다. 즉. 클럭 조절형인 LFSRd 는 외부 클럭보다 1~4 배 높은 클럭을 요구하기 때문에 동일한 시스템 클럭 하에서는 데이터 전송속도 에 따른 시스템 성능이 저하된다. 본 논문에서는 귀 환/이동에 있어서 랜덤한 4개의 연결 경로를 갖는 4-비트 병렬 LFSRd를 제안한다. 그리고 ALTERA:20j 사의 FPGA 소자 (EPF10K20RC240-3)를 선정 하여 그■래픽/VHDL 하드웨어 구현 및 타이밍 시뮬 레이션을 실시한 다음 50MHz 시스템 클럭에서 안 정적인 50Mbps (즉, 45 Mbps 수준인 T3급 이 상. 설계회로의 최대 지연 시간이 20ns 이하인 조 건) 출력 수열이 발생될 수 있음을 확인한다. 마지 막으로. FPGA/VHDL 설계회로를 Lucent (2)' ASIC 소자 (LV160C, 0.13"m CMOS & 1.5v technology)에 적합하게 설계 변환 및 시뮬레이션 을 실시하여 최대 지연시간이 1.8ns 이하에서 500 Mbps 이상의 고속화가 가능함을 확인코자 한다.
Ⅱ. LILI-128 고속화 방안
LILI-128 암호의 구조는 그림 1과 같으며, 사용된 선형 귀환 이동 레지스터 (LFSR, linear feedback shift register)'""는 39단 LFSRc와 89단 LFSRd로 구성되어 있는데. 이 중에서 LFSRd 는 LFSRc의 출력에 의하여 클럭 통제를 받게 된다. 통제되는 클럭 수는 통상적인 경우 랜덤하게 설 정된 /c 함수에 의하여 생성된 정수 값 (1-4 범우]) 만큼 LFSRd의 클럭을 이동시키며. 그 후 LFSRd 의 내부 값으로부터 fd 필터 함수를 통하여 필터 수 열 (filtered sequence)'⑼을 발생하게 된다.
(그림 1) 니니-128 스트림 암호
LILP128 암호에서 39단 LFSRc, 89단 LFSRd 의 원시다항식 (primitive polynomial) 10'in 및각각 좌측 이동 (left shift)될 귀환 비트 (feedback bit) 조합 입력인 可39+司, 凯89 + 日는 다음과 같이 정의된다.
#
(그림 2) LILI-128 고속 구현 방안 (4-bit parallel LFSRd)
(그림 3) LI니-128 스트림 암호 구현 (FPGA/VHDL)
여기서 LFSRc의 레지스터 비트 탭은 좌측으로부터 d0], c[l], -, c[37], c(38]. LFSRd레지스터 비 트 탭은 a0], ai], …, 凯87], 次88]로 각각 표기되며, ①는 배타 논리합인 XOR (exclusive-or) 연 산을 의미한다.
LFSR의 하드웨어 구현 시에는 시스템의 안정성 을 고려할 때 시스템 클럭에 맞추어 레지스터 값을 좌측 이동시키는 클럭 동기식 논리 설계 (clock- synchronous logic design) 방법이 일반적으로 많이 적용된다. 그러나 이 방법으로 LILI-128 암호 를 구현함에 있어서 일반형인 LFSRc는 상기의 방법으로 쉽게 구현될 수 있지만 (그림2, 3), 클럭 조 절형인 LFSRd는 1~4배의 고속 클럭이 별도로 요 구된다. 또한 별도의 고속 클럭 추가문제를 해결하 고자 주파수 채배기 (frequency multiplier)를 도입할 수도 있겠지만. 고속/초고속 통신에서는 클 럭 간격 (clock interval)에서의 시간 여유 (time margin)가 작기 때문에 적용이 어렵다.
LILI-128이 갖는 구조적인 문제를 해결하기 위하여 비트 이동 루트가 클럭을 초월하여 1~4 비트 씩 가변적으로 이동할 수 있는 4-비트 병렬 입력 LFSRd의 고속 구현 방안을 그림 2와 같이 제안한다. 그림 2의 상반부에 위치한 LFS&는 일반적인 39단 이동 레지스터 및 귀환 비트 조합으로 구현이 가능하다. 그리고 출력 /r 회로는 LFSRd의 좌측 이동 클럭 수를 결정하는 것으로서 전가산기 (full adder)를 사용하면 쉽게 구현된다. 그러나 89단 LFSRd 각 비트들은 位"、弘8로 나타낸 레지 스터에 저장된 다음 九.값에 따라 1~4-비트씩 이전 값 (우측 레지스터)으로부터 4-1 멀티플렉서 (4-1 MUX) 회로를 통하여 입력된다. 이 부분에 대한 설계 아이디어를 "4-비트 병렬 LFSRd (4-bit parallel LFSRd)" 라고 부르며. 고속화 구현 회로의 핵심부 분이다. 예를 들면. 그림에서 为 레지스터의 경우 그 이전 4개의 레지스터들 <怂, <*6, 弘7, </88중에서 랜 덤하게 어느 한 입력이 선택 (九=1일 때는 为로 부터, 兀=4일 때는 』88로부터 각각 입력)되는데 이때 선택 신호들(S1, SO)은 "로 구현된 전가산기 의 출력으로부터 얻어진다. 그리고 LFSRd의 좌측 에는 3-비트 LBUF가 4개의 귀환 비트 조합을 계 산하기 위하여 必의 출력을 차례로 보관하고 있다. 4개의 귀환 비트 조합 중에서 feedback 1은 원래 의 귀환 비트와 동일한 탭의 XOR 조합을. feedback 2는 feedback 1에 비하여 1-비트씩 좌측 이동된 탭의 XOR 조합을, feedback 3는 2-비트씩 좌측 이동된 탭의 XOR 조합을, feedback 4는 3-비트 씩 좌측 이동된 탭의 XOR 조합을 이룬다. 사용된 4개의 feedback 조합은 다음과 같이 표현된다.
#
마지막으로 LILI-128의 출력 수열은 그림 하단 에 설정된 비선형 여과 함수 (nonlinear filter function) 聞부터 얻어지는 비트 수열이 된다.
Ⅲ. 설계 및 타이밍 시뮬레이션
제안된 고속화 병렬 구현 방안을 검증하기 위하여 그림 3의 회로를 설계하였으며, 이는 ALTERA사 의 FPGA 소자 (EPF10K20RC240-3)를 선정하여 3개의 서〕부 블록으로 구현시킨 VHDL (Very high speed integrated circuit Hardware Description Language) 설계 회로이다. 그림에서 component LFSRC39 (LILI-c39)는 LFSRc를 구현한 것으로서 그 세부 설계는 그림 4와 같다. component FADD (full_adder)에서는 /r = 2c[12] + d20] + 1의 함수를 구현한 것이며, 출력은 LFSRd 에 대한 클럭 이동 비트를 산출하는 함수로서 임의 의 정수 값을 출력한다. 이 부분에 대한 설계는 兀의을 사전 계산한 후 전 가산기 (full adder)로 간단히 구현하였으며. 계산 결과는 LFSRd로 전달 된다. LFSRd에 대한 설계는 그림 3의 component LFSRD89에 나타내었으며, 그 세부 설계는 그림 5(LILM89)와 같다
(그림 4) LI니-128에 사용된 LFSRc구현 (FPGA/VHDL)
그림 6은 LILI-128에 대한 타이밍 시뮬레이션 파형이다. 사용된 시스템 클럭 (SYSTEM. CLOCK) 은 50 MHz 이며. 리셋 신호 (/MASTER.RESET) 에 이어 키 데이터 (KEY_DATA)로 초기화된 LFSRc 출력 신호 (LFSRc37_OUTPUT, LFSRc38_OUT) 와 LFSRd 출력 신호 (LFSRd88_OUT)가 클럭에 맞 추어 50 Mbps의 속도를 낸다. 이 회로에서 사용된 최장길이의 지연시간은 18ns 였기 때문에 50 MHz 클럭에 대하여 안정적인 50 Mbps의 출력을 낼 수 있게 된다.
마지막으로, 상기 FPGA/VHDL 설계 회로를 Lucent(2)' ASIC 소자 (LV160C, 0.13"m CMOS & 1.5v technology)에 적합하게 설계 변환 및 시 뮬레이션한 결과 최대 지연시간이 1.8ns 이하였고, 500 Mbps 이상의 고속화가 가능함을 확인하였다. 표 1에서는 제안된 병렬 하드웨어 구현 방안을 기존의 구현방안과 비교하였는데 하드웨어 복잡도 측면에서 소규모 증가가 예상되지만 키 수열 발생기의 안전성을 유지하면서도 그 성능을 최대 4배까지 고 속화시킬 수 있었다. 즉, 게이트 수로 살펴본 하드 웨어 복잡도가 2.5배 증가되었으며, 출력 키 수열이 최대한 4배의 속도 향상이 가능함을 확인하였다. 마 지막으로 50 MHz 시스템 클럭을 인가한 경우 안 정적인 50 Mbps의 키 수열 출력을 낼 수 있음을 FPGA 소자를 통하여 확인할 수 있었다. 초고속 암 호 통신을 위한 ASIC 설계 변환 및 시뮬레이션에 서는 상기 FPGA의 성능을 10배정도 향상이 가능 하였기 때문에 500 Mbps의 속도가 가능함을 확인 하였다. 이 보다 더 높은 통신 속도를 위해서는 참 고문헌'⑼에서 제시된 바와 같이 개별 LFSR에 대하여 각각 병렬형 스트림 암호의 적용이 요구된다.
[그림 5) LILI-128에 사용된 LFSRd의 설계 구현 (FPGA/VHDL)
[그림 6〕LILI-128 타이밍 시뮬레이션 파형 (50MHz 시스템 클럭 사용)
(표 1) LI니-128의 구현 방안 비교표
Ⅳ. 결론
LILI-128 스트림 암호는 클럭 조절형 스트림 암호 방식으로서 이러한 형태는 동기식 논리회로에 따른 하드웨어 구현에 있어서 속도를 떨어뜨리는 구조적인 문제점을 안고 있다. 본 논문에서는 이러한 속 도 저하의 문제를 해결하는 LILI-128 스트림 암호 의 고속화 구현 방법을 연구하여 하드웨어 구현에 따른 구조적인 문제점을 보완하였고, 그 결과 기존의 구현 방안에 비하여 최대 4배까지 고속화가 가능 함을 확인하였다. 또한 하드웨어 설계 검증을 위하여 ALTERA 사의 Max + plus II로 타이밍 시뮬 레이션을 실시하였고. FPGA소자(EPF10K20RC 240-3)를 선정하여 하드웨어로 구현하였다. 구현된 회로는 50MHz 시스템 클럭에서 안정적인 50Mbps 출력 수열이 발생될 수 있음을 확인하였다. 마지막 으로, FPGA/VHDL 설계회로를 Lucent ASIC 소자 (LV160C, 0.13"m CMOS & 1.5v tech- nology)에 적합하게 설계 변환 및 시뮬레이션한 결과 최대 지연시간이 1.8ns 이하였기 때문에 500 Mbps 이상의 고속화가 가능함을 확인하였다. 이 보다 더 높은 통신 속도를 위해서는 병렬형 스트림 암호의 적용이 요구된다.
References
- Applied Cryptography (2nd edition) B. Schneier
- Handbook of Applied Crypto-graphy A.J. Menezes;P.C. Oorschot;S.A. Vanstone
- Cryptography-Theory and Practice D.R. Stinson
- Cipher systems;The Protection of Communications H.J. Beker;F.C. Piper
- IEEE Trans. on Computer v.C-34 no.1 Decrypting a Class of Stream Ciphers Using Ciphertext Only T. Siegenthaler
- LNCS 547, Advances in Cryptology-EUROCRYPT'91 The Number of Output Sequences of a Binary Sequence Gene-rator J.D. Golic
- Electronics How to Protect Data with Ciphers that are really hard to Break P.R. Geffe
- Advances in Cryptology, Proceedings of CRYPTO'85 Correlation Immunity and the Summation Generator R.A. Rueppel
- Analysis and Design of Stream Ciphers R.A. Rueppel
- Signal Processing v.80 no.1 On An Improved Summation Generator with 2-Bit Memory Hoonjae Lee;Sangjae Moon
- IEEE Trans. on Computer v.C-34 no.1 Decrypting a Class of Stream Ciphers Using Ciphertext Only T. Siegenthaler
- Journal of Cryptology v.5 Correl-ation Properties of Combiners with Memory in Stream Ciphers W. Meier;O. Staffelbach
- Advances in Cryptology-AUSCRYPT'92, LNCS Cryptanalysis of Summation Generator E. Dawson
- CHINACRYPT'94 An Impremenatation of the GSM General Data Encryption Algorithm A5 S.B. Xu;D.K. He;X.M. Wang
- Advances in Cryptology-CRYPTO'89 Proceedings On the Linear Consistency Test (LCT) in Cryptanalysis with Appli-cations K.C. Zeng;C.H. Yang;T.R.N. Rao
- Fast Software Encryption. Cambridge Security Workshop Proceedings A Software-Oriented Encryption Algorithm P. Rogaway;D. Coppersmith
- The RC4 Encryption Algo-rithm R.L. Rivest
- 한국통신학회 논문지 고속 안전 통신을 위한 병렬형 스트림 암호 이훈재;문상재
- Proceedings of the Seventh Annual Workshop on Selected Areas in Cryptology SAC'2000 to appear in Springer-Verlag LNCS LILI Keystream Gene-rator L. Simpson;E. Dawson;J. Dj. Golic;W. Millan
- Altera technical data sheets in http://www.altera.com
- Lucent technical data sheets in http://www.lucent.com