KR100871221B1 - 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치 - Google Patents

선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치 Download PDF

Info

Publication number
KR100871221B1
KR100871221B1 KR1020060111920A KR20060111920A KR100871221B1 KR 100871221 B1 KR100871221 B1 KR 100871221B1 KR 1020060111920 A KR1020060111920 A KR 1020060111920A KR 20060111920 A KR20060111920 A KR 20060111920A KR 100871221 B1 KR100871221 B1 KR 100871221B1
Authority
KR
South Korea
Prior art keywords
lfsr
shift register
time
power
sign
Prior art date
Application number
KR1020060111920A
Other languages
English (en)
Other versions
KR20070050857A (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 KR20070050857A publication Critical patent/KR20070050857A/ko
Application granted granted Critical
Publication of KR100871221B1 publication Critical patent/KR100871221B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/70756Jumping within the code, i.e. masking or slewing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Power Sources (AREA)

Abstract

부호 생성을 위해 사용되는 선형궤환시프트레지스터(LFSR)의 스테이트를 빠르게 계산하여 부호를 생성하는 방법 및 장치가 개시되어 있다. 이러한 본 발명의 실시예에 따르면, n-스테이지의 LFSR을 포함하여 통신시스템에서 사용되는 부호를 생성하기 위한 방법은, 상기 LFSR의 현재 스테이트 값을 나타내는 특성 다항식을 유한체 GF(2n)의 원소로 표현하고 n=rs일 때 상기 특성 다항식에 대해 2r-th의 파워 연산 및 곱셈 연산을 수행한다. 상기 2r-th의 파워 연산 및 곱셈 연산은 s번 반복적으로 수행되고, 이에 따라 상기 LFSR의 새로운 스테이트 값을 제공함으로써 새로운 스테이트 값을 가지는 부호가 생성된다.
LFSR, 스테이트, 슬립모드, 파워 연산, 곱셈 연산

Description

선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서 부호 생성 방법 및 장치{PSEUDORANDOM BINARY SEQUENCE GENERATION METHOD AND APPARATUSIN A COMMUNICATION SYSTEM USING LINEAR FEEDBACK SHIFT REGISTER}
도 1은 종래기술에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치의 일 예를 보여주는 블록 다이아그램.
도 2는 종래기술에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치의 다른 예를 보여주는 블록 다이아그램.
도 3은 종래기술에 따른 의사잡음 생성기의 스테이트 계산을 위한 동작의 처리 흐름의 또 다른 예를 보여주는 도면.
도 4는 본 발명의 일 실시예에 따라 의사잡음 생성기의 스테이트 계산을 위한 처리 흐름을 보여주는 도면.
도 5a 및 도 5b는 도 4에 도시된 처리 흐름에 의한 곱셈 연산과 제곱 연산을 수행하는 시프트레지스터 로직의 구성의 일 예를 보여주는 도면.
도 6은 본 발명의 일 실시예에 따라 의사잡음 생성기의 스테이트 계산을 위한 장치의 블록 다이아그램.
도 7은 도 6에 도시된 장치에 의한 스테이트 계산 동작의 신호 타이밍도.
도 8은 본 발명의 다른 실시예에 따라 의사잡음 생성기의 스테이트 계산을 위한 처리 흐름을 보여주는 도면.
도 9는 도 8에 도시된 처리 흐름에 의한 파워 연산을 수행하는 시프트레지스터 로직의 구성을 보여주는 도면.
도 10은 본 발명의 적용 예로서, 42-스테이지 선형궤환시프트레지스터를 이용한 부호 생성 동작시 26-th 파워 연산에 필요한 값들을 보여주는 도면.
본 발명은 선형 궤환 시프트 레지스터(Linear Feedback Shift Register: 이하 "LFSR"이라 칭함)에 관한 것으로, 특히 LFSR를 이용하는 통신 시스템에서 부호 생성을 위해 사용되는 LFSR의 스테이트를 빠르게 계산하여 부호를 생성하는 방법에 관한 것이다.
LFSR은 선형 피드백을 사용하여 순서화된 2진 비트열의 의사랜덤 시퀀스(pseudorandom binary sequence)를 생성하는 회로를 말한다. 이 회로에서는 클록의 주기에 맞추어 여러 개의 시프트 레지스터의 내용이 하나씩 시프트되고 동시에 출력값과 시프트 레지스터의 배타적 논리합 연산값이 시프트 레지스터의 입력으로 인가된다. 이러한 LFSR은 전송을 위한 데이터의 암호화나 동기화를 위해 널리 사용되는데, 예를 들어 cdma2000이나 UMTS(Universal Mobile Telecommunication Systems)와 같은 부호분할다중접속(Code Division Multiple Access: 이하 "CDMA"라 칭함)방식 이동 통신시스템의 의사잡음(Pseudo Noise: 이하 "PN"이라 칭함) 생성기 등에 적용되고 있다.
상기 CDMA 시스템의 단말기에는 전력 소모를 줄이기 위한 다양한 기술들이 적용되고 있다. 이러한 기술의 예로 슬립모드(sleep mode) 동작을 들 수 있다. 이 슬립모드에서도 전력 소모를 줄이는 방안이 고려되고 있다. 상기 PN 생성기를 구성하는 LFSR을 구동하는 클럭(clock)은 보통 고속으로 동작하는 TCXO(Temperature Compensated Crystal Oscillator)가 제공하는데, 슬립모드에서는 상기 TCXO를 저속으로 동작시키고 LFSR의 전원을 차단함으로써 전력 소모를 줄일 수 있다. 예를 들면, cdma2000 1x 시스템에서는 1.2288Mchip/sec로 동작하는 고속의 42-스테이지(stage) LFSR에 의해 롱(long) PN 부호(code)가 발생되는데, 슬립모드에서는 상기 LFSR의 전원을 차단하고 고속의 클럭 대신에 저속의 클럭을 이용하여 경과 시간을 센다. 이때 만약 단말기가 고정 주기로 슬립과 깨어나는(wake-up) 동작을 반복한다면, 슬립 시간에 해당하는 칩(chip) 수만큼 LFSR의 스테이트(state)를 전진(advance)시키는 마스크패턴(mask pattern)을 사용함으로써 깨어난 후부터 사용될 LFSR의 스테이트를 구하는 방안이 제안된 바 있다.
상기 LFSR이 슬립모드에서 깨어나는 주기가 일정한 경우, 고정된 마스크패턴을 이용하여 슬립모드에서 깨어난 이후에 사용될 LFSR 스테이트를 구하는 장치가 도 1 및 도 2에 도시되어 있다. 도 1은 종래기술에 따른 PN 생성기의 스테이트 계산을 위한 장치의 일 예를 보여주는 블록 다이아그램으로, 이 장치는 피보나 치(Fibonacci) 연결 방식의 4-stage LFSR에 대한 스테이트를 계산하는 동작을 수행한다.
상기 도 1을 참조하면, 상기 장치는 주어진 마스크패턴을 이용하여, 현재 LFSR 스테이트를 추출하고 이로부터 상기 마스크패턴이 의미하는 시간 후의 스테이트를 구한다. 이러한 동작을 위하여 먼저 SW1과 SW2는 닫고 SW3는 열어 둔 상태에서 4칩을 진행하여 버퍼들 R3,R2,R1,R0에 원하는 스테이트를 저장한다. 이후에 반대로 SW1과 SW2는 열고 SW3는 닫아 5칩째부터 8칩까지 R3,R2,R1,R0값을 LFSR의 레지스터 S3,S2,S1,S0에 차례로 채워 넣는다. 여기서는 R3,R2,R1,R0값을 S3,S2,S1,S0에 직렬로(serially) 집어 넣는 방식으로 설명하고 있으나, 병렬로 한번에 입력도 가능하다. 8칩 이후부터는 원하는 스테이트가 S3,S2,S1,S0에 채워졌으므로 SW1만 닫은 상태에서 정상적으로 LFSR을 구동하면 된다.
상기 도 1에 도시된 장치를 확장 적용하면, n-stage LFSR에 대하여 {2n} 칩이 지난 후에 원하는 LFSR 스테이트를 구할 수 있다. 따라서 만약 상기 장치를 LFSR의 칩레이트(chip rate)와 같은 속도로 구동하고 LFSR은 슬립모드의 시작 시점으로부터 T칩 후에 슬립모드에서 깨어나야 한다면, T칩 앞선 마스크패턴(advance mask pattern)을 가지고 상기 슬립모드의 시작 시점으로부터 {T-2n} 칩 후에 상기 장치를 시동하면 된다. 상기 장치가 LFSR 스테이트 연산 구간에 한하여 칩 레이트보다 빨리 진행되고 그 소요 시간이 x(<2n) 칩이라고 가정하면, 슬립모드의 시작 시점으로부터 {T-x} 칩 후에 동작을 시작하면 된다.
도 2는 종래기술에 따른 PN 생성기의 스테이트 계산을 위한 장치의 다른 예를 보여주는 블록 다이아그램으로, 이 장치는 갈로와(Galois) 연결 방식의 4-stage LFSR에 대한 스테이트를 계산하는 동작을 수행한다.
상기 도 2를 참조하면, 상기 장치는 도 1에 도시된 장치와 같이 R3,R2,R1,R0을 구하지만 이것을 다시 선형 조합하여 R'3,R'2,R'1,R'0을 구하고 이를 LFSR의 레지스터 S3,S2,S1,S0에 차례로 채워 넣는다. 여기서는 R'3,R'2,R'1,R'0 값을 S3,S2,S1,S0에 직렬로(serially) 집어 넣는 방식을 설명하고 있으나, 병렬로 입력할 경우 R'3,R'2,R'1,R'0에 해당하는 R3,R2,R1,R0의 적절한 선형 조합을 바로 S3,S2,S1,S0에 입력하α면 된다.
상기 도 1 및 도 2에 도시된 바와 같은 장치와 다르게 슬립모드의 시작시점으로부터 고정 시간이 아닌 임의 시간 t(=tn-1 tn-2 … ti …t0)2) 칩 후에 n-stage LFSR의 스테이트를 구하는 종래기술에 따른 처리 흐름이 도 3에 도시되어 있다. 이 처리 흐름은 유한체 GF(2n)상에서 직접 곱셈 방식을 사용하는 경우이다.
LFSR의 state를 GF(2n)으로 원소로 매핑하는 방법을 간략히 설명하면, 상기 GF(2n)의 원시근 α는 LFSR 연결다항식을 만족하는 임의의 근으로 정의될 수 있다. 또한 예를 들어 Galois 연결의 LFSR에서 피드백 직전의 레지스터를 MSB라 하고, 4-stage LFSR인 경우 각 레지스터를 MSB부터 순서대로 S3, S2, S1, S0라 가정하면,
α3 은 (S3, S2, S1, S0) = (1, 0, 0, 0),
α2 은 (S3, S2, S1, S0) = (0, 1, 0, 0),
α1 은 (S3, S2, S1, S0) = (0, 0, 1, 0),
α0 은 (S3, S2, S1, S0) = (0, 0, 0, 1)
으로 매핑될 때 GF(2n)의 임의의 원소는 상기 basis의 선형조합으로 표현 가능하다. 따라서, LFSR의 현재 이진 state는 상기 basis의 선형조합으로서 GF(2n)의 특정 원소(즉, β)로 매핑되며, LFSR의 1칩 쉬프트는 “β·α”와 등가이다.
상기 도 3을 참조하면, LFSR의 스테이트를 GF(2n)상의 원소 β로 변환(map)하고(33단계) 여기에 원시원소(primitive element) α의 t승인 αt 을 곱한다. 이 곱셈 결과를 다시 LFSR의 스테이트로 역변환(de-map)하면 원하는 결과를 얻을 수 있다(43단계). 이때 계산량을 줄이기 위하여 αt 을 직접 구하지 않고 0≤i≤n-1의 범위에 대하여 n-튜플(tuple) 벡터 형태로 미리 테이블 등에 저장된
Figure 112006082981187-pat00001
를 사용한다(31단계). 즉,
Figure 112006082981187-pat00002
이므로,
Figure 112006082981187-pat00003
를 계산하는 대신에 i를 1씩 증가시켜 가면서(41단계) ti가 1인 경우에만(35단계 예) β에 상기 테이블에 적힌
Figure 112006082981187-pat00004
를 누적하여 곱셈하게 된다(36단계 내지 40단계). 이와 같이
Figure 112006082981187-pat00005
기저(basis)로 표현된 n-tuple 벡터
Figure 112006082981187-pat00006
와 상기 LFSR의 스테이트를 나타내는 이진 n-tuple 벡터로 표현된 β를 곱하는 동작에는 n회의 시프트 연산
Figure 112006082981187-pat00007
와,
Figure 112006082981187-pat00008
의 (n-j+1)번째 비트
Figure 112006082981187-pat00009
가 1일 때만 수행되는 비트방향으로의 배타적 논리합(bitwise exclusive-or) 연산
Figure 112006082981187-pat00010
가 필요하다(38단계, 39단계).
Figure 112006082981187-pat00011
(38단계)에서 f(x)는 LFSR에 대한 특성 다항식으로서, 예를 들면 도 2에서
Figure 112006082981187-pat00012
를 만족하는 f(x)는
Figure 112006082981187-pat00013
이며, y가 LFSR의 스테이트라면 38 단계의 동작은 LFSR를 1칩 쉬프트 시키는 것과 같다. 다시 말해서,
Figure 112006082981187-pat00014
는 GF(2n)에서
Figure 112006082981187-pat00015
와 같다. 따라서 상기와 같은 유한체 GF(2n)상에서 직접 곱셈 방식에 의해 스테이트를 구하기 위해서는 최악의 경우 n2 루프를 돌아야 하는 경우도 있을 수 있고, 평균적으로도 n2/2 루프를 돌아야 한다.
전술한 바와 같이, 임의의 시간 후에 스테이트를 계산하는 도 3에 도시된 방식을 소프트웨어로 구현하는 경우 시간의 복잡도는 매우 커진다는 문제점이 있다. 즉, 상기 도 3에서는 변수 i와 j에 대하여 각각 n번의 루프를 수행해야 하므로 시간 복잡도는 O(n2 )이라고 말할 수 있다. 연산을 수행함에 있어서 그 수행시간이 짧을수록 전력 및 CPU(Central Processing Unit) 자원 등을 절약할 수 있으므로, 상기 도 3에 도시된 방식에 따라 통신 시스템에서 LFSR의 스테이트를 신속하게 계산하는 동작에는 연산량을 줄이는 개선된 방안이 고려될 필요가 있다.
따라서 본 발명은 통신 시스템에서 임의의 시간 후에 LFSR의 스테이트를 보다 빠르게 계산할 수 있는 부호 생성 방법 및 장치를 제공한다.
본 발명에 따라 n-스테이지의 이진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 방법은 상기 LFSR의 현재 이진 스테이트 값을 유한체 GF(2n)의 원소로 정하는 과정과, 상기 GF(2n)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 2r-th의 파워 연산 및 곱셈 연산을 수행하는 과정과, 상기 2r-th의 파워 연산 및 곱셈 연산을 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 계산하여 상기 부호를 생성하는 과정을 포함한다.
또한 본 발명에 따라 n-스테이지의 이진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하는 장치는 유한체 GF(2n)에서 상기 LFSR의 현재 스테이트 값을 나타내는 원소를 정하는 경우 상기 GF(2n)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 2r-th의 파워 연산을 수행하는 제1 시프트 레지스터 로직과, 상기 2r-th의 파워 연산 결과에 대해 상기 LFSR을 시프트 시키는 방식으로 곱셈 연산을 수행하는 제2 시프트 레지스터 로직을 포함하며, 상기 제1 및 제2 시프트 레지스터 로직은 상기 파워 연산 및 곱셈 연산을 상기 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 구하여 상기 부호를 생성한다.
전술한 바와 같은 내용은 당해 분야 통상의 지식을 가진 자는 후술되는 본 발명의 구체적인 설명으로 보다 잘 이해할 수 있도록 하기 위하여 본 발명의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다.
본 발명의 청구범위의 주제를 형성하는 본 발명의 추가적인 특징들 및 장점들이 후술될 것이다. 당해 분야에서 통상의 지식을 가진 자는 본 발명의 동일한 목적들을 달성하기 위하여 다른 구조들을 변경하거나 설계하는 기초로서 발명의 개시된 개념 및 구체적인 실시예가 용이하게 사용될 수도 있다는 사실을 인식하여야 한다. 당해 분야에서 통상의 지식을 가진 자는 또한 발명과 균등한 구조들이 본 발명의 가장 넓은 형태의 사상 및 범위로부터 벗어나지 않는다는 사실을 인식하여야 한다.
이하 본 발명의 바람직한 실시 예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호들 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
하기에서는 본 발명의 실시 예에 따라 이동 통신시스템의 PN 부호 생성기로서 사용되는 LFSR의 스테이트를 임의의 시간 후에 빠르게 계산하는 새로운 알고리즘과 하드웨어 구조가 제안될 것이다.
본 발명의 실시 예는 전술한 도 3과 같은 유한체 곱셈을 직접 수행하는 방식을 개선하여 수행속도가 2n 칩 시간으로 매우 짧고 메모리 참조가 필요없는 제곱 연산 & 곱셈 연산(square-and-multiply) 방식과, 이 방식으로 구현된 장치를 제안한다. 이러한 제안에 따른 방식은 후술될 도 4 내지 도 7을 참조하여 설명될 것이며, 이 방식은 탐색기 및 핑거 할당(assignment)의 고속 동작을 가능하게 하며, 전력 소모를 줄이기 위한 슬립(sleep)/아이들(idle) 모드에서는 단말의 동작시간을 줄임으로써 전력 소모를 효과적으로 줄일 수 있다.
본 발명의 다른 실시 예는 전술한 도 3과 같은 유한체 곱셈을 직접 수행하는 방식을 개선하여 r|n일 때 2r의 승(2r-th power)(파워) 연산과 곱셈 연산을 수행하 는 파워 연산 & 곱셈 연산(power-and-multiply) 방식을 제안한다. 이 방식은 제곱 연산 & 곱셈 연산 방식에 비해 임의의 시간 후의 LFSR의 스테이트를 일반적인 CPU 연산량 관점에서 보다 빠르고 효율적으로 계산할 수 있다.
A. 제곱연산 & 곱셈연산(Square-and-Multiply) 방식
하기에서는 임의의 시간 후에 직접 LFSR의 스테이트를 계산할 수 있는 새로운 square-and-multiply 방식이 도 4 내지 도 7을 참조하여 설명될 것이다.
도 4와 도 6은 각각 square-and-multiply 방식으로 직접 LFSR의 스테이트를 계산할 수 있는 알고리즘의 흐름도와 하드웨어 구성도이다. 상기 도 4의 알고리즘을 도 6과 같이 하드웨어로 구성할 경우, n-stage의 LFSR에 대하여 2n의 시프트 후에 임의의 스테이트로 빠르게 회전(slew)할 수 있을 것이다. 도 5a 및 도 5b는 예컨대, n=4일 때 곱셈 연산과 제곱 연산을 수행하는 시프트 레지스터의 로직을 각각 도시한 것이다. 도 7은 도 6에 도시된 장치에 의한 스테이트 계산 동작의 신호 타이밍도이다.
갈로와(Galois) 방식으로 연결된 n-stage LFSR의 초기값이 0이 아닌 경우, LFSR이 시프트함에 따라 출력되는 스테이트는 GF(2n)의 0을 제외한 모든 원소에 일대일 대응된다. 예를 들어, GF(24)의 원시근(primitive element)을
Figure 112006082981187-pat00016
라 할 때 LFSR의 스테이트중 (0010)을 이 원시근
Figure 112006082981187-pat00017
에 대응한다고 가정하면, LFSR의 임의 스테이트
Figure 112006082981187-pat00018
는 하기의 <수학식 1>과 같이 표현된다.
Figure 112006082981187-pat00019
의 원소
상기 <수학식 1>의
Figure 112006082981187-pat00020
로 가정했을 때, t칩 후의 상태는 하기의 <수학식 2>와 같다. t칩 후의 상태라는 것은 t번 시프트를 의미한다.
Figure 112006082981187-pat00021
Figure 112006082981187-pat00022
의 t칩 후에 상태를 구한다는 것은 상기 <수학식 2>를
Figure 112006082981187-pat00023
에 관한 선형 조합으로 하기의 <수학식 3>과 같이 표현한다는 것과 같은 의미이다.
Figure 112006082981187-pat00024
상기 <수학식 3>과 같이 표현했을 경우
Figure 112006082981187-pat00025
가 LFSR의 t칩 후의 상태가 된다.
예컨대, 4-stage LFSR에 대하여
Figure 112006082981187-pat00026
일 때
Figure 112006082981187-pat00027
를 구하기 위한 하나의 방법은 제곱 연산과
Figure 112006082981187-pat00028
에 의한 곱셈 연산(by
Figure 112006082981187-pat00029
)을 반복적으로 수행하는 것이다. 이를 표현하면 하기의 <수학식 4>와 같다.
Figure 112006082981187-pat00030
상기 <수학식 4>에서 두 번째 등식은 GF(2n)에서 임의의 원소
Figure 112006082981187-pat00031
Figure 112006082981187-pat00032
라는 성질을 이용한 것이다. 따라서 제곱 연산과 곱셈 연산(by
Figure 112006082981187-pat00033
)만으로 위 <수학식 4>에 기재된 연산을 수행할 수 있다. 이러한 연산에 대한 처리 흐름이 도 4에 도시되어 있다.
상기 도 4를 참조하면, 311단계에서 제어부(또는 프로세서)(도시하지 않음)는 LFSR의 현재 스테이트로부터 임의의
Figure 112006082981187-pat00034
칩 후의 스테이트를 구하기 위하여 슬립모드의 시간 구간 중에서
Figure 112006082981187-pat00035
칩의 시간을 취한다. 312단계에서 상기 제어부는 GF(2n) 상의 원소 β에 PN 스테이트를 매핑한다. 313단계에서 상기 제어부는 변수 i=0으로 설정한다. 314단계에서 상기 제어부 는
Figure 112006082981187-pat00036
를 β로 대체한다. 315단계에서 상기 제어부는 ti = 0인지 여부를 판단한다. 상기 315단계에서 ti = 0인 것으로 판단되는 경우에는 317단계로 바로 진행하고, 판단되지 않는 경우에는 316단계를 수행한 후 317단계로 진행한다. 316단계에서 상기 제어부는 {β·α}를 β로 대체한다. 317단계에서 상기 제어부는 (i)에 대해 314단계 내지 316단계의 동작이 수행된 경우이므로, (i)를 1 증가시킨 후 다시 314단계 내지 316단계의 동작을 수행한다. 이러한 동작은 318단계에서 (i)가 n보다 작지 않은 경우로 판단될 때까지 수행된다. 상기 318단계에서 (i)가 n보다 작지 않은 것, 즉 (i)가 n보다 같거나 큰 것으로 판단되는 경우, 319단계에서 상기 제어부는 β에 해당하는 PN 스테이트를 라이트하고 동작을 종료한다.
상기 <수학식 4>에 기재된 바와 같이, 4-stage LFSR에 대하여
Figure 112006082981187-pat00037
일 때
Figure 112006082981187-pat00038
를 구하기 위한 한 방법은 제곱 연산과 곱셈 연산(by
Figure 112006082981187-pat00039
)을 반복적으로 수행함으로써 가능하다. 곱셈 연산은 갈로와 방식으로 연결된 LFSR을 1번 시프트시키는 결과와 동일한데, 이를 시프트 레지스터 로직으로 구현한 예가 도 5a에 도시되어 있다.
반면에, 제곱 연산은 다음과 같이 수행될 수 있다. GF(24)의 원소를 표현하는 갈로와 방식으로 연결된 LFSR의 특성 다항식이 도 2와 같이
Figure 112006082981187-pat00040
이라 가정하면, 원시근
Figure 112006082981187-pat00041
Figure 112006082981187-pat00042
을 만족한 다. 만약 ,
Figure 112006082981187-pat00043
일 경우
Figure 112006082981187-pat00044
은 특성값(characteristic)이 2인 유한체 곱의 특성에 의하여 하기의 <수학식 5>와 같이 표현된다.
Figure 112006082981187-pat00045
상기 <수학식 5>의 첫 번째 등식은
Figure 112006082981187-pat00046
이고, 이때 b3, b2, b1, b0 는 0 또는 1의 값을 가지기 때문에 두 번째 등식과 같이 표현된다. 또한, 상기 <수학식 5>에서
Figure 112006082981187-pat00047
이고
Figure 112006082981187-pat00048
이므로, 상기 <수학식 5>는 하기의 <수학식 6>과 같이 표현된다. 이러한 <수학식 6>을 시프트 레지스터 로직으로 구현한 예가 도 5b에 도시되어 있다.
Figure 112006082981187-pat00049
상기 <수학식 4>에 기재된
Figure 112006082981187-pat00050
는 도 5a 및 도 5b에 도시된 형태로 각각 구현 가능한 제곱 연산과 곱셈 연산을 반복적으로 적용함으로써 그 구현이 가능한데, 이러한 연산 기능에 의해 LFSR의 스테이트를 계산 하는 장치의 구현 예가 도 6에 도시되어 있고, 상기 도 6에 도시된 장치에 의한 동작 타이밍이 도 7에 도시되어 있다.
상기 도 6을 참조하면, 4-stage LFSR의 시프트레지스터들 S0,S1,S2,S3이 포함됨을 알 수 있다. 시프트레지스터 S0는 배타적 논리합 연산기 68의 출력을 입력하고 클럭 CLK에 따라 출력한다. 배타적 논리합 연산기 68은 논리곱 연산기 55의 출력과 논리곱 연산기 56의 출력과 논리곱 연산기 64의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 55는 논리합 연산기 54의 출력과 시프트레지스터 S3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 56은 논리곱 연산기 53의 출력과 시프트레지스터 S0의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 64는 시프트레지스터들 S0,S2의 출력들에 대한 배타적 논리합 연산 결과와 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 63은 인에이블신호 Enb와 반전된 선택신호 FbMux를 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 69는 시프트레지스터 S0의 출력과 시프트레지스터 S3의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 57은 배타적 논리합 연산기 69의 출력과 논리합 연산기 54의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 70은 논리곱 연산기 57의 출력과 논리곱 연산기 58의 출력과 논리곱 연산기 65의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 58은 시프트레지스터 S1의 출력과 논리곱 연산기 53의 출력을 입력하고, 이 들을 논리곱 연산하여 출력한다. 논리곱 연산기 65는 시프트레지스터 S2의 출력과 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다.
시프트레지스터 S1은 배타적 논리합 연산기 70의 출력을 입력하고 클럭 CLK에 따라 출력한다. 논리곱 연산기 59는 시프트레지스터 S1의 출력과 논리합 연산기 54의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 71은 논리곱 연산기 59의 출력과 논리곱 연산기 60의 출력과 논리곱 연산기 66의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 60은 시프트레지스터 S2의 출력과 논리곱 연산기 53의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 66은 시프트레지스터들 S1,S2의 출력들에 대한 배타적 논리합 연산 결과와 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다.
시프트레지스터 S2는 배타적 논리합 연산기 71의 출력을 입력하고 클럭 CLK에 따라 출력한다. 논리곱 연산기 61은 시프트레지스터 S2의 출력과 논리합 연산기 54의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 72는 논리곱 연산기 61의 출력과 논리곱 연산기 62의 출력과 논리곱 연산기 67의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 62는 논리곱 연산기 53의 출력과 시프트레지스터 S3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 67은 시프트레지스터 S3의 출력과 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 시프트레지스터 S3은 배타적 논리합 연산기 72의 출력을 입력하고 클럭 CLK에 따라 출력한다.
논리곱 연산기 53은 논리곱 연산기 51의 출력과 인에이블신호 Enb를 입력하고, 이들을 논리곱 연산하여 출력한다. 논리합 연산기 54는 논리곱 연산기 52의 출력과 반전된 인에이블신호를 입력하고, 이들을 논리합 연산하여 출력한다. 논리곱 연산기 52는 선택신호 FbMux와 플립플롭 t3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 51은 선택신호 FbMux와 반전기를 거친 플립플롭 t3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 일련의 직렬접속된 플립플롭들 t3,t2,t1,t0는 선택신호 FbMux에 따라 동작한다.
상기 구성요소들중 논리곱 연산기들 63~67은 제곱 연산을 위한 구성요소들이고, 플립플롭들 t3,t2,t1,t0과 논리곱 연산기 51,52는 곱셈 연산을 위한 구성요소들이다.
상기 도 6 및 도 7을 참조하면, 인에이블신호 Enb는 제곱 연산 및 곱셈 연산의 수행을 결정하는 신호이고, 선택신호 FbMux는 제곱 연산 또는 곱셈 연산의 수행을 결정하는 신호이다. 즉, 상기 인에이블신호 Enb=1일 때 상기 <수학식 4>의 제곱 연산 및 곱셈 연산이 수행된다. 상기 선택신호 FbMux=0인 경우에는 제곱 연산이 수행되고, FbMux=1인 경우에는 곱셈 연산이 수행된다. 상기 곱셈 연산은 ti의 값에 따라 달라진다. 즉, ti가 0의 값을 가지는 경우에는 1을 곱하는 연산이 수행되고, ti가 1의 값을 가지는 경우에는 α를 곱하는 연산이 수행된다. 이러한 제곱 연산 및 곱셈 연산에는 n-stage LFSR인 경우 고정된 {2n} 칩 시간이 필요하다. 고정된 {2n} 칩 시간이 필요하다는 것은 그만큼의 시프트가 필요하다는 의미이다. 예를 들어, 도 6에 도시된 바와 같은 4-stage LFSR의 경우, 제곱 연산 및 곱셈 연산을 수행하는 데에는 8번의 시프트가 필요하므로, 클럭 CLK에서 8번의 펄스(pulse)가 소요된다. 따라서 이것을 회전(slew) 동작에 이용할 경우 t에 고정적인 연산 지연을 미리 더해주면 된다.
B. 파워연산 & 곱셈연산(Power-and-Multiply) 방식
하기에서는 임의의 시간 후에 직접 LFSR의 스테이트를 계산할 수 있는 새로운 power-and-multiply 방식이 도 8 내지 도 10을 참조하여 설명될 것이다. 이 실시 예에 따르면, 임의의 시간 후에 LFSR 스테이트를 구하는 방식은 다음과 같은 특징을 갖는다.
(1) n-stage LFSR에 대하여 n=rs일 때 2r-th 파워 연산과 곱셈 연산이 수행된다.
(2) 상기 연산들은 s번 반복적으로 수행된다.
(3) 상기 2r-th 파워 연산의 복잡도를 줄이기 위하여 0≤i≤n-1 범위의
Figure 112006082981187-pat00051
를 미리 저장하여 사용한다.
여기서 상기
Figure 112006082981187-pat00052
는 n-튜플(tuple) 벡터 형태로 미리 테이블 등에 저장된 값을 사용하며, 상기 i는 상기 s 번 수행되는 상기 파워 연산 및 곱셈 연산에 대해 각 r을 구분하기 위한 변수이다.
도 8은 본 발명의 다른 실시예에 따라 PN 부호 생성기의 스테이트 계산을 위한 처리 흐름을 보여주는 도면이고, 도 9는 도 8에 도시된 처리 흐름에 의한 파워 연산을 수행하는 시프트레지스터 로직의 구성을 보여주는 도면이다.
도 10은 본 발명의 적용 예로서, 42-stage LFSR을 이용한 부호 생성 동작 시 26(=64)-th 파워 연산에 필요한 값들을 보여주는 도면이다. 구체적으로, 상기 도 10은 IS-95와 cdma2000 시스템에서 긴부호(long code)를 발생시키기 위한 42-stage LFSR의 스테이트를 도 8에 도시된 바와 같은 흐름에 따라 제공할 시 필요한 정보를 보여주는 도면으로, 예를 들어 r=6일 경우 64-th 파워 연산에 필요한
Figure 112006082981187-pat00053
기저 상의
Figure 112006082981187-pat00054
의 값인 이진 42-튜플(tuple) 벡터들을 16진수로 표현한 형태로 보여준다.
이 실시예에 따르면, 일 예로 n=4일 때 제곱 연산 대신 4의 파워 연산을 이용함으로써 보다 빠르게 스테이트를 구할 수 있다. 하기의 <수학식 7>은 n=4일 때 22(=4)-th 파워 연산을 이용하여 스테이트를 구하는 과정을 보여준다.
Figure 112006082981187-pat00055
Figure 112006082981187-pat00056
, 일 경우 β의 4-th 파워 연산은 하기의 <수학식 8>과 같이 표현된다.
Figure 112006082981187-pat00057
Figure 112006082981187-pat00058
,
Figure 112006082981187-pat00059
이므로, 상기 <수학식 8>은 하기의 <수학식 9>와 같이 표현된다.
Figure 112006082981187-pat00060
상기 4-th 파워 연산을 위한 시프트 레지스터 로직의 구성이 도 9에 도시되어 있다.
다른 예로, n=12일 때 23(=8)-th 파워 연산을 이용하여 스테이트를 구하는 과정이 하기의 <수학식 10>에 표현되어 있다.
Figure 112006082981187-pat00061
상기 <수학식 10>을 참조하면, 23-th 파워 연산이 4번 수행됨을 알 수 있다.
본 발명의 실시 예에 따른 n-stage LFSR의 스테이트를 계산하는 power-and-multiply 방식의 처리 흐름이 도 8에 도시되어 있다. 이러한 처리 흐름은 n=rs일 때 2r-th 파워 연산을 이용하여 스테이트의 계산 회수를 s번으로 줄일 수 있도록 한다.
상기 도 8을 참조하면, 2r-th 파워 계산의 복잡도를 줄이기 위하여 미리
Figure 112006082981187-pat00062
기저(basis)상의 n-tuple 벡터
Figure 112006082981187-pat00063
를 저장시킨 후 이용한다(411단계). 412 단계에서 제어부(또는 프로세서)(도시하지 않음)는 LFSR의 현재 스테이트로부터 임의의
Figure 112006082981187-pat00064
칩 후의 스테이트를 구하기 위하여 슬립 모드의 시간 구간 중에서
Figure 112006082981187-pat00065
칩의 시간을 취한다. 413 단계에서 상기 제어부는 GF(2n) 상의 원소 β에 PN 스테이트를 매핑한다. 414 단계에서 상기 제어부는 변수 i=0으로 설정하고, 변수 j=0, y=0으로 설정한다. 2r-th 파워 계산을 위해서는 0≤j≤n-1인 모든 j에 대하여
Figure 112006082981187-pat00066
일 때만 비트방향 으로의 배타적 논리합(bitwise exclusive-or) 연산
Figure 112006082981187-pat00067
가 계산된다(416~418단계).
매번 2r-th 파워 계산을 한 후420 단계에서 j<tp를 만족하는 경우에는
Figure 112006082981187-pat00068
만큼의 시프트 연산
Figure 112006082981187-pat00069
를 수행하는데, 421 단계에서
Figure 112006082981187-pat00070
Figure 112006082981187-pat00071
을 만족하는 특성 다항식을 나타낸다. 만약 y가 LFSR의 스테이트를 나타낸다면, 상기 421 단계는 LFSR의 1 칩 시프트 또는
Figure 112006082981187-pat00072
의 동작에 해당된다.(419~422단계). 상기 420 단계에서 j<tP를 만족하지 않는 경우에는 423 단계로 바로 진행한다. 423 단계에서 상기 제어부는 (i)를 1 증가시킨 후 424 단계에서 (i)가 s 보다 작은지 판단하여 작은 경우 상기 415 단계 내지 424 단계의 동작을 반복한다. 상기 424 단계에서 (i)가 s 보다 작지 않은 것, 즉 (i)가 S 보다 같거나 큰 것으로 판단되는 경우, 425 단계에서 상기 제어부는 β에 해당하는 PN 스테이트를 라이트하고 동작을 종료한다.전술한 바와 같은 처리 흐름에 따른 동작은 최악의 경우
Figure 112006082981187-pat00073
회 루프를 돌면 되고, 평균적으로는
Figure 112006082981187-pat00074
회의 루프를 돌면 된다. 즉, 본 발명의 실시예에 따른 power-and-multiply 방식에 의해 스테이트를 계산하는 방식은 종래 기술에 따른 방식에 비해 LFSR 스테이트를 보다 빠르고 효율적으로 계산할 수 있다. 아울러 상기한 실시 예에서는 LFSR의 state를 2 진수로 표현되는 GF(2n)으로 원소로 매핑하였으나 LFSR의 state를 p 진수 로 표현되는 GF(pn)으로 원소로 매핑하는 것도 가능할 것이다.
LFSR의 state를 p 진수로 표현하는 경우 본 발명의 부호 생성 장치는 도면에는 도시되지 않았으나 유한체 GF(pn)에서 상기 LFSR의 현재 스테이트 값을 나타내는 원소를 정하는 경우 상기 GF(pn)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 pr의 파워 연산을 수행하며
Figure 112006082981187-pat00075
기저(basis) 상의 n-튜플(tuple) 벡터
Figure 112006082981187-pat00076
가 미리 저장된 테이블을 근거로 0≤j≤n-1의 범위에서 상기 n-튜플 벡터에 대해 비트 방향으로 배타적 논리합(bitwise exclusive-or) 연산을 수행하는 제1 시프트 레지스터 로직과 상기 pr의 파워 연산 결과에 대해 상기 LFSR을 시프트 시키는 방식으로 곱셈 연산을 수행하는 제2 시프트 레지스터 로직을 구비하여 구성될 수 있다. 상기한 실시 예를 바탕으로 LFSR의 state를 p 진수로 표현하는 것은 당업자에게는 자명한 사항이므로 그 상세한 설명은 생략하기로 한다.
본 발명의 적용 예로서, IS-95와 cdma2000시스템에서 n=42인 긴부호 PN 발생기를 가정하자. 만약 r=6일 경우 64-th 파워 연산을 구하기 위한
Figure 112006082981187-pat00077
가 도 10에 도시되어 있다. 이 경우 임의의 고정된 t 클럭(shift)후에 LFSR 스테이트를 계산하기 위하여 최대 735번, 평균적으로는 368번의 루프를 돌아야 한다. 반면에 종래 기술을 사용했을 경우는 최대 1764번, 평균적으로는 882번의 루프를 돌아야 한 다.
전술한 바와 같이 본 발명은 LFSR 형태로 구성된 m-시퀀스 발생기(PN 부호 생성기)의 스테이트를 계산하는 방법을 제안한다. 이러한 본 발명은 일 예로 CDMA 단말기에 적용될 수 있다. CDMA 단말기의 슬립모드에서는 전력 소모를 줄이기 위하여 PN (부호) 생성기를 정지시키고 일정시간 후 메시지를 수신하기 위하여 슬립에서 깨어나는 동작을 반복한다. 슬립에서 깨어난 후 메시지를 다시 수신하기 위해서는 PN 생성기의 내부 메모리를 정지상태로부터 경과시간만큼 진행된 상태로 바꿔주어야 하는데, 이때 본 발명이 이용될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 예를 들어, 본 발명은 PN 생성기를 구성하는 LFSR의 레지스터 상태들이 임의의 주어진 시간 t(또는 t 시프팅 동작) 후에 어떻게 변할지를 예측 또는 계산해야 하는 모든 응용 분야에 이용될 수 있다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 종래 기술에 비해 임의의 시간 후의 LFSR 스테이트를 보다 빠르고 효율적으로 계산할 수 있다는 이점이 있다.

Claims (15)

  1. n-스테이지의 이진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 방법에 있어서,
    상기 LFSR의 현재 이진 스테이트 값을 유한체 GF(2n)의 원소로 정하는 과정과,
    상기 GF(2n)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 2r-th의 파워 연산 및 곱셈 연산을 수행하는 과정과,
    상기 2r-th의 파워 연산 및 곱셈 연산을 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 계산하여 상기 부호를 생성하는 과정을 포함하는 부호 생성 방법.
  2. 제 1 항에 있어서,
    상기 파워 연산을 수행하는 과정은 0≤j≤n-1 범위의
    Figure 112007095095447-pat00098
    값에 대한 기저(basis) 상의 n-튜플(tuple) 벡터의 테이블 정보를 결정하는 과정과,
    상기 0≤j≤n-1 범위에서 상기 n-튜플 벡터에 대해 비트와이즈 배타적 논리합(bitwise exclusive-or) 연산을 수행하는 과정을 포함하며,
    상기
    Figure 112007095095447-pat00080
    는 상기 GF(2n)의 원시근(primitive element)인 부호 생성 방법.
  3. 제 2 항에 있어서,
    상기 곱셈 연산을 수행하는 과정은 상기 2r-th의 파워 연산을 수행한 후 매번 상기 LFSR을 통해 최대 2r-1 만큼의 시프트 연산을 수행하는 과정을 포함하는 부호 생성 방법.
  4. 제 1 항에 있어서,
    상기 부호는 부호 분할 다중 접속 시스템의 PN(Pseudorandom Noise) 시퀀스인 부호 생성 방법.
  5. 제 4 항에 있어서,
    상기 임의의 시간은 상기 부호 분할 다중 접속 시스템의 단말기가 슬립 모드로 동작되는 시간을 의미하는 부호 생성 방법.
  6. n-스테이지의 이진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하는 장치에 있어서,
    유한체 GF(2n)에서 상기 LFSR의 현재 스테이트 값을 나타내는 원소를 정하는 경우 상기 GF(2n)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 2r-th의 파워 연산을 수행하는 제1 시프트 레지스터 로직과,상기 2r-th의 파워 연산 결과에 대해 상기 LFSR을 시프트 시키는 방식으로 곱셈 연산을 수행하는 제2 시프트 레지스터 로직을 포함하며,
    상기 제1 및 제2 시프트 레지스터 로직은 상기 파워 연산 및 곱셈 연산을 상기 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 구하여 상기 부호를 생성하는 부호 생성 장치.
  7. 제 6 항에 있어서,
    상기 제1 시프트 레지스터 로직은 0≤j≤n-1 범위의
    Figure 112007095095447-pat00099
    값에 대한
    Figure 112007095095447-pat00081
    기저(basis) 상의 n-튜플(tuple) 벡터가 미리 저장된 테이블을 근거로 상기 0≤j≤n-1 범위에서 상기 n-튜플 벡터에 대해 비트와이즈 배타적 논리합(bitwise exclusive-or) 연산을 수행하며,
    상기
    Figure 112007095095447-pat00083
    는 상기 GF(2n)의 원시근(primitive element)인 부호 생성 장치.
  8. 제 7 항에 있어서,
    상기 제2 시프트 레지스터 로직은
    상기 2r-th의 파워 연산을 수행한 후 매번 상기 LFSR을 통해 최대 2r-1 만큼의 시프트 연산을 수행하는 부호 생성 장치.
  9. 제 6 항에 있어서,
    상기 부호는 부호 분할 다중 접속 시스템의 PN(Pseudorandom Noise) 시퀀스인 부호 생성 장치.
  10. 제 9 항에 있어서,
    상기 임의의 시간은 상기 부호 분할 다중 접속 시스템의 단말기가 슬립 모드로 동작되는 시간을 의미하는 부호 생성 장치.
  11. n-스테이지의 p진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 방법에 있어서,
    상기 LFSR의 현재 p진 스테이트 값을 유한체 GF(pn)의 원소로 정하는 과정과,
    상기 GF(pn)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 pr-th의 파워 연산 및 곱셈 연산을 수행하는 과정과,
    상기 파워 연산 및 곱셈 연산을 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 계산하여 상기 부호를 생성하는 과정을 포함하는 부호 생성 방법.
  12. n-스테이지의 p 진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 장치에 있어서,
    유한체 GF(pn)에서 상기 LFSR의 현재 스테이트 값을 나타내는 원소를 정하는 경우 상기 GF(pn)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 pr-th의 파워 연산을 수행하며
    Figure 112008049164309-pat00100
    값에 대한
    Figure 112008049164309-pat00084
    기저(basis) 상의 n-튜플(tuple) 벡터가 미리 저장된 테이블을 근거로 0≤j≤n-1의 범위에서 상기 n-튜플 벡터에 대해 비트와이즈 배타적 논리합(bitwise exclusive-or) 연산을 수행하는 제1 시프트 레지스터 로직과,
    상기 pr-th의 파워 연산 결과에 대해 상기 LFSR을 시프트 시키는 방식으로 곱셈 연산을 수행하는 제2 시프트 레지스터 로직을 포함하며,
    상기
    Figure 112008049164309-pat00086
    는 상기 GF(pn)의 원시근(primitive element)이고, 상기 제1 및 제2 시프트 레지스터 로직은 상기 pr-th의 파워 연산 및 곱셈 연산을 상기 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 구하여 상기 부호를 생성하는 부호 생성 장치.
       
  13. 제 12 항에 있어서,
    상기 제2 시프트 레지스터 로직은
    상기 pr-th의 파워 연산을 수행한 후 매번 상기 LFSR을 통해 최대 pr-1 만큼의 시프트 연산을 수행하는 부호 생성 장치.
  14. 제 12 항에 있어서,
    상기 부호는 부호 분할 다중 접속 시스템의 PN(Pseudorandom Noise) 시퀀스인 부호 생성 장치.
  15. 제 14 항에 있어서,
    상기 임의의 시간은 상기 부호 분할 다중 접속 시스템의 단말기가 슬립 모드로 동작되는 시간을 의미하는 부호 생성 장치.
KR1020060111920A 2005-11-11 2006-11-13 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치 KR100871221B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050108268 2005-11-11
KR20050108268 2005-11-11

Publications (2)

Publication Number Publication Date
KR20070050857A KR20070050857A (ko) 2007-05-16
KR100871221B1 true KR100871221B1 (ko) 2008-12-01

Family

ID=38118623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060111920A KR100871221B1 (ko) 2005-11-11 2006-11-13 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치

Country Status (2)

Country Link
US (1) US20070127431A1 (ko)
KR (1) KR100871221B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI444021B (zh) * 2007-09-17 2014-07-01 Htc Corp 解譯串列傳輸訊號之方法
US8769355B2 (en) 2011-06-27 2014-07-01 Freescale Semiconductor, Inc. Using built-in self test for preventing side channel security attacks on multi-processor systems
US9448942B2 (en) 2012-08-20 2016-09-20 Freescale Semiconductor, Inc. Random access of a cache portion using an access module
US9092622B2 (en) 2012-08-20 2015-07-28 Freescale Semiconductor, Inc. Random timeslot controller for enabling built-in self test module

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206824A (en) 1990-05-20 1993-04-27 Fortress U&T (2000) Ltd. Method and apparatus for exponentiation over GF(2n)
US20020174152A1 (en) 2001-05-15 2002-11-21 Daisuke Terasawa Multi-sequence fast slewing pseudorandom noise generator
KR20070024840A (ko) * 2005-08-30 2007-03-08 삼성전자주식회사 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096165B1 (en) * 1982-06-15 1988-06-08 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
US5280488A (en) * 1990-11-08 1994-01-18 Neal Glover Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
US6038577A (en) * 1998-01-09 2000-03-14 Dspc Israel Ltd. Efficient way to produce a delayed version of a maximum length sequence using a division circuit
JP3556461B2 (ja) * 1998-03-18 2004-08-18 富士通株式会社 M系列の位相シフト係数算出方式
US6490357B1 (en) * 1998-08-28 2002-12-03 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6560338B1 (en) * 1998-08-28 2003-05-06 Qualcomm Incorporated Limiting delays associated with the generation of encryption stream ciphers
FI107094B (fi) * 1999-05-10 2001-05-31 Nokia Mobile Phones Ltd Menetelmä päivittää koodigeneraattorin lineaarinen palautesiirtorekisteri
US6640236B1 (en) * 1999-08-31 2003-10-28 Qualcomm Incorporated Method and apparatus for generating multiple bits of a pseudonoise sequence with each clock pulse by computing the bits in parallel
JP3950638B2 (ja) * 2001-03-05 2007-08-01 株式会社日立製作所 耐タンパーモジュラ演算処理方法
KR100396592B1 (ko) * 2001-05-02 2003-09-02 엘지전자 주식회사 시간 천이된 pn 스테이트 발생기
US7895253B2 (en) * 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
US7269615B2 (en) * 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
WO2004017192A2 (en) * 2002-08-19 2004-02-26 Analog Devices Inc. Fast linear feedback shift register engine
JP2004151234A (ja) * 2002-10-29 2004-05-27 Canon Inc べき乗演算装置
KR100486726B1 (ko) * 2002-11-09 2005-05-03 삼성전자주식회사 유한 체에서의 기저 변환 방법 및 기저 변환 장치
DE10347455B4 (de) * 2003-10-13 2010-08-26 Infineon Technologies Ag Pseudozufallszahlengenerator für einen Stream Cipher

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206824A (en) 1990-05-20 1993-04-27 Fortress U&T (2000) Ltd. Method and apparatus for exponentiation over GF(2n)
US20020174152A1 (en) 2001-05-15 2002-11-21 Daisuke Terasawa Multi-sequence fast slewing pseudorandom noise generator
KR20070024840A (ko) * 2005-08-30 2007-03-08 삼성전자주식회사 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이광엽 외 4명, 레지스터수의 증가가 없는 고속 직렬 유한체 승산기, 한국통신학회논문지 제27권 10C호, pp.973-979 (2002.10.)

