KR100622128B1 - 병렬 처리 축소 키 생성기 - Google Patents

병렬 처리 축소 키 생성기 Download PDF

Info

Publication number
KR100622128B1
KR100622128B1 KR1020040108120A KR20040108120A KR100622128B1 KR 100622128 B1 KR100622128 B1 KR 100622128B1 KR 1020040108120 A KR1020040108120 A KR 1020040108120A KR 20040108120 A KR20040108120 A KR 20040108120A KR 100622128 B1 KR100622128 B1 KR 100622128B1
Authority
KR
South Korea
Prior art keywords
logic
selection
lfsr
source
bit
Prior art date
Application number
KR1020040108120A
Other languages
English (en)
Other versions
KR20060069615A (ko
Inventor
김동수
김영수
박대선
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020040108120A priority Critical patent/KR100622128B1/ko
Priority to US11/155,744 priority patent/US7742598B2/en
Publication of KR20060069615A publication Critical patent/KR20060069615A/ko
Application granted granted Critical
Publication of KR100622128B1 publication Critical patent/KR100622128B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Abstract

본 발명은 2:1 멀티플렉서를 이용하여 병렬 처리 로직으로 구성하여 키 생성 속도를 향상시키도록 하는 병렬 처리 축소 키 생성기에 관한 것이다. 이와 같은 본 발명은 선택 선형궤한 쉬프트 레지스터(LFSR)와, 소스 선형궤한 쉬프트 레지스터(LFSR) 및 출력량 레지스터를 갖는 축소(Shrinking) 키 생성기에 있어서, 상기 선택 LFSR의 선택 비트에 의해 상기 소스 LFSR의 소스 비트 또는 소정의 입력 비트를 선택하는 선택 논리회로와, 상기 선택 논리회로의 출력 비트들이 채워질 인덱스를 지정하는 인덱스 카운터와, 상기 인덱스 카운트의 지정에 따라 상기 선택 논리회로의 출력 비트를 쉬프트시키는 출력량 레지스터로 구성된다.
순차 처리 로직, 병렬 처리 로직, FPGA, ASIC

Description

병렬 처리 축소 키 생성기{SHRINKING KEY GENERATOR FOR PARALLEL PROCESS}
도1 은 종래의 순차 처리 축소(shrinking) 키 생성기의 기능 블록도.
도 2는 본 발명의 실시예에 따른 병렬 처리 축소(shrinking) 키 생성기의 기능 블록도,
도 3은 도 2에서의 선택 논리회로의 푸싱 로직의 동작 원리를 설명하기 위한 도면,
도 4는 도 3에서의 푸싱(Pushing) 로직의 상세 회로도,
도 5는 도 4에서의 푸싱(Pushing) 로직의 진리표,
도 6은 도 2에서의 선택 논리 회로의 상세 기능 블록도,
도 7은 도 2에서의 선택 논리회로의 푸싱 로직과 스로우(Through) 로직의 동작을 설명하기 위한 도면,
도 8은 도 6에서의 스로우(Through) 로직의 상세 회로도,
도 9는 도 7에서의 스로우(Through) 로직의 진리표,
도 10은 도 2에서의 선택 논리 회로의 상세 기능 블록도,
도 11은 도 2에서의 선택 논리 회로의 상세 기능 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 선택 LFSR(선택 선형궤한 쉬프트 레지스터)
200 : 소스 LFSR(소스 선형궤한 쉬프트 레지스터)
300 : 선택 논리 회로
400 : 인덱스 카운터
500 : 출력량 레지스터
본 발명은 병렬 처리 축소 키 생성기에 관한 것으로, 특히 2:1 멀티플렉서를 이용하여 병렬 처리 로직으로 구성하여 키 생성 속도를 향상시키도록 하는 병렬 처리 축소 키 생성기에 관한 것이다.
도 1은 종래의 축소(Shrinking) 키 발생기의 기능 블록도를 도시한 것이다.
도 1에 도시된 바와 같이, 종래의 축소 키 발생기는 입력되는 클럭신호(Clock)에 따라 선택 비트를 쉬프트시키는 선택 선형 궤한 쉬프트 레지스터(선택 LFSR : 선택 Linear Feedback Shift Register)(1)와, 상기 클럭신호(Clock)에 따라서 소스 비트를 쉬프트시키는 소스 LFSR(2)과, 상기 선택 LFSR(1)의 선택 비트와 상기 소스 LFSR(2)의 소스 비트를 순차 처리하도록 멀티플렉서(31)와 논리 소자(32,33)로 구성된 순차 처리 로직(3)과, 상기 순차 처리 로직의 출력 비트를 저장하는 출력량 레지스터(4)로 구성된다.
이와 같이 구성된 종래의 축소 키 발생기의 동작을 상세히 설명하면 다음과 같다.
먼저, 상기 순차 처리 로직(3)은 하드웨어 구현시 용이하나, 키 생성 속도가 현저히 떨어지고, 본 발명의 병렬처리 로직은 설계 구현상은 어려우나 키 생성 속도를 훨씬 빠르게 할 수 있다. 병렬 처리 로직은 알고리즘이 가지고 있는 부울 대수적 성질을 이용하여 AND 나 OR 의 논리소자를 조합하여 조합(combinational) 로직으로 하드웨어상으로 구현하게 되나, 축소 키 생성기의 경우는 부울 대수적 성질이 없는 키 생성 알고리즘(Non-Boolean Algebraic Key Generation Algorithm) 으로, 병렬 처리 로직 즉 조합 로직으로의 구현은 지금까지 불가능하였다.
현재 보안성 면에서는 축소 키 생성기는 특별히 알려진 공격 방법이 없어 가장 우수한 알고리즘으로 빠른 키 생성 속도를 요구하지 않는 상황에서만 채택되지만, Mbps 급의 데이터 처리를 요구하는 상황에서는 보안성은 좋으나, 느린 속도의 구현상의 문제점으로 채택되지 않는다. 현재 무선데이터 링크의 대역 및 빠른 코덱(Codec) 처리 기술의 발달 등으로 인하여, 데이터의 암복호를 처리하는 속도도 그에 상응하는 고속의 출력이 요구되고 있다.
종래의 하드웨어 행위 기술언어(Behavioral HDL) 코드들이 합성(synthesis)이 되지 않던 것에 비하면, 현재는 합성 툴들의 발전으로 인하여 많은 하드웨어 행위 기술언어 코드들(특히 조건문, 반복문등)이 합성이 전보다 월등히 잘 되고 있다. 그러나, 포인터(pointer) 인덱스와 관련된 연산문 등의 하드웨어 행위 기술언어 코드등은 아직까지도 툴에 의한 합성은 셀(Cell)의 비효율적인 이용 및 타이밍 시뮬레이션(timing simulation)에 있어서의 불완전한 요소들이 발생하게 된다. 만약 많은 합성 툴의 발전으로 축소 키 생성기의 부울 대수적 성질이 없는 선택논리가 하드웨어 기술언어(HDL)로 표현되어 이를 합성하는 것이 가능하다면, 본 발명의 의의가 적어지겠지만, 축소 키 생성기의 선택 논리를 하드웨어 기술언어(HDL)로 표현했을 시, 포인터(pointer) 인덱스와 관련된 연산뿐만 아니라, 동적 메모리 할당(Dynamic Memory Assignment)에 관련된 연산들도 하드웨어 행위 기술언어 코드로 표현해야만 되므로 현재의 합성 툴(synthesis tool)로는 설계가 불가능한 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해서 이루어 진 것으로서, 본 발명의 목적은 AND 나 OR 의 논리소자를 이용하지 않고, 2:1 멀티플렉서를 이용하여 병렬 처리 로직으로 구성됨으로써 키 생성 속도를 향상시키도록 하는 병렬 처리 축소 키 생성기를 제공하는 데 있다.
또한, 본 발명의 목적은 현재의 발전된 합성툴로도 하드웨어 행위 기술언어(Behavioral HDL) 코드의 합성이 되지 않는 축소(shrinking) 키 생성기를 조합 로직으로 설계하고자, 구조적 하드웨어 기술언어 접근(structural HDL approach) 방법을 선택하도록 하는 병렬 처리 축소 키 생성기를 제공하는 데 있다.
또한, 본 발명의 목적은 2:1 멀티플렉서를 이용하여 축소 키 생성기가 가지는 모든 경우의 수를 포함시키는 조합 로직을 만들고, 부울 대수적 성질이 없음에 의하여 발생되는 동적 메모리는 인덱스 카운터라는 순차 로직에 의하여 다양한(variable) 인덱스가 가능하도록 하는 병렬 처리 축소 키 생성기를 제공하는 데 있다.
또한, 본 발명의 목적은 버스(Bus) 비트수는 현재 가장 범용적인 16 bit를 기준으로 병렬 처리 로직으로 설계하였고, 버스(Bus) bit가 많아 짐에 따라 생기는, 팬인 & 팬아웃(fan in & fan out) 문제는 로직의 각 단계 또는 중간 단계마다 파이프라인 스테이지를 둠으로써 해결하도록 하는 병렬 처리 축소 키 생성기를 제공하는 데 있다.
또한, 본 발명의 목적은 인덱스 카운트를 선택 논리의 출력 비트수에 따라 변하는 일반적인 카운터 로직으로 설계 하였고, 2:1 멀티플렉서를 이용하여 모든 경우의 수를 표현하기 위하여, 푸싱(Pushing) 로직과 스로우(Through) 로직을 만들고, 이들의 조합으로 설계된 병렬 처리 축소 키 생성기를 제공하는 데 있다.
또한, 본 발명의 목적은 선택논리를 병렬 처리가 가능한 조합 로직으로 설계 함으로써, 기존의 순차 처리 로직에서 평균적으로 2 클럭킹(clocking) 당 1 비트의 출력을 내는 키생성 속도를, 2 클럭킹 당 버스 비트수 (예를 들어, 버스 비트 수가 16 비트이면, 2 클럭킹 당 16 비트)의 키 생성 속도로 버스 비트수 만큼의 배수로 빠르게 하고자 하는 병렬 처리 축소 키 생성기를 제공하는 데 있다.
또한, 본 발명의 목적은 하드웨어 행위 기술언어(Behavioral HDL) 코드로 선택 논리를 합성하고자 할 때의 비효율적인 로직 셀의 이용을 줄이고, 타이밍 시뮬레이션(timing simulation)에서의 좀더 정확한 결과의 예측을 가능하게 하기 위하여 팬인 및 팬아웃(fan-in & fan-out), 클럭 스큐(clock skew) 의 불완전한 요소를 없애고자 하는 병렬 처리 축소 키 생성기를 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 병렬 처리 축소 키 생성기는, 선택 선형궤한 쉬프트 레지스터(LFSR)와, 소스 LFSR 및 출력량 레지스터를 갖는 축소(Shrinking) 키 생성기에 있어서, 상기 선택 LFSR의 선택 비트에 의해 상기 소스 LFSR의 소스 비트 또는 소정의 입력 비트를 선택하는 선택 논리회로와, 상기 선택 논리회로의 출력 비트들이 채워질 하기의 출력량 레지스터에서의 인덱스를 지정하는 인덱스 카운터와, 상기 인덱스 카운트의 지정에 따라 채워진 상기 선택 논리회로의 출력 비트를 쉬프트시키는 출력량 레지스터를 포함하여 구성되는 것을 특징으로 한다.
이하, 본 발명의 실시예에 따른 병렬 처리 축소 키 생성기에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 병렬 처리 축소 키 생성기의 기능 블록도를 도시한 것이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 병렬 처리 축소 키 생성기는 입력되는 클럭신호(Clock)에 따라 선택 비트를 쉬프트시키는 선택 LFSR(100)와, 상기 클럭신호에 따라서 소스 비트를 쉬프트시키는 소스 LFSR(200)과, 상기 선택 LFSR(100)의 선택 비트에 의해 상기 소스 LFSR(200)의 소스 비트 또는 소정의 입력 비트를 선택하는 선택 논리회로(300)와, 상기 선택 논리회로(300)의 출력 비트들이 채워질 인덱스를 지정하는 인덱스 카운터(400)와, 상기 인덱스 카운트(400)의 지정에 따라 상기 선택 논리회로(300)의 출력 비트를 쉬프트시키는 출력량 레지스터(500)로 구성된다.
도 3은 도 2에서의 선택 논리 회로의 푸싱(Pushing) 로직의 동작을 설명하기 위한 도면을 도시한 것이다. 도 4는 도 3에서의 푸싱 로직의 상세 회로도를 도시한 것이다.
도 3에 도시된 바와 같이, 상기 선택 논리 회로(300)는 상기 선택 LFSR의 선택 비트 및 상기 소스 LFSR의 소스 비트가 각각 4 비트인 경우에, 제1 스테이지에 한개의 푸싱(Pushing) 로직으로 구성된다.
도 4에 도시된 바와 같이, 상기 푸싱 로직은 상기 선택 LFSR의 선택 비트에 의해 상기 소스 LFSR의 소스 비트 및 소정의 입력 비트를 다중화하는 다수의 2:1 멀티플렉서로 구성된다.
도 6은 도 2에서의 선택 논리회로의 상세 블록도를 도시한 것이다, 도 7은 도 6에서의 선택 논리 회로의 푸싱 로직과 스로우(Through) 로직의 동작을 설명하기 위한 도면를 도시한 것이다. 도 8은 도 7에서의 스로우(Through) 로직의 상세 회로도를 도시한 것이다.
도 6 및 도 7에 도시된 바와 같이, 상기 선택 논리 회로(300)는 상기 선택 LFSR(100)의 선택 비트 및 상기 소스 LFSR(200)의 소스 비트가 각각 8 비트인 경우에, 제1 및 제2 푸싱(Pushing) 로직(301,302)과 제1 스로우(through) 로직(303)으로 구성된다.
상기 선택 논리 회로(300)는 제1 스테이지에 제1 푸싱 로직(301)을 구성하고 제2 스테이지에 제2 푸싱 로직(302) 및 제1 스로우 로직(303)으로 구성된다.
도 8에 도시된 바와 같이, 상기 제1 스로우 로직(303)은 다수의 2:1 멀티플렉서로 구성된다.
도 10은 도 2에서의 선택 논리 회로의 상세 기능 블록도를 도시한 것이다.
도 10에 도시된 바와 같이, 상기 선택 논리 회로(300)는 상기 선택 LFSR(100)의 선택 비트 및 상기 소스 LFSR(200)의 소스 비트가 각각 16 비트인 경우에, 제1 내지 제4의 푸싱 로직(310,311,313,316)과 제1 내지 제6 스로우 로직(312,314,315,317-319)으로 구성된다.
상기 선택 논리 회로(300)는 제1 스테이지에 제1 푸싱 로직(310)을 구성하고, 제2 스테이지에 제2 푸싱 로직(311)과 제1 스로우 로직(312)을 구성하고, 제3 스테이지에 제3 푸싱 로직(313), 제2 스로우 로직(314) 및 제3 스로우 로직(315)을 구성하고, 제4 스테이지에 제4 푸싱 로직(316) 및 제4 스로우 로직 내지 제6 스로우 로직(317-319)으로 구성된다.
도 11은 도 2에서의 선택 논리 회로의 상세 기능 블록도를 도시한 것이다.
도 11에 도시된 바와 같이, 상기 선택 논리 회로(300)는 상기 제2 스테이지와 제3 스테이지 사이에 구성되어 팬인(fan-in) 및 팬아웃(fan-out) 문제를 해결하는 파이프라인 스테이지 레지스터(320)를 더 포함한다.
그러면, 상기와 같은 구성을 가지는 본 발명의 실시예에 따른 병렬 처리 축소 키 생성기의 동작을 상세히 설명하면 다음과 같다.
먼저, 선택 LFSR(100)는 입력되는 클럭신호(Clock)에 따라 선택 비트를 쉬프트시키고, 소스 LFSR(200)는 상기 클럭신호에 따라서 소스 비트를 쉬프트시킨다. 선택 논리회로(300)는 상기 선택 LFSR(100)의 선택 비트에 의해 상기 소스 LFSR(200)의 소스 비트 또는 소정의 입력 비트를 선택하게 된다. 인덱스 카운터(400)는 상기 선택 논리회로(300)의 출력 비트들이 채워질 출력량 레지스터에서의 인덱스를 지정하게 된다. 출력량 레지스터(500)는 상기 인덱스 카운트(400)의 지정에 따라 채워진 상기 선택 논리회로(300)의 출력 비트를 쉬프트시킨다.
상기 인덱스 카운터(400)는 선택논리 회로(300)에서 출력되는 비트수 만큼의 차이가 나도록 출력량 레지스터(Accumulation Register)(500)의 인덱스를 설정하여 불규칙한 수의 출력 비트들이 채워 질수 있게 한다.
도 3 및 도 4에 도시된 바와 같이,상기 선택 LFSR(100)의 선택 비트 및 상기 소스 LFSR(200)의 소스 비트가 각각 4 비트인 경우에, 상기 선택 논리 회로(300)의 한개의 푸싱 로직의 다수의 2:1 멀티 플렉서들은 상기 선택 LFSR(100)의 선택 비트에 의해 상기 소스 LFSR(200)의 소스 비트 및 소정의 입력 비트를 다중화하게 된다.
도 5에 도시된 바와 같이, 진리표는 선택비트(s[n])에 따른, 출력 비트(z[n], a[n])의 값을 보여 준다. z'[n]은 전 단계에서 출력된 출력 비트이다. 도 3은 4-by-4 푸싱 로직이 동작되는 원리에 대하여, 버스 비트수가 4인 경우 s[4] = 1001, a[4] =1100 일때, z[4]의 값이 채워지는 원리를 보여 준다.
도 5의 진리표는 도 3과 같은 경우처럼, 16가지의 모든 경우에 대하여 포함 되어야 한다. 도 5의 진리표를 만족하는 로직은 도 4와 같이 2:1 멀티 플렉서의 조합으로 나타내어 질 수 있다. 또는, 프로그램 로직 어레이(Programmable Logic Array)에 의하여 구현될 수 있지만, 2:1 먹스(Mux)의 조합이 가장 최적화(optimized)된 로직이다.
한편, 도 6 및 도 7에 도시된 바와 같이, 상기 선택 LFSR(100)의 선택 비트 및 상기 소스 LFSR(200)의 소스 비트가 각각 8 비트인 경우, 즉 8 비트 버스인 경우에, 제1 스테이지에 제1 푸싱 로직(301)이 구성하고 제2 스테이지에 제2 푸싱 로직(302) 및 제1 스로우 로직(303)이 구성된다.
상기 제2 스테이지에서, 최상위 비트(MSB)부터 푸싱 로직(302)이 모두 채워졌다면, 그 다음에 비트들이 채워지는 로직으로 4-by-4 스로우 로직(303)이 필요하다. 도 9는 4-by-4 스로우 로직의 진리표를 나타낸 것으로, 이 진리표를 만족하는 로직은 도 8 과 같이 1비트에 대하여 처리하는 스로우 로직 요소(Through Logic element)의 4개의 조합으로 만들 수 있다.
한편, 도 10에 도시된 바와 같이, 상기 선택 LFSR(100)의 선택 비트 및 상기 소스 LFSR(200)의 소스 비트가 각각 16 비트인 경우, 즉 16비트 버스인 경우에, 제1 스테이지에 제1 푸싱 로직(310)이 구성된다. 제2 스테이지에 제2 푸싱 로직(311)과 제1 스로우 로직(312)이 구성되고, 제3 스테이지에 제3 푸싱 로직(313), 제2 스로우 로직(314) 및 제3 스로우 로직(315)이 구성된다. 제4 스테이지에 제4 푸싱 로직(316) 및 제4 스로우 로직 내지 제6 스로우 로직(317-319)으로 구성된다.
도 11에 도시된 바와 같이, 상기 선택 논리 회로(300)의 파이프라인 스테이지 레지스터(320)는 상기 제2 스테이지와 제3 스테이지 사이에 구성되어 팬인(fan-in) 및 팬아웃(fan-out) 문제를 해결하게 된다. 상기 제3 스테이지와 제4 스테이지 사이에 2:1 멀티플렉서 간의 팬인 & 팬아웃의 각 FPGA Device 차이 등으로 최대치를 넘을 수가 있으므로, 그 사이에 파이프라인 스테이지 레지스터를 두어서 팬인 & 팬아웃 문제를 해결할 수 있다. 그리고 파이프 라인 스테이지 레지스터(320)는 타이밍의 불안전한 요소로, 타이밍 지연(timing delay)이나 클럭 스큐(clock skew)의 문제를 제거하여, 로직의 동작을 더욱 원활하게 하고 팬인 & 팬아웃 및 타이밍 문제에서 기인 되는 P & R(Place & Route: 배치 & 배선) 시의 문제의 소지를 없애준다
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
상술한 바와 같이 본 발명에 의한 병렬 처리 축소 키 생성기에 의하면, 본 발명은 합성 툴(Model Sim)을 이용하여 FPGA6000T에서의 기능(functional) & 타이밍 시뮬레이션 결과를 보면, 순차처리 로직보다 병렬처리 로직이 로직 셀을 더 많이(약 40 배) 차지하지만, 키 생성 속도에서는 약 16 배 이상 빠른 것을 알 수 있다. 본 발명의 시험은 Cyclone FPGA 6000T에서 이루어졌는데, 축소 키 생성기의 선택 논리 회로는 행위 HDL 코드로 합성이 되지 않았고, 기능 시뮬레이션(functional simulation)에서 수많은 오류들이 발견되었다.
[표 1]
Combinational design Sequential design
N (Degree of LFSR) 16 16
VHDL code size(lines) 900 50
Design size (Logic Cell) 5,700 120
Clock (Mhz) 48 48
Date rate in Cyclone 6000T (Mbps) 192~256 16~24

본 발명으로 인하여 하드웨어(FPGA/ASIC) 구현 시 보안성은 좋으나, 순차처리 로직으로 밖에 구현할 수 없었던 키 생성 속도가 현저히 떨어진 축소 키 생성기를 병렬 처리가 가능한 조합회로로, 데이터 처리의 비트 수에 따라 처리 비트 단위의 확장성이(4,8,16bits......) 가능한 푸싱 로직과 스로우 로직을 이용하여 모듈화 설계가 가능하게 됨으로써, 보안성이 높고 고속의 축소 키 생성기를 여러 목적의 암복호화기에 쉽게 본 발명의 설계 기법을 적용하여 구현할 수 있게 되었다.

Claims (9)

  1. 선택 선형궤한 쉬프트 레지스터(LFSR: Linear Feedback Shift Register)와, 소스 LFSR 및 출력량 레지스터를 갖는 축소(shrinking) 키 생성기에 있어서,
    상기 선택 LFSR의 선택 비트에 의해 출력되는 상기 소스 LFSR의 소스 비트를 또는 소정의 입력비트를 선택하는 선택논리회로와;
    상기 선택 논리회로의 출력 비트들이 채워질 하기의 출력량 레지스터에서의 인덱스를 지정하는 인덱스 카운터와;
    상기 인덱스 카운트에 의해 지정된 인덱스에 채워진 상기 선택 논리회로의 출력 비트들을 쉬프트시키는 출력량 레지스터를 포함하여 구성되는 것을 특징으로 하는 병렬 처리 축소(shrinking) 키 생성기.
  2. 제 1 항에 있어서,
    상기 선택 논리 회로는 상기 선택 LFSR의 선택 비트 및 상기 소스 LFSR의 소스 비트가 각각 4 비트인 경우에, 제1 스테이지에 한개의 푸싱(Pushing) 로직으로 구성되는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  3. 제 2 항에 있어서,
    상기 선택 논리 회로의 푸싱 로직은 상기 선택 LFSR의 선택 비트에 의해 상기 소스 LFSR의 소스 비트 및 소정의 입력 비트를 다중화하는 다수의 2:1 멀티플렉서로 구성되는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  4. 제 1 항에 있어서,
    상기 선택 논리 회로는 상기 선택 LFSR의 선택 비트 및 상기 소스 LFSR의 소스 비트가 각각 8 비트인 경우에, 두개의 푸싱(Pushing) 로직과 한개의 스로우(through) 로직으로 구성되는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  5. 제 4 항에 있어서,
    상기 선택 논리 회로의 스로우 로직은 상기 선택 LFSR의 선택 비트에 의해 상기 소스 LFSR의 소스 비트 및 소정의 입력 비트를 다중화하는 다수의 2:1 멀티플렉서로 구성되는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  6. 제 4 항에 있어서,
    상기 선택 논리 회로는 제1 스테이지에 제1 푸싱 로직을 구성하고 제2 스테이지에 제2 푸싱 로직 및 제1 스로우(Through) 로직을 구성하는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  7. 제 1 항에 있어서,
    상기 선택 논리 회로는 상기 선택 LFSR의 선택 비트 및 상기 소스 LFSR의 소스 비트가 각각 16 비트인 경우에, 네개의 푸싱(Pushing) 로직과 여섯개의 스로우(through) 로직으로 구성되는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  8. 제 7 항에 있어서,
    상기 선택 논리 회로는 제1 스테이지에 제1 푸싱 로직을 구성하고, 제2 스테이지에 제2 푸싱 로직과 제1 스로우 로직을 구성하고, 제3 스테이지에 제3 푸싱 로직, 제2 스로우 로직 및 제3 스로우 로직을 구성하고, 제4 스테이지에 제4 푸싱 로직 및 제4 스로우 로직 내지 제6 스로우 로직을 구성하는 것을 특징으로 하는 병렬 처리 축소(Shrinking) 키 생성기.
  9. 삭제
KR1020040108120A 2004-12-17 2004-12-17 병렬 처리 축소 키 생성기 KR100622128B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040108120A KR100622128B1 (ko) 2004-12-17 2004-12-17 병렬 처리 축소 키 생성기
US11/155,744 US7742598B2 (en) 2004-12-17 2005-06-20 Shrinking key generator for parallel process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040108120A KR100622128B1 (ko) 2004-12-17 2004-12-17 병렬 처리 축소 키 생성기

Publications (2)

Publication Number Publication Date
KR20060069615A KR20060069615A (ko) 2006-06-21
KR100622128B1 true KR100622128B1 (ko) 2006-09-19

Family

ID=36595774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040108120A KR100622128B1 (ko) 2004-12-17 2004-12-17 병렬 처리 축소 키 생성기

Country Status (2)

Country Link
US (1) US7742598B2 (ko)
KR (1) KR100622128B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9496171B2 (en) 2014-09-26 2016-11-15 Texas Instruments Incorporated Printed interconnects for semiconductor packages

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4426667A (en) * 1978-05-17 1984-01-17 Savin Corporation Pulse width modulation system
US4310227A (en) * 1981-01-05 1982-01-12 Polaroid Corporation Diffracted energy auto-ranging system for a camera
US5043988A (en) * 1989-08-25 1991-08-27 Mcnc Method and apparatus for high precision weighted random pattern generation
US5144571A (en) * 1990-11-19 1992-09-01 Tektronix, Inc. Direct digital synthesizer with feedback shift register
JP3259302B2 (ja) * 1992-01-28 2002-02-25 株式会社日立製作所 出力信号復号方法および装置
US5652902A (en) * 1993-06-08 1997-07-29 Theseus Research, Inc. Asynchronous register for null convention logic systems
US5701308A (en) * 1996-10-29 1997-12-23 Lockheed Martin Corporation Fast bist architecture with flexible standard interface
US6427156B1 (en) * 1997-01-21 2002-07-30 Xilinx, Inc. Configurable logic block with AND gate for efficient multiplication in FPGAS
KR100261302B1 (ko) * 1997-10-24 2000-07-01 이계철 하다마드 코드 생성회로
US6771725B2 (en) * 1998-11-09 2004-08-03 Broadcom Corporation Multi-pair gigabit ethernet transceiver
US6636553B1 (en) * 1998-12-29 2003-10-21 Texas Instruments Incorporated Pseudorandom noise generator for WCDMA
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6836869B1 (en) * 2001-02-02 2004-12-28 Cradle Technologies, Inc. Combined cyclic redundancy check (CRC) and Reed-Solomon (RS) error checking unit
US6701476B2 (en) * 2001-05-29 2004-03-02 Motorola, Inc. Test access mechanism for supporting a configurable built-in self-test circuit and method thereof
US7039185B2 (en) * 2001-10-03 2006-05-02 Pitney Bowes Inc. Method and system for securing a printhead in a closed system metering device
KR100406137B1 (ko) 2001-11-28 2003-11-14 한국전자통신연구원 고속 하드웨어 암호 처리 시스템 및 그 방법
US6766345B2 (en) * 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US7142675B2 (en) * 2002-02-12 2006-11-28 City University Of Hong Kong Sequence generator and method of generating a pseudo random sequence
US7317776B2 (en) * 2002-04-18 2008-01-08 Texas Instruments Incorporated Efficient pseudo-noise sequence generation for spread spectrum applications
US7826613B2 (en) * 2002-08-19 2010-11-02 Qualcomm Incorporated Stream cipher cryptographic system and method
EP1513285A1 (en) * 2003-09-05 2005-03-09 Mediacrypt AG Method for generating pseudo-random sequence
DE10347455B4 (de) * 2003-10-13 2010-08-26 Infineon Technologies Ag Pseudozufallszahlengenerator für einen Stream Cipher
US7293054B2 (en) * 2004-03-11 2007-11-06 Harris Corporation Random number source and associated methods

Also Published As

Publication number Publication date
KR20060069615A (ko) 2006-06-21
US20060133608A1 (en) 2006-06-22
US7742598B2 (en) 2010-06-22

Similar Documents

Publication Publication Date Title
Weaver et al. The SFRA: a corner-turn FPGA architecture
JP5354427B2 (ja) 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法
Gupta et al. High-performance hardware implementation for RC4 stream cipher
Singh et al. PITIA: an FPGA for throughput-intensive applications
Dadda et al. The design of a high speed ASIC unit for the hash function SHA-256 (384, 512)
Thomas et al. The LUT-SR family of uniform random number generators for FPGA architectures
Taherkhani et al. Implementation of non-pipelined and pipelined data encryption standard (DES) using Xilinx Virtex-6 FPGA technology
Gaj et al. Comparison of hardware performance of selected Phase II eSTREAM candidates
US6349395B2 (en) Configurable integrated circuit and method of testing the same
Barkalov et al. Mixed encoding of collections of output variables for LUT-based mealy FSMs
Palchaudhuri et al. Speed-area optimized VLSI architecture of multi-bit cellular automaton cell based random number generator on FPGA with testable logic support
US20240062842A1 (en) Programmable linear-feedback shift register systems and methods
US8745113B2 (en) Pseudo-random bit sequence generator
KR100622128B1 (ko) 병렬 처리 축소 키 생성기
Chang et al. Effective FPGA resource utilization for quasi delay insensitive implementation of asynchronous circuits
Kwok et al. Effective uses of FPGAs for brute-force attack on RC4 ciphers
Patterson A dynamic FPGA implementation of the Serpent block cipher
Sugier Low-cost hardware implementations of Salsa20 stream cipher in programmable devices
Solov’ev Implementation of finite-state machines based on programmable logic ICs with the help of the merged model of Mealy and Moore machines
Volf et al. Division-based versus general decomposition-based multiple-level logic synthesis
US7002493B2 (en) Boolean logic tree reduction circuit
Barkalov et al. Reducing LUT Count for Mealy FSMs With Transformation of States
Antoniadis et al. An efficient implementation of a delay-based PUF construction
Fauzi et al. Hardware Implementation of Modified A5/1 Stream Cipher
Sridevi et al. Design of High Performance Pipelined Data Encryption Standard (DES) Using Xilinx Virtex-6 FPGA Technology

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130710

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150703

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee