KR100871221B1 - 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치 - Google Patents
선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 title claims abstract description 12
- 230000008569 process Effects 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 3
- 230000002618 waking effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/10—Code generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/70756—Jumping 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
도 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) 벡터 형태로 미리 테이블 등에 저장된 를 사용한다(31단계). 즉, 이므로, 를 계산하는 대신에 i를 1씩 증가시켜 가면서(41단계) ti가 1인 경우에만(35단계 예) β에 상기 테이블에 적힌 를 누적하여 곱셈하게 된다(36단계 내지 40단계). 이와 같이 기저(basis)로 표현된 n-tuple 벡터 와 상기 LFSR의 스테이트를 나타내는 이진 n-tuple 벡터로 표현된 β를 곱하는 동작에는 n회의 시프트 연산 와, 의 (n-j+1)번째 비트 가 1일 때만 수행되는 비트방향으로의 배타적 논리합(bitwise exclusive-or) 연산 가 필요하다(38단계, 39단계). (38단계)에서 f(x)는 LFSR에 대한 특성 다항식으로서, 예를 들면 도 2에서 를 만족하는 f(x)는 이며, y가 LFSR의 스테이트라면 38 단계의 동작은 LFSR를 1칩 쉬프트 시키는 것과 같다. 다시 말해서, 는 GF(2n)에서 와 같다. 따라서 상기와 같은 유한체 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)을 라 할 때 LFSR의 스테이트중 (0010)을 이 원시근 에 대응한다고 가정하면, LFSR의 임의 스테이트 는 하기의 <수학식 1>과 같이 표현된다.
예컨대, 4-stage LFSR에 대하여 일 때 를 구하기 위한 하나의 방법은 제곱 연산과 에 의한 곱셈 연산(by )을 반복적으로 수행하는 것이다. 이를 표현하면 하기의 <수학식 4>와 같다.
상기 <수학식 4>에서 두 번째 등식은 GF(2n)에서 임의의 원소 가 라는 성질을 이용한 것이다. 따라서 제곱 연산과 곱셈 연산(by )만으로 위 <수학식 4>에 기재된 연산을 수행할 수 있다. 이러한 연산에 대한 처리 흐름이 도 4에 도시되어 있다.
상기 도 4를 참조하면, 311단계에서 제어부(또는 프로세서)(도시하지 않음)는 LFSR의 현재 스테이트로부터 임의의 칩 후의 스테이트를 구하기 위하여 슬립모드의 시간 구간 중에서 칩의 시간을 취한다. 312단계에서 상기 제어부는 GF(2n) 상의 원소 β에 PN 스테이트를 매핑한다. 313단계에서 상기 제어부는 변수 i=0으로 설정한다. 314단계에서 상기 제어부 는 를 β로 대체한다. 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에 대하여 일 때 를 구하기 위한 한 방법은 제곱 연산과 곱셈 연산(by )을 반복적으로 수행함으로써 가능하다. 곱셈 연산은 갈로와 방식으로 연결된 LFSR을 1번 시프트시키는 결과와 동일한데, 이를 시프트 레지스터 로직으로 구현한 예가 도 5a에 도시되어 있다.
반면에, 제곱 연산은 다음과 같이 수행될 수 있다. GF(24)의 원소를 표현하는 갈로와 방식으로 연결된 LFSR의 특성 다항식이 도 2와 같이 이라 가정하면, 원시근 는 을 만족한 다. 만약 , 일 경우 은 특성값(characteristic)이 2인 유한체 곱의 특성에 의하여 하기의 <수학식 5>와 같이 표현된다.
상기 <수학식 5>의 첫 번째 등식은 이고, 이때 b3, b2, b1, b0 는 0 또는 1의 값을 가지기 때문에 두 번째 등식과 같이 표현된다. 또한, 상기 <수학식 5>에서 이고 이므로, 상기 <수학식 5>는 하기의 <수학식 6>과 같이 표현된다. 이러한 <수학식 6>을 시프트 레지스터 로직으로 구현한 예가 도 5b에 도시되어 있다.
상기 <수학식 4>에 기재된 는 도 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번 반복적으로 수행된다.
여기서 상기 는 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 파워 연산에 필요한 기저 상의 의 값인 이진 42-튜플(tuple) 벡터들을 16진수로 표현한 형태로 보여준다.
이 실시예에 따르면, 일 예로 n=4일 때 제곱 연산 대신 4의 파워 연산을 이용함으로써 보다 빠르게 스테이트를 구할 수 있다. 하기의 <수학식 7>은 n=4일 때 22(=4)-th 파워 연산을 이용하여 스테이트를 구하는 과정을 보여준다.
상기 4-th 파워 연산을 위한 시프트 레지스터 로직의 구성이 도 9에 도시되어 있다.
다른 예로, n=12일 때 23(=8)-th 파워 연산을 이용하여 스테이트를 구하는 과정이 하기의 <수학식 10>에 표현되어 있다.
상기 <수학식 10>을 참조하면, 23-th 파워 연산이 4번 수행됨을 알 수 있다.
본 발명의 실시 예에 따른 n-stage LFSR의 스테이트를 계산하는 power-and-multiply 방식의 처리 흐름이 도 8에 도시되어 있다. 이러한 처리 흐름은 n=rs일 때 2r-th 파워 연산을 이용하여 스테이트의 계산 회수를 s번으로 줄일 수 있도록 한다.
상기 도 8을 참조하면, 2r-th 파워 계산의 복잡도를 줄이기 위하여 미리 기저(basis)상의 n-tuple 벡터 를 저장시킨 후 이용한다(411단계). 412 단계에서 제어부(또는 프로세서)(도시하지 않음)는 LFSR의 현재 스테이트로부터 임의의 칩 후의 스테이트를 구하기 위하여 슬립 모드의 시간 구간 중에서 칩의 시간을 취한다. 413 단계에서 상기 제어부는 GF(2n) 상의 원소 β에 PN 스테이트를 매핑한다. 414 단계에서 상기 제어부는 변수 i=0으로 설정하고, 변수 j=0, y=0으로 설정한다. 2r-th 파워 계산을 위해서는 0≤j≤n-1인 모든 j에 대하여 일 때만 비트방향 으로의 배타적 논리합(bitwise exclusive-or) 연산 가 계산된다(416~418단계).
매번 2r-th 파워 계산을 한 후420 단계에서 j<tp를 만족하는 경우에는 만큼의 시프트 연산 를 수행하는데, 421 단계에서 는 을 만족하는 특성 다항식을 나타낸다. 만약 y가 LFSR의 스테이트를 나타낸다면, 상기 421 단계는 LFSR의 1 칩 시프트 또는 의 동작에 해당된다.(419~422단계). 상기 420 단계에서 j<tP를 만족하지 않는 경우에는 423 단계로 바로 진행한다. 423 단계에서 상기 제어부는 (i)를 1 증가시킨 후 424 단계에서 (i)가 s 보다 작은지 판단하여 작은 경우 상기 415 단계 내지 424 단계의 동작을 반복한다. 상기 424 단계에서 (i)가 s 보다 작지 않은 것, 즉 (i)가 S 보다 같거나 큰 것으로 판단되는 경우, 425 단계에서 상기 제어부는 β에 해당하는 PN 스테이트를 라이트하고 동작을 종료한다.전술한 바와 같은 처리 흐름에 따른 동작은 최악의 경우 회 루프를 돌면 되고, 평균적으로는 회의 루프를 돌면 된다. 즉, 본 발명의 실시예에 따른 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의 파워 연산을 수행하며 기저(basis) 상의 n-튜플(tuple) 벡터 가 미리 저장된 테이블을 근거로 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 파워 연산을 구하기 위한 가 도 10에 도시되어 있다. 이 경우 임의의 고정된 t 클럭(shift)후에 LFSR 스테이트를 계산하기 위하여 최대 735번, 평균적으로는 368번의 루프를 돌아야 한다. 반면에 종래 기술을 사용했을 경우는 최대 1764번, 평균적으로는 882번의 루프를 돌아야 한 다.
전술한 바와 같이 본 발명은 LFSR 형태로 구성된 m-시퀀스 발생기(PN 부호 생성기)의 스테이트를 계산하는 방법을 제안한다. 이러한 본 발명은 일 예로 CDMA 단말기에 적용될 수 있다. CDMA 단말기의 슬립모드에서는 전력 소모를 줄이기 위하여 PN (부호) 생성기를 정지시키고 일정시간 후 메시지를 수신하기 위하여 슬립에서 깨어나는 동작을 반복한다. 슬립에서 깨어난 후 메시지를 다시 수신하기 위해서는 PN 생성기의 내부 메모리를 정지상태로부터 경과시간만큼 진행된 상태로 바꿔주어야 하는데, 이때 본 발명이 이용될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 예를 들어, 본 발명은 PN 생성기를 구성하는 LFSR의 레지스터 상태들이 임의의 주어진 시간 t(또는 t 시프팅 동작) 후에 어떻게 변할지를 예측 또는 계산해야 하는 모든 응용 분야에 이용될 수 있다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 종래 기술에 비해 임의의 시간 후의 LFSR 스테이트를 보다 빠르고 효율적으로 계산할 수 있다는 이점이 있다.
Claims (15)
- n-스테이지의 이진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 방법에 있어서,상기 LFSR의 현재 이진 스테이트 값을 유한체 GF(2n)의 원소로 정하는 과정과,상기 GF(2n)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 2r-th의 파워 연산 및 곱셈 연산을 수행하는 과정과,상기 2r-th의 파워 연산 및 곱셈 연산을 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 계산하여 상기 부호를 생성하는 과정을 포함하는 부호 생성 방법.
- 제 2 항에 있어서,상기 곱셈 연산을 수행하는 과정은 상기 2r-th의 파워 연산을 수행한 후 매번 상기 LFSR을 통해 최대 2r-1 만큼의 시프트 연산을 수행하는 과정을 포함하는 부호 생성 방법.
- 제 1 항에 있어서,상기 부호는 부호 분할 다중 접속 시스템의 PN(Pseudorandom Noise) 시퀀스인 부호 생성 방법.
- 제 4 항에 있어서,상기 임의의 시간은 상기 부호 분할 다중 접속 시스템의 단말기가 슬립 모드로 동작되는 시간을 의미하는 부호 생성 방법.
- n-스테이지의 이진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하는 장치에 있어서,유한체 GF(2n)에서 상기 LFSR의 현재 스테이트 값을 나타내는 원소를 정하는 경우 상기 GF(2n)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 2r-th의 파워 연산을 수행하는 제1 시프트 레지스터 로직과,상기 2r-th의 파워 연산 결과에 대해 상기 LFSR을 시프트 시키는 방식으로 곱셈 연산을 수행하는 제2 시프트 레지스터 로직을 포함하며,상기 제1 및 제2 시프트 레지스터 로직은 상기 파워 연산 및 곱셈 연산을 상기 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 구하여 상기 부호를 생성하는 부호 생성 장치.
- 제 7 항에 있어서,상기 제2 시프트 레지스터 로직은상기 2r-th의 파워 연산을 수행한 후 매번 상기 LFSR을 통해 최대 2r-1 만큼의 시프트 연산을 수행하는 부호 생성 장치.
- 제 6 항에 있어서,상기 부호는 부호 분할 다중 접속 시스템의 PN(Pseudorandom Noise) 시퀀스인 부호 생성 장치.
- 제 9 항에 있어서,상기 임의의 시간은 상기 부호 분할 다중 접속 시스템의 단말기가 슬립 모드로 동작되는 시간을 의미하는 부호 생성 장치.
- n-스테이지의 p진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 방법에 있어서,상기 LFSR의 현재 p진 스테이트 값을 유한체 GF(pn)의 원소로 정하는 과정과,상기 GF(pn)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 pr-th의 파워 연산 및 곱셈 연산을 수행하는 과정과,상기 파워 연산 및 곱셈 연산을 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 계산하여 상기 부호를 생성하는 과정을 포함하는 부호 생성 방법.
- n-스테이지의 p 진 선형 궤환 시프트 레지스터(LFSR)를 이용하는 통신 시스템에서 임의의 시간 후의 부호를 생성하기 위한 장치에 있어서,유한체 GF(pn)에서 상기 LFSR의 현재 스테이트 값을 나타내는 원소를 정하는 경우 상기 GF(pn)에서 n=rs(r과 s는 선택된 값임)일 때 상기 LFSR의 특성 다항식에 대해 pr-th의 파워 연산을 수행하며 값에 대한 기저(basis) 상의 n-튜플(tuple) 벡터가 미리 저장된 테이블을 근거로 0≤j≤n-1의 범위에서 상기 n-튜플 벡터에 대해 비트와이즈 배타적 논리합(bitwise exclusive-or) 연산을 수행하는 제1 시프트 레지스터 로직과,상기 pr-th의 파워 연산 결과에 대해 상기 LFSR을 시프트 시키는 방식으로 곱셈 연산을 수행하는 제2 시프트 레지스터 로직을 포함하며,상기 는 상기 GF(pn)의 원시근(primitive element)이고, 상기 제1 및 제2 시프트 레지스터 로직은 상기 pr-th의 파워 연산 및 곱셈 연산을 상기 s번 반복적으로 수행하여 상기 임의의 시간 후의 상기 LFSR의 새로운 스테이트 값을 구하여 상기 부호를 생성하는 부호 생성 장치.
- 제 12 항에 있어서,상기 제2 시프트 레지스터 로직은상기 pr-th의 파워 연산을 수행한 후 매번 상기 LFSR을 통해 최대 pr-1 만큼의 시프트 연산을 수행하는 부호 생성 장치.
- 제 12 항에 있어서,상기 부호는 부호 분할 다중 접속 시스템의 PN(Pseudorandom Noise) 시퀀스인 부호 생성 장치.
- 제 14 항에 있어서,상기 임의의 시간은 상기 부호 분할 다중 접속 시스템의 단말기가 슬립 모드로 동작되는 시간을 의미하는 부호 생성 장치.
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)
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)
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)
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 |
-
2006
- 2006-11-13 KR KR1020060111920A patent/KR100871221B1/ko not_active IP Right Cessation
- 2006-11-13 US US11/598,027 patent/US20070127431A1/en not_active Abandoned
Patent Citations (3)
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)
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 |