KR20070106629A - 의사랜덤 데이터 시퀀스 생성을 위한 방법, 시스템 및 장치 - Google Patents

의사랜덤 데이터 시퀀스 생성을 위한 방법, 시스템 및 장치 Download PDF

Info

Publication number
KR20070106629A
KR20070106629A KR1020077020445A KR20077020445A KR20070106629A KR 20070106629 A KR20070106629 A KR 20070106629A KR 1020077020445 A KR1020077020445 A KR 1020077020445A KR 20077020445 A KR20077020445 A KR 20077020445A KR 20070106629 A KR20070106629 A KR 20070106629A
Authority
KR
South Korea
Prior art keywords
initial data
data sequence
pattern
data sequences
bit
Prior art date
Application number
KR1020077020445A
Other languages
English (en)
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 KR20070106629A publication Critical patent/KR20070106629A/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
    • 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
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본발명은 의사랜덤 데이터 시퀀스(3)를 생성하기 위한 방법 및 생성기에 관한 것으로서, 상기 생성기는 적어도 하나의 검색 패턴을 검색하는 절차를 이용하여 다수의 초기 데이터 시퀀스(9a, 9b, 9c)에 속하는 데이터를 결합하는 결합 수단을 포함한다.
의사랜덤 데이터 시퀀스, 생성기, 검색 패턴, 초기 데이터 시퀀스, 암호화, 복호화, 보안 시스템

Description

의사랜덤 데이터 시퀀스 생성을 위한 방법, 시스템 및 장치{A METHOD, A SYSTEM, AND A DEVICE FOR GENERATING A PSEUDORANDOM DATA SEQUENCE}
본 발명은 암호화/복호화 분야에 관한 것이며, 또한 의사랜덤 데이터 시퀀스(pseudorandom data sequence)를 생성하는 방법 및 시스템에 관한 것이다.
본 발명은 대칭적인 암호화(symmetrical encryption)를 위한 일련의 비트를 생성하는 한편, 이 경우에 암호화 및 복호화를 위해 동일한 보안키를 사용한다는 점에서 뛰어난 응용성을 가진다. 본 발명은 메세지 비트를 동일한 길이의 의사랜덤 데이터 시퀀스에 비트 단위로 추가하는데 있어 암호화 동작과 복호화 동작이 동일한 스트리밍 암호화 방법(streaming encryption)에 관한 것이다. 대칭적인 암호화는 이동통신(GSM, UMTS 등), 인터넷(SSL 등), 스마트카드(은행카드) 등과 같은 모든 유형의 통신에서 일상적으로 사용된다.
가장 널리 사용되는 스트리밍 암호화 방법은 하드웨어에 대한 낭비를 방지하기 위해 선형 피드백 시프트 레지스터(linear feedback shift register)를 사용하여 암호화될 메시지와 무관하게 암호화 시리즈를 생성시키는 것이다.
선형 피드백 시프트 레지스터의 주된 문제점은 그것의 선형성이다. 레지스터의 길이와 같은 수의 레지스터 출력 비트를 인식함과 아울러 상기 레지스터에 연관 된 피드백 다항식을 인식하면 레지스터의 출력 비트 및 모든 후속하는 상태를 결정할 수 있다.
선형 피드백 시프트 레지스터의 선형성을 “깨뜨리기” 위해서, 다수의 레지스터의 출력물(그리고 가능하다면 그들의 내부 상태)을 결합하는 것이 일반적이다(예를 들어 비선형 불(Boolean) 함수를 이용).
도 6은 유럽특허출원 제EP 0 619 659호에 기재된 수축생성기(shrinking generator)(100)로서, 이는 선형 피드백 시프트 레지스터인 제1레지스터(111a)와 제2레지스터(111b)와 함께 출력선택수단(112)을 포함하고 있다.
따라서, 각각의 이동시에 제1,2레지스터(111a,111b)는 동시에 이동되고, 제1레지스터(111a)의 출력이 1이면 수축생성기(100)의 출력이 제2레지스터(111b)의 출력과 같은 반면에, 그렇지 않으면 출력이 없다.
수축생성기는 2개의 선형 피드백 시프트 레지스터의 출력물은 물론 더 일반적으로는 임의의 쌍의 일련의 비트를 결합시킨다. 수축생성기는 하나의 선형 피드백 시프트 레지스터가 또 다른 것을 제어하는 스트리밍 암호화 방법을 이용한 것이다. 이는 레지스터의 선형성을 깨뜨리기 위해, 사용된 레지스터 및 2개의 연속적인 비트 간의 이동의 횟수를 변화시키는 것이다.
자기 수축 생성기(self-shrinknig generator)로 알려진 수축 생성기의 변형예는 동일한 원리에 기초하지만, 단일 레지스터를 사용한다. 레지스터의 출력 비트는 2개씩 판독되고, 제1비트가 1이면 시스템의 출력이 제2비트가 되는 반면에 그렇지 않으면 출력이 없도록 제1비트가 제2비트의 출력을 제어한다.
선형 피드백 시프트 레지스터만을 이용하는 것은 많은 문제점이 있다. 주된 문제점은 장치의 선형성에서 기인한다. 또한 레지스터가 불린 함수를 매개로 결합되는 경우에도 문제점이 있다. 하드웨어 레벨에서, 함수를 구현하는 데에는 복잡한 단점이 있다. 또한 이 함수는 고정되며 공격받을 수도 있다.
통계적 방법을 이용하면 수축 생성기 및 다른 시간 제어식 암호화 방법(clock-controlled encryption method)의 단점이 더욱 분명해 진다. 특히, 수축 생성기에서, 2개의 출력 비트 사이에서 2개의 레지스터에 의해 실시된 이동의 횟수는 두 레지스터에 대해 동일한 값만큼 변화한다.
본 발명의 목적은 전술한 문제점을 개선함과 아울러 양질의 의사랜덤 데이터 시퀀스의 생성을 단순화시키는 것이다.
본 발명의 또 다른 목적은 낮은 비용의 매우 효율적인 생성기를 제공하는 것이다.
상기 목적은 아래의 절차에 의해 얻어지는 연속적인 출력 패턴으로 구성되는 의사랜덤 데이터 시퀀스 생성 방법에 의해 달성된다.
ㆍ 적어도 하나의 검색 패턴을 선택하는 단계;
ㆍ 다수의 초기 데이터 시퀀스 중 적어도 하나에서 상기 검색 패턴을 하나 이상 검색하는 단계;
ㆍ 상기 다수의 초기 데이터 시퀀스 중 적어도 2개의 내용과 상기 검색에 의거하여 출력 패턴을 결정하는 단계; 및
ㆍ 상기 다수의 초기 데이터 시퀀스내에서 적어도 하나의 검색 패턴을 선택 및 검색하는 것을 재할당하는 단계.
따라서 본 발명의 방법은 다수의 초기 데이터 시퀀스를 결합 또는 “혼합”시켜 의사랜덤 시퀀스를 얻기 위해서 패턴을 검출하는 것에 기초하고 있다. 이는 이행하기에 간단함에도 불구하고, 이 방법은 양질의 의사랜덤 데이터 시퀀스를 생성할 수 있는 복잡성을 내포하고 있다. 이 방법은 다수의 초기 데이터 시퀀스에 대해 다양하게 이루어지므로 이에 대하여 알아내기가 극히 어렵게 되고, 결국 의사랜덤 데이터 시퀀스의 질이 상승하게 된다.
따라서 이 방법은 초기 데이터 시퀀스와 의사랜덤 데이터 시퀀스 간의 연관성의 복잡도를 증가시키게 되어 의사랜덤 데이터 시퀀스를 예측하기 어렵게 한다.
상기의 재할당은 전술한 다수의 초기 데이터 시퀀스의 내용 및/또는 상기 검색의 함수로서 실시되는 것이 바람직하다.
따라서 초기 데이터 시퀀스 상에서 수행되는 상기 절차는 진행 중에도 변화가 가능하며, 이는 의사랜덤 데이터 시퀀스의 질을 더욱 상승시킨다.
본 발명의 일측면에 따라서, 상기 절차들은 다음의 일련의 규칙에 따라 실시된다.
ㆍ 초기 데이터 시퀀스 각각에 연관된 다수의 윈도우가 존재할 때, 상기 다수의 초기 데이터 시퀀스 상에서 적어도 하나의 윈도우를 이동시키는 이동 모드를 하나 이상 정의하기 위한 제1 규칙 세트;
ㆍ 상기 다수의 윈도우를 조종하는 다수의 포인터에 의한 작업의 재할당 및/또는 하나 이상의 검색 패턴의 선택 및/또는 상기 출력 패턴의 갱신을 다루는 제2 규칙 세트; 및
ㆍ 상기 다수의 윈도우에 대한 이동 모드를 결정하는 제3 규칙 세트.
따라서 다양한 절차 또는 작업들간의 상호작용은 간단하고도 효과적으로 구현될 수 있다.
본 발명의 일측면에 따라서, 상기 다수의 초기 데이터 시퀀스는 적어도 2개의 초기 데이터 시퀀스를 포함하며, 원도우의 크기는 1이어서, 적어도 2개의 상기 초기 데이터 시퀀스가 비트 단위로 계속 읽혀져 1 비트의 출력 패턴을 결정할 수 있다.
따라서 계산 시간이 절약되는 동시에 패턴 검색이 가속화될 수 있다.
본 발명의 또 다른 측면에 따라서, 상기 의사랜덤 데이터 시퀀스의 각각의 비트는 메시지의 데이터 시퀀스에 속하는 대응 비트와 결합되고 모듈로 2 덧셈(modulo 2 addition)에 의하여 암호화되어, 암호화 데이터 시퀀스로 형성될 수 있다.
이로 인해, 생성된 암호화된 데이터 시퀀스는 복호화가 어려운 복잡성을 가진다. 복호화 메커니즘도 암호화 메커니즘과 동일하므로 역시 같은 이점이 있다.
본 발명은 또한 적어도 하나의 검색 패턴을 검색하는 절차에 따라서 다수의 초기 데이터 시퀀스에 속하는 데이터를 결합하는 결합 수단을 포함하는 의사랜덤 데이터 시퀀스의 생성기를 제공한다.
따라서 생성기는 다수의 초기 데이터 시퀀스를 결합하여, 생성기의 출력물과 연속하는 생성기의 내부 상태간의 관계를 매우 복잡하게 만들게 되므로, 생성기의 다음 출력물을 예측하기란 대략 0.50 에 지나지 않는 확률을 가질 정도로 어렵게 된다.
또한, 이 생성기는 구현하기에 쉬울 뿐 아니라 효과적이고 상대적으로 비용이 저렴하다.
생성기의 결합 수단은 바람직하게는 다음을 포함한다.
ㆍ 다수의 초기 데이터 시퀀스 상에서 이동되는 다수의 윈도우에 대한 대응 관계에 대한 다수의 포인터;
ㆍ 다수의 윈도우를 조작하는 다수의 포인터 상에서 동작하여, 적어도 하나의 초기 데이터 시퀀스에서 하나 이상의 검색 패턴을 선택하는 선택 수단;
ㆍ 다수의 포인터상에서 동작하여, 적어도 하나의 초기 데이터 시퀀스에서 하나 이상의 검색 패턴을 검색하는 검출 수단;
ㆍ 상기 다수의 초기 데이터 시퀀스 중 적어도 2개의 내용과 상기 검색에 의거하여 출력 패턴을 결정하는 생성 수단;
ㆍ 다수의 포인터와 윈도우간의 대응관계를 재할당하고, 다수의 초기 데이터 시퀀스 내에서 적어도 하나의 검색 패턴을 선택 및 검색하는 것을 재할당하는 할당 수단; 및
ㆍ 연속의 출력 패턴으로부터 의사랜덤 데이터 시퀀스를 생성하는 반복 수단.
따라서 이러한 생성기의 다양한 수단들은 다수의 초기 데이터 시퀀스 상에서 동작하며, 상호교환가능하여, 생성기의 출력물에서 의사랜덤 데이터 시퀀스를 예측하기 어렵게 만든다.
본 발명은 또한 배타적 OR 논리 게이트(exclusive OR logic gate)와 전술한 특징을 가지는 생성기를 포함하는 암호화/복호화 장치를 제공한다.
이 장치는 모듈로 2 덧셈에 의해 암호화될 메시지의 데이터 시퀀스 비트와 대응되는 의사랜덤 데이터 시퀀스로부터 각각의 비트를 결합시켜 높은 선형 복잡도를 가지는 암호화 데이터 시퀀스를 만든다.
본 발명은 또한 네트워크를 통해 연결되는 적어도 2개의 개체를 포함하는 보안 시스템을 제공하며, 상기 개체 각각은 전술한 특징을 가지는 암호화/복호화 장치를 포함한다.
따라서 보안 시스템은 간단한 구조로 구현이 가능하면서도, 복잡한 메커니즘을 내포할 수 있게 된다.
도 1은 본 발명의 의사랜덤 데이터 시퀀스 생성기의 일례를 보여주는 도면이다.
도 2는 도 1의 생성기를 포함하는 보안 시스템을 보여주는 도면이다.
도 3 내지 도 5는 본 발명에 따르는 의사랜덤 데이터 시퀀스를 생성하기 위한 검색 절차의 일례를 보여주는 도면이다.
도 6는 종래의 생성기를 보여주는 도면이다.
본 발명의 다른 특징과 장점들은 비제한적인 예시와 첨부한 도면을 참조한 이하의 설명으로부터 알 수 있을 것이다.
도 1은 의사랜덤 데이터 시퀀스(3)을 생성하는 본 발명의 생성기(1)의 일례를 보여주는 도면이다.
생성기(1)는 적어도 하나의 검색 패턴을 검색하기 위한 절차에 따라서 다수의 초기 데이터 시퀀스(9a, 9b, 9c)에 속하는 데이터를 결합하기 위한 결합수단(5)을 포함한다. 검색 절차는 다양한 방식으로 다수의 초기 데이터 시퀀스에 할당하도록 되어 있다.
이하에서 언급되는 “패턴”은 0과 1만으로 구성된 임의의 단어를 의미한다. 예를 들어, 0, 11, 000, 1010, 00111은 각각 1, 2, 3, 4, 5의 길이를 갖는 패턴이다. 또한 “비어있는(empty)” 패턴은 비어있는 단어이다.
각각의 초기 데이터 시퀀스는 “1”이 아닌 주기의 정수 비트 (예: N 비트)의 스트림이다. 각각의 시퀀스는 최대 주기의 선형 피드백 시프트 레지스터를 포함할 수 있는 초기 수단에 의해 생성된다. 따라서 생성기(1)는 다수의 초기 데이터 시퀀스(9a, 9b, 9c)를 생성하는 다수의 선형 피드백 시프트 레지스터(11a, 11b, 11c)를 포함할 수 있다.
선형 피드백 시프트 레지스터는 배열의 선형 결합으로 주어지는 유한 길이의 비트의 배열(레지스터)이며, 상기 결합은 피드백 다항식에 의한 것이다. 각각의 이동시에, 최고 인덱스를 갖는 비트가 제거되고, 모든 다른 비트들이 하나의 인덱스만큼 이동되며, 또한 최저 인덱스를 갖는 비트는 이동 이전에 선형 결합의 값을 취 한다.
피드백 다항식은 바람직하게는 일련의 최대 주기를 생성하는 선형 피드백 레지스터에 대응하는 초기 다항식일 수 있다(예: P가 초기 다항식일때
Figure 112007065010025-PCT00001
형태의 다항식).
T = 2L - 1 일때, 길이가 L인 모든 단어나 패턴이 최대 주기 T를 가지는 연속물에서 적어도 한번 나타난다는 것은 알려져 있다.
생성기(1)의 결합 수단(5)은 검색 패턴을 검색하는 검색수단(13), 검출수단(15), 할당수단(16), 반복수단(17)을 포함한다.
검색수단(13)은 하나 또는 다수의 검색 패턴을 검색하며, 다수의 윈도우(19a, 19b, 19c), 다수의 포인터(20a, 20b, 20c), 선택수단(21a), 검출수단(21b)을 포함한다.
윈도우(19a, 19b, 19c)는 0이 아닌 크기이며 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 상에서 이동한다. 각각의 윈도우는 하나의 초기 데이터 시퀀스(9a, 9b, 9c)와 대응되며, 초기 데이터 시퀀스 상의 특정 초기 위치에 위치할 수 있고, 특정 비트 수로 이루어진다. 예를 들어, N 크기의 초기 데이터 시퀀스 상에 위치한 t 크기의 윈도우(t는 N 미만 L 이하의 정수)는 각각의 이동시에 초기 데이터 시퀀스 중 t 비트를 정확하게 노출시키도록 초기 데이터 시퀀스 상에서 이동될 수 있는 마스크(mask)이다. 이로 인해, 각각의 이동시에, 윈도우(19a, 19b, 19c)의 비트는 생성기(1)의 출력을 결정할 수 있게 된다.
또한, 윈도우(19a, 19b, 19c)는 이와 대응 관계에 있는 포인터(20a, 20b, 20c)에 의해 조작될 수 있다. 이 때 윈도우(19a, 19b, 19c)와 포인터(20a, 20b, 20c)간의 대응 관계는 의사랜덤 데이터 시퀀스(3)의 생성을 통해 변경될 수 있다.
선택 수단(21a)은 다수의 윈도우(19a, 19b, 19c)를 조작하는 다수의 포인터(20a, 20b, 20c) 상에서 작동하여 검색 패턴이나 적어도 하나의 초기 데이터 시퀀스의 패턴을 선택할 수 있게 한다.
이와 비슷하게, 검출수단(21b)도 검색 패턴이나 하나 이상의 초기 데이터 시퀀스의 패턴을 검색하기 위하여 포인터(20a, 20b, 20c)를 작동하여 초기 데이터 시퀀스(9a, 9b, 9c) 상의 윈도우(19a, 19b, 19c)의 이동을 조절할 수 있게 한다. 따라서 검색될 패턴은 윈도우의 내용에 의존될 수 있다.
예를 들어, 검출수단(21b)은 N 비트의 초기 데이터 시퀀스에서 선택수단(21a)에 의해 선택되는 t 비트의 검색 패턴을 검출할 수 있으며, 여기서 t 는 L 이하의 정수이다. 그러므로 2L - 1 주기의 초기 데이터 시퀀스에서는 검색 패턴을 확실히 찾을 수 있다.
이 때 검색 패턴은 동일한 또는 서로 다른 초기 데이터 시퀀스 상에서 선택되거나 검출될 수 있다.
또한, 검출수단(15)은 연결수단(23)을 통해 검색수단(13)과 상호작용하며, 출력 패턴(25)과 생성수단(27)을 포함한다.
생성수단(27)은 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 적어도 2개의 내 용과 검색에 의거하여 출력 패턴(25)(예: t 비트의 출력 패턴)을 결정한다.
이 때 결정수단(15)은 검색 패턴 세트를 정의하거나 갱신하기 위한 조절수단을 포함할 수 있다. 검색 패턴 세트는 비어있을 수 있으며, 예를 들어 윈도우의 내용이나 패턴을 검색하는 이력에 의존할 수 있다.
또한, 할당수단(16)은 연결수단(28)을 통해 검색수단(13)과 상호작용하게 된다. 할당수단(16)은 다수의 포인터(20a, 20b, 20c)와 윈도우(19a, 19b, 19c) 간의 대응관계를 재할당하고, 다수의 초기 데이터 시퀀스(9a, 9b, 9c)에 대한 패턴이나 검색 패턴을 선택하고 검색하는 것을 재할당한다.
재할당은 검색의 함수로 실시하는 것이 바람직하다. (예: 검색수단(13), 결정수단(15) 및/또는 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 적어도 하나의 내용에 의해 수행되는 작업의 진행에 대한 함수)
또한, 반복수단(17)은 연결수단(29, 31)에 의해 검색수단(13)과 결정수단(15)에 각각 연결된다.
예로서 출력 패턴(25)이 결정된 신호를 결정수단(15)으로부터 수신한 후에, 사전 결정된 정지조건을 충족하지 못하는 한, 반복수단(17)은 검색수단(13) 및 결정수단(15)과 신호를 교환하여 검색 패턴과 출력 패턴 결정작업은 계속할 수 있다. 반복수단(17)은 검색수단(13) 및 결정수단(15)과 신호를 교환하여 정지조건을 추가적으로 시험할 수 있다. 이는 연쇄적으로 의사랜덤 데이터 시퀀스(3)를 형성하는 연속적인 출력 패턴(25)을 생성한다.
이 때 할당수단(16)과 반복수단(17)은 또한 검색수단(13)이나 결정수단(15) 으로 일체화될 수 있다.
이로 인해, 생성기(1)의 다양한 수단은 검색 패턴의 선택 및 검색, 출력 패턴의 생성 작업들을 분리시키게 된다. 또한, 이 수단들은 다수의 스트림이나 초기 데이터 시퀀스 상에서 작업 또는 절차를 수행하고, 각각의 실행이나 출력 패턴의 생성후에 할당 메커니즘을 수정한다.
도 2는 인터넷, GSM, UMTS 등의 유형의 통신네트워크(35)를 통해 상호연결된 2개 이상의 개체를 포함하는 보안시스템(30)을 나타내는 도면이다.
본 도면의 실시예는 제1개체(33a)가 통신네트워크(35)를 통해 제2개체(33b)와 연결된 것을 나타낸다.
제1개체(33a)는 제1단말기(37a), 제1암호화/복호화장치(39a), 제1모뎀(41a)을 포함하고, 제2개체(33b)는 제2단말기(37b), 제2암호화/복호화장치(39b), 제2모뎀(41b)을 포함하며, 또한 제1,2모뎀(41a, 41b)은 통신네트워크(35)와 인터페이스되는 임의의 장치로 이루어진다.
제1,2암호화/복호화장치(39a, 39b)는 각각 의사랜덤 데이터 시퀀스(3)를 생성하는 생성기(1)와 배타적OR논리게이트(exclusive OR logic gate)(43)를 포함한다.
제1,2암호화/복호화장치(39a, 39b)는 메시지를 한 비트씩 암호화/복호화하는 스트림 암호화/복호화를 수행한다.
이 실시예에서, 제1암호화/복호화장치(39a)는 암호화를 수행한다. 이로 인해, 의사랜덤 데이터 시퀀스(3)는 제1단말기(37a)에 의해 송신된 메시지(45)의 상 응하는 위치에 있는 각각의 비트와 배타적 OR 논리 게이트(42)에 의해 결합되어, 그 후 제1모뎀(41a)에 의해 제2개체(33b)로 송신되는 암호화 데이터 시퀀스(47)를 얻게 된다. 따라서 암호화는 메시지(25)의 보통문 텍스트에 암호화 시리즈(의사랜덤 데이터 시퀀스(3))를 한 비트씩 가산하여 암호화 데이터 시퀀스(47)를 얻게 하는 것이다.
제2암호화/복호화장치(39b)는 제1개체(33a)에 의해 송신된 암호화 데이터 시퀀스(47)에 동일한 암호화 시리즈(의사랜덤 데이터 시퀀스(3))를 한 비트씩 가산하여 보통문 텍스트의 메시지(45)로 복구시킨다. 따라서 암호화와 복호화 동작은 동일하다.
본 발명의 방법은 간단히 말해 적어도 하나의 검색 패턴을 검색하는 절차에 따라서 초기 데이터 시퀀스(9a, 9b, 9c)에 속하는 데이터를 결합하여 의사랜덤 데이터 시퀀스(3)를 생성하는 것이다.
따라서 n 개의 초기 데이터 시퀀스(9a, 9b, 9c)나 비트 스트림이 있을 수 있다. 크기가 0이 아닌 하나 이상의 윈도우는 각각의 데이터 시퀀스상에서 이동하고, kn 이상의 수라 할 때 k 개의 윈도우가 존재할 수 있다.
시작 과정에서, 각각의 윈도우는 연관된 데이터 시퀀스의 초기 위치에 있게 된다(예를 들어, 각각의 윈도우는 연관된 데이터 시퀀스의 시작점에 위치할 수 있다). k 개의 윈도우는 k 개의 포인터(20a, 20b, 20c)를 조작할 수 있다.
이하에서, E는 검색 패턴의 값을 나타내고, s 는 출력 패턴(25)의 값을 나타 내며, pf1, pf2, ... , pfkk 개의 윈도우에 대한 포인터(20a, 20b, 20c)의 번호를 나타낸다.
또한, 본발명의 방법은 일련의 단계로 이루어져 있다. 제1단계에서는 검색 패턴을 선택한다.
이 때 검색 패턴은 사전결정되거나 바람직하게는 적어도 하나의 초기 데이터 시퀀스(9a, 9b, 9c)에서 선택될 수 있다.
제2단계에서는 적어도 하나의 초기 데이터 시퀀스(9a, 9b, 9c)에서 검색 패턴을 검색한다.
제3단계에서는 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 적어도 하나의 내용과 검색에 의거하여 값 s 의 출력 패턴(25)을 결정한다. 따라서 출력 패턴 s 는 비어있을 수 있으며, 윈도우의 내용이나 선행 단계의 실시에 의존될 수 있다. 값 s 의 출력 패턴(25)은 검색 패턴과 검색 이력에 따라 결정될 수 있으며, 특히 초기 데이터 시퀀스(9a, 9b, 9c)에서 문제가 되는 검색 패턴 E를 찾기 전의 단계나 반복 횟수가 영향을 줄 수 있다.
제4단계에서는 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 내에서 적어도 하나의 검색 패턴 E를 선택 및 검출하는 작업을 재할당한다. 재할당 절차는 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 하나의 내용 및/또는 검색의 함수로 실시될 수 있다.
이 선행 단계들은 반복적으로 수행되면서 값 s 의 연속적인 출력 패턴(25)으 로부터 의사랜덤 데이터 시퀀스(3)를 생성시킨다.
또한, 이 작업들은 일련의 규칙으로 이루어진다
이러한 일련의 규칙은 생성기(1)의 결합수단(5)에 의하여 구현되고 검색 패턴 E를 선택 및/또는 검출하기 위하여 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 상에서 적어도 하나의 윈도우(19a, 19b, 19c)를 이동시키는 하나 이상의 이동 모드를 정의하는 제1규칙세트(R1)를 포함한다.
제1규칙세트(R1)는 윈도우(19a, 19b, 19c)의 이동 형태, 폭, 방향을 정의 할 수 있다(예: 초기 데이터 시퀀스(9a, 9b, 9c)의 일부분에서의 순환 이동).
예를 들어, 제1규칙세트(R1)는 다음과 같이 정의된 규칙 r1,1을 포함할 수 있다.
r1,1 = “오른쪽으로 한 비트를 이동”.
또한, 일련의 작업에는 생성기(1)의 결합수단(5)에 의해 구현되어, 윈도우(19a, 19b, 19c)를 조작시키는 포인터(20a, 20b, 20c)에 의한 작업의 재할당 및/또는 검색 패턴 E의 선택 및/또는 출력 패턴 s 의 갱신을 관리하는 제2규칙세트(R2)도 포함된다.
마지막으로 일련의 단계에는 다수의 윈도우(19a, 19b, 19c)의 이동 모드를 결정하는 생성기(1)의 결합수단(5)에 의해 구현되는 제3규칙세트(R3)도 포함된다(예: 서로 다른 초기 데이터 시퀀스(9a, 9b, 9c) 상에서의 윈도우 이동의 정지 조건).
제2규칙세트(R2)에 속하는 갱신 규칙 중 적어도 하나는 다음 형태의 제1규칙세트(R1)와 제3규칙세트(R3)에 속하는 적어도 하나의 규칙의 시행에 의존한다 : “pf1에 의해 지정된 윈도우의 내용이 패턴 세트에 속하는 패턴이 아닌 한, 규칙 rk1, rk2, ..., rki, ..., rkm 에 따라서 pfj1, pfj2, ..., pfjn 에 의해 지정된 윈도우를 이동”. 이 때 규칙 rk1 은 제1규칙세트(R1)에 속하는 규칙이다.
일련의 단계나 작업은 사전결정된 조건을 만족할 때까지 반복될 수 있다. 예를 들어, 초기 데이터 시퀀스의 크기가 무한하지 않다면 이러한 일련의 단계는 규칙이 적용되어 윈도우가 초기 데이터 시퀀스를 벗어날 때까지 반복된다. 사용자에 의해 정의된 조건이 만족될 때까지 일련의 작업을 반복하는 것도 가능하다.
또한, 각각의 실시 후에 일련의 작업을 수정하는 것도 생각해 볼 수 있다.
이로 인해, 본발명의 의사랜덤 데이터 시퀀스의 구성요소는 초기 데이터 시퀀스 상의 작업, 상기 작업의 변경, 검색될 패턴, 검색이 실시된 방식이나 검색의 이력에 의거하여 결정될 수 있다.
도 3 내지 도 5는 본발명의 방법의 일례를 보여주는 도면이다.
이 실시예들에 있어서, 일련의 작업들은 일정하게 유지되고, 다수의 초기 데이터 시퀀스(9a, 9b, 9c)에는 최대 주기를 갖는 2개 이상의 선형 피드백 시프트 레지스터(LFSR)(11a, 11b, 11c)의 출력물일 수 있는 2개 이상의 초기 데이터 시퀀스가 포함된다. 또한, 윈도우(19a, 19b, 19c)는 크기가 1이며(예: 1비트), 검색 패턴 세트는 최대 하나의 검색 패턴 E를 포함하고, 검색과 출력 패턴(25)도 크기가 1이 다(예: 1비트).
또한, 윈도우(19a, 19b, 19c)의 이동 폭은 하나의 단위와 같다. 예를 들어 각각의 윈도우는 매 반복시에 1비트씩, 즉 현 비트에서 다음 비트로 이동한다(예: 왼쪽에서 오른쪽으로).
이로 인해, 각각의 초기 데이터 시퀀스(9a, 9b, 9c)는 연속적으로 읽혀질 수 있으며(예: 비트 단위로), 실시 형태가 간결해진다.
처음에, 검색과 출력 패턴(25)에 비어있는 비트를 할당함으로써 초기화된다(예:
Figure 112007065010025-PCT00002
Figure 112007065010025-PCT00003
,
Figure 112007065010025-PCT00004
은 비어있는 세트).
제1실시예에서, 2개의 윈도우(19a, 19b)가 2개의 초기 데이터 시퀀스(9a, 9b) 상에서 이동된다. 윈도우(19a)는 초기 데이터 시퀀스(9a) 상에서 이동하고, 윈도우(19b)는 초기 데이터 시퀀스(9b) 상에서 이동된다. 각각의 윈도우는 연관된 데이터 시퀀스의 제1 비트상에 초기화된다. 2개의 포인터(20a, 20b)(pf1, pf2로 매겨진)가 윈도우(19a, 19b)를 지정한다. 이 제1실시예에서, 윈도우(19a, 19b)에 대한 포인터(20a, 20b)는 실행되는 동안 수정되지 않는다. 예를 들어, 포인터 pf1은 항상 윈도우(19a)를 지정하고, 포인터 pf2 는 항상 윈도우(19b)를 지정한다. 이와 유사하게, b 로 표기되는 이진 상수값은 정의된 뒤 실행중(예: 제1실시예의 일련의 작업 중)에 변하지 않는다.
제1실시예의 일련의 작업은 다음과 같이 정의될 수 있다:
ㆍ 제1규칙세트(R1)의 유일한 규칙으로서 규칙 r1,1 = "오른쪽으로 한 비트를 이동"을 설정;
ㆍ 제2규칙세트(R2)의 갱신 규칙으로서 다음 규칙들을 설정:
r2,1 = "pf1에 의해 지정된 윈도우로부터의 비트를 E 에 입력시킴";
r2,2 = "pf2에 의해 지정된 윈도우의 내용이 E 에 속하는 패턴인 경우,
Figure 112007065010025-PCT00005
로 갱신";
r2,3 = "pf2에 의해 지정된 윈도우의 내용이 E 에 속하는 패턴이 아닌 경우,
Figure 112007065010025-PCT00006
로 갱신";
ㆍ 제3규칙세트(R3)로서 다음의 규칙을 설정:
r3,1 = "pf2에 의해 지정된 윈도우의 내용이 E 에 속하는 패턴이 아닌한, 규칙 r1,1에 따라서 pf2에 의해 지정된 윈도우를 이동“;
r3,2 = "규칙 r1,1에 따라서 pf1과 pf2에 의해 지정된 윈도우를 이동"
ㆍ 규칙 r2,1, r2,2, r2,3, r3,1, r3,2 을 차례로 적용시킴;
ㆍ 출력 패턴 s를 출력.
도 3은 일련의 절차의 실시를 보여주는 순서도이다.
단계 E11에서, 선택수단(21a)은 검색 패턴 E를 선택하는 포인터(20a) 상에서 작동한다. 다시 말해서, 이 단계는 pf1에 의해 지정된 윈도우(19a)에 속하는 비트를 검색 패턴 E에 입력시킨다.
그리고나서 검출수단(21b)이 포인터(20b) 상에서 동작하여, 초기 데이터 시퀀스(9b)에서 검색 패턴 E를 검색한다. 따라서 단계 E12는 pf2에 의해 지정된 윈도우(19b)의 내용을 검색 패턴 E의 내용과 비교하는 단계이다.
단계 E13에서, 생성수단(27)은 제1법칙에 따라서 값 s 의 출력 패턴(25)을 갱신한다(
Figure 112007065010025-PCT00007
). 이로인해, 만약 pf2에 의해 지정된 윈도우(19b)의 내용이 검색 패턴 E 의 내용과 동일하다면 출력 패턴(25)을 특정값 b 로 취한다.
단계 E14에서, 생성수단(27)은 제2법칙에 따라서 출력 패턴(25)을 갱신한다(
Figure 112007065010025-PCT00008
). 이로인해, 만약 pf2에 의해 지정된 윈도우(19b)의 내용이 세트 E에 속한 패턴이 아니라면 패턴 s 는 비트 b 의 보수인 값을 취한다. 예를 들어 특정값 b 와 값 "1" 간의 모듈로 2 덧셈을 실행하고, 출력 패턴(25)에 대한 이 덧셈의 결과를 할당한다.
이 실시예에서, 할당수단(16)은 언제나 포인터(20a, 20b)와 윈도우(19a, 19b) 사이에 동일한 대응관계를 할당한다.
따라서 단계 E15와 E16에서는 윈도우(19b)의 내용이 출력 패턴 E 의 비트와 동일하지 않은(E16) 다음 비트로 pf2에 의해 지정된 윈도우(19b)를 한 비트씩 이동(E15)시키는 것이 반복된다.
단계 E17은 포인터 pf1, pf2 에 의해 지정된 윈도우(19a, 19b)를 현 비트에 서 다음 비트로 한 비트씩 이동시킨다.
마지막으로, 단계 E18에서, 반복수단(17)은 선행 단계들을 반복시키면서 출력 패턴 s 를 생성기(1)로부터 발생시켜 의사랜덤 데이터 시퀀스(3)를 생성해낸다.
간단히 말해서, 일련의 절차는 다음과 같이 요약될 수 있다: pf1에 의해 지정된 윈도우(19a) 상의 비트가 읽혀지고, pf2에 의해 지정된 윈도우 상의 비트가 pf1에 의해 지정된 윈도우 상의 비트와 일치하지 않는 한, pf2에 의해 지정된 윈도우는 오른쪽으로 한 위치씩 이동된다. 만약 pf2에 의해 지정된 윈도우가 이동되지 않았다면, b 가 출력된다; 그렇지 않으면,
Figure 112007065010025-PCT00009
이 출력된다. 상기 2개의 윈도우는 재시작 전에 오른쪽으로 한 비트 이동된다.
물론, 순서도는 정지 시험(간소화를 위해 도면에는 도시하지 않음)를 포함할 수 있으며, 이로써 사전정의된 조건의 만족여부를 결정할 수 있다.
예를 들어, 이 단계들은 포인터 pf2에 의해 지정된 윈도우가 초기 데이터 시퀀스(9)를 벗어날 때까지 반복되어 의사랜덤 데이터 시퀀스를 형성시킬 수 있다.
도 4는 제2실시예에 따르는 일련의 절차를 수행하는 것을 보여주는 순서도이다.
이 제2실시예는 길이 "1"을 가진 3개의 윈도우(19a, 19b, 19c)와 3개의 초기 데이터 시퀀스(9a, 9b, 9c)를 포함한다. 윈도우(19a)는 초기 데이터 시퀀스(9a) 상에서 이동되고, 윈도우(19b)는 초기 데이터 시퀀스(9b) 상에서 이동되며, 윈도 우(19c)는 초기 데이터 시퀀스(9c) 상에서 이동된다. 초기에 3개 윈도우 각각은 연관된 데이터 시퀀스의 제1 비트 상에 위치된다.
pf1, pf2, pf3로 매겨진 3개의 포인터(20a, 20b, 20c)가 윈도우(19a, 19b, 19c)에 대하여 정의된다. 초기화시에, pf1은 윈도우(19a)를 지정하고, pf2는 윈도우(19b)를 지정하며, pf3는 윈도우(19c)를 지정한다. pftemp로 매겨진 제4 포인터가 pf1, pf2, pf3의 값을 수정하는 동안에 pf1의 값을 임시적으로 저장하도록 정의된다.
제2실시예에 따르는 일련의 절차의 메커니즘은 다음과 같이 정의될 수 있다:
ㆍ 제1규칙세트(R1)의 유일한 이동 규칙으로서 규칙 r1,1 = "오른쪽으로 한 비트 이동"을 설정;
ㆍ 제2규칙세트(R2)의 갱신 규칙들로서 다음 규칙들을 설정:
r2,1 = "pf1에 의해 지정된 윈도우에 속하는 비트를 E 에 입력시킴";
r2,2 = "pf3에 의해 지정된 윈도우에 속하는 비트를 s 에 입력시킴";
r2,3 = "다음의 순환적 치환을 실시하여 포인터의 값을 수정함: pftemp는 pf1에 의해 지정된 윈도우를 지정하고, pf1은 pf2에 의해 지정된 윈도우를 지정하며, pf2는 pf3에 의해 지정된 윈도우를 지정한 뒤, pf3는 pftemp에 의해 지정된 윈도우를 지정함";
ㆍ 제3규칙세트(R3)의 실행 규칙으로서 다음 규칙들을 설정:
r3,1 = "pf2에 의해 지정된 윈도우의 내용이 세트 E 에 속하는 패턴이 아닌한, pf2, pf3에 의해 지정된 윈도우에 규칙 r1,1 을 적용";
r3,2 = "pf1, pf2, pf3에 의해 지정된 윈도우에 규칙 r1,1을 적용";
ㆍ 규칙 r2,1, r3,1, r2,2, r2,3, r3,2 을 차례로 적용시킴;
ㆍ 출력 패턴 s 를 출력.
이로인해, 도 4의 순서도의 단계 E21에서, 선택수단(21a)은 포인터(20a)상에서 동작하여 검색 패턴 E 를 선택한다. 이는 pf1에 의해 지정된 윈도우(19a)의 비트를 검색 패턴 E에 입력하는 것이다.
그리고나서 검출수단(21b)이 pf2로 매겨진 포인터 상에서 동작하여 검색 패턴 E를 검색한다.
다음으로 단계 E22와 E23에서는 pf2에 의해 지정된 윈도우의 내용이 E에 속하는 패턴이 아닌한(E22), pf2와 pf3에 의해 지정된 윈도우를 오른쪽으로 한 비트씩 이동(E23)시키는 절차를 반복한다.
단계 E24에서, 생성수단(27)은 pf3에 의해 지정된 윈도우의 비트 값을 패턴 s 에 할당한다.
단계 E25에서, 할당수단(16)은 pf1, pf2, pf3의 값을 다음과 같이 재할당한다: pf1를 pf2의 값으로 취하고, pf2를 pf3의 값으로 취하며, pf3를 pf1의 선행 값으 로 취한다.
단계 E26에서, 검출수단(21b)이 포인터 상에서 동작하여 pf1, pf2, pf3에 의해 지정된 윈도우를 오른쪽으로 한 비트씩 이동시킨다.
마지막으로, 단계 E27에서, 반복수단(17)은 선행 단계들을 반복시키면서 출력 패턴 s 를 생성기(1)로부터 발생시켜 의사랜덤 데이터 시퀀스(3)를 생성해낸다.
간단히 말하면, 일련의 절차는 다음과 같이 요약될 수 있다: pf1에 의해 지정된 윈도우의 현 비트 E가 읽혀지고, pf2에 의해 지정된 윈도우 상의 비트가 비트 E와 일치하지 않는 한, pf2, pf3에 의해 지정된 윈도우는 오른쪽으로 한 위치씩 이동된다; 출력 패턴 s 를 pf3에 의해 지정된 윈도우 상의 비트 값으로 취한다; 3개의 포인터 pf1, pf2, pf3가 서로 교환된다; 그리고나서 상기 3개의 윈도우가 재시작 전에 오른쪽으로 한 비트 이동된다.
도 5는 제3실시예에 따르는 일련의 절차를 보여주는 순서도이다.
제3실시예는 2개의 초기 데이터 시퀀스(9a, 9b)와 2개의 윈도우(19a, 19b)를 포함한다. 윈도우(19a)는 초기 데이터 시퀀스(9a) 상에서 이동되고, 윈도우(19b)는 초기 데이터 시퀀스(9b) 상에서 이동된다. 초기에 각각의 윈도우는 연관된 시퀀스의 제1 비트 상에 고정된다. 윈도우(19a, 19b)에 대하여 pf1, pf2로 매겨진 포인터(20a, 20b) 가 정의된다. 초기화시에, pf1은 윈도우(19a)를 지정하고, pf2는 윈도우(19b)를 지정한다.
제3실시예에 따르는 일련의 절차의 메커니즘은 다음과 같이 정의될 수 있다:
ㆍ 제1규칙세트(R1)의 유일한 이동 규칙으로서 규칙 r1,1 = "오른쪽으로 한 비트 이동"을 설정;
ㆍ 제2규칙세트(R2)의 갱신 규칙들로서 다음 규칙들을 설정:
r2,1 = "pf1에 의해 지정된 윈도우에 속하는 비트를 E에 입력시킴";
r2,2 = "pf1에 의해 지정된 윈도우에 속하는 비트 값을 s 에 할당";
r2,3 = "포인터 pf1과 pf2의 값을 교환"
ㆍ 제3규칙세트(R3)의 실행 규칙으로서 다음 규칙들을 설정:
r3,1 = "규칙 r1,1에 따라서 pf1에 의해 지정된 윈도우를 이동"
r3,2 = "pf1에 의해 지정된 윈도우의 내용이 세트 E 에 속하는 패턴이 아닌한, 규칙 r1,1에 따라서 pf1에 의해 지정된 윈도우를 이동시킴";
r3,3 = "만약 s 가 E에 속하는 패턴이 아닌 경우, 규칙 r2,3을 적용"
ㆍ 규칙 r2,1, r3,1, r2,2, r3,2, r3,1, r3,3 을 차례로 적용;
ㆍ 출력 패턴 s 를 출력.
이로인해, 도 5의 순서도의 단계 E31에서, 선택수단(21a)은 포인터(20a) 상에서 동작하여, 검색 패턴 E를 선택한다. 이는 pf1에 의해 지정된 윈도우에 속하는 비트를 세트 E에 입력시킨다.
단계 E32에서, 결정수단(21b)은 pf1에 의해 지정된 윈도우를 오른쪽으로 한 비트 이동시킨다.
단계 E33에서, 생성수단(27)은 패턴 s 가 pf1에 의해 지정된 윈도우에 들어있는 비트 값을 취하도록 한다.
그리고나서 결정수단(21b)은 pf1으로 매겨진 포인터 상에서 동작하여 검색 패턴 E를 검색한다.
이로인해, 단계 E34와 E35에서는 pf1에 의해 지정된 윈도우의 내용이 E에 속하는 패턴이 아닌한(E34), pf1에 의해 지정된 윈도우를 오른쪽으로 한 비트씩 이동(E23)시킨다.
단계 E36에서, pf1에 의해 지정된 윈도우는 오른쪽으로 한 비트 이동된다.
단계 E37과 E38에서는 만약 패턴 s 가 세트 E에 속하는 패턴이 아니라면, 포인터 pf1, pf2의 값은 할당수단(16)에 의해 교환(E38)된다.
마지막으로, 단계 E39에서, 반복수단(17)은 생성기(1)로부터 출력 패턴 s 를 출력시킨다.
간단히 말하면, 일련의 절차는 다음과 같이 요약될 수 있다: 패턴 E가 pf1에 의해 지정된 윈도우의 내용으로 초기화되고, pf1에 의해 지정된 윈도우가 오른쪽으로 한 위치 이동되며, 패턴 s 가 pf1에 의해 지정된 윈도우에 속하는 비트 값으로 취해지고; pf1에 의해 지정된 윈도우의 내용이 E에 속하는 패턴이 아닌한 pf1에 의해 지정된 윈도우는 오른쪽으로 한 위치 이동되며; 그리고나서 pf1에 의해 지정된 윈도우가 오른쪽으로 한 위치 이동되고; 만약 패턴 s가 E에 속하는 패턴이 아니라면 포인터 pf1, pf2의 값은 교환되고 패턴 s 가 출력된다.
따라서, 본발명의 방법은 다수의 초기 비트 시퀀스에서 시작하여 규칙들을 따라 초기 시퀀스 상에서 윈도우를 이동시켜 얻은 새로운 비트 시퀀스를 생성해낸다. 패턴의 선택은 바람직하게는 다수의 초기 시퀀스 상에서 이루어지며, 다수의 초기 시퀀스는 진행 중에 교체될 수 있고, 따라서 양질의 의사랜덤 비트 시퀀스를 만들어낼 수 있다.
전술한 실시예들은 빠른 수행이 가능하며 실시에 필요한 하드웨어 구축 비용도 불(boolean) 함수를 사용한 암호화 시스템에 비해 상대적으로 저렴하다. 이들은 고속 통신(인터넷, GSM, UMTS, WiFi) 상의 암호화에 적합하다.
실제로 의사랜덤 데이터 시퀀스(3)의 각 비트는 메시지(45)의 데이터 시퀀스에 속하는 대응 비트와 결합되어 모듈로2덧셈에 의하여 암호화하여 암호화 데이터 시퀀스(47)를 형성할 수 있다(도 2 참조).

Claims (8)

  1. 연속적인 출력 패턴(25)으로 구성된 의사랜덤 데이터 시퀀스의 생성 방법에 있어서, 상기 출력 패턴(25)은,
    ㆍ 적어도 하나의 검색 패턴을 선택하는 단계;
    ㆍ 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 적어도 하나에서 상기 검색 패턴을 하나 이상 검색하는 단계;
    ㆍ 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 적어도 2개의 초기 데이터 시퀀스의 내용과 상기 검색에 의거하여 출력 패턴(25)을 결정하는 단계; 및
    ㆍ 상기 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 내에서 적어도 하나의 검색 패턴을 선택 및 검색하는 것을 재할당하는 단계;
    에 의해 얻어지는 것을 특징으로 하는 생성 방법.
  2. 청구항 1에 있어서, 상기 재할당 단계는 상기 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 중 하나 이상의 초기 데이터 시퀀스의 내용 및/또는 상기 검색 단계의 함수로서 시행되는 것으로 특징으로 하는 생성 방법.
  3. 청구항 1 또는 청구항 2 에 있어서, 상기 단계들은,
    ㆍ 초기 데이터 시퀀스와 각각 연관되어 있는 다수의 윈도우(19a, 19b, 19c)가 있고, 상기 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 상에서 적어도 하나의 윈도 우(19a, 19b, 19c)를 이동시키는 이동 모드를 하나 이상 정의하는 제1 규칙 세트;
    ㆍ 상기 다수의 윈도우(19a, 19b, 19c)를 조종하는 다수의 포인터에 의한 작업의 재할당 및/또는 하나 이상의 검색 패턴의 선택 및/또는 상기 출력 패턴(25)의 갱신을 관리하는 제2 규칙 세트; 및
    ㆍ 상기 다수의 윈도우를 이동시키는 모드를 결정하는 제3 규칙 세트;
    를 포함하는 일련의 규칙에 의해 시행되는 것을 특징으로 하는 생성 방법.
  4. 청구항 3에 있어서, 상기 다수의 초기 데이터 시퀀스는 적어도 2개의 초기 데이터 시퀀스를 포함하고, 윈도우(19a, 19b, 19c)의 크기는 1 이어서, 적어도 2개의 상기 초기 데이터 시퀀스를 한 비트씩 계속적으로 읽어 1 비트의 출력 패턴(25)을 결정할 수 있는 것을 특징으로 하는 생성 방법.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서, 상기 의사랜덤 데이터 시퀀스(3)의 각 비트는 메시지의 데이터 시퀀스에 속하는 대응 비트와 결합되고 모듈로 2 덧셈(modulo 2 addition)에 의하여 암호화되어, 암호화 데이터 시퀀스(47)로 형성되는 것을 특징으로 하는 생성 방법.
  6. 의사랜덤 데이터 시퀀스(3)의 생성기에 있어서, 적어도 하나의 검색 패턴을 검색하는 절차에 따라 다수의 초기 데이터 시퀀스(9a, 9b, 9c)에 속하는 데이터를 결합하는 결합수단(5)을 포함하고, 상기 결합수단(5)은,
    ㆍ 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 상에서 이동되는 다수의 윈도우(19a, 19b, 19c)에 대한 대응 관계를 정의하는 다수의 포인터(20a, 20b, 20c);
    ㆍ 다수의 윈도우(19a, 19b, 19c)를 조종하는 다수의 포인터(20a, 20b, 20c) 상에서 동작하여, 적어도 하나의 초기 데이터 시퀀스에서 상기 검색 패턴을 하나 이상 선택하는 선택 수단(21a);
    ㆍ 다수의 포인터(20a, 20b, 20c) 상에서 동작하여, 적어도 하나의 초기 데이터 시퀀스에서 상기 검색 패턴을 하나 이상 검색하는 검출 수단(21b);
    ㆍ 상기 다수의 초기 데이터 시퀀스(9a, 9b, 9c)에 속하는 적어도 2개의 초기 데이터 시퀀스의 내용과 상기 검색에 의거하여 출력 패턴(25)을 결정하는 생성 수단(27);
    ㆍ 다수의 포인터(20a, 20b, 20c)와 다수의 윈도우(19a, 19b, 19c) 간의 대응관계를 재할당하고, 상기 다수의 초기 데이터 시퀀스(9a, 9b, 9c) 내에서 적어도 하나의 검색 패턴을 선택 및 검색하는 것을 재할당하는 할당 수단(16); 및
    ㆍ 연속적인 출력 패턴(25)으로부터 의사랜덤 데이터 시퀀스(3)를 생성하는 반복 수단(17);
    을 포함하는 것을 특징으로 하는 생성기.
  7. 배타적 OR 논리 게이트(exclusive-OR logic gate)를 포함하는 암호화/복호화 장치에 있어서, 청구항 6 에 따르는 생성기(1)를 더 포함하는 것을 특징으로 하는 암호화/복호화 장치(39a, 39b).
  8. 네트워크(35)를 통해 연결되는 적어도 2개의 개체(33a, 33b)를 포함하는 보안 시스템에 있어서, 상기 적어도 2개의 개체는 각각 청구항 7 에 따르는 암호화/복호화 장치(39a, 39b)를 포함하는 것을 특징으로 하는 보안 시스템(30).
KR1020077020445A 2005-02-14 2006-02-13 의사랜덤 데이터 시퀀스 생성을 위한 방법, 시스템 및 장치 KR20070106629A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0501481 2005-02-14
FR0501481 2005-02-14

Publications (1)

Publication Number Publication Date
KR20070106629A true KR20070106629A (ko) 2007-11-02

Family

ID=35058585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077020445A KR20070106629A (ko) 2005-02-14 2006-02-13 의사랜덤 데이터 시퀀스 생성을 위한 방법, 시스템 및 장치

Country Status (7)

Country Link
US (1) US8260834B2 (ko)
EP (1) EP1851899A1 (ko)
JP (1) JP4970287B2 (ko)
KR (1) KR20070106629A (ko)
CN (1) CN101138195B (ko)
BR (1) BRPI0607201A2 (ko)
WO (1) WO2006085038A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639611B2 (en) * 2006-03-10 2009-12-29 Alcatel-Lucent Usa Inc. Method and apparatus for payload-based flow estimation
KR101037520B1 (ko) * 2008-12-02 2011-05-26 주식회사 팬택 광대역 무선통신시스템에서 스크램블링 코드 생성 방법 및 그 장치
KR100991957B1 (ko) * 2009-01-20 2010-11-04 주식회사 팬택 광대역 무선통신시스템에서의 스크램블링 코드 생성 장치 및 그 방법
AU2015200234B2 (en) * 2014-01-21 2019-02-28 Joy Global Surface Mining Inc Controlling a crowd parameter of an industrial machine
US10103877B2 (en) 2015-09-24 2018-10-16 Intel Corporation SMS4 acceleration processors having round constant generation
CN116382634B (zh) * 2023-05-29 2023-08-08 牛芯半导体(深圳)有限公司 伪随机码生成电路、方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06308881A (ja) * 1993-04-08 1994-11-04 Internatl Business Mach Corp <Ibm> 暗号化方法及び装置
US5844925A (en) * 1996-07-17 1998-12-01 Ericsson Inc. Spiral scrambling
JPH10190523A (ja) * 1996-12-20 1998-07-21 Fujitsu General Ltd エネルギー拡散装置
US6510228B2 (en) 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
DE69939220D1 (de) * 1999-12-22 2008-09-11 Ericsson Telefon Ab L M Verfahren und elektrische Vorrichtung für die leistungsfähige Generierung von Mehrfachraten-Pseudozufallsfolgen
US6922435B2 (en) * 2000-09-29 2005-07-26 Qualcomm Inc Method and apparatus for generating PN sequences at arbitrary phases

Also Published As

Publication number Publication date
CN101138195B (zh) 2011-05-18
BRPI0607201A2 (pt) 2010-03-02
CN101138195A (zh) 2008-03-05
EP1851899A1 (fr) 2007-11-07
JP4970287B2 (ja) 2012-07-04
JP2008530606A (ja) 2008-08-07
WO2006085038A1 (fr) 2006-08-17
US8260834B2 (en) 2012-09-04
US20090157779A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
US10007488B2 (en) Secured pseudo-random number generator
US7346160B2 (en) Randomization-based encryption apparatus and method
Impagliazzo et al. How to recycle random bits
Machicao et al. Improving the pseudo-randomness properties of chaotic maps using deep-zoom
KR20070106629A (ko) 의사랜덤 데이터 시퀀스 생성을 위한 방법, 시스템 및 장치
CA2723405A1 (en) Cryptographic system including a random number generator using finite field arithmetics
WO2009100104A1 (en) Cryptographic system incorporating a digitally generated chaotic numerical sequence
CN103812596B (zh) 伪随机序列的生成方法和装置
KR102154164B1 (ko) 의사 랜덤 시퀀스 생성 방법 및 데이터 스트림의 코딩 또는 디코딩 방법
KR100607376B1 (ko) 의사-랜덤 수 시퀀스 발생기 및 이와 관련된 방법
US20050010624A1 (en) Method and system for making secure a pseudo-random generator
Fuster-Sabater et al. On the use of cellular automata in symmetric cryptography
WO2013121736A1 (ja) 乱数発生装置、乱数発生方法、オブジェクト配置装置、並びにコンピュータ・プログラム
Easttom Random number generators
CN114063981A (zh) 高质量伪随机数的获取方法
KR100308893B1 (ko) 엘.에프.에스.알을 이용한 확장 알.씨.4 암호화 방법
JP4509184B2 (ja) 疑似ランダムデータシーケンスの生成
RU2239290C2 (ru) Способ поточного шифрования данных
CN111193584B (zh) 基于操作***的敏感数据的加密方法及装置、存储介质
Chang et al. Binary de Bruijn Sequences via Zech’s Logarithms
Neacșu The Effectiveness of the Statistical Testing of Randomness in a Complete Cryptographic System
Eröz et al. A New Method Based on Particle Swarm Optimization Algorithm to Improve Statistical Randomness Properties
Mrozek et al. Multi-Run Tests Based on Address Changing
Chang et al. Binary de Bruijn Sequences via Zech's Logarithms
Ziani et al. CFA: A New Family of Hybrid CA‐Based PRNGs

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application