KR20060049298A - 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체 - Google Patents

일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체 Download PDF

Info

Publication number
KR20060049298A
KR20060049298A KR1020050071469A KR20050071469A KR20060049298A KR 20060049298 A KR20060049298 A KR 20060049298A KR 1020050071469 A KR1020050071469 A KR 1020050071469A KR 20050071469 A KR20050071469 A KR 20050071469A KR 20060049298 A KR20060049298 A KR 20060049298A
Authority
KR
South Korea
Prior art keywords
shift register
memory cells
output
sequence
combining means
Prior art date
Application number
KR1020050071469A
Other languages
English (en)
Other versions
KR100735953B1 (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 인피니언 테크놀로지스 아게
Publication of KR20060049298A publication Critical patent/KR20060049298A/ko
Application granted granted Critical
Publication of KR100735953B1 publication Critical patent/KR100735953B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Logic Circuits (AREA)

Abstract

일련 번호를 생성하는 난수 생성기는, 비선형 피드백(101)과, 제 1 개수의 메모리 셀(102)과, 제 1 결합 수단(103)에 의해 제 1 개수의 메모리 셀에 결합된 제 1 출력(104)을 가진 제 1 시프트 레지스터(10)를 포함한다. 추가로, 번호 생성기는, 유사하게 구성된 제 2 시프트 레지스터(20)와, 제 1 출력(104)에서의 제 1 데이터 시퀀스와 제 2 출력(204)에서의 제 2 데이터 시퀀스를 조합하여 일련 번호를 구하는 조합 수단(12)을 포함한다. 번호 생성기는 XL 공격에 대해 효율적이며 내성이 있다.

Description

일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장 매체{DEVICE AND METHOD FOR GENERATING A SEQUENCE OF NUMBERS}
도 1은 본 발명의 바람직한 실시예에 따른 일련 번호 생성 장치를 도시하는 도면,
도 2는 비선형 피드백과 선형 피드포워드를 가진 임의 수의 시프트 레지스터로 일련 번호를 생성하는 본 발명의 장치의 다른 실시예를 도시하는 도면,
도 3은 시프트 레지스터의 바람직한 구현의 상세한 표현,
도 4a는 비선형 피드백을 가진 시프트 레지스터의 실시예를 도시하는 도면,
도 4b는 비선형 피드백을 가진 시프트 레지스터의 다른 실시예를 도시하는 도면,
도 5a는 비선형 피드백을 가진 다른 시프트 레지스터를 도시하는 도면,
도 5b는 비선형 피드백을 가진 다른 시프트 레지스터를 도시하는 도면,
도 6은 일반적인 비선형 피드백 함수을 가진 시프트 레지스터의 개략도,
도 7은 선형 피드백을 가진 시프트 레지스터를 도시하는 도면,
도 8은 선형 시프트 레지스터의 조합을 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
10 : 제 1 시프트 레지스터 12 : 제 2 시프트 레지스터
14 : 번호 생성기 출력 20 : 제 2 시프트 레지스터
30 : 제 3 시프트 레지스터 40 : 제 4 시프트 레지스터
51, 52, 53, 54 : 메모리 셀 55 : 초기화 수단
56 : 출력 57 : 제 1 OR 링크
58 : 제 2 OR 링크 59a : 제 1 피드백 라인
59b : 제 2 피드백 라인 59c : 제 3 피드백 라인
62a - 62d : 선형 시프트 레지스터의 출력
81 - 84 : 선형 시프트 레지스터 101 : 비선형 피드백 수단
102a : 하위 메모리 셀 102b : 상위 메모리 셀
103 : 조합 수단 103a : XOR 게이트
103b : 스위치 103c : 가중 인수
104 : 제 1 데이터 시퀀스
203 : 제 2 시프트 레지스터의 결합 수단
204 : 제 2 데이터 시퀀스 212, 213 : AND 게이트
214, 215 : XOR 게이트 216 : 인버터
218 : XOR 게이트 219 : XOR 게이트
303 : 제 3 시프트 레지스터의 결합 수단
304 : 제 3 데이터 시퀀스
403 : 제 4 시프트 레지스터의 결합 수단
404 : 제 4 데이터 시퀀스
본 발명은 번호 생성기에 관한 것이며, 보다 상세하게는 예를 들어, 키 생성기로서 사용될 수 있는 의사 난수 생성기에 관한 것이다.
기존의 난수 생성기가 도 7에 도시되어 있다. 선형 피드백 시프트 레지스터로서 또한 불리는 도 7의 의사 난수 생성기는 도 7에서 0 내지 n의 번호로 매겨진 다수의 메모리 구성 요소(51, 52, 53, 54)를 포함한다. 메모리 셀은 초기화 수단(55)을 통해 초기값으로 초기화될 수 있다. 또한, 메모리 셀(51 내지 54)은 피드포워드 수단을 형성하며, 메모리 셀(51 내지 54)에 의해 형성된 선형 시프트 레지스터는 회로의 출력(56)과 메모리 셀(n) 사이에 결합된 피드백 수단을 통해 피드백된다. 특히, 피드백 수단은 도 7에 예시적으로 설명된 각각의 피드백 브랜치(59a, 59b, 59c)에 의해 전달되는 하나 이상의 조합 수단(57, 58)을 포함한다. 최종 조합 수단(58)의 출력값은 도 7에서 54로 표시된 메모리 셀(n)로 전달된다.
도 7에 도시된 선형 피드백 시프트 레지스터는 클록 단위로 동작되며, 그 결과, 메모리 셀의 점유율은 매 클록 사이클마다 1 단계씩 도 7과 관련하여 좌측으로 시프트되며, 메모리 수단(51)에 저장된 상태는 매 클록 사이클마다 번호로서 출력 되며, 동시에, 최종 조합 수단(51)의 출력에서 일련의 메모리 유닛 중 제 1 메모리 유닛(n)으로 값이 전달된다. 따라서, 도 7에 도시된 선형 피드백 시프트 레지스터는 일련의 클록 사이클에 응답하여 일련 번호를 제공한다. 출력(56)에서 획득된 일련 번호는 시프트 레지스터의 작동 개시 전에, 초기화 수단(55)에 의해 설정되는 초기 상태에 따라 다르다. 초기화 수단(55)에 의해 입력된 초기값은 시드(seed)로서 또한 불리며, 도 7에 도시된 이러한 구조가 또한 시드 생성기로서 불리는 이유이기도 하다.
출력(56)에서 획득된 일련 번호는, 그 번호가 외관상 임의로 서로의 다음에 후속되는 것으로 보이지만 주기가 길지만 전체적으로 주기적이기 때문에, 의사의 임의의 일련 번호로서 불린다. 추가로, 일련 번호는 명확하게 반복되어, 초기화 수단(55)에 의해 메모리 구성 요소에 전달된 초기화 값을 알고 있을 때 의사 랜덤 문자를 갖는다. 이러한 시프트 레지스터는 예를 들어, 특정 초기화 값(시드)에 따라서 인코딩/디코딩 키의 스트림을 제공하는 키 스트림 생성기로서 사용된다.
도 7에 도시된 이러한 시프트 레지스터는 낮은 선형 복잡성의 단점을 가지고 있다. 따라서, 출력 시퀀스의 2n 비트는 n 비트 LFSR(LFSR = 선형 피드백 시프트 레지스터) 내의 전체 시퀀스를 계산하기에 충분하다. 그러나, 도 7에 도시된 이러한 기지의 LFSR의 장점은 이들이 매우 낮은 하드웨어 비용을 발생한다는 것이다.
추가로, 불규칙적으로 클로킹되는 LFSR이 있다. 이들은 주로 낮은 주기로 약간 증가한 하드웨어 비용을 나타낸다. 그러나, 선형 복잡성은 상당히 높을 수 있다. 그러나, 이러한 불규칙 클로킹 장치의 단점은, 불규칙한 클로킹으로 인해, 실질적으로, SPA(SPA = 단일 전력 분석)에서의 전류를 측정함으로써 출력 시퀀스가 도출될 수 있다는 사실이다. 고유하게 비밀이 유지되는 데이터, 즉, 키 데이터를 생성하는 키 생성기의 일부로서 시프트 레지스터 장치를 이용함으로써, 그들이 임의 유형의 암호화 공격에 대해 보안을 유지하는 것이 절대 중요하다.
한편, 이러한 장치에서, 특히, 이들 장치가 칩 카드 상에 수용되어야 할 때, 하드웨어 비용이 낮아야 한다는 조건이 있다. 환언하면, 이러한 장치가 차지하는 칩 영역은 가능한 한 작아야 한다. 이는 반도체 제조시에, 전체 장치의 칩 영역이 결국 가격과 칩 제조업자의 금전상의 마진을 결정한다는 사실로 인한 것이다. 추가로, 칩 카드와 관련하여, 상세하게는 고객이 제곱밀리미터의 프로세서 칩의 최대 영역을 결정한다는 것이며, 다양한 기능이 수용될 수 있어야 한다. 따라서, 회로 제조업자는 개별적인 부품 사이의 이러한 유익한 영역을 분할한다. 점점 복잡해지는 암호화 알고리즘과 관련하여, 칩 제조업자의 노력은, 심한 메모리를 작동시키고 있는 알고리즘 조차도 허용 시간에 계산할 수 있는 최대량의 메모리를 가진 칩과 관련되어 있다. 따라서, 키 생성기 및 다른 이러한 구성 요소에 있어서의 칩 영역은, 임의의 주어진 칩 영역 상에 상당량의 메모리를 수용할 수 있게 하기 위해서 가능한 한 작게 유지되어야 한다.
따라서, 각각 키 생성기와, 의사 랜덤 시퀀스의 번호를 생성하는 장치에 있어서, 한편으로는 보안되고, 다른 한편으로는 가능한 한 작은 공간을 필요로 하는 것이 일반적인 조건이며, 이는 최하의 가능한 하드웨어 비용을 발생하는 것을 의미한다.
보다 복잡한 난수 생성기에 있어서의 다른 실시예가 도 8에 예시적으로 도시되어 있다. 도 8은 예를 들어, 도 7과 관련해서 예시된 바와 같이 구성될 수 있으며 도 8에서 81, 82, 83, 84로 표시되는 다수의 선형 시프트 레지스터를 나타낸다. 56a, 56b, 56c, 56d로 표시되는 모든 선형 시프트 레지스터(81, 82, 83, 84)의 출력 신호는 출력단에 전달되어 최종적으로 출력단(85)의 출력(86)에서 출력측의 일련 번호를 얻게 된다. 몇몇 선형 피드백 시프트 레지스터(LFSR)의 이러한 조합은 몇몇 LFSR의 출력이 출력단(85)에 의해 구현되는 소위 부울 조합 함수에 있어서의 입력 신호로서 작용한다는 것을 의미하며, 여기서, 설명된 출력 신호는 최종적으로 키 시퀀스로 될 수 있다.
독일 특허청에 2004년 3월 18일에 출원된 미공개 독일 특허 출원 제 102004013481.2-42 호에, 시프트 레지스터가 선형 피드포워드 로직을 구비하고 있는 난수 생성기를 기재하고 있다. 이는 하위 시프트 레지스터의 상이한 셀(플립 플롭)이 출력을 구비하고 있음을 의미한다. 이들 셀의 출력은 비선형 함수의 입력 신호를 다시 형성한다. 이 함수의 출력 신호는 키 시퀀스로서 사용될 수 있다.
선형 시프트 레지스터(LFSR)가 하위 시프트 레지스터로서 사용되면, 이들 키 생성기의 보안은 이상적이지 않다. 선형 시프트 레지스터를 기반으로 하는 시스템에 대한 공격이 발견되었다. 이들 공격은 XL 알고리즘 하에서 요약된다. XL은 확장된 선형성을 나타낸다. XL은 과다하게 과잉 정의된 대수 방정식 시스템을 효율적으로 푸는 발견적 방법을 나타낸다. 과잉 정의의 의미는, 미지의 변수보다 많은 방정식이 있다는 것이다.
이들 공격은 Advances in Cryptology EUROCRYPT 2000(B. Preneel, ed.), Lecture Notes in Computer Science, 권 1807, 392-407쪽, Springer-Verlag, 2000. Shamir, Patarin, Courtois, Klimov: "Efficient Algorithms for Solving Overdefined Systems of Multivariate Polynomial Equations"에 예시되어 있다.
추가의 중요한 논문은, N. Courtois 및 W. Meier: Algebraic attacks on stream ciphers with linear feedback, Advances in Cryptology, EUROCRYPT 2003 (E. Biham, ed.), Lecture Notes in Computer Science, 권 2656, 345-359쪽, Springer-Verlag, 2003이다.
따라서, 선형 시프트 레지스터는 높은 등급의 보안을 필요로 하는 애플리케이션에 더 이상 사용될 수 없다.
본 발명의 목적은 한편으로 보안을 특징으로 하며 다른 한편으로는 효율성을 특징으로 하는 난수를 생성하는 개선된 개념을 제공하는 것이다.
본 발명은, 비선형 피드백을 가진 적어도 2개의 시프트 레지스터가 사용될 때, 한편으로는 최적의 보안과, 다른 한편으로는 높은 효율성이 달성될 수 있다는 사실을 기반으로 하며, 여기서, 비선형 피드백을 가진 모든 시프트 레지스터는 선형 피드포워드를 의미하는 선형 결합 수단을 가지며, 비선형 피드백을 가진 시프트 레지스터로부터 출력 데이터 시퀀스를 생성하며, 여기서, 비선형 피드백을 가진 모든 시프트 레지스터의 출력 데이터 시퀀스는 조합 수단에 의해 조합되어 최종적으로 일련 번호를 얻게 된다.
비선형 피드백을 가진 단일(큰) 시프트 레지스터 대신에 비선형 피드백을 가 진 몇몇 (작은) 시프트 레지스터를 이용하면, 2개의 작은 시프트 레지스터의 출력 시퀀스의 주기성이 비선형 피드백을 가진 개별적인 시프트 레지스터의 주기성의 곱과 동일하기 때문에, 칩 영역을 절약할 수 있으며, 결과적으로, 보다 작은 개수의 메모리 셀을 가진 2개의 시프트 레지스터를 이용함에도 불구하고, 출력 시퀀스의 주기성을 얻게 되며, 여기서, 비선형 피드백을 가진 단일 시프트 레지스터로 동일한 효과를 달성함에 있어서, 개별적인 레지스터의 메모리 셀의 합보다 상당히 많은 메모리 셀이 필요할 수 있다. 따라서, 본 발명의 개념은, 회로 설계자가 큰 개별적인 시프트 레지스터를 수용하기 위해 칩의 큰 스폿을 필요로 하지 않기 때문에, 칩 영역을 효율적으로 하며 특히, 융통적으로 적용할 수 있다. 대신에, 칩 상의 몇몇 작은 스폿이 충분하며, 여기서, 몇몇 작은 개별적인 시프트 레지스터가 배치되고, 최종적으로 합성될 수 있다.
따라서, 본 발명의 개념은, XL 공격이 실패할 수 있는 비선형 시프트 레지스터가 사용된다는 점에서, 보다 보안적이다. 이상으로, 단일의 큰 시프트 레지스터의 규칙적인 구조가, 칩 상에서 바로 인접하게 배치되어 있지 않지만 칩 상의 상이한 위치에 배치되어 있는 몇몇 작은 시프트 레지스터에 비해 상당히 명확하게 볼 수 있기 때문에, 공격자가 칩을 그라인딩 개방 및 조사함으로써 몇몇 작은 시프트 레지스터를 단일의 큰 시프트 레지스터로서 검출하기에는 상당히 어렵다.
본 발명의 바람직한 실시예에서, 2N-1의 주기를 생성하는 개별적인 시프트 레지스터가 사용되며, 여기서, N은 시프트 레지스터에서의 메모리 셀의 개수이다. 개수 0과 1을 가질 뿐만 아니라, 임의의 수 q를 가진 유한 본체의 경우에, 바람직한 시프트 레지스터의 주기는 qN-1이다. 약간 작은 주기가 허용된다. 최대 달성가능 주기 2N은 약간 짧은 주기 2N-1와 같이 조합 및 수학적인 예측가능성에 그다지 적절하지 않다.
바람직한 실시예에서, 피드포워드 수단을 의미하는 선형 결합 수단은 유한 본체의 각각의 원소를 가진 시프트 레지스터 내의 몇몇 개별적인 메모리 셀의 출력을 승산한 후에 이들 출력을 선형의 방식으로, 예를 들어, XOR 게이트 또는 XNOR 게이트에 의해 조합하여 대응하는 시프트 레지스터의 출력 데이터 시퀀스를 제공하며, 이는 다시 다른 시프트 레지스터의 다른 출력 데이터 시퀀스와 함께 조합 수단에 다시 전달되어 유한 본체로부터 출력 일련 번호를 조합의 임의의 방식, 바람직하게 원소 게이트와 같은 부울 조합 원소에 의해 생성하기에 효과적이다.
본 발명의 바람직한 실시예는 첨부한 도면을 기준으로 이하에 설명될 것이다.
도 1은 유한 본체로부터 일련 번호를 생성하는 본 발명의 장치를 도시한다. 본 장치는 비선형 피드백(101)과 제 1 개수의 N 메모리 셀을 가진 제 1 시프트 레 지스터(10)를 포함하며, 여기서, 예를 들어, 메모리 셀(SZ0)은 102로 표시된다. 추가로, 제 1 레지스터는 바람직하게 선형 결합 수단으로서 구현되는 결합 수단(103)을 포함하며, 메모리 셀(102)의 출력 시퀀스를 조합하여 제 1 시프트 레지스터의 출력(104)에서 제 1 데이터 시퀀스를 생성하며, 이는 제 1 시프트 레지스터(10)의 최종 결과이다. 본 발명의 장치는 제 1 시프트 레지스터(10)와 관련하여 설명된 바와 동일한 구성 요소, 즉, 비선형 피드백 수단, 다수의 메모리 셀, 제 1 시프트 레지스터(10)에서와 같이 비선형으로 바람직하게 구현되는 결합 수단을 포함하는 제 2 시프트 레지스터(20)를 포함한다. 제 2 시프트 레지스터(20)는 출력(204)에서 제 2 데이터 시퀀스를 제공하며, 이는 조합 수단(12)에서 항 단위로, 2진 유한 본체인 경우에는 비트 단위로 제 1 데이터 시퀀스에 링크되어, 도 1에 도시된 본 발명의 번호 생성기 수단의 출력(14)에 일련 번호를 생성한다. 유한 본체가 2진의 유한 본체 링크 원소 0 및 1이면, 출력(14)에서의 일련 번호는 비트 시퀀스일 수 있다. 그러나, 유한 본체가 예를 들어, 0 내지 9의 번호를 포함할 수 있는 본체이면, 출력(14)에서의 일련 번호는 0 내지 9의 값을 가질 수 있는 일련 번호일 수 있다.
출력(14)에서 획득된 일련 번호의 수학적인 예측 가능성은, 시프트 레지스터가 이러한 비선형 피드백 특성(101)을 가질 때 최적이며, 메모리 셀(SZi)의 출력 시퀀스의 주기성은 2N-1이다. 또 다시, 이는 동일한 주기성을 가진 선형 결합 수단(103)에 의해 생성되는 제 1 데이터 시퀀스로 된다.
도 1과는 대조적으로, 도 2에 도시된 실시예에서, 임의 수(n)의 시프트 레지스터(10, 20, 30, 40)는 임의 수의 i 출력 데이터 시퀀스(104, 204, 304, 404)를 조합하여 최종적으로 출력(14)에서 일련 번호를 구하는 조합 수단(12)에 결합된다.
도 3은 3개의 상이한 블록, 즉, 비선형 피드백 수단(101)으로 이론상 분리될 수 있는 시프트 레지스터(10, 20, 30, 40)의 바람직한 실시예를 도시하며, 바람직하게 직렬로 배치된 메모리 셀의 시퀀스는, X0로 표시된 최하위 메모리 셀(102a)과 XN-1로 표시된 최상위 메모리 셀(102b) 사이에서 확장한다. 바람직하게, 모든 메모리 셀의 모든 출력은 선형 결합 수단(103) 뿐만 아니라, 비선형 피드백 수단(101)에 모두 결합될 수 있다. 선형 조합은 바람직하게, 예를 들어, XNOR 게이트로서 설계될 수 있는 XOR 게이트(103a)에 의해 수행되어 입력 신호의 선형 조합을 구한다. 모든 입력 신호는 스위치(103b)로부터 발생하며, 이러한 스위치(103b)는 시프트 레지스터의 모든 출력을 구비한다. 추가로, 메모리 셀의 모든 출력은 유한 본체의 원소와 승산되도록 형성되며, 여기서, 또한 승산기 또는 가중 수단(103c) 각각은 c0 내지 cN -1로 표시된다. c1은 모든 메모리 셀(xi)에 있어서, 소프트웨어 또는 바람직하게 소프트웨어로 시프트 레지스터(10)에서 고정 방식으로 바람직하게 프로그래밍되는 원소이다. 유한 본체가 원소 0과 1을 단지 갖는 유한 본체이면, ci는 0 또는 1이다. 그러나, 유한 본체가 예를 들어, 번호 0, 1, 2,..., 8, 9를 포함하는 유한 본체이면, ci은 0과 9 사이의 정수이다.
스위치(103b)가 바람직하게 제공된다는 것을 알아야 한다. 도 3에 도시된 시프트 레지스터는 이용 용도로 구성될 수 있다는 점, 즉, 예를 들어, 몇몇 (모두가 아닌) 메모리 셀(xi)이 대응 원소(ci)에 의한 가중에 따라서, XOR 게이트(103a)로 전달되는 것을 의미하는 몇몇 스위치가 폐쇄된다는 점에서 기호화된다.
이상으로, 도 3의 메모리 셀(x0, x1, x2)의 출력 시퀀스와 같이 원소(103c)에 의한 XOR 게이트로의 가중 후에, 다수의 하위 메모리 셀만을 전달하고, 메모리 셀(xN-1, xN -2, xN -3)의 출력 시퀀스는 선형 결합 수단에 사용되지 않는 것이 바람직하다. 일반적으로, 도 3의 좌측 상의 메모리 셀을 의미하는 하위 메모리 셀의 대략 40 내지 60%을 이용하고, 게이트(103a)를 의미하는 선형 결합 수단에 의한 조합으로 상위 메모리 셀의 남은 60 내지 40%을 의미하는 남은 상위 메모리 셀을 이용하지 않는 것이 바람직하다.
메모리 셀의 일부가 결합 수단에 의해 조합되는 이러한 시퀀스는, 데이터 시퀀스가 모든 메모리 셀(x0 내지 xN -1)의 조합을 기반으로 하는 선형 결합 수단의 출력에서 생성될 때보다 물리적인 난수 소스와 같이 동작한다는 것을 알았다.
예를 들어, 10개의 메모리 셀을 가진 시프트 레지스터와 관련하여 이하에 설명될 것이다. 5개의 하위 메모리 셀의 출력 시퀀스가 도 3의 XOR 게이트(103a)에 의해 x0,...,x4로서 조합된다고 가정할 수 있다. 대조적으로, x5,...,x9를 의미하는 상위 메모리 셀은 조합을 입력하지 않는다. 이들 메모리 셀에 있어서, 스위치 (103b)는 개방된다.
이로써, 모든 집합의 통계적인 등분포가 출력 데이터 시퀀스에 발생되며, 출력 데이터 시퀀스는 조합된 하위 메모리 셀의 개수와 동일한 길이를 갖는다. 이는, 모두 0과 1을 의미하는 k=1를 갖는 집합이 제 1 데이터 시퀀스에서 동일 주기성으로 나타난다는 것을 의미한다. 이상으로, (0, 0), (0, 1), (1, 0), (1, 1)를 의미하는 k=2를 갖는 모든 집합은 출력(104)에서 제 1 데이터 시퀀스의 동일 주기성으로 발생한다. k=3, k=4, k=5를 갖는 집합에 대해서도 적용된다. 그러나, k=6, k=7, k=8, k=9를 갖는 집합에 대해서는 적용되지 않는다. 여기서, 각각의 k 집합이 도 3의 시프트 레지스터의 출력(104)에서 제 1 데이터 시퀀스에 얼마나 자주 나타나는지의 편차가 통계적인 범위내에서 존재한다. 데이터 시퀀스의 이상적인 통계로부터 이러한 실질적인 "저하"에 의해, 도 3의 시프트 레지스터의 이상적인 통계 데이터 시퀀스의 인공 특성이 "희미해진다".
보다 큰 집합에 대한 이상적인 통계값으로부터의 편차의 계획적인 도입으로, 공격자는 일련 번호를 볼 때, 이러한 일련 번호가 노이즈 소스와 같이 실제 난수 생성기에 의해 제공되는 것이 아니라 의사 난수 생성기에 의해 제공된다는 것을 바로 알 수 없다. 알 수 있는 바와 같이, 실제의 물리적인 난수 생성기는 이상적인 통계값을 갖지 않는 것이 아니라, 항상 이상적인 통계값으로부터의 편차를 갖는다. 물리적인 난수 생성기의 출력 데이터가 장기간 동안 관찰될 때에만, 출력 시퀀스가 이상적인 통계값으로 될 것이다. 그러나, 이는, 예를 들어, 온도, 전류 등을 의미하는 난수 생성기의 조건이 변하지 않을 때만 적용된다. 노이즈 소스가 동일한 온 도와 동일 전류로 무한량의 시간동안에 동작될 수 있도록 보장할 수 없음을 의미하는, 물리적인 난수 생성기의 조건은 관찰 시간 동안에 대부분 변하기 때문에, 제한 (작은) 프레임 내에 있는 이상적인 통계값으로부터의 편차가, 생성된 일련 번호를 종합적인 미실제의 난수 시퀀스와 같이 보이도록 하는 것이 아니라, 실제 노이즈 생성기에 의해 생성된 실제 난수 시퀀스처럼 보이도록 하는 것을 알 수 있다.
도 4a는 피드포워드 결합 수단 내의 N=11개의 메모리 셀에 있어서의 피드백 함수 F(x)를 도시하며, 여기서, F(x)는 도 4a에 표시되며, 인버터(216)뿐만 아니라, 2개의 AND 게이트(212, 213)와 2개의 XOR 게이트(214, 215)를 포함한다. 이로써, 도 4a에 도시된 피드백 특성 F(x)이 구현될 수 있다.
다른 피드백 특성 G(x)가 가능한 구현과 함께 도 4b에 도시되어 있다. 2개의 피드백 특성 F(x)와 G(x)는 AND 게이트(212)와 XOR 게이트(214)를 공유함을 알 수 있다. 도 4b에 도시된 실시예에서, 추가적인 XOR 게이트(219) 뿐만 아니라 다른 XOR 게이트(218)가 필요하다. 도 4a 및 도 4b에 표시된 2개의 방정식 F(x) 및 G(x)의 영역은 2개의 피드백 특성에 의해 공유되는 부분 x1 x4 + x0를 나타내며, 여기서, 이러한 항의 공유 이용은 하드웨어를 절약하는 기능을 한다.
도 4a 또는 도 4b에 도시된 시프트 레지스터에서, 모든 출력 시퀀스는 시프트 레지스터의 11개의 셀과 바람직한 비선형 피드백으로 인해, 211-1=2047 및 211-2=2046의 선형 복잡성을 갖는다. 피드백 함수가 또한 예시되며, 여기서, 기호 위의 대시(dash)는 2진 여집합을 의미한다.
도 5a 및 도 5b는 도 4에 도시된 변경 스위치(203)를 기반으로 하여 구현될 수 있는 2개의 상이한 피드백 수단 F(x)와 G(x)를 가진 4개의 셀 시프트 레지스터에 대한 추가적인 가능성을 도시한다. 또한, 피드백 수단은 하나의 AND 게이트와 3개의 XOR 게이트와 같이 도 5a의 제 1 조합 수단의 형태로 구성되며, 도 5b에 도시된 제 2 피드백 수단에 대한 조합 수단은 또한 2개의 AND 게이트와 3개의 XOR 게이트를 포함한다. 도 5a 및 도 5b의 "협력"이 도 5c에 도시되어 있으며, 여기서, 또한, 변경 스위치(203)와 함께, 2개의 AND 게이트와 3개의 XOR 게이트가 사용되어, 변경 스위치(203)에 공급된 신호(z)에 따라서, 피드백 특성 F(x) 및 G(x)를 각각 활성화 및 비활성화한다.
이미 설명된 바와 같이, 도 5a, 5b, 4a, 4b의 모든 시프트 레지스터 각각이 비선형, 즉, 예를 들어, 로직 레벨 상에서 고려된 AND 게이트인 비선형 승산 원소와 같은 비선형 원소를 포함하는 것이 바람직하다.
도 6은 F(x0, x1,..., xn -1)로 표시된 피드백 수단 뿐만 아니라 피드포워드 수단을 가진 메모리 셀(D0,...,Dn -1)을 갖는 일반적인 피드백 시프트 레지스터를 도시한다.
베이스 본체 GF(2) = {O, 1}에 걸친 일반적인 n 단(또는 n 셀) 피드백 시프트 레지스터가 고려될 수 있다. 시프트 레지스터는 n개의 메모리 셀(플립 플롭)(D0, D1,...,Dn -1)과 피드백 함수 F(x0, x1,..., xn -1)의 (전자적인) 실현으로 구성된다. 피드백 함수는 0 또는 1의 값을 의미하는 GF(2)의 명확한 값을 n 비트로 구성 된 모든 n 집합에 연관시킨다. 수학적인 용어로, F는 정의 영역 GF(2)n와 목표 영역 GF(2)을 갖는 함수이다.
시프트 레지스터는 외부 클록에 의해 제어된다. 메모리 셀(Dj)의 내용은 각각의 클록 속도로 좌측 인접 셀(Dj -1)로 시프트된다. 여기서, 1≤j≤n-1이다. 메모리 셀(D0)의 내용은 출력된다. 시간 t에서의 메모리 셀(D0, D1,...,Dn -2, Dn -1)의 내용이 st, st+1,..., st+n-2, st+n-1로 주어지면, 클록 속도가 늦춰지며, 이는 시간 t+1에서, 메모리 셀이 비트 st+1, st+2,..., st+n-1, st+n를 포함할 수 있음을 의미하며, 여기서, 셀(Dn -1)에 입력된 값(st+n)은 st+n = F(st, st+1,..., st+n-1)로 주어진다.
n 집합(st, st+1,..., st+n-1)은 시간 t에서 시프트 레지스터의 상태를 나타낸다. n 집합(s0, s1,..., sn -1)은 초기 상태라 한다. FSR(F)가 피드백 함수 F(FSR은 피드백 시프트 레지스터를 나타냄)을 가진 일반적인 피드백 시프트 레지스터에 대한 약어로서 사용된다. 도 6은 일반적인 피드백 시프트 레지스터를 나타낸다.
시프트 레지스터는 외부 클록의 각각의 클록을 가진 1 비트를 출력한다. 일한 방식으로, 시프트 레지스터는 소위 시프트 레지스터 시퀀스인 주기적인 비트 시퀀스(s0, s1, s2,...,)를 생성할 수 있다. s0, s1,...sn -1가 시프트 레지스터 시퀀스의 초기값이라고 한다. 피드백 함수 F(x0, x1,..., xn -1)와 초기값(s0, s1,...sn-1)은 시프트 레지스터 시퀀스를 완전히 결정한다. 시프트 레지스터에 대해서 2n개의 상이한 상태만이 있기 때문에, 시프트 레지스터 시퀀스(s0, s1, s2...,)의 주기는 최대 2n이다.
일반적인 피드백 시프트 레지스터 FSR(F)은, 그의 피드백 함수(F)가 동차수이면, 즉, F(0, 0, ..., 0) = 0이 적용되면, 소위 동차수일 수 있다. 초기 상태(s0 = s1 =...= sn -1 = 0)에 있는 동차수의 시프트 레지스터는 0의 시퀀스를 생성할 것이다. n단의 동차수 시프트 레지스터의 출력 시퀀스의 주기는 최대 2n-1일 것이다. 주기가 최대값 2n-1을 취하면, 시프트 레지스터 시퀀스는 M개의 시퀀스라고 하며 시프트 레지스터는 최대값이다. 최대 시프트 레지스터를 찾는 것이 중요한 작업이다.
일반적인 피드백 시프트 레지스터의 2개의 특별한 경우가 특히 관심이 있다. 하나의 경우에, 피드백 함수(F)는
Figure 112005043190376-PAT00001
의 형태를 가지며, 여기서, 계수 aij는 0 또는 1이다. 이러한 경우에, 이를 예를 들어, 비선형 피드백 함수에 대해서 제곱 피드백 함수라 하며, 또한, 항 제곱이 시프트 레지스터에 적용된다.
피드백 함수(F)가 선형일 때 다른 특별한 경우가 발생한다. F는 다음의 형 태를 가지며,
Figure 112005043190376-PAT00002
여기서, 발생하는 계수(ai)는 GF(2)의 원소를 의미하는 0 또는 1이다. 이러한 경우에, 이를 선형이라 하거나 선형 피드백 시프트 레지스터라 하며, 약어 LFSR(선형 피드백 시프트 레지스터)가 사용된다. 선형 피드백과 제곱 피드백 시프트 레지스터는 모두 동차수임을 알아야 한다.
일반적으로, n 단의 선형 피드백 시프트 레지스터는 변수 x의 등급 n의 2진 다항식 f(x)를 특징으로 한다. 이러한 다항식 f는 선형 피드백 시프트 레지스터의 특성 다항식이라 한다. 시프트 레지스터는 LFSR(f)로서 기록된다.
선형 피드백 시프트 레지스터의 피드백 함수 F(x0, x1,...,xn -1)는 등급 1의 n개의 변수(x0, x1,...,xn -1)의 다항식이다. 대조적으로, 동일한 선형의 시프트 레지스터의 특성 다항식 f(x)는 단지 하나의 변수, 즉, 등급 n이 아닌 x를 갖는 다항식이다. 다음이 적용된다.
Figure 112005043190376-PAT00003
따라서, 피드백 함수의 비선형성은 피드백 함수 F의 상대적으로 임의의 형태에 의해 수행될 수 있다. 그러므로, 기본적으로, 2개의 메모리 셀(Di, Di +1)의 출력 신호를 승산하기에 충분할 것이며, 이는 결과적으로 제곱 시프트 레지스터로 될 것이다. 물론, 2 이상의 메모리 셀의 출력이 승산되거나 비선형 함수의 영향을 받을 것이다. 그러나, 이론적으로, 피드백은, 예를 들어, 메모리 셀(D0)의 출력 신호를 단지 피드백하고, 이들을 함수 F(x0)에 전달하고 예를 들어, 이러한 함수의 출력 신호를 입력측 상의 메모리 셀(Dn -1)에 전달함으로써, 단일 메모리 셀의 하나의 출력 신호만으로 또한 수행될 수 있다. 단일값을 가진 이러한 비선형 함수는 예를 들어, 로직 NOT 함수를 의미하는 반전일 수 있다. 그러나, 비선형 함수는 또한 다른 함수, 예를 들어, 비선형 관련 함수 또는 암호화 함수일 수 있다.
이미 설명된 바와 같이, 긴 시퀀스 비트, 또는 보다 일반적인 용어로 유한 본체로부터의 원소를 생성하는 본 발명의 장치는, 한편으로는 상대적으로 낮은 하드웨어 비용을 필요로 한다는 것과, 다른 한편으로는, 알맞은 특성을 가진 시퀀스를 생성한다는 점에서 바람직하다. 이러한 알맞은 특성은 긴 주기, 높은 선형 복잡성, 양호한 분포 특성, 이상적인 다항식 복잡성(최대 또는 복잡성)이다. 따라서, 키 시퀀스를 생성하는 본 발명의 장치는 스트림 암호화에 이용하기에 또한 적합하다. 추가로, 본 발명의 장치는 파라미터의 의사 난수 생성기(PRNG)로서 또한 사용될 수 있다.
이미 설명된 바와 같이, 본 발명의 해결책은 비선형 피드백 시프트 레지스터(NLFSR)를 기반으로 한다. 그러므로, 바람직하게, 결과적으로 낮은 개수의 게이트에 의해 값싸게 하드웨어를 구현할 수 있는 상대적으로 드물게 차지하는 귀납적 공식에 의해 기술될 수 있는 피드백 함수를 가진 이러한 NLFSR가 사용된다. 추가로, 출력 시퀀스가 긴 주기를 가지며 비선형 피드백을 가진 이러한 시프트 레지스터가 바람직하다. 드물게 차지하는 귀납적 공식과 관련하여, 메모리 셀의 절반 이하 또는 절반과 동일한 상태가 입력될 때, 이러한 귀납적 공식이 바람직하다는 것을 알 수 있다. 따라서, 대략 10개의 메모리 셀을 가진 시프트 레지스터에서, 5개 또는 5개 미만의 메모리 셀의 각각의 출력 시퀀스는 비선형 피드백 함수를 입력할 수 있다.
본 발명의 비선형 시프트 레지스터가 정확하게 N개의 플립 플롭(메모리 셀의 설계에 따라)을 갖는다면, 2진의 경우가 고려될 때, 2N의 최대 주기를 가질 수 있으며, 또는 차수 = 양 q의 기반이 되는 유한 본체의 일반적인 경우에, qN을 가질 수 있다. 그러나, 이러한 최대 가능한 주기의 시프트 레지스터는 본 발명에 있어서는 차선의 선택이다. 생성된 시퀀스가 최대 가능 시퀀스보다 작으며, 비선형 피드백을 갖는 시프트 레지스터를 이용하는 것이 바람직하며, 이는 각각 주기 2N-1 및 qN-1의 시퀀스를 생성하는 비선형 피드백을 갖는 시프트 레지스터를 의미하며, 여기서, 약간 작은 주기, 즉, 예를 들어, 2N-1보다 길거나 같은 주기가 여전히 바람직하다.
본 발명에 따르면, N개의 플립 플롭을 가진 이러한 비선형 시프트 레지스터는 N개의 출력을 포함한다. 도 3과 관련하여 나타낸 바와 같이, 모든 출력은 개방 또는 폐쇄될 수 있는 스위치를 구비할 수 있다. 모든 스위치가 폐쇄될 때, N개의 출력 시퀀스가 존재한다. 이들은 유한 본체 원소(ci)와 항 단위로 승산되며, 이러 한 방식으로 생성된 시퀀스는 XOR 게이트(103a)를 통해 링크된다.
환언하면, 비선형 시프트 레지스터는 파라미터 선형 피드포워드 함수를 구비한다. 본 발명의 번호 생성기 장치는 길이가 바람직하게 쌍을 이루는 소수인 비선형의 피드백을 갖는 몇몇 시프트 레지스터로 구성된다. 이는, 2개의 시프트 레지스터(10, 20)(도 1)의 2개의 번호(N, M) 간의 최대 공통 약수는 최대 1임을 의미한다. 비선형 피드백을 가진 모든 시프트 레지스터는 파라미터 선형 피드포워드 로직을 갖는다. 상이한 피드포워드 로직의 출력 시퀀스는, 조합 수단(12)(도 1)에 바람직하게 존재하는 부울 조합 함수의 도움으로, 최종 키 시퀀스와 의사 랜덤 시퀀스에 각각 조합된다.
본 발명의 장치, 본 발명의 방법 및 본 발명의 컴퓨터 프로그램을 나타내는 본 발명의 개념은 다음의 장점을 갖는다.
본 발명의 장치는 XL 알고리즘을 이용하여 공격에 대항한다(포인트 2를 참조).
본 발명의 장치는 파라미터화되며, 모든 발생한 NLFSR의 셀의 점유도는 암호화 키(또는 의사 난수 생성의 항목에서의 시드)를 구성한다. 개별적인 NLFSR의 셀로부터의 출력의 스위치의 위치는 파라미터 가능성을 구성한다.
이러한 NLFSR의 피드포워드 로직으로부터의 출력 시퀀스는 일반적으로 NLFSR로부터의 다이렉트 출력 시퀀스와 동일한 긴 주기와 동일한(높은) 선형 복잡성을 갖는다는 것을 알 수 있다.
NLFSR의 셀의 제 1 절반이 출력되어 선형 피드포워드 로직으로 전달되면, 피 드포워드 로직으로부터의 출력 시퀀스는 양호한 통계적 특성을 갖는다는 것을 또한 알 수 있다. 그 다음, 출력 시퀀스는 2진수의 경우에 동일한 양의 0과 1을 갖는다. 쌍(0, 0), (0, 1), (1, 0), (1, 1)은 1 주기 내에서 동일한 주기성을 갖는다. k가 N/2보다 높지 않는 한, 동일한 경우가 모든 가능한 k 집합에 대해 적용된다. 이들 이상적인 분포 특성은 대응 방식으로 차수 q의 유한 본체의 일반적인 경우에 또한 적용된다.
피드포워드 로직으로부터의 출력 시퀀스는 최대 차수의 복잡성의 이상적인 값을 일반적으로 갖는다. NLFSR이 정확하게 N개의 셀을 가질 때, 다이렉트 출력 시퀀스는 최대 차수의 복잡성 N을 갖는다. 대조적으로, 피드포워드 함수로부터의 출력 시퀀스는 최대 차수의 복잡성 N/2을 일반적으로 갖는다(길이 2N의 실제 랜덤 시퀀스는 또한 최대 차수의 복잡성 2N을 가질 수 있다).
따라서, 바람직하게, 본 발명의 번호 생성기는, 출력 시퀀스가 부울 조합 함수의 도움으로 항 단위로 조합되어 최종 시퀀스를 생성하는, 구성가능 피드포워드 로직을 가진 특정의 비선형 피드백 시프트 레지스터를 갖는다. 이러한 시퀀스는, 비제네레(VIGENERE) 암호화 측면에서 암호화하는데 사용되며, 암호화 이외의 다른 용도로, 즉, 시뮬레이션 용도 등으로 의사 난수로서 작용한다.
이미 설명된 바와 같이, 본 발명의 장치는 유한 본체 Fq로부터의 원소의 시퀀스를 생성할 수 있다. 중요한 특정의 경우에 있어서, q=2가 적용되며, 즉, Fq = F2 = GF(2)이다. 유한 본체(F2)의 원소는 2진수의 경우에 비트를 의미하는 0 또는 1이다.
도면에서, 피드백 함수가 Fq N 에서 Fq까지 도시되어 있다. 이는 피드백 로직이 유한 본체 Fq의 산술적인 연산에 의해 표현될 수 있다는 것을 의미한다. 여기서, N은 시프트 레지스터의 메모리 셀의 개수이다. N은 또한 시프트 레지스터의 길이를 의미한다. 모든 메모리 셀이 Fq로부터의 원소를 저장할 수 있다.
이미 설명된 바와 같이, 다이렉트 출력 시퀀스가 주기 qN-1을 갖는 이러한 비선형 시프트 레지스터는 베이스로서 사용되며, 여기서, N은 시프트 레지스터의 길이이다. 추가로, 시프트 레지스터의 길이가 쌍의 소수인 것이 바람직하다. 추가로, 선형 피드포워드 로직이 바람직하다. 모든 스위치가 폐쇄되면, 다음이 적용된다.
Figure 112005043190376-PAT00004
계수(c0, c1,...,cN -1)는 Fq로부터의 원소이다.
환경에 따라서, 일련 번호를 생성하는 본 발명의 방법은 하드웨어 또는 소프트웨어로 구현될 수 있다. 본 방법이 수행되도록 프로그램가능 컴퓨터 시스템과 협동할 수 있는 전자적으로 판독가능한 제어 신호로 디지털 메모리 미디어, 특히, 디스크 또는 CD 상에 실행될 수 있다. 따라서, 일반적으로, 본 발명은, 컴퓨터 프로그램 제품이 컴퓨터 상에서 동작할 때, 본 발명의 방법을 수행하기 위해 기계적으로 판독가능한 캐리어 상에 저장된 프로그램 코드를 가진 컴퓨터 프로그램 제품 으로 구성된다. 환언하면, 본 발명은, 컴퓨터 프로그램이 컴퓨터 상에서 동작할 때 본 방법을 수행하기 위한 프로그램 코드를 가진 컴퓨터 프로그램으로서 실현될 수 있다.
본 발명에 따르면, 한편으로 보안을 특징으로 하며 다른 한편으로는 효율성을 특징으로 하는 난수를 생성하는 개선된 개념을 제공할 수 있다.

Claims (20)

  1. 일련 번호를 생성하는 장치에 있어서,
    비선형 피드백(101)과, 제 1 개수의 메모리 셀(102)과, 제 1 결합 수단(103)에 의해 상기 제 1 개수의 메모리 셀에 결합된 제 1 출력(104)을 가진 제 1 시프트 레지스터(10)와,
    비선형 피드백과, 제 2 개수의 메모리 셀과, 제 2 결합 수단에 의해 상기 제 2 개수의 메모리 셀에 결합된 제 2 출력(204)을 가진 제 2 시프트 레지스터(20)와,
    상기 제 1 출력(104)에서의 데이터 시퀀스와 상기 제 2 출력(204)에서의 데이터 시퀀스를 조합하여 상기 일련 번호를 얻는 조합 수단(12)
    을 포함하는 일련 번호 생성 장치.
  2. 제 1 항에 있어서,
    상기 제 1 결합 수단(103) 또는 상기 제 2 결합 수단은 선형 결합 수단인 일련 번호 생성 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 시프트 레지스터(10) 또는 상기 제 2 시프트 레지스터(20)는, 상 기 제 1 개수의 메모리 셀과 상기 제 2 개수의 메모리 셀이 쌍을 이루는 소수, 즉, "1"을 제외한 공통 약수를 갖지 않도록 형성되는 일련 번호 생성 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 개수와 상기 제 2 개수는 5 이상인 일련 번호 생성 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 시프트 레지스터 또는 상기 제 2 시프트 레지스터는, 메모리 셀에서의 상기 시프트 레지스터의 출력 시퀀스는 2N-1 이하의 주기를 갖도록 형성되며, N은 상기 시프트 레지스터의 메모리 셀의 개수인 일련 번호 생성 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 시프트 레지스터 또는 상기 제 2 시프트 레지스터는, 상기 시프트 레지스터의 출력 시퀀스가 2N-1 이상의 주기를 갖도록 형성되며, N은 상기 시프트 레지스터의 메모리 셀의 개수인 일련 번호 생성 장치.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 시프트 레지스터(10) 또는 상기 제 2 시프트 레지스터(20)는, 상기 시프트 레지스터의 적어도 2개의 메모리 셀의 출력을 조합하도록 형성된 피드백 수단(101)을 포함하도록 형성된 일련 번호 생성 장치.
  8. 제 7 항에 있어서,
    상기 제 1 시프트 레지스터(10) 또는 상기 제 2 시프트 레지스터(20)는, N/2 이하의 메모리 셀의 출력을 조합하도록 형성된 피드백 수단(101)을 포함하도록 형성되며, 여기서, N은 상기 시프트 레지스터의 메모리 셀의 개수인 일련 번호 생성 장치.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 결합 수단(103) 또는 상기 제 2 결합 수단은 적어도 2개의 메모리 셀의 출력 시퀀스 또는 적어도 2개의 메모리 셀의 출력 시퀀스로부터 도출되는 시퀀스를 조합하도록 형성된 일련 번호 생성 장치.
  10. 제 9 항에 있어서,
    상기 제 1 결합 수단(103) 또는 상기 제 2 결합 수단은 상기 출력 시퀀스 또는 XOR 게이트(103a) 또는 XNOR 게이트에 의해 비트 단위로 상기 출력 시퀀스로부터 도출된 시퀀스를 조합하여 상기 일련 번호를 얻도록 형성된 일련 번호 생성 장치.
  11. 제 9 항에 있어서,
    상기 제 1 시프트 레지스터(10) 또는 상기 제 2 시프트 레지스터(20)는, 상기 메모리 셀이 직렬로 접속되도록 형성되며, 여기서, 하위 메모리 셀(102a)과 상위 메모리 셀(102b)이 존재하며, 피드백 수단(101)의 출력은 상기 상위 메모리 셀의 입력에 연결되며, 상기 결합 수단(103)은 하위 메모리 셀만을 결합하지만 상위 메모리 셀을 서로 결합하지 않도록 형성된 일련 번호 생성 장치.
  12. 제 11 항에 있어서,
    상기 결합 수단은 N-3 이하의 상위 메모리 셀을 서로 결합하도록 형성되지 만 적어도 3개의 하위 메모리 셀을 서로 결합하지 않도록 형성된 일련 번호 생성 장치.
  13. 제 1 항 또는 제 2 항에 있어서,
    상기 결합 수단(103)은 유한 본체로부터의 번호로 메모리 셀의 출력 시퀀스를 가중하도록 형성되며, 여기서 상기 일련 번호가 규정되는 일련 번호 생성 장치.
  14. 제 9 항에 있어서,
    상기 결합 수단(103)은 상기 유한 본체로부터의 번호로 출력 시퀀스를 가중하여 상기 출력 시퀀스로부터 도출된 일련 번호를 얻도록 형성된 일련 번호 생성 장치.
  15. 제 13 항에 있어서,
    상기 제 1 결합 수단(103) 또는 제 2 결합 수단은 가중 목적으로 상기 일련 번호의 고정 번호를 이용하도록 형성된 일련 번호 생성 장치.
  16. 제 1 항 또는 제 2 항에 있어서,
    상기 조합 수단(12)은 상기 제 1 출력(104)에서의 상기 데이터 시퀀스와, 부울 조합 함수에 의해 항 단위로 상기 제 2 출력(204)에서의 데이터 시퀀스를 링크 하도록 형성된 일련 번호 생성 장치.
  17. 제 16 항에 있어서,
    상기 제 1 데이터 시퀀스(104)와 상기 제 2 데이터 시퀀스(204)는 2진수이며, 상기 조합 수단(12)은 AND 게이트, NAND 게이트, OR 게이트, NOR 게이트, XOR 게이트 및 XNOR 게이트로 구성된 게이트 그룹으로부터 적어도 하나의 게이트를 이용하도록 형성된 일련 번호 생성 장치.
  18. 제 1 항 또는 제 2 항에 있어서,
    상기 결합 수단(103)은 메모리 셀(102)의 스위치(103b)를 가지도록 형성되어, 결합 용도 등의 스위치(103b)의 제어 신호에 따라서 상기 메모리 셀의 출력 시퀀스를 이용하는 일련 번호 생성 장치.
  19. 일련 번호를 생성하는 방법에 있어서,
    비선형 피드백(101)과, 제 1 개수의 메모리 셀(102)과, 제 1 결합 수단(103)에 의해 상기 제 1 개수의 메모리 셀에 결합된 제 1 출력(104)을 가진 제 1 시프트 레지스터(10)로 제 1 데이터 시퀀스를 생성하는 단계와,
    비선형 피드백과, 제 2 개수의 메모리 셀과, 제 2 결합 수단에 의해 상기 제 2 개수의 메모리 셀에 결합된 제 2 출력(204)을 가진 제 2 시프트 레지스터(20)로 제 2 데이터 시퀀스를 생성하는 단계와,
    상기 제 1 출력(104)에서의 데이터 시퀀스와 상기 제 2 출력(204)에서의 데이터 시퀀스를 조합하여 상기 일련 번호를 얻는 단계
    를 포함하는 일련 번호 생성 방법.
  20. 컴퓨터 프로그램이 컴퓨터 상에서 동작할 때, 제 19 항에 따른 일련 번호 생성 방법을 수행하는 프로그램 코드를 가진 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체.
KR1020050071469A 2004-08-04 2005-08-04 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체 KR100735953B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004037814.2 2004-08-04
DE102004037814A DE102004037814B4 (de) 2004-08-04 2004-08-04 Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen

Publications (2)

Publication Number Publication Date
KR20060049298A true KR20060049298A (ko) 2006-05-18
KR100735953B1 KR100735953B1 (ko) 2007-07-06

Family

ID=35853321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050071469A KR100735953B1 (ko) 2004-08-04 2005-08-04 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체

Country Status (4)

Country Link
US (1) US20060161610A1 (ko)
KR (1) KR100735953B1 (ko)
DE (1) DE102004037814B4 (ko)
FR (1) FR2875316B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717946B1 (ko) * 2015-09-24 2017-03-20 한국철도기술연구원 디지털 신호 처리 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL188089A (en) * 2007-12-12 2013-02-28 Nds Ltd Bit generator
WO2011102866A2 (en) * 2009-11-25 2011-08-25 Aclara RF Systems Inc. Random number generator
US10514892B2 (en) 2013-07-26 2019-12-24 Infineon Technologies Ag Apparatus and method for detecting integrity violation
US11722298B2 (en) * 2020-09-15 2023-08-08 Globalfoundries U.S. Inc. Public-private encryption key generation using Pcell parameter values and on-chip physically unclonable function values

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911330A (en) * 1974-08-27 1975-10-07 Nasa Nonlinear nonsingular feedback shift registers
US4852023A (en) * 1987-05-12 1989-07-25 Communications Satellite Corporation Nonlinear random sequence generators
US5365585A (en) * 1993-08-30 1994-11-15 Motorola, Inc. Method and apparatus for encryption having a feedback register with selectable taps
WO1999067918A2 (en) * 1998-06-25 1999-12-29 Koninklijke Philips Electronics N.V. Synchronous stream cipher
JP2000020284A (ja) * 1998-06-26 2000-01-21 Toyo Commun Equip Co Ltd 疑似乱数発生装置
US6707914B1 (en) * 1999-11-29 2004-03-16 Cisco Technology, Inc. System and method for encrypting information within a communications network
US6763363B1 (en) * 1999-12-02 2004-07-13 Honeywell International Inc. Computer efficient linear feedback shift register
DE10216240A1 (de) * 2002-04-12 2003-10-30 Infineon Technologies Ag Verfahren und Vorrichtung zur Berechnung eines iterierten Zustands einer rückgekoppelten Schieberegisteranordnung
US7571200B2 (en) * 2002-04-24 2009-08-04 Hewlett-Packard Development Company, L.P. Seedable pseudo-random number generator
DE10229999A1 (de) * 2002-07-03 2004-01-15 Mark Diener Metallbandsäge mit aufgehängtem Sägerahmen
DE10339999B4 (de) * 2003-08-29 2005-07-14 Infineon Technologies Ag Pseudozufallszahlengenerator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717946B1 (ko) * 2015-09-24 2017-03-20 한국철도기술연구원 디지털 신호 처리 장치 및 방법
WO2017051974A1 (ko) * 2015-09-24 2017-03-30 한국철도기술연구원 디지털 신호 처리 장치 및 방법

Also Published As

Publication number Publication date
DE102004037814B4 (de) 2010-12-16
US20060161610A1 (en) 2006-07-20
FR2875316B1 (fr) 2009-05-22
KR100735953B1 (ko) 2007-07-06
FR2875316A1 (fr) 2006-03-17
DE102004037814A1 (de) 2006-03-16

Similar Documents

Publication Publication Date Title
Nandi et al. Theory and applications of cellular automata in cryptography
JP4453697B2 (ja) 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
US10007488B2 (en) Secured pseudo-random number generator
US20050097153A1 (en) Pseudorandom number generator
Sen et al. Cellular automata based cryptosystem (CAC)
US20050207207A1 (en) Random number generator and method for generating random numbers
WO1999009471A1 (en) Hardware efficient implementation of software efficient pseudo-random number generator
US7480687B2 (en) Pseudorandom number generator for a stream cipher
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
US7003109B2 (en) Compact crypto-engine for random number and stream cipher generation
KR100735953B1 (ko) 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체
Mars et al. Random stream cipher as a PUF-like identity in FPGA environment
Gupta et al. Coupled variable‐input LCG and clock divider‐based large period pseudo‐random bit generator on FPGA
Panda et al. FPGA prototype of low latency BBS PRNG
Paul et al. Efficient PRNG design and implementation for various high throughput cryptographic and low power security applications
Lam et al. Hardware implementations of multi-output Welch-Gong ciphers
Mita et al. A novel pseudo random bit generator for cryptography applications
KR100576714B1 (ko) 디지털 로직을 이용한 난수 발생 장치 및 방법
Anghelescu et al. FPGA implementation of hybrid additive programmable cellular automata encryption algorithm
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
Rubio et al. The Use of Linear Hybrid Cellular Automata as Pseudo Random Bit Generators in Cryptography.
Thomas et al. High quality uniform random number generation through LUT optimised linear recurrences
Sekhar et al. An Efficient Pseudo Random Number Generator for Cryptographic Applications
Mita et al. Pseudo-random sequence generators with improved inviolability performance
KR20130014003A (ko) 인체 관심영역에 적합한 fcsr을 이용한 비선형 이진 난수 발생기

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: 20130621

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140623

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150619

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160621

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180619

Year of fee payment: 12