[go: up one dir, main page]

KR101084612B1 - 의사 임의 데이터 시퀀스 생성 - Google Patents

의사 임의 데이터 시퀀스 생성 Download PDF

Info

Publication number
KR101084612B1
KR101084612B1 KR1020077004887A KR20077004887A KR101084612B1 KR 101084612 B1 KR101084612 B1 KR 101084612B1 KR 1020077004887 A KR1020077004887 A KR 1020077004887A KR 20077004887 A KR20077004887 A KR 20077004887A KR 101084612 B1 KR101084612 B1 KR 101084612B1
Authority
KR
South Korea
Prior art keywords
bit
window
data sequence
pattern
value
Prior art date
Application number
KR1020077004887A
Other languages
English (en)
Other versions
KR20070062509A (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 KR20070062509A publication Critical patent/KR20070062509A/ko
Application granted granted Critical
Publication of KR101084612B1 publication Critical patent/KR101084612B1/ko

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 N 비트의 초기 데이터 시퀀스(9)에서 검색 패턴(7)을 검색하는 검색 수단(5)을 포함하는 의사 임의 데이터 시퀀스 생성기(1)를 제공한다.
Figure R1020077004887
암호화, 암호 해독, 의사 임의 데이터 시퀀스, 검색 패턴, 윈도우, 코딩/디코딩

Description

의사 임의 데이터 시퀀스 생성{Generating a Pseudorandom Data Sequence}
본 발명은 코딩/디코딩 분야에 관한 것이며 또한 의사 임의 데이터 시퀀스(Pseudorandom Data Sequence)를 생성하는 시스템 및 방법에 관한 것이다.
본 발명은 대칭적인 암호화를 위한 비트의 시퀀스를 생성하는 한편, 이 경우에 암호화 및 암호 해독을 위해 동일한 보안키를 사용한다는 점에서 뛰어난 응용성을 가진다. 본 발명은 암호화 동작 및 암호 해독 동작이 동일한 표준 스트림 암호화 방법에 적합하다. 대칭적인 암호화는 모바일 통신(GSM, UMTS 등), 인터넷(SSL 등), 스마트 카드(은행 카드) 등과 같은 모든 유형의 통신에서 일상적으로 사용된다.
가장 널리 사용되는 스트림 암호화 방법은 하드웨어에 대한 낭비를 방지하기 위해 선형 피드백 시프트 레지스터(linear feedback shift register)를 사용하여 암호화될 메시지에 무관하게 암호화 시리즈를 생성한다.
선형 피드백 시프트 레지스터의 주된 문제점은 그것의 선형성이다. 실제로, 레지스터의 길이와 같은 수의 레지스터 출력 비트를 인식함과 아울러 상기 레지스터에 연관된 피드백 다항식을 인식하면 레지스터의 출력 비트 및 모든 후속하는 상태를 결정할 수 있다.
따라서, 선형 피드백 시프트 레지스터의 선형성을 "깨뜨리기" 위해서, 예를 들어 비선형성 불린(Boolean) 함수를 사용하여 복수의 레지스터의 출력을 그리고 가능하게는 그들의 내부 상태를 결합시키는 것이 표준 절차이다.
도 7은 제1 선형 피드백 시프트 레지스터(111a), 제2 선형 피드백 시프트 레지스터(111b) 및 출력 선택 수단(112)을 포함하고 있는 유럽 특허 출원 제EP 0 619 659호에 기재된 수축 생성기(shrinking generator)(100)를 도시한다.
따라서, 각각의 이동 시에 제1 선형 피드백 시프트 레지스터(111a)와 제2 선형 피드백 시프트 레지스터(111b)가 동시에 이동된다; 즉, 제1 선형 피드백 시프트 레지스터(111a)의 출력이 1이면 수축 생성기(100)의 출력은 제2 선형 피드백 시프트 레지스터(111b)의 출력과 같은 반면에, 그렇지 않으면 출력이 없다.
수축 생성기는 두 개의 선형 피드백 레지스터의 출력은 물론 더 일반적으로는 임의의 쌍의 비트 시리즈를 결합시킨다. 수축 생성기는 하나의 선형 피드백 레지스터가 또 다른 것을 제어하는 스트림 암호화 방법을 이용한 것이다. 이는 레지스터의 선형성을 깨뜨리기 위해 먼저, 사용된 다양한 레지스터 사이의 이동의 횟수를 변화시키며, 다음으로 두 개의 연속적인 비트 사이에서의 이동의 횟수를 변화시키는 것이다.
"자기 수축 생성기(self-shrinking generator)"로서 알려진 수축 생성기의 변형예는 동일한 원리에 기초하지만 단일 레지스터를 사용한다. 레지스터의 출력 비트는 2 개씩 판독된다; 즉, 제1 비트가 1이면 시스템의 출력이 제2 비트가 되는 반면에 그렇지 않으면 출력이 없도록 제1 비트가 제2 비트의 출력을 제어한다.
오직 선형 피드백 레지스터를 사용하는 것은 많은 결점을 가지고 있다. 주된 문제점은 장치의 선형성에서 기인한다. 또한 레지스터가 불린(Boolean) 함수를 매개로 결합되는 경우에도 문제점이 있다. 하드웨어 레벨에서, 이들 단점들은 함수를 구현하는 복잡성에 기인한 것이다. 또한, 이 함수는 고정되며 그것을 공격하는 것이 가능하다.
통계적 방법에 의하면 수축 생성기 및 다른 시간 제어식 암호화 방법(time-controlled encryption method)의 단점이 더욱 분명해진다. 특히, 수축 생성기에서, 두 개의 출력 비트 사이에서 두 개의 레지스터에 의해 실시된 이동의 횟수는 두 레지스터에 대해 동일한 양만큼 변화한다.
수축 생성기의 마지막 단점은 출력 비트의 개수와 계산된 비트의 개수에 대한 낮은 비율이며, 또한 그 비율은 평균적으로 1/4과 같다. 이러한 비율은 수축 생성기의 대부분의 취약성을 갖고 있는 자기 수축 생성기에 대해서도 동일하다.
본 발명의 목적은 전술한 문제점을 개선함과 아울러 양질의 의사 임의 데이터 시퀀스의 생성을 단순화시키는 것이다.
본 발명의 다른 목적은 출력 비트의 수와 계산된 비트 수의 비율을 1/4보다 크게 하는 방법 및 생성기를 제안하는 것이다.
본 발명의 또 다른 목적은 낮은 비용의 매우 효율적인 생성기를 제공하는 것이다.
전술한 목적은 N 비트의 초기 데이터 시퀀스에서 검색 패턴을 검색하는 과정에 의해 의사 임의 데이터 시퀀스가 생성되는 의사 임의 데이터 시퀀스 생성 방법에 의해 달성된다.
따라서, 본 발명에 따른 방법은 신규 비트 스트림을 얻기 위해 하나 이상의 비트 스트림의 비선형 결합을 가능하게 하면서 패턴의 검출에 기초하여 의사 임의 데이터를 생성하는 비선형 방법에 관한 것이다.
이 방법은 구현하기에는 단순하지만, 양질의 의사 임의 데이터 시퀀스를 생성하기에는 복잡성을 갖는다.
검색 과정은,
ㆍ초기 데이터 시퀀스에서 검색 패턴 세트 중 하나의 검색 패턴인 r 비트의 특정 검색 패턴을 검출하는 단계;
ㆍ상기 검출 단계의 검출 과정에 의거하여 k 비트의 출력 패턴을 결정하는 단계; 및
ㆍ출력 패턴의 연속물로부터 의사 임의 데이터 시퀀스를 형성하도록 선행 단계들을 연속적으로 반복하는 단계를 포함한다.
상기 검색 패턴을 검출하는 단계와 상기 출력 패턴을 결정하는 단계는 검색 패턴을 검출하도록 초기 데이터 시퀀스에 대해 윈도우를 이동시키는 이동 모드를 규정하는 제1 규칙 세트를 포함하는 일련의 동작으로 이루어지며, 또한 상기 윈도우는 초기 데이터 시퀀스에 대한 특정 초기 위치와 비트 단위의 특정 크기를 갖는다.
상기 일련의 동작은 초기 데이터 시퀀스에 대한 윈도우의 이동을 중지시키는 조건을 결정하는 제2 규칙 세트를 더 포함한다.
상기 제2 규칙 세트로부터의 규칙은 윈도우의 이동 및/또는 내용의 함수로서 검색 패턴 세트 및/또는 출력 패턴의 갱신을 관리한다.
일련의 동작은 사전 결정된 조건이 만족될 때까지 반복될 수 있다.
일련의 동작은 각각의 실행 이후에 유리하게 수정된다.
본 발명의 특징에 따라, 일련의 동작은 각각의 실행 이후에 동일성을 유지하며, 1비트의 검색 패턴을 검출하고 1비트의 출력 패턴을 결정하기 위해 초기 데이터 시퀀스에 대한 1비트의 윈도우를 한 비트씩 연속적으로 이동시킨다.
본 발명에 따른 제1 구현예에서, 일련의 동작은,
ㆍ검색 패턴에 윈도우로부터의 비트를 위치시키는 단계;
ㆍ윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
ㆍ윈도우의 내용이 검색 패턴의 내용과 같은 경우에, 제1 법칙에 따라 출력 패턴을 갱신하는 단계;
ㆍ윈도우의 내용이 검색 패턴의 내용과 같지 않은 경우에, 제2 법칙에 따라 출력 패턴을 갱신하는 단계;
ㆍ윈도우의 내용이 검색 패턴의 비트와 같지 않은 경우에, 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 단계;
ㆍ윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계; 및
ㆍ출력 패턴을 생성하는 단계를 포함한다.
제1 구현예에서, 상기 제1 법칙은 출력 패턴에 특정값 b를 할당하며, 또한 상기 제2 법칙은 특정값 b와 값 1의 모듈로 2 덧셈(modulo 2 addition)을 실시하여 상기 덧셈의 결과를 출력 패턴에 할당한다.
제2 구현예에서, 상기 제1 법칙은 특정값 b와 검색 패턴의 값 E의 모듈로 2 덧셈을 실시하여 출력 패턴에 상기 덧셈의 결과를 할당하며, 또한 상기 제2 법칙은 특정값 b, 검색 패턴의 값 E 및 값 1의 모듈로 2 덧셈을 실시하여 상기 덧셈의 결과를 출력 패턴에 할당한다.
제3 구현예에서, 상기 일련의 동작은,
ㆍ검색 패턴에 제1 윈도우로부터 비트를 위치시키는 단계;
ㆍ현재 비트로부터 다음 비트로 한 비트만큼 제1 윈도우를 이동시키는 단계;
ㆍ제1 윈도우의 내용이 검색 패턴의 값과 같은 경우에, 제1 특정값 b1과 검색 패턴의 값 E의 모듈로 2 덧셈의 결과를 출력 패턴에 할당함으로써 출력 패턴을 갱신하는 단계;
ㆍ제1 윈도우의 내용이 검색 패턴의 값 E와 같지 않은 경우에, 제1 특정값 b1, 검색 패턴의 값 E, 값 1의 모듈로 2 덧셈의 결과를 출력 패턴에 할당함으로써 출력 패턴을 갱신하는 단계;
ㆍ제1 윈도우의 내용이 검색 패턴의 값 E와 같지 않은 경우에, 제1 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 단계;
ㆍ제1 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
ㆍ검색 패턴의 값을 제2 윈도우로부터의 비트로 대체시키는 단계;
ㆍ제2 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
ㆍ제2 윈도우의 내용이 검색 패턴의 값과 같은 경우에, 제2 특정값 b2, 출력 패턴의 현재값 s, 검색 패턴의 값 E의 모듈로 2 덧셈의 결과를 출력 패턴에 할당함으로써 출력 패턴을 갱신하는 단계;
ㆍ제2 윈도우의 내용이 검색 패턴의 값과 같지 않은 경우에, 출력 패턴의 현재값 s, 제2 특정값 b2, 검색 패턴의 값 E, 값 1의 모듈로 2 덧셈의 결과를 출력 패턴에 할당함으로써 출력 패턴을 갱신하는 단계;
ㆍ제2 윈도우의 내용이 검색 패턴의 값과 같지 않은 경우에, 제2 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 단계;
ㆍ제2 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계; 및
ㆍ출력 패턴을 출력하는 단계를 포함한다.
본 발명에 따른 응용예에서, 의사 임의 데이터 시퀀스의 각각의 비트는 암호화된 데이터 시퀀스를 생성하기 위해 모듈로 2 덧셈에 의해 암호화되는 메시지의 데이터 시퀀스의 상응하는 비트와 결합한다.
본 발명은 또한 N 비트의 초기 데이터 시퀀스에서 검색 패턴을 검색하는 검색 수단을 포함하는 의사 임의 데이터 시퀀스 생성기도 제공한다.
상기 생성기의 검색 수단은,
ㆍ초기 데이터 시퀀스에서 검색 패턴 세트 중 하나의 검색 패턴인 r 비트의 특정 검색 패턴을 검출하는 검출 수단;
ㆍ검색 패턴의 검출 과정에 의거하여 k 비트의 출력 패턴을 결정하는 결정 수단; 및
ㆍ출력 패턴의 연속물로부터 의사 임의 데이터 시퀀스를 형성하는 반복 수단을 포함한다.
상기 검출 수단은 초기 데이터 시퀀스상에서 이동되도록 구성된 윈도우, 및 초기 데이터 시퀀스상에서 상기 윈도우의 이동을 제어하는 제1 제어 수단을 포함한다.
상기 결정 수단은 검색 패턴 세트 및/또는 출력 패턴을 갱신하는 제2 제어 수단을 포함한다.
상기 생성기는 N 비트의 초기 데이터 시퀀스를 생성하는 초기 수단을 더 포함한다.
상기 초기 수단은 선형 피드백 시프트 레지스터를 포함할 수 있다
본 발명은 또한 배타적 OR(exclusive OR) 논리 게이트와 전술한 특징을 갖는 생성기를 포함하는 코딩 장치의 제공을 목적으로 한다.
본 발명은 또한 각각 하나의 코딩 장치를 포함하는 적어도 두 개의 개체를 포함하는 보안 시스템의 제공을 목적으로 한다.
본 발명의 다른 특징과 장점들은 첨부된 도면을 참조하여 아래에서 상세히 설명되는 실시예를 통해 알 수 있다.
도 1은 본 발명에 따른 의사 임의 데이터 시퀀스 생성기의 일 실시예를 매우 개략적으로 도시하고,
도 2는 도 1의 생성기들을 포함하는 보안 시스템을 도시하고,
도 3은 본 발명에 따른 의사 임의 데이터를 생성하는 검색 과정의 일 실시예를 도시하고,
도 4 내지 도 6은 본 발명에 따른 방법의 구현예들을 도시하며, 또한
도 7은 종래의 생성기에 대한 매우 개략적인 도면이다.
도 1은 의사 임의 데이터 시퀀스(3)을 생성하는 본 발명에 따른 생성기(1)의 일 실시예를 상당히 개략적으로 도시한다.
생성기(1)는 N 비트의 초기 데이터 시퀀스(9)에서 검색 패턴(7)을 검색하는 검색 수단(5)을 포함한다. 검색 패턴은 검색 패턴 세트에 포함된다.
이하 사용되는 용어 "패턴"은 오직 0과 1로 구성된 임의의 단어를 의미한다. 예를 들어, 0, 11, 000, 1010, 및 00111은 각각의 1, 2, 3, 4, 및 5의 길이를 가진 패턴이다. 또한, "비어있는(empty)" 패턴은 비어있는 단어이다.
N 비트의 초기 데이터 시퀀스(N은 정수)는 최대 주기의 선형 피드백 시프트 레지스터를 포함하는 초기 수단(11)에 의해 생성된다.
선형 피드백 시프트 레지스터는 피드백 다항식으로 지칭되는 다항식에 의해 표시되는, 테이블 항목들의 선형 결합을 가진 유한 길이의 비트로 된 테이블(레지스터)이다. 각각의 이동 시에, 최고 인덱스를 갖는 비트가 출력되고, 모든 다른 비트들이 하나의 인덱스만큼 이동되며, 또한 최저 인덱스를 갖는 비트는 이동 이전의 선형 결합의 값을 취한다.
피드백 다항식의 예를 들면, 최대 주기의 선형 시프트 레지스터에 대응하는 초기 다항식, 또는
Figure 112007017285116-pct00001
형태의 다항식일 수 있다. 이 경우에, P는 원시 다항식이다.
생성기(1)의 검색 수단(5)은 검출 수단(13), 결정 수단(15) 및 반복 수단(17)을 포함한다.
검출 수단(13)은 초기 데이터 시퀀스에서 r 비트의 검색 패턴(7)을 검출하는바, 이 경우에 r은 N보다 작은 정수이다. 결정 수단(15)은 검출 수단(13)에 의해 검출된 검색 패턴(7)이 속하는 검색 패턴 세트를 결정한다.
검출 수단은 초기 데이터 시퀀스(9)상에서 이동되도록 구성된 윈도우(19)와 초기 데이터 시퀀스(9)상에서 윈도우(19)의 이동을 제어하는 제1 제어 수단(21)을 포함한다.
각각의 윈도우(19)는 초기 데이터 시퀀스(9)에서 특정 초기 위치에 위치되며 또한 특정한 비트 크기를 갖는다. 예를 들어, 초기 데이터 시퀀스(9) 상에 위치된 크기 t(t는 N보다 작은 정수)의 윈도우(19)는 각각의 이동 시에 초기 데이터 시퀀스(9) 중 t비트를 정확하게 노출시키도록 초기 데이터 시퀀스(9)상에서 이동될 수 있는 마스크(mask)이다.
결정 수단(15)은 연결 수단(23)을 통해서 검출 수단(13)과 상호작용한다. 결정 수단(15)은 검색 패턴(7)에 대한 검색 과정에 의거하여 k 비트(k는 N보다 작은 정수)의 출력 패턴(25)을 결정한다.
실제로, 결정 수단(15)은 검색 패턴 세트 및/또는 출력 패턴(25)을 결정하거나 갱신하는 제2 제어 수단(27)을 포함한다.
또한, 반복 수단(17)은 연결 수단(29, 31)을 통해 검출 수단(13)과 결정 수단(15)에 각각 연결된다.
예로서 출력 패턴(25)이 방금 출력되었다는 신호를 결정 수단(15)으로부터 수신한 후에 사전 결정된 정지 조건이 만족되지 않는 경우에, 반복 수단(17)은 검출 동작 및 결정 동작을 다시 시작하도록 검출 수단(13) 및 결정 수단(15)과 신호를 교환할 수 있다. 반복 수단(17)은 검출 수단(13) 및 결정 수단(15)과 신호를 교환함으로써 정지 조건을 추가적으로 시험할 수 있다. 이는 연쇄적으로 의사 임의 데이터 시퀀스(3)를 형성하는 출력 패턴(25)의 연속물을 생성한다.
반복 수단(17)은 또한 검출 수단(13) 및 결정 수단(15)의 제1 제어 수단(21) 또는 제2 제어 수단(27)으로 일체화될 수 있다는 점을 주목하여야 한다.
도 2는 인터넷, GSM, UMTS 등의 유형의 통신 네트워크(35)를 통해 상호연결된 두 개 이상의 개체를 포함하는 보안 시스템(31)을 도시한다.
본 도면의 실시예는 통신 네트워크(35)를 통해 제2 개체(33b)에 연결된 제1 개체(33a)를 도시한다. 제1 개체(33a)는 제1 단말기(37a), 제1 코딩 장치(39a) 및 제1 모뎀(41a)을 포함하고, 제2 개체(33b)는 제2 단말기(37b), 제2 코딩 장치(39b) 및 제2 모뎀(41b)을 포함하며, 또한 제1 모뎀(41a) 및 제2 모뎀(41b)은 통신 네트 워크(35)와 인터페이스되는 임의의 장치로 이루어진다.
제1 코딩 장치(39a) 및 제2 코딩 장치(39b)는 각각 의사 임의 데이터 시퀀스(3)를 생성하는 생성기(1)와 배타적 OR 논리 게이트(43)를 포함한다.
제1 코딩 장치(39a) 및 제2 코딩 장치(39b)는 메시지를 한 비트씩 암호화하거나 해독화하는 것으로 이루어지는 스트림 암호화 또는 해독화를 수행한다.
이 실시예에서, 제1 코딩 장치(39a)는 암호화 동작을 수행한다. 따라서, 암호화 시리즈로 지칭되는 의사 임의 데이터 시퀀스(3)는 제1 모뎀(41a)에 의해 제2 개체(33b)로 송신되는 암호화 텍스트(47)를 획득하기 위해서, 제1 단말기(37a)에 의해 송신된 보통문 메시지(45)의 상응하는 위치에 있는 각각의 비트와 배타적 OR 게이트(43)에 의해 결합된다. 따라서, 암호화 동작은 암호화 텍스트(47)를 획득하도록 메시지(45)의 보통문 텍스트에 암호화 시리즈를 한 비트씩 가산하는 것으로 이루어진다.
제2 코딩 장치(39a)는 텍스트 메시지를 보통문 상태로 재형성하도록 제1 개체(33a)에 의해 송신된 암호화 텍스트(47)에 동일한 암호화 시리즈를 한 비트씩가산하는 것으로 이루어지는 암호 해독 동작을 수행한다.
따라서, 암호화 및 암호 해독 동작은 동일하다.
도 3 내지 도 6은 의사 임의 데이터를 생성하는 본 발명에 따른 방법을 도시한다.
이러한 방법은 초기 데이터 시퀀스(9)에서 검색 패턴을 검색하는 과정으로부터 의사 임의 데이터 시퀀스(3)를 생성하는 것으로 이루어진다.
따라서, 의사 임의 데이터 시퀀스 원소의 결정은 검색 패턴 및 방식 또는 이력에 좌우될 수 있다.
도 3은 본 발명에 따라 의사 임의 데이터 시퀀스(3)를 생성하는 검색 과정의 일 실시예를 도시한다.
단계 E1은 초기 데이터 시퀀스(9)에서 검색 패턴 세트에 속하는 r 비트의 특정 검색 패턴(7)을 검출하는 단계이다.
단계 E2는 상기 단계 E1의 검출 과정에 의거하여 k 비트의 출력 패턴(25)을 결정하는 단계이다.
실제로, 출력 패턴(25)의 결정은 검색 패턴(7) 및 검색 이력에 좌우될 수 있으며, 특히 초기 데이터 시퀀스(9)에서 문제가 되는 검색 패턴(7)을 발견하기 전에 수행된 단계 또는 반복의 횟수에 좌우될 수 있다.
검색 패턴(7)을 검출하는 단계 E1과 출력 패턴(25)을 결정하는 단계 E2는 일련의 동작으로 이루어진다.
이러한 일련의 동작은 검색 패턴(7)을 검출하도록 초기 데이터 시퀀스(9)상에서 윈도우(19)를 이동시키는 이동 모드를 규정하는 생성기(1)의 제1 제어 수단(21)에 의해 구현되는 제1 규칙 세트를 포함한다.
0이 아닌 크기의 하나 이상의 윈도우(19)는 통상적으로 초기 데이터 시퀀스(9)상에서 이동된다. 검색 과정의 시작 시에, 각각의 윈도우(19)는 초기 데이터 시퀀스(9)상에서 초기 위치에 있다(예를 들어, 윈도우들은 모두 초기 데이터 시퀀스(9)의 시작에 있을 수 있다). 윈도우(19) 내의 비트는 출력 패턴(25)을 결정하 기 위해 사용된다.
제1 규칙 세트는 이동 방향, 이동 진폭, 또는 윈도우(19)를 이동시키는 형태, 예를 들어 초기 데이터 시퀀스(9)의 일부에 대한 순환 이동을 정의할 수 있다.
예를 들어, 제1 규칙 세트는 다음과 같이 정의된 규칙 r1,
ㆍr1 = "오른쪽으로 한 비트를 이동"을 포함할 수 있다.
또한, 일련의 동작은 초기 데이터 시퀀스(9)에 대한 윈도우(19)의 이동을 정지시키는 조건을 결정하는 생성기(1)의 제2 제어 수단(27)에 의해 구현되는 제2 규칙 세트를 포함한다.
제2 규칙 세트는 생성기(1)가 출력 패턴(25)을 전달하기 전에 특정 순서로 적용되어야 하는 규칙을 포함할 수 있다. 따라서, 출력 패턴(25)의 연속물의 생성기(1)에 의한 전달은 의사 임의 데이터 시퀀스(3)를 형성한다.
예를 들어, 제2 규칙 세트는 다음과 같이 정의된 규칙 r2,
ㆍr2 = "윈도우(19)의 내용이 검색 패턴(7) 세트로부터의 패턴이 아닌 동안에 규칙 r1에 따라 윈도우(19)를 이동"을 포함할 수 있다. 이 경우에, r1은 제1 규칙 세트로부터의 규칙이다.
또한, 이러한 제2 규칙 세트로부터의 또 다른 규칙은 소정의 이진법에 따라 그리고 윈도우(19)의 이동 및/또는 내용의 함수로서 검색 패턴(7)의 세트 및/또는 출력 패턴(25)의 갱신을 관리한다.
따라서, 검색 패턴(7)은 비어있거나(예를 들어 패턴을 갖고 있지 않거나), 윈도우(19)의 내용, 또는 제1 및 제2 규칙 세트를 포함하는 일련의 동작의 선행하는 실행에 좌우될 수 있다.
마찬가지로, 출력 패턴(25)은 비어있거나(예를 들어 패턴을 갖고 있지 않거나), 윈도우(19)의 내용, 또는 제1 및 제2 규칙 세트를 포함하는 일련의 동작의 선행하는 실행에 좌우될 수 있다.
또한, 검색 과정의 단계 E3은 연쇄적으로 출력 패턴(25)의 연속물로부터 의사 임의 데이터 시퀀스(3)를 형성하도록 이전의 두 단계 E1 및 E2를 연속적으로 반복한다.
일련의 동작은 사전 결정된 조건이 만족될 때까지 반복될 수 있다는 점을 주목하여야 한다. 그것이 유한하다면, 이 조건은 초기 데이터 시퀀스(9)의 윈도우(19)의 내용일 수 있다. 또한 사용자에 의해 규정된 조건이 만족될 때까지 일련의 동작을 반복할 수도 있다.
또한, 의사 임의 데이터 시퀀스(3)의 품질을 더 개선하기 위해서, 각각의 실행 이후에 일련의 동작을 수정할 수 있다.
따라서, 이러한 방법이 하나 이상의 윈도우(19)를 이용해서 초기 비트 스트림(초기 데이터 시퀀스(9))을 주사(scanning)하는 것으로 이루어지기 때문에, 의사 임의 데이터 시퀀스(3)의 각각의 출력 비트는 초기 비트 스트림에서 검색 패턴(7)에 대한 검색에 좌우된다. 또한, 검색 패턴(7)은 윈도우(19)의 내용 및/또는 이동에 좌우될 수 있다.
도 4 내지 도 6은 본 발명에 따른 방법의 구현예를 도시한다.
이러한 구현예에서, 일련의 동작들은 각각의 실행 이후에 동일성을 유지하고, 윈도우(19)는 "크기 1"(즉, 각각의 윈도우는 1비트를 포함함)이고, 검색 패턴(7) 세트는 하나의 검색 패턴을 포함하며, 또한 검색 패턴(7)과 출력 패턴(25)도 또한 크기 1이다.
또한, 윈도우(19)의 이동의 크기는 단위 1과 같으며, 즉 각각의 윈도우(19)는 예를 들어 각각의 반복 시에 현재 비트로부터 다음 비트로(즉, 왼쪽으로부터 오른쪽으로) 한 비트만큼 이동된다.
따라서, 각각의 초기 데이터 시퀀스(9)는 연속적으로, 즉, 한 비트씩 판독될 수 있으며, 이 결과 수행하기에 아주 간단한 구현예를 만들 수 있다.
이하에서, E는 검색 패턴(7)의 값을 나타내고, s는 출력 패턴(25)의 값을 나타내며, 또한 f, f1 및 f2는 윈도우(19)들의 값들을 나타낸다.
처음에, 검색 패턴(7)과 출력 패턴(25)에 비어있는 비트를 할당함으로써, 즉
Figure 112007017285116-pct00002
Figure 112007017285116-pct00003
(
Figure 112007017285116-pct00004
는 비어있는 세트)로 함으로써, 검색 패턴(7)과 출력 패턴(25)이 초기화된다. 마찬가지로, 이들 구현예들의 일련의 동작들을 각각 적용할 경우에 동일성을 유지하는 b, b1 및 b2로 표시된 이진값 또는 상수값이 정의된다.
제1 구현예에서, 단일 윈도우(19)가 초기 데이터 시퀀스(9)상에서 이동된다. 초기에 단일 윈도우(19)는 초기 데이터 시퀀스(9)의 제1 비트상에서 고정될 수 있다.
제1 구현예의 일련의 동작은 다음과 같이 정의된다:
ㆍ제1 규칙 세트의 유일한 규칙으로서 규칙 r1 ,1 = "오른쪽으로 한 비트를 이동"을 설정함;
ㆍ제2 규칙 세트의 규칙들로서 다음 규칙들로 설정함:
ㆍr2 ,1 = "검색 패턴에 윈도우로부터의 비트 f를 위치시킴(
Figure 112007017285116-pct00005
)";
ㆍr2 ,2 = "r1 ,1에 따라 윈도우를 한 번 이동";
ㆍr2 ,3 = "윈도우의 내용이 검색 패턴의 비트 E와 같은 경우에, 출력 패턴을
Figure 112007017285116-pct00006
로 갱신";
ㆍr2 ,4 = "윈도우의 내용이 검색 패턴의 비트 E와 같지 않은 경우에, 출력 패턴을
Figure 112007017285116-pct00007
로 갱신";
ㆍr2 ,5 = "윈도우의 내용 f가 검색 패턴이 아닌 경우에, 규칙 r1 ,1에 따라 윈도우를 이동";
ㆍr2 ,6 = "r1 ,1에 따라 윈도우를 한 번 이동";
ㆍ규칙 r2 ,1, r2 ,2, r2 ,3, r2 ,4, r2 ,5 및 r2 ,6을 그 순서대로 적용함;, 그리고
ㆍ출력 패턴의 값 s를 출력함.
실제로, 도 4의 흐름도는 전술한 일련의 동작의 실행을 도시한다.
단계 E11은 검색 패턴(7)에 윈도우(19)로부터의 비트를 위치시킨다.
단계 E12는 윈도우(19)를 현재 비트로부터 다음 비트로 한 비트만큼 이동시킨다.
단계 E13은 윈도우(19)의 내용을 검색 패턴(7)의 내용과 비교하는 시험이다.
단계 E14는 윈도우(19)의 내용이 검색 패턴(7)의 내용과 같은 경우에 제1 법칙에 따라 출력 패턴(25)을 갱신한다. 이러한 구현예에서, 제1 법칙은 출력 패턴(25)에 특정값 b를 할당하는 것에 상응한다(
Figure 112007017285116-pct00008
).
단계 E15는 윈도우(19)의 내용이 검색 패턴(7)의 비트 E와 같지 않은 경우에 제2 법칙에 따라 출력 패턴(25)을 갱신한다. 이러한 구현예에서, 제2 법칙은 특정값 b와 값 1의 모듈로 2 덧셈에 상응하며, 이 덧셈의 결과를 출력 패턴(25)에 할당한다(
Figure 112007017285116-pct00009
).
단계 E16 및 단계 E17은 윈도우(19)의 내용이 검색 패턴(7)의 비트 E와 같은 경우에 윈도우(19)를 다음 비트쪽으로 한 비트씩 이동시키는 루프를 형성한다.
단계 E18은 윈도우(19)를 현재 비트로부터 다음 비트로 한 비트만큼 이동시킨다.
마지막으로, 단계 E19는 생성기(1)로부터 출력 패턴을 출력한다.
대체적으로 말하자면, 일련의 동작은 다음과 같이 요약될 수 있다. 즉, 초기 데이터 시퀀스(9)에서 현재 비트 E가 판독되고, 그런 다음 비트 E가 발견될 때까지 초기 데이터 시퀀스(9)에 대해 오른쪽으로의 이동이 뒤따른다. E를 발견하기 위한 이동이 오직 하나의 인덱스만큼이라면 b가 출력되고, 그렇지 않으면
Figure 112007017285116-pct00010
가 출력된다. 그런 다음, 재개시 이전에, 오른쪽으로 한 비트의 이동이 있다.
물론, 흐름도는 (단순화를 이유로 도면에 도시되지 않은) 사전 규정된 조건을 만족하는지를 결정하는 정지 시험을 포함할 수 있다.
예를 들어, 윈도우(19)가 초기 데이터 시퀀스(9)를 떠날 때까지 의사 임의 데이터 시퀀스를 형성하도록 전술한 단계들이 반복될 수 있다.
도 5는 제2 구현예의 일련의 조작의 실행을 도시하는 흐름도이다.
이 도면에서 흐름도는 단지 단계 E24 및 단계 E25에서만 도 4의 흐름도와 상이하다.
실제로, 단계 E24에서, 제1 법칙은 특정값 b와 검색 패턴(7)의 값 E의 모듈로 2 덧셈을 실시하는 것에 상응하며, 이러한 덧셈의 결과를 출력 패턴(25)에 할당한다(
Figure 112007017285116-pct00011
).
이와 대조적으로, 단계 25에서, 제2 법칙은 특정값 b, 검색 패턴(7)의 값 E 및 값 1의 모듈로 2 덧셈을 실시하는 것에 상응하며, 또한 이러한 덧셈의 결과를 출력 패턴(25)에 할당한다(
Figure 112007017285116-pct00012
).
따라서, 제2 구현예의 일련의 동작은 다음과 같이 정의된다:
ㆍ제1 규칙 세트의 유일한 규칙으로서 규칙 r1 ,1 = "오른쪽으로 한 비트를 이동"을 설정함;
ㆍ제2 규칙 세트의 규칙들로서 다음 규칙들을 설정함;
ㆍr2 ,1 = "검색 패턴에 윈도우로부터의 비트 f를 위치시킴(
Figure 112007017285116-pct00013
)";
ㆍr2 ,2 = "r1 ,1에 따라 윈도우를 한 번 이동";
ㆍr2 ,3 = "윈도우의 내용이 검색 패턴의 비트 E와 같은 경우에, 출력 패턴을
Figure 112007017285116-pct00014
로 갱신";
ㆍr2 ,4 = "윈도우의 내용이 검색 패턴의 비트 E와 같지 않은 경우에, 출력 패턴을
Figure 112007017285116-pct00015
로 갱신";
ㆍr2 ,5 = "윈도우의 내용 f이 검색 패턴이 아닌 경우에, 규칙 r1 ,1에 따라 윈도우를 이동";
ㆍr2 ,6 = "r1 ,1에 따라 윈도우를 한 번 이동"을 설정함;
ㆍ규칙 r2 ,1, r2 ,2, r2 ,3, r2 ,4, r2 ,5 및 r2 ,6을 그 순서대로 적용함; 그리고
ㆍ출력 패턴의 값 s를 출력함.
대체적으로 말하자면, 제2 구현예의 일련의 동작은 다음과 같이 요약될 수 있다. 즉, 초기 데이터 시퀀스(9)에서 현재 비트 E가 판독되며, 그런 다음 비트 E가 발견될 때까지 시퀀스에 대해 오른쪽 이동이 뒤따른다. E를 발견하기 위한 이동이 단지 하나의 인덱스만큼이라면
Figure 112007017285116-pct00016
가 출력되며, 그렇지 않으면
Figure 112007017285116-pct00017
가 출력된다. 그런 다음, 재개시 이전에, 한 비트의 오른쪽 이동이 뒤따른다.
도 6은 제3 구현예의 일련의 동작을 도시하는 흐름도이다.
이러한 제3 구현예에서, 두 개의 윈도우(19)가 초기 데이터 시퀀스상에서 이동된다. 제1 윈도우는 초기에 초기 데이터 시퀀스(9)의 제1 비트상에 고정되며,또 한 제2 윈도우는 초기에 그 시퀀스의 제2 비트상에 고정된다. 이러한 상황에서, b1으로 표시된 제1 비트와 b2로 표시된 제2 비트인 두 개의 상수가 규정된다. 상수 b1과 b2는 예를 들어 동일한 값 0을 갖는다.
단계 E31은 검색 패턴(7)에 제1 윈도우로부터의 비트를 위치시킨다.
단계 E32는 제1 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시킨다.
단계 E33은 제1 윈도우의 내용을 검색 패턴(7)의 내용과 비교하는 시험이다.
단계 E34는 제1 윈도우의 내용이 검색 패턴(7)의 값 E와 같지 않은 경우에 제1 특정 값 b1과 검색 패턴의 값 E의 모듈로(modulo) 2 덧셈의 결과를 출력 패턴(25)에 할당함으로써 출력 패턴(25)을 갱신한다(
Figure 112007017285116-pct00018
).
단계 E35는 제1 윈도우의 내용이 검색 패턴의 비트 E와 같지 않은 경우에 제1 특정값 b1, 검색 패턴(7)의 값 E 및 값 1의 모듈로 2 덧셈의 결과를 출력 패턴(25)에 할당함으로써 출력 패턴(25)을 갱신한다(
Figure 112007017285116-pct00019
).
단계 E36 및 단계 E37은 제1 윈도우의 내용이 검색 패턴(7)의 비트 E와 같지 않은 경우에 제1 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 루프를 형성한다.
단계 E38은 제1 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시킨다.
단계 E39는 검색 패턴(7)에 제2 윈도우로부터의 비트를 위치시킨다.
단계 E40은 제2 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시킨다.
단계 E41은 제2 윈도우의 내용을 검색 패턴(7)의 내용과 비교하는 시험이다.
단계 E42는 제2 윈도우의 내용이 검색 패턴(7)의 값과 같은 경우에 제2 특정 값 b2, 출력 패턴(25)의 현재값 s 및 검색 패턴의 값 E의 모듈로 2 덧셈의 결과를 출력 패턴(25)에 할당함으로써 출력 패턴(25)을 갱신한다(
Figure 112007017285116-pct00020
).
단계 E43은 제2 윈도우의 내용 f2가 검색 패턴(7)의 값과 같지 않은 경우에 출력 패턴(25)의 현재값 s, 제2 특정값 b2, 검색 패턴(7)의 값 E 및 값 1의 모듈로 2 덧셈의 결과를 출력 패턴(25)에 할당함으로써 출력 패턴(25)을 갱신한다(
Figure 112007017285116-pct00021
).
단계 E44 및 단계 E45은 제2 윈도우의 내용이 검색 패턴의 비트와 같지 않은 경우에 제2 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 루프를 형성한다.
단계 E46은 제2 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시킨다.
마지막으로, 단계 E47는 생성기(1)로부터 출력 패턴(25)을 출력한다.
따라서, 제3 구현예의 일련의 동작은 다음과 같이 정의된다:
ㆍ제1 규칙 세트의 유일한 규칙으로서 규칙 r1 ,1 = "오른쪽으로 한 비트를 이 동"을 설정함;
ㆍ제2 규칙 세트의 규칙들로서 다음 규칙들을 설정한다:
ㆍr2 ,1 = "검색 패턴에 제1 윈도우로부터의 비트 f1를 위치 설정(
Figure 112007017285116-pct00022
)";
ㆍr2 ,2 = "r1 ,1에 따라 제1 윈도우를 한 번 이동";
ㆍr2 ,3 = "제1 윈도우의 내용 f1이 검색 패턴의 비트 E와 같은 경우에,
Figure 112007017285116-pct00023
로 갱신";
ㆍr2 ,4 = "제1 윈도우의 내용이 검색 패턴의 비트 E와 같지 않은 경우에, 출력 패턴을
Figure 112007017285116-pct00024
로 갱신";
ㆍr2 ,5 = "제1 윈도우의 내용이 검색 패턴의 비트 E와 같지 않은 경우에, 규칙 r1 ,1에 따라 제1 윈도우를 이동";
ㆍr2 ,6 = "r1 ,1에 따라 제1 윈도우를 한 번 이동";
ㆍr2 ,7 = "검색 패턴의 값을 제2 윈도우로부터의 비트 f2로 대체";
ㆍr2 ,8 = "r1 ,1에 따라 제2 윈도우를 한 번 이동";
ㆍr2 ,9 = "제2 윈도우의 내용 f2이 검색 패턴의 비트 E와 같은 경우에, 출력 패턴을
Figure 112007017285116-pct00025
로 갱신";
ㆍr2 ,10 = "제2 윈도우의 내용 f2이 검색 패턴의 비트 E와 같지 않은 경우에, 출력 패턴을
Figure 112007017285116-pct00026
로 갱신";
ㆍr2 ,11 = "제2 윈도우의 내용 f2이 검색 패턴의 비트 E와 같지 않은 경우에, 규칙 r1 ,1에 따라 제2 윈도우를 이동";
ㆍr2 ,12 = "r1 ,1에 따라 제2 윈도우를 한 번 이동"을 설정함;
ㆍ규칙 r2 ,1 내지 r2 , 12을 그 순서대로 적용함; 그리고
ㆍ출력 패턴의 값 s를 출력함.
제3 구현예를 대략적으로 말하자면, 초기 데이터 시퀀스(9)의 제1 비트 상에 위치된 제1 윈도우와, 제2 비트 상에 위치된 제2 윈도우로 제2 구현예를 실행하여 얻은 출력을 한 비트씩 가산하는 것이다.
이들 구현예들은 수행하기에 용이하다. 또한, 예를 들어 초기 데이터 시퀀스(9)를 제공하는 초기 수단(11)이 선형 피드백 시프트 레지스터인 경우에, 출력 비트의 수와 계산된 비트의 수 사이의 비율은 평균적으로 1/3이다.
따라서, 본 발명에 따른 방법은 대칭적인 스트림 암호화를 위해 사용될 수 있는 양질의 의사 임의 비트 시퀀스를 생성한다.
실제로, 의사 임의 데이터 시퀀스(3)의 각각의 비트는 암호화된 데이터 시퀀스(47)를 형성하기 위해 모듈로 2 덧셈에 의해 암호화되는 메시지(45)의 데이터 시퀀스의 상응하는 비트와 결합된다(도 2 참조).

Claims (21)

  1. 의사 임의 데이터 시퀀스 생성기(pseudorandom data sequence generator)(1)에 의하여 의사 임의 데이터 시퀀스(pseudorandom data sequence)(3)가 생성되는 방법에 있어서,
    상기 의사 임의 데이터 시퀀스(3)는 N 비트의 초기 데이터 시퀀스(9)에서 검색 패턴(7)을 검색하는 검색 과정에 의해 생성되며,
    상기 검색 과정은,
    ㆍ초기 데이터 시퀀스(9)에서 검색 패턴 세트에 속하는 r 비트의 특정 검색 패턴(7)을 검출하는 검출 단계(E1);
    ㆍ상기 검출 단계(E1)의 검출 과정에 의거하여 k 비트의 출력 패턴(25)을 결정하는 결정 단계(E2); 및
    ㆍ출력 패턴(25)의 연속물로부터 의사 임의 데이터 시퀀스(3)를 형성하도록 상기 검출 단계(E1) 및 결정 단계(E2)를 연속적으로 반복하는 반복 단계(E3);
    를 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  2. 제1항에 있어서, 상기 검색 패턴(7)의 검출 단계(E1)와 출력 패턴(25)의 결정 단계(E2)는 검색 패턴(7)을 검출하도록 초기 데이터 시퀀스(9)에 대해 윈도우(19)를 이동시키는 이동 모드를 규정하는 제1 규칙 세트를 포함하는 일련의 동작으로 이루어지며, 또한 상기 윈도우(19)는 초기 데이터 시퀀스(9)에 초기 위치와 비트 단위의 크기를 갖는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  3. 제2항에 있어서, 상기 일련의 동작은 초기 데이터 시퀀스(9)에 대한 윈도우(19)의 이동을 중지시키는 조건을 결정하는 제2 규칙 세트를 더 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  4. 제3항에 있어서, 상기 제2 규칙 세트로부터의 규칙은 윈도우의 이동과 내용 중 적어도 하나의 함수로서, 검색 패턴 세트와 출력 패턴 중 적어도 하나에 윈도우의 내용을 부여하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  5. 제2항 또는 제3항에 있어서, 상기 일련의 동작은 사전 결정된 조건이 만족될 때까지 반복되는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  6. 제2항 또는 제3항에 있어서, 상기 일련의 동작은 각각의 실행 이후에 수정되는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  7. 제2항 또는 제3항에 있어서, 상기 일련의 동작은 각각의 실행 이후에 동일성을 유지하며, 또한 1비트의 검색 패턴(7)을 검출함과 아울러 1비트의 출력 패턴(25)을 결정하도록 초기 데이터 시퀀스(9)상에서 1비트의 윈도우(19)를 연속적으로 한 비트씩 이동시키는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  8. 제7항에 있어서, 상기 일련의 동작은,
    ㆍ검색 패턴에 윈도우로부터의 비트를 위치시키는 단계;
    ㆍ윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
    ㆍ윈도우의 내용이 검색 패턴의 내용과 같은 경우에, 제1 법칙에 따라 출력 패턴을 갱신하는 단계;
    ㆍ윈도우의 내용이 검색 패턴의 내용과 같지 않은 경우에, 제2 법칙에 따라 출력 패턴을 갱신하는 단계;
    ㆍ윈도우의 내용이 검색 패턴의 비트와 같지 않은 경우에, 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 단계;
    ㆍ윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계; 및
    ㆍ출력 패턴을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  9. 제8항에 있어서, 상기 제1 법칙은 출력 패턴에 특정값 b를 부여하며, 또한 제2 법칙은 특정값 b와 값 1의 모듈로 2 덧셈(modulo 2 addition)을 실시하여 상기 덧셈의 결과를 출력 패턴에 부여하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  10. 제8항에 있어서, 상기 제1 법칙은 특정값 b와 검색 패턴의 값 E의 모듈로 2 덧셈을 실시하여 상기 덧셈의 결과를 출력 패턴에 부여하며, 또한 상기 제2 법칙은 특정값 b, 검색 패턴의 값 E 및 값 1의 모듈로 2 덧셈을 실시하여 상기 덧셈의 결과를 출력 패턴에 부여하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  11. 제7항에 있어서, 상기 일련의 동작은,
    ㆍ검색 패턴에 제1 윈도우로부터의 비트를 위치시키는 단계;
    ㆍ제1 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
    ㆍ제1 윈도우의 내용이 검색 패턴의 값과 같은 경우에, 제1 특정값 b1과 검색 패턴의 값 E의 모듈로 2 덧셈의 결과를 출력 패턴에 부여함으로써 출력 패턴을 갱신하는 단계;
    ㆍ제1 윈도우의 내용이 검색 패턴의 값 E와 같지 않은 경우에, 제1 특정값 b1,검색 패턴의 값 E 및 값 1의 모듈로 2 덧셈의 결과를 출력 패턴에 부여함으로써 출력 패턴을 갱신하는 단계;
    ㆍ제1 윈도우의 내용이 검색 패턴의 값 E와 같지 않은 경우에, 제1 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 단계;
    ㆍ제1 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
    ㆍ검색 패턴의 값을 제2 윈도우로부터의 비트로 대체시키는 단계;
    ㆍ제2 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계;
    ㆍ제2 윈도우의 내용이 검색 패턴의 값과 같은 경우에, 제2 특정값 b2, 출력 패턴의 현재값 s, 검색 패턴의 값 E의 모듈로 2 덧셈의 결과를 출력 패턴에 부여함으로써 출력 패턴을 갱신하는 단계;
    ㆍ제2 윈도우의 내용이 검색 패턴의 값과 같지 않은 경우에, 출력 패턴의 현재값 s, 제2 특정값 b2, 검색 패턴의 값 E, 및 값 1의 모듈로 2 덧셈의 결과를 출력 패턴에 부여함으로써 출력 패턴을 갱신하는 단계;
    ㆍ제2 윈도우의 내용이 검색 패턴의 값과 같지 않은 경우에, 제2 윈도우를 다음 비트쪽으로 한 비트씩 이동시키는 단계;
    ㆍ제2 윈도우를 현재 비트로부터 다음 비트로 한 비트만큼 이동시키는 단계; 및
    ㆍ출력 패턴을 출력하는 단계;
    를 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  12. 제1항에 있어서, 상기 의사 임의 데이터 시퀀스의 각각의 비트는 암호화된 데이터 시퀀스를 생성하기 위해, 암호화되는 메시지의 데이터 시퀀스 비트와 모듈로 2 덧셈에 의해 결합되는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성 방법.
  13. 의사 임의 데이터 시퀀스 생성기에 있어서,
    N 비트의 초기 데이터 시퀀스(9)에서 검색 패턴(7)을 검색하는 검색 수단(5)을 포함하며,
    상기 검색 수단(5)은,
    ㆍ초기 데이터 시퀀스(9)에서 검색 패턴 세트에 속하는 r 비트의 검색 패턴을 검출하는 검출 수단(13);
    ㆍ검색 패턴(7)의 검출 과정에 의거하여 k 비트의 출력 패턴(25)을 결정하는 결정 수단(15); 및
    ㆍ출력 패턴(25)의 연속물로부터 의사 임의 데이터 시퀀스(3)를 형성하는 반복 수단(17);
    을 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성기.
  14. 제13항에 있어서, 상기 검출 수단(13)은 초기 데이터 시퀀스(9)에 대해 이동되도록 구성된 윈도우(19)와 초기 데이터 시퀀스에 대한 윈도우의 이동을 제어하는 제1 제어 수단(21)을 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성기.
  15. 제13항에 있어서, 상기 결정 수단(15)은 검색 패턴 세트와 출력 패턴 중 적어도 하나에 윈도우의 내용을 부여하기 위한 제2 제어 수단(27)을 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성기.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서, N 비트의 초기 데이터 시퀀스를 생성하는 초기 수단(11)을 더 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성기.
  17. 제16항에 있어서, 상기 초기 수단(11)은 선형 피드백 시프트 레지스터(linear feedback shift register)를 포함하는 것을 특징으로 하는 의사 임의 데이터 시퀀스 생성기.
  18. 배타적 OR(exclusive OR) 논리 게이트(43)를 포함하는 코딩 장치에 있어서, 제13항에 따른 의사 임의 데이터 시퀀스 생성기를 더 포함하는 것을 특징으로 하는 코딩 장치.
  19. 두 개 이상의 개체를 포함하는 보안 시스템에 있어서, 상기 개체는 제18항에 따르는 코딩 장치를 포함하는 것을 특징으로 하는 보안 시스템.
  20. 삭제
  21. 삭제
KR1020077004887A 2004-08-02 2004-08-02 의사 임의 데이터 시퀀스 생성 KR101084612B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2004/002070 WO2006024705A1 (fr) 2004-08-02 2004-08-02 Generation d'une sequence de donnees pseudo aleatoire

Publications (2)

Publication Number Publication Date
KR20070062509A KR20070062509A (ko) 2007-06-15
KR101084612B1 true KR101084612B1 (ko) 2011-11-17

Family

ID=34959013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077004887A KR101084612B1 (ko) 2004-08-02 2004-08-02 의사 임의 데이터 시퀀스 생성

Country Status (10)

Country Link
US (1) US8126140B2 (ko)
EP (1) EP1784718B1 (ko)
JP (1) JP4509184B2 (ko)
KR (1) KR101084612B1 (ko)
CN (1) CN100592254C (ko)
AT (1) ATE487178T1 (ko)
BR (1) BRPI0418985B1 (ko)
DE (1) DE602004029944D1 (ko)
ES (1) ES2355828T3 (ko)
WO (1) WO2006024705A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788552B2 (en) * 2008-01-25 2014-07-22 Tata Consultancy Services Ltd. Deterministic random number generator for cryptography and digital watermarking
US8731124B2 (en) * 2012-03-28 2014-05-20 Telefonaktiebolaget Lm Ericsson (Publ) Signaling of sequence generator initialization parameters for uplink reference signal generation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3936601A (en) * 1974-05-28 1976-02-03 Burroughs Corporation Method and apparatus for altering the synchronous compare character in a digital data communication system
JPH10229330A (ja) * 1997-02-13 1998-08-25 Ando Electric Co Ltd M系列擬似ランダムパターン発生装置
DE19736954A1 (de) * 1997-08-25 1999-08-19 Siemens Ag Verfahren und Anordnung zum rechnergestützten Selbstmischen einer ersten Zahlenfolge zu einer Ausgangszahlenfolge mit Ausgangswerten
US6510228B2 (en) 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
JP3022439B2 (ja) * 1997-09-24 2000-03-21 日本電気株式会社 擬似乱数発生方法および装置
US6748495B2 (en) * 2001-05-15 2004-06-08 Broadcom Corporation Random generator
US7039185B2 (en) * 2001-10-03 2006-05-02 Pitney Bowes Inc. Method and system for securing a printhead in a closed system metering device
US7478235B2 (en) * 2002-06-28 2009-01-13 Microsoft Corporation Methods and systems for protecting data in USB systems
JP4288057B2 (ja) 2002-11-15 2009-07-01 三洋電機株式会社 乱数生成装置

Also Published As

Publication number Publication date
ATE487178T1 (de) 2010-11-15
EP1784718B1 (fr) 2010-11-03
US20090154700A1 (en) 2009-06-18
DE602004029944D1 (de) 2010-12-16
KR20070062509A (ko) 2007-06-15
BRPI0418985A (pt) 2007-12-11
CN101036115A (zh) 2007-09-12
EP1784718A1 (fr) 2007-05-16
JP2008508627A (ja) 2008-03-21
CN100592254C (zh) 2010-02-24
US8126140B2 (en) 2012-02-28
BRPI0418985B1 (pt) 2017-05-30
JP4509184B2 (ja) 2010-07-21
WO2006024705A1 (fr) 2006-03-09
ES2355828T3 (es) 2011-03-31

Similar Documents

Publication Publication Date Title
Johansson et al. Improved fast correlation attacks on stream ciphers via convolutional codes
US20090279688A1 (en) Closed galois field cryptographic system
Jönsson et al. A fast correlation attack on LILI-128
Camtepe et al. Compcrypt–lightweight ANS-based compression and encryption
KR101143041B1 (ko) 리볼빙 버퍼들을 이용한 스트림 암호 설계 방법
WO2021149060A1 (en) Data compression and encryption algorithm
Donnet et al. Security of Y-00 under heterodyne measurement and fast correlation attack
JP4970287B2 (ja) 擬似ランダム・データ・シーケンスを発生するための方法、システム及び装置
Englund et al. A new simple technique to attack filter generators and related ciphers
WO2002054664A2 (en) R-conversion encryption method and system
KR101084612B1 (ko) 의사 임의 데이터 시퀀스 생성
JP2003535362A (ja) 暗号多項式の解読
US20040247116A1 (en) Method of generating a stream cipher using multiple keys
US8611533B2 (en) Method and system for the Orange family of stream ciphers and method and system for generating stream ciphers based on the ERINDALE-PLUS hashing function
Deepthi et al. Cryptanalysis for reduced round Salsa and ChaCha: revisited
US20040064274A1 (en) Residue calculating unit immune to power analysis
Li et al. A novel generation key scheme based on DNA
Ma et al. Internal state recovery of Grain v1 employing guess‐and‐determine attack<? show [AQ ID= Q1]?>
August et al. PudgyTurtle: Using keystream to encode and encrypt
Cerruti One time pad and the short key dream
KR20080019631A (ko) 의사랜덤 데이터 시퀀스 발생 방법, 시스템 및 장치
Gouget et al. How to strengthen pseudo-random generators by using compression
Cheong One-way functions from Chebyshev polynomials
Kanso An efficient cryptosystem Delta for stream cipher applications
KR20000066440A (ko) 엘.에프.에스.알을 이용한 확장 알.씨.4 암호화 방법

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20070228

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20090703

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20110113

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20110908

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20111111

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20111114

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20141106

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20141106

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20151015

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20151015

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20161017

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20161017

Start annual number: 6

End annual number: 6

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20180822