Also Published As

Publication number Publication date
US20070127431A1 (en) 2007-06-07
KR20070050857A (ko) 2007-05-16

Similar Documents

Publication Publication Date Title
KR100800800B1 (ko) 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치
EP1776757B1 (en) Random number generation based on logic circuits with feedback
EP1782181B1 (en) Method and apparatus for generating random data
US6339781B1 (en) M-sequence generator and PN code generator with mask table for obtaining arbitrary phase shift
EP1430391B1 (en) Hash-based pseudo-random number generator
JP3732188B2 (ja) 擬似乱数発生回路
JP4335337B2 (ja) Pnシーケンスのホッピング方法およびシステム
US20050097153A1 (en) Pseudorandom number generator
US5926070A (en) Efficient offset mask generator for pseudo-noise sequence generator
KR100280025B1 (ko) 피엔 부호 발생 장치 및 이동 무선 통신 시스템
KR100871221B1 (ko) 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치
US10187044B1 (en) Bistable-element for random number generation
US8180816B2 (en) Control of a pseudo random number generator and a consumer circuit coupled thereto
Järvinen et al. A generalization of addition chains and fast inversions in binary fields
JPH0818550A (ja) 符号系列発生器
US5608802A (en) Data ciphering device
TWI420535B (zh) 降低記憶體存取所引起之電磁干擾之積體電路及其方法
KR100478974B1 (ko) 직렬 유한체 승산기
CA2165595A1 (en) Device and method for generating pesudorandom noise sequence
US5444645A (en) Multi-channel pseudo random pattern generating device
WO2005062523A1 (en) Apparatus and method for generating random number using digital logic
JPH03114315A (ja) 擬似雑音符号発生装置における先頭又は任意ビットパルス生成回路およびサンプリングパルス生成回路
Anil et al. Comparison of pseudo random numbers generated by lfsr and multivibrator circuits on xilinx ise
KR100564764B1 (ko) 유한체 다항식 곱셈 장치 및 그 방법
RU2092892C1 (ru) Генератор равномерно распределенных случайных чисел

Legal Events

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

Payment date: 20121030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee