DOI QR코드

DOI QR Code

On a High-Speed Implementation of LILI-128 Stream Cipher Using FPGA/VHDL

FPGA/VHDL을 이용한 LILI-128 암호의 고속화 구현에 관한 연구

  • 이훈재 (경운대학교 컴퓨터전자정보공학부) ;
  • 문상재 (경북대학교 전자전기공학부)
  • Published : 2001.06.01

Abstract

Since the LILI-128 cipher is a clock-controlled keystream generator, the speed of the keystream data is degraded in a clock-synchronized hardware logic design. Basically, the clock-controlled $LFSR_d$ in the LILI-128 cipher requires a system clock that is 1 ~4 times higher. Therefore, if the same clock is selected, the system throughput of the data rate will be lowered. Accordingly, this paper proposes a 4-bit parallel $LFSR_d$, where each register bit includes four variable data routines for feed feedback of shifting within the $LFSR_d$ . Furthermore, the timing of the propose design is simulated using a $Max^+$plus II from the ALTERA Co., the logic circuit is implemented for an FPGA device (EPF10K20RC240-3), and the throughput stability is analyzed up to a late of 50 Mbps with a 50MHz system clock. (That is higher than the 73 late at 45 Mbps, plus the maximum delay routine in the proposed design was below 20ns.) Finally, we translate/simulate our FPGA/VHDL design to the Lucent ASIC device( LV160C, 0.13 $\mu\textrm{m}$ CMOS & 1.5v technology), and it could achieve a throughput of about 500 Mbps with a 0.13$\mu\textrm{m}$ semiconductor for the maximum path delay below 1.8ns.

LILI-128 스트림 암호는 클럭 조절형 스트림 암호방식이며, 이러한 구조는 동기식 논리회로 구현시 속도가 저하되 는 단점이 있다. 즉, 클럭 조절형인 LFSRd는 외부 클럭보다 1~4 배 높은 클럭을 요구하기 때문에 동일한 시스템 클 럭 하에서는 데이터 전송속도에 따른 시스템 성능이 저하된다. 본 논문에서는 귀환/이동에 있어서 랜덤한 4개의 연결 경로를 갖는 4-비트 병렬 LFSRd를 제안하였다. 그리고 ALTERA 사의 FPGA 소자(EPF10K20RC240-3)를 선정하여 그래 픽/VHDL 하드웨어 구현 및 타이밍 시뮬레이션을 실시하였으며, 50MHz 시스템 클럭에서 안정적인 50Mbps (즉, 45 Mbps 수준인 T3급 이상, 설계회로의 최대 지연 시간이 20ns 이하인 조건) 출력 수열이 발생될 수 있음을 확인하였다. 마지막으로, FPGA/VHDL 설계회로를 Lucent ASIC 소자 (LV160C, 0.13$\mu\textrm{m}$ CMOS & 1.5v technology)로 설계 변환 및 타이밍 시뮬레이션한 결과 최대 지연시간이 1.8ns 이하였고, 500 Mbps 이상의 고속화가 가능함을 확인하였다.

Keywords

Ⅰ. 서론 

  암호 구현에 있어서 키 분배 또는 인증 기능이 요구되는 경우공개 키 암호가 적용되지만 데이터 암복호화 등 고속 처리가 요구되는 응용에는 스트림 암호나 블록 암호가 많이 사용된다. 블록 암호는 소프트웨어 구현이 용이한 반면 채널 에러 시 수신 단에서 블록크기만큼 에러가 확산되어 채널 효율(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

  1. Applied Cryptography (2nd edition) B. Schneier
  2. Handbook of Applied Crypto-graphy A.J. Menezes;P.C. Oorschot;S.A. Vanstone
  3. Cryptography-Theory and Practice D.R. Stinson
  4. Cipher systems;The Protection of Communications H.J. Beker;F.C. Piper
  5. IEEE Trans. on Computer v.C-34 no.1 Decrypting a Class of Stream Ciphers Using Ciphertext Only T. Siegenthaler
  6. LNCS 547, Advances in Cryptology-EUROCRYPT'91 The Number of Output Sequences of a Binary Sequence Gene-rator J.D. Golic
  7. Electronics How to Protect Data with Ciphers that are really hard to Break P.R. Geffe
  8. Advances in Cryptology, Proceedings of CRYPTO'85 Correlation Immunity and the Summation Generator R.A. Rueppel
  9. Analysis and Design of Stream Ciphers R.A. Rueppel
  10. Signal Processing v.80 no.1 On An Improved Summation Generator with 2-Bit Memory Hoonjae Lee;Sangjae Moon
  11. IEEE Trans. on Computer v.C-34 no.1 Decrypting a Class of Stream Ciphers Using Ciphertext Only T. Siegenthaler
  12. Journal of Cryptology v.5 Correl-ation Properties of Combiners with Memory in Stream Ciphers W. Meier;O. Staffelbach
  13. Advances in Cryptology-AUSCRYPT'92, LNCS Cryptanalysis of Summation Generator E. Dawson
  14. CHINACRYPT'94 An Impremenatation of the GSM General Data Encryption Algorithm A5 S.B. Xu;D.K. He;X.M. Wang
  15. 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
  16. Fast Software Encryption. Cambridge Security Workshop Proceedings A Software-Oriented Encryption Algorithm P. Rogaway;D. Coppersmith
  17. The RC4 Encryption Algo-rithm R.L. Rivest
  18. 한국통신학회 논문지 고속 안전 통신을 위한 병렬형 스트림 암호 이훈재;문상재
  19. 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
  20. Altera technical data sheets in http://www.altera.com
  21. Lucent technical data sheets in http://www.lucent.com