KR100932033B1 - 복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근엔진과 방법 - Google Patents

복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근엔진과 방법 Download PDF

Info

Publication number
KR100932033B1
KR100932033B1 KR1020057021863A KR20057021863A KR100932033B1 KR 100932033 B1 KR100932033 B1 KR 100932033B1 KR 1020057021863 A KR1020057021863 A KR 1020057021863A KR 20057021863 A KR20057021863 A KR 20057021863A KR 100932033 B1 KR100932033 B1 KR 100932033B1
Authority
KR
South Korea
Prior art keywords
galois field
polynomial
output
galois
generator
Prior art date
Application number
KR1020057021863A
Other languages
English (en)
Other versions
KR20060036383A (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 KR20060036383A publication Critical patent/KR20060036383A/ko
Application granted granted Critical
Publication of KR100932033B1 publication Critical patent/KR100932033B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • 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
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Electromagnetism (AREA)
  • Error Detection And Correction (AREA)
  • Connection Of Motors, Electrical Generators, Mechanical Devices, And The Like (AREA)

Abstract

갈루아 필드 나눗셈 엔진 및 방법은 출력을 얻기 위해 1과 제 1 갈루아 필드 엘리먼트를 갈루아 필드 역수 발생기에 입력하고, 제 1 갈루아 필드 엘리먼트의 역수를 얻기 위해 갈루아 필드 역수 발생기에서 제 1 갈루아 필드 엘리먼트를 기약 다항식의 m-2 번(m은 갈루아 필드의 차수) 다항식 곱의 제곱에 대한 모듈로 나머지를 예측하기 위한 갈루아 필드 역수 발생기의 제 1 엘리먼트와 곱하며, m 사이클 내에 두 개의 갈루아 필드 엘리먼트들의 몫을 얻기 위해 갈루아 필드 역수 엔진에서 제 1 갈루아 필드 엘리먼트의 역수를 기약 다항식의 다항식 곱의 제곱에 대한 모듈로 나머지를 예측하기 위한 제 2 갈루아 필드 엘리먼트와 곱한다; 보다 넓은 관점에서 본 발명은 제 1 입력을 제외한 각각의 입력이 이전의 갈루아 필드 선형 변환의 출력인 최종적인 출력을 얻기 위해 일련의 다항식 입력들을 통해 일련의 갈루아 필드 선형 변환들을 수행하기 위한 복합 갈루아 필드 엔진을 포함한다; 갈루아 필드 제곱근은 출력을 얻기 위해 갈루아 필드 엘리먼트를 갈루아 필드 제곱근 발생기에 입력함으로써 달성되며, 상기 출력은 (m-1) 사이클 내에 갈루아 필드 엘리먼트의 제곱근을 얻기 위해 갈루아 필드의 제곱근을 얻기 위해 기약 다항식의 m-1 번(m은 갈루아 필드의 차수) 다항식 곱의 제곱에 대한 모듈로 나머지를 예측하도록 갈루아 필드에서 제곱시킨다.

Description

복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근 엔진과 방법{COMPOUND GALOIS FIELD ENGINE AND GALOIS FIELD DIVIDER AND SQUARE ROOT ENGINE AND METHOD}
본 발명은 갈루아 필드 나눗셈 엔진과 방법에 관한 것이며, 더욱 일반적으로는 하나의 변환 동작에서 일련의 갈루아 필드 변환들을 수행하기 위한 복합 갈루아 필드 엔진(compound Galois field engine)에 관한 것이다.
본 출원은 발명의 명칭이 A COMPACT GALOIS FIELD MULTIPLIER이고, 2002년 10월 9일에 출원된, Stein et al. 의 미국 가출원(AD-337J), 출원 번호가 60/334,662이고, 발명의 명칭이 GF2-ALU이며, 2001년 11월 30일에 출원된, Stein et al. 의 미국 가출원(AD-239J); 출원 번호가 60/334,510이고, 발명의 명칭이 PARALLEL GALOIS FIELD MULTIPLIER이며, 2001년 11월 20일에 출원된, Stein et al. 의 미국 가출원(AD-240J); 출원 번호가 60/341,635이고, 발명의 명칭이 GALOIS FIELD MULTIPLY ADD (MPA) USING GF2-ALU이며, 2001년 12월 18일에 출원된, Stein et al. 의 미국 가출원(AD-299J); 출원 번호가 60/341,737이고, 발명의 명칭이 PROGRAMMABLE GF2-ALU LINEAR FEEDBACK SHIFT REGISTER - INCOMING DATA SELECTION이며, 2001년 12월 18일에 출원된, Stein et al. 의 미국 가출원(AD-300J)의 우선권을 주장한다. 본 발명은 추가적으로 출원 번호가 10/395,620이고, 발명의 명칭 이 COMPACT GALOIS FIELD MULTIPLIER ENGINE이며, 2003년 3월 24일에 출원된 Stein et al. 의 미국 출원(AD-337J); 출원 번호가 10/051,533이고, 발명의 명칭이 GALOIS FIELD LINEAR TRANSFORMERER이며, 2002년 1월 18일에 출원된, Stein et al. 의 미국 출원(AD-239J); 출원 번호가 10/060,699이고, 발명의 명칭이 GALOIS FIELD MULTIPLIER SYSTEM이며, 2002년 1월 30일에 출원된, Stein et al. 의 미국 출원(AD-240J); 출원 번호가 10/228,526이고, 발명의 명칭이 GALOIS FIELD MULTIPLY/MULTIPLY-ADD/MULTIPLY ACCUMULATE이며, 2002년 8월 26일에 출원된, Stein et al. 의 미국 출원(AD-299J); 출원 번호가 10/136,170이고, 발명의 명칭이 RECONGIF. URABLE INPUT GALOIS FIELD LINEAR TRANSFORMERER SYSTEM이며, 2002년 5월 1일에 출원된, Stein et al. 의 미국 출원(AD-300J)의 우선권을 주장한다.
암호화 및 에러 제어 코딩과 같은 특정한 애플리케이션들에서, 갈루아 필드(Galois field)들을 통해, 예컨대 덧셈, 뺄셈, 제곱근, 곱셈 및 나눗셈과 같은, 산술 연산들을 수행하는 것이 필요하다. 갈루아 필드에 있는 임의의 두 개의 멤버들 사이의 이러한 임의의 연산은 동일한 갈루아 필드에서 다른 값을 가지는 출력(합, 차, 제곱근, 곱, 몫)들을 만들어낼 것이다. 갈루아 필드에 있는 엘리먼트들의 개수는 2m(m은 필드의 차수) 개이다. 예를 들어, GF(24)는 필드 내에 16 개의 서로 다른 엘리먼트들을 가질 것이고; GF(28)는 256 개의 서로 다른 엘리먼트들을 가질 것이다. 갈루아 필드는 특정한 제곱수(power)의 기약 다항식(irreducible polynomial)으로부터 발생된다. 특정 차수의 각각의 갈루아 필드는 다수의 기약 다항식들을 가질 것이며, 이들 각각은 다른 차수에서 동일한 항들을 이용하여 서로 다른 필드로 만들어질 수 있다.
갈루아 필드를 통한 나눗셈은 제수(divisor)의 역수(reciprocal)를 피제수(dividend)에 곱함으로써 이루어진다. 상기 제수의 역수는 다양한 방법들로 만들어질 수 있다. 하나의 방법은 제수가 테이블에 대한 주소인 역수들의 저장된 룩-업(look-up) 테이블을 가지는 것이다. 이러한 접근이 가지는 하나의 문제점은 각각의 기약 다항식의 각각의 필드가 개별적인 테이블에 저장되어야 한다는 것이다. 또한, 상기 테이블들은 오직 직렬로 액세스될 수 있다: 병렬 동작들이 요구되는 경우에는 각 테이블의 복사본이 각각의 병렬 동작을 위해 제공되어야 한다. 또다른 접근은 저장된 갈루아 필드 엘리먼트들 각각을 특정 제수와 곱하는 것이다. 곱하여 1이 되는 값은 특정 제수에 대한 역수이다. 다시 한번 모든 값들은 저장되어야 하며, 병렬 동작이 고려되는 경우에는 다수의 복사본들이 저장되어야 한다. 그리고, 갈루아 필드 곱셈기는 단지 검색을 수행하기 위해 요구된다. 세번째 접근은 두 개의 선형 피드백 쉬프트 레지스터들(LFSR)을 사용하며, 이들 각각은 특정한 기약 다항식의 선택된 갈루아 필드를 생성하기 위해 구성된다. 제 1 레지스터는 제수로 초기화되며; 제 2 레지스터는 "1"로 초기화된다. 제수값으로부터 시작하여, 상기 두 개의 레지스터들은 동시에 클로킹된다. 제 1 LFSR의 결과값이 "1"이면 제수는 자신의 역수와 곱해진 것이다. 그 시점에서 제 2 LFSR의 결과값은 제수의 역수인 갈루아 필드 엘리먼트이다. 이러한 접근이 가지는 하나의 문제점은 각각의 차수에 대한 각각의 기약 다항식의 각 갈루아 필드에 대하여 서로 다른 쌍의 LFSR들이 필요하다는 것이다. 위의 제 2 룩-업 테이블 접근 및 LFSR 접근 모두에서, 역수를 위한 탐색은 2m-1 번의 반복을 요구하게 된다.
본 발명의 목적은 향상된 갈루아 필드 나눗셈 엔진 및 방법을 제공하는 것이다.
본 발명의 추가적인 목적은 m-1 번의 반복으로 제수의 역수에 대한 탐색을 마칠 수 있는 향상된 갈루아 필드 나눗셈 엔진을 제공하는 것이다.
본 발명의 추가적인 목적은 서로 다른 차수들의 서로 다른 기약 다항식 갈루아 필드들을 제공하기 위해 용이하게 재구성될 수 있는 향상된 갈루아 필드 나눗셈 엔진을 제공하는 것이다.
본 발명의 추가적인 목적은 제수의 역수를 생성할 뿐만 아니라 제수의 역수를 피제수와 곱하도록 기능할 수 있는 향상된 갈루아 필드 나눗셈 엔진을 제공하는 것이다.
본 발명의 추가적인 목적은 보다 적은 전력과 보다 작은 구역을 요구하는 향상된 갈루아 필드 나눗셈 엔진을 제공하는 것이다.
본 발명의 추가적인 목적은 하나의 변환 동작에서 일련의 갈루아 필드 변환들을 수행하기 위한 보다 일반적으로 향상된 복합 갈루아 필드 엔진을 제공하는 것이다.
본 발명은 보다 작고, 빠르며 효율적인 향상된 갈루아 필드 나눗셈 엔진이 갈루아 필드 역수 발생기와 입력 선택 회로를 이용하여 달성될 수 있도록 구현함으로써 이루어지며, 상기 갈루아 필드 나눗셈 엔진은 출력을 얻기 위해 초기에 1과 제 1 갈루아 필드 엘리먼트를 갈루아 필드 역수 발생기에 입력하고, 그 다음에 제 1 갈루아 필드 엘리먼트의 역수를 얻기 위해 갈루아 필드 역수 발생기에서 제 1 갈루아 필드 엘리먼트를 기약 다항식의 다항식 곱의 제곱에 대한 모듈로(modulo) 나머지를 예측하기 위한 갈루아 필드 역수 발생기의 출력과 m-2 번(m은 갈루아 필드의 차수) 곱하며, m 사이클 내에 두 개의 갈루아 필드 엘리먼트들의 몫을 얻기 위해 갈루아 필드 역수 엔진에서 제 1 갈루아 필드 엘리먼트의 역수를 기약 다항식에 대한 다항식 곱의 모듈로 나머지를 예측하기 위해 제 2 갈루아 필드 엘리먼트와 곱한다.
본 발명은 또한 보다 일반적으로, 제 1 입력을 제외한 각각의 입력이 이전의 갈루아 필드 선형 변환의 출력인 최종적인 출력을 얻기 위해 일련의 다항식 입력들을 통해 일련의 갈루아 필드 선형 변환들을 수행하기 위한 향상된 복합 갈루아 필드 엔진이 입력 회로를 이용하여 달성될 수 있도록 구현되며, 상기 입력 회로는 제 1 입력으로부터 직접 갈루아 필드 선형 변환의 최종적인 결과를 얻기 위해 제 1 입력과 갈루아 필드 선형 변환기를 제공하며, 상기 갈루아 필드 선형 변환기는 제 1 입력에 반응하는 셀들의 행렬을 포함하고, 하나의 변환에서, 기약 갈루아 필드 다항식의 일련의 갈루아 필드 선형 변환들에 대한 모듈로 나머지를 즉시 예측하도록 구성된다.
본 발명은 출력을 얻기 위해 초기에 1과 제 1 갈루아 필드 엘리먼트를 갈루아 필드 역수 발생기에 입력하고, 그 다음에 제 1 갈루아 필드 엘리먼트의 역수를 얻기 위해 갈루아 필드 역수 발생기에서 제 1 갈루아 필드 엘리먼트를 기약 다항식의 다항식 곱의 제곱에 대한 모듈로 나머지를 예측하기 위한 갈루아 필드 역수 발생기의 출력과 m-2 번(m은 갈루아 필드의 차수) 곱하며, m 사이클에서 두 개의 갈루아 필드 엘리먼트들의 몫을 얻기 위해 갈루아 필드 역수 엔진에서 제 1 갈루아 필드 엘리먼트의 역수를 기약 다항식에 대한 다항식 곱에 대한 모듈로 나머지를 예측하도록 제 2 갈루아 필드 엘리먼트와 곱하기 위해, 입력 선택 회로와 갈루아 필드 역수 발생기를 포함하는 갈루아 필드 나눗셈 엔진을 특징으로 한다.
바람직한 실시예에서, 역수 발생기는 제 1 및 제 2 갈루아 필드 곱셈기들을 포함할 수 있다. 제 1 갈루아 필드 곱셈기는 제 1 다항식 곱셈기 회로와 제 1 갈루아 필드 선형 변환기를 포함할 수 있다. 제 1 갈루아 필드 선형 변환기는 셀들의 행렬을 포함할 수 있다. 제 1 갈루아 필드 선형 변환기는 행렬 섹션과 단위 행렬(unity matrix) 섹션을 포함할 수 있다. 제 2 갈루아 필드 곱셈기는 제 2 다항식 곱셈기 회로와 제 2 갈루아 필드 선형 변환기를 포함할 수 있다. 제 2 갈루아 필드 선형 변환기는 셀들의 행렬을 포함할 수 있다. 제 2 갈루아 필드 선형 변환기의 셀들의 행렬은 행렬 섹션과 단위 행렬 섹션을 포함할 수 있다. 제 1 갈루아 필드 곱셈기의 출력은 상기 출력의 제곱값을 제공하기 위해 제 2 갈루아 필드 선형 곱셈기의 입력들과 곱해지도록 제공될 수 있다. 갈루아 필드 역수 발생기는 제 1 갈루아 필드 곱셈기 출력의 제곱을 계산하기 위해, 제 1 다항식 곱셈기 및 제 1 갈루아 필드 변환기를 포함하는 갈루아 필드 곱셈기 및 제 2 갈루아 필드 변환기를 포함할 수 있다. 제 2 갈루아 필드 변환기는 대략적으로 제 1 갈루아 필드 변환기보다 0.5 배의 크기를 가질 수 있다. 제 1 및 제 2 갈루아 필드 변환기들 각각은 셀들의 행렬을 포함할 수 있으며, 제 2 갈루아 필드 변환기는 대략적으로 제 1 갈루아 필드 변환기의 셀들의 개수보다 0.5 배 많은 셀들을 포함할 수 있다. 갈루아 필드 역수 엔진은 갈루아 필드 곱셈기, 및 상기 갈루아 필드 곱셈기가 곱셈 연산 이전에 m-2회 동안 복합 곱셈-제곱 연산을 수행하게 하도록 프로그래밍된 프로그램 회로를 포함할 수 있다.
본 발명은 또한 넓은 관점에서, 제 1 입력을 제외한 각각의 입력이 이전의 갈루아 필드 선형 변환의 출력인 최종적인 출력을 얻기 위해 일련의 다항식 입력들을 통해 일련의 갈루아 필드 선형 변환들을 수행하기 위한 복합 갈루아 필드 엔진을 특징으로 한다. 제 1 입력으로부터 직접 갈루아 필드 선형 변환의 최종적인 결과를 얻기 위해 제 1 입력과 갈루아 필드 선형 변환기를 제공하기 위한 입력 회로가 존재하며, 상기 갈루아 필드 선형 변환기는 제 1 입력에 반응하는 셀들의 행렬을 포함하고, 하나의 변환에서, 기약 갈루아 필드 다항식의 일련의 갈루아 필드 선형 변환들에 대한 모듈로 나머지를 즉시 예측하도록 구성된다.
본 발명은 또한 출력을 얻기 위해 초기에 1과 제 1 갈루아 필드 엘리먼트를 갈루아 필드 역수 발생기에 입력하는 단계, 제 1 갈루아 필드 엘리먼트의 역수를 얻기 위해 갈루아 필드 역수 발생기에서 제 1 갈루아 필드 엘리먼트를 기약 다항식의 다항식 곱의 제곱에 대한 모듈로 나머지를 예측하기 위한 갈루아 필드 역수 발생기의 출력과 m-2 번(m은 갈루아 필드의 차수) 곱하는 단계, 및 m 사이클 내에 두 개의 갈루아 필드 엘리먼트들의 몫을 얻기 위해 갈루아 필드 역수 엔진에서 제 1 갈루아 필드 엘리먼트의 역수를 기약 다항식에 대한 다항식 곱에 대한 모듈로 나머지를 예측하기 위한 제 2 갈루아 필드 엘리먼트와 곱하는 단계를 포함하는 갈루아 필드 나눗셈 방법을 특징으로 한다.
본 발명은 또한 갈루아 필드 제곱근 발생기와 하나의 사이클에서 갈루아 필드 엘리먼트들의 제곱근을 얻기 위해 갈루아 필드 엘리먼트를 상기 갈루아 필드 제곱근 발생기로 입력하기 위한 입력 회로를 포함하는 갈루아 필드 제곱근 엔진을 특징으로 한다.
바람직한 실시예에서, 갈루아 필드 제곱근 엔진은 갈루아 필드 곱셈기와, 상기 갈루아 필드 곱셈기가 하나의 사이클에서 m-1 번의 복합 제곱 연산을 수행하도록 프로그래밍하기 위한 프로그램 회로를 포함할 수 있다.
본 발명은 또한 출력을 얻기 위해 갈루아 필드 엘리먼트를 갈루아 필드 제곱근 발생기로 입력하는 단계 및 (m-1) 사이클 내에 갈루아 필드 엘리먼트의 제곱근을 얻기 위해 갈루아 필드 제곱근 발생기에서 기약 다항식의 다항식 곱의 제곱에 대한 모듈로 나머지를 예측하기 위한 갈루아 필드 제곱근 발생기의 출력을 m-1 번(m은 갈루아 필드의 차수) 제곱하는 단계를 포함하는 갈루아 필드 제곱근 방법을 특징으로 한다.
다른 목적들, 특징들 및 장점들은 바람직한 실시예에 대한 다음의 설명과 도면들로부터 당업자에게 명백할 것이다.
도 1은 본 발명에 따른 간단한 갈루아 필드 곱셈기 엔진에 대한 기능 블록 다이어그램이다.
도 2는 본 발명에 따른 종래의 갈루아 필드 곱셈기 엔진의 보다 상세한 기능 블록 다이어그램이다.
도 3은 본 발명의 줄어든 크기의 갈루아 필드 선형 변환기 단위 행렬 특성을 도시하는 도 1의 간단한 갈루아 필드 곱셈기 엔진에 대한 보다 상세한 기능 블록 다이어그램이다.
도 4는 도 2 및 도 3의 갈루아 필드 선형 변환기의 행렬에 대한 전형적인 프로그램가능한 X-OR 회로를 나타낸 도면이다.
도 5는 8 제곱의 특정 다항식에 대한 본 발명에 따른 행렬 섹션과 단위 행렬 섹션 셀들의 프로그래밍을 도시하는 도 3 및 도 9의 갈루아 필드 선형 변환기 회로에 대한 단순화된 다이어그램을 나타낸 도면이다.
도 6은 8 제곱의 다른 다항식에 대한 본 발명에 따른 행렬 섹션과 단위 행렬 섹션 셀들의 프로그래밍을 도시하는 도 3 및 도 9의 갈루아 필드 선형 변환기 회로에 대한 단순화된 다이어그램을 나타낸 도면이다.
도 7은 4 제곱의 또다른 다항식에 대한 본 발명에 따른 행렬 섹션과 단위 행렬 섹션 셀들의 프로그래밍을 도시하는 도 3 및 도 9의 갈루아 필드 선형 변환기 회로에 대한 단순화된 다이어그램을 나타낸 도면이다.
도 8은 특정 실시예에서 절반 제곱들(4 제곱)과 전체 제곱들(8 제곱) 사이에 서 다항식 제곱들을 지원하기 위해 희소 행렬(sparse matrix)로서 제 2 행렬 섹션의 프로그래밍을 도시하는 도 3 및 도 9의 갈루아 필드 선형 변환기 회로에 대한 단순화된 다이어그램을 나타낸 도면이다.
도 9는 본 발명의 줄어진 크기 행렬과 줄어든 하드웨어 및 로컬 버스 특성들 모두를 통합하는 도 1의 간단한 갈루아 필드 곱셈기 엔진에 대한 보다 상세한 기능 블록 다이어그램이다.
도 10은 다수의 갈루아 필드 선형 변환기 유니트들을 사용하는 본 발명에 따른 갈루아 필드 곱셈기 엔진의 블록 다이어그램이다.
도 11은 도 2, 3, 5 및 9에서 이용가능한 다항식 곱셈기를 도시한 도면이다.
도 12는 도 11의 다항식 곱셈기에 대한 전달 함수를 도시한 도면이다.
도 13은 본 발명에 따른 나눗셈 엔진의 단순화된 블록 다이어그램이다.
도 14는 도 13의 갈루아 필드 곱셈기 및 제곱기에 대하여 보다 상세하게 도시된 도면이다.
도 15는 도 12의 다항식 곱셈기에 대한 줄어든 전달 함수의 차트이다.
도 16은 도 15의 줄어든 전달 함수를 구현하는 도 14의 갈루아 필드 곱셈기 및 제곱기와 유사한 갈루아 필드 곱셈기 및 제곱기를 나타낸 도면이다.
도 17은 도 14의 갈루아 필드 선형 변환기의 인에이블 셀들의 패턴을 나타낸 도면이다.
도 18은 줄어든 전달 함수를 이용하여 도 16의 갈루아 필드 선형 변환기의 인에이블 셀들의 패턴을 나타낸 도면이다.
도 19는 본 발명의 보다 일반적인 특성에 따라, 예컨대 나눗셈과 같은 최종적인 출력을 얻기 위해 일련의 다항식 입력들을 통해 일련의 갈루아 필드 선형 변환들을 수행하기 위한 복합 갈루아 필드 엔진에 대한 복합 갈루아 필드 선형 엔진의 인에이블 셀들의 패턴을 나타낸 도면이다.
도 20은 도 19에 도시된 갈루아 필드 변환을 이용하는 복합 갈루아 필드 엔진에 대한 단순화된 다이어그램을 나타낸 도면이다.
도 21은 본 발명에 따른 갈루아 필드 나눗셈 방법에 대한 흐름도이다.
도 22는 본 발명에 따른 제곱근 엔진에 대한 블록 다이어그램을 나타낸 도면이다.
도 23은 본 발명의 보다 일반적인 특성에 따라, 예컨대 제곱근과 같은 최종적인 출력을 얻기 위해 도 22에 도시된 바와 같이 일련의 다항식 입력들을 통해 일련의 갈루아 필드 선형 변환들을 수행하기 위한 복합 갈루아 필드 선형 엔진의 인에이블 셀들의 패턴을 나타낸 도면이다.
도 24는 본 발명에 따른 갈루아 필드 제곱근 방법에 대한 흐름도이다.
도 25는 본 발명에 따른 복합 갈루아 필드 엔진에 대한 단순화된 다이어그램을 나타낸 도면이다.
바람직한 실시예 또는 아래에 개시된 실시예들과 별도로, 본 발명은 다른 실시예들에서 구현되고 다양한 방식으로 실행될 수 있다. 그리하여, 본 발명은 다음의 설명 또는 도시된 도면들에 따른 컴포넌트들의 구성 및 배치들의 세부 사항들에 의해 제한되지 않는다는 것을 이해하여야 할 것이다.
복합 갈루아 필드 엔진과 나눗셈 엔진 및 본 발명의 방법을 개시하기 전에, 갈루아 필드 변환기들과 곱셈기들에 대한 설명이 보다 용이한 이해를 위해 제공된다.
갈루아 필드 GF(n)는 두 개의 이진 연산들이 수행될 수 있는 엘리먼트들의 세트이다. 덧셈 및 곱셈은 교환 법칙, 결합 법칙 및 분배 법칙을 만족해야 한다. 유한개의 엘리먼트들을 가진 필드는 유한 필드이다. 이진 필드의 예로는 모듈로 2 덧셈과 모듈로 2 곱셈에서 세트 {0, 1}이 있으며, GF(2)로 표시된다. 모듈로 2 덧셈 및 곱셈 연산들은 다음의 실례에 도시된 테이블들에 의해 정의된다. 제 1 행 및 제 1 열은 갈루아 필드 덧셈기와 곱셈기에 대한 입력들을 나타낸다. 예를 들어, 1+1=0이고 1*1=1이다.
모듈로 2 덧셈(XOR)
Figure 112005065918615-pct00001
모듈로 2 곱셈(AND)
Figure 112005065918615-pct00002
일반적으로, p가 임의의 소수라면, GF(p)는 p개의 엘리먼트들을 가진 유한 필드이며 GF(pm)는 pm개의 엘리먼트들을 가진 확장 필드라는 것이 보여질 수 있다. 또한, 필드의 다양한 엘리먼트들은 하나의 필드 엘리먼트, β를 서로 다른 제곱수(power)들로 올림으로써 하나의 필드 엘리먼트, β에 대한 다양한 제곱수들로서 생성될 수 있다. 예를 들어, GF(256)는 초기 엘리먼트, β를 256개의 서로 다른 제곱수들로 올림으로써 생성될 수 있는 256개의 엘리먼트들을 가진다.
또한, 계수들이 이진수인 다항식들은 GF(2)에 속한다. 차수가 m인 GF(2)의 다항식이 차수가 0보다는 크지만 m보다는 작은 임의의 GF(2)의 다항식에 의해 나누어질 수 없는 경우에, 상기 다항식은 약분할 수 없다고 말한다. 다항식 F(X)=X2+X+1은 X 또는 X+1에 의해 나누어질 수 없기 때문에 기약 다항식이다. X2m -1+1을 나누는 차수 m의 기약 다항식은 기초 다항식으로 알려져 있다. 주어진 m에 대하여, 하나 이상의 기초 다항식이 있을 수 있다. 대부분의 통신 표준들에서 자주 사용되는, m=8인 경우에 기초 다항식의 예로는 F(X)=0x11d=x8+x4+x2+1이 있다.
갈루아 필드 덧셈은 모듈로 덧셈과 동일하기 때문에 소프트웨어로 구현하기 에 용이하다. 예를 들어, 29와 16이 GF(28)에 있는 두 개의 엘리먼트들인 경우에, 이들의 덧셈은 XOR 연산에 의해 다음과 같이 간단하게 수행된다: 29(11101)
Figure 112005065918615-pct00003
16(10000)=13(01101).
반면에 갈루아 필드 곱셈은 기초 엘리먼트 β의 반복된 곱셈에 의한, GF(24)의 모든 엘리먼트들을 계산하는, 다음의 예에서 보여지는 바와 같이 비트 계산이 보다 복잡하다. GF(24)에 대한 필드 엘리먼트들을 생성하기 위해, 차수 m=4인 기초 다항식 G(x)는 G(x)=X4+X+1로 선택된다. 곱셈의 결과들이 여전히 필드의 엘리먼트들이 되도록 곱셈을 모듈로 곱셈으로 만들기 위해, 5번째 비트 세트를 가지는 임의의 엘리먼트는 다음의 항등식 F(β)=β4+β+1=0을 이용하여 4-비트 결과로 나오게 된다. 상기 항등식은 β4=1+β로 설정함으로써, 필드의 서로 다른 엘리먼트들을 형성하기 위해 반복적으로 이용된다. 그리하여, 필드의 엘리먼트들은 다음과 같이 나열될 수 있다:
{0, 1, β, β2, β3, 1+β, β+β2, β23, 1+β+β3,. . . 1+β3}
β는 GF(24)에 대한 기초 엘리먼트이기 때문에, {0, 1, 2, 4, 8, 3, 6, 12, 11. . . 9}와 같은 GF(24)의 필드 엘리먼트들을 생성하기 위해 2로 설정될 수 있다.
갈루아 필드 다항식 곱셈은 두 개의 기초 단계들에서 구현될 수 있다. 제 1 단계는 대수적으로 확장된 다항식 곱 c(x)=a(x)*b(x)의 계산이며, 제곱수들은 c(x)를 산출하기 위해 수집된다(덧셈은 대응하는 항들 사이의 XOR 연산에 대응한다).
예를 들어,
Figure 112005065918615-pct00004
이고,
Figure 112005065918615-pct00005
이며 여기서:
차트 I
Figure 112005065918615-pct00006
제 2 단계는 d(x)=c(x) modulo p(x)의 계산이다.
설명을 위해, 곱셈들은 다항식들의 곱셈 modulo 기약 다항식을 통해 수행된다. 예를 들어:(m(x)=x8+x4+x3+x+1인 경우)
{57}*{83}={c1}이며, 왜냐하면,
제 1 단계
Figure 112007036720931-pct00058
제 2 단계
Figure 112005065918615-pct00008
이러한 접근을 배제하는, 향상된 갈루아 필드 곱셈기 시스템(10)은 두 개의 다항식들의 곱을 얻기 위해 A 레지스터에 있는 다항식(a0-a7)과 갈루아 필드에 대한 계수들을 가지는 B 레지스터에 있는 다항식(b0-b7)을 곱하기 위한 곱셈기 회로를 포함하며, 상기 두 개의 다항식들의 곱은 차트 II에 정의된 15-항 다항식 c(x)에 의해 주어진다. 곱셈기 회로는 실제적으로 다수의 곱셈기 셀들을 포함한다.
차트 II
Figure 112005065918615-pct00009
갈루아 필드 곱셈기 시스템의 동작은 여기에 참조로서 통합된, 출원 번호가 10/060,699이고, 발명의 명칭이 GALOIS FIELD MULTIPLIER SYSTEM이며, 2002년 1월 30일에 출원된, Stein et al. 의 미국 특허 출원[AD-240J]에서 설명되어 있다.
15개의 다항식 c(x)의 항들 각각은 *로 표시된 AND 함수를 포함하며 각각의 항들의 쌍은
Figure 112005065918615-pct00010
로 표시된 논리 배타적 OR과 결합된다. 차트 II에 나타난 이러한 곱은 각각 15x8 셀들로 구성된 다수의 갈루아 필드 선형 변환기 유니트들을 포함할 수 있는 갈루아 필드 선형 변환기로 제공되며, 상기 셀들은 미리 결정된 기약 다항식에 대한 다항식 곱의 모듈로 나머지를 예측하기 위해 곱셈기 회로에 의해 생성된 곱에 응답한다. A0, B0 곱셈은 제 1 유니트에서 수행되고, A1, B1 곱셈은 제 2 유니트에서 수행되고, A2, B2 곱셈은 제 3 유니트에서 수행되며, An, Bn 곱셈은 마지막 유니트에서 수행된다. 갈루아 필드 선형 변환기 회로와 회로의 변환기 유니트들 각각의 동작은 여기에 참조로서 통합된, 출원 번호가 10/051,533이고, 발명의 명칭이 GALOIS FIELD LINEAR TRANSFORMER이며, 2002년 1월 18일에 출원된, Stein et al. 의 미국 특허 출원[AD-239J]에서 설명되어 있다. 갈루아 필드 선형 변환기 유니트들 각각은 다항식 곱을 기약 다항식으로 나눔으로써 모듈로 나머지를 예측한다. 상기 기약 다항식은, 예를 들어, 차트 III에 제시된 것들 중 하나일 수 있다.
차트 III
Figure 112005065918615-pct00011
Figure 112005065918615-pct00012
Figure 112005065918615-pct00013
여기서 GF(28)으로 표시된 갈루아 필드 곱셈기는 차트 III에 도시된 바와 같이 제곱수 28과 제곱수 24를 이용하여 수행할 수 있다.
GF 곱셈의 예는 아래와 같이 발생한다:
Figure 112005065918615-pct00014
A 입력 레지스터(12), B 입력 레지스터(14) 및 출력 레지스터(16)와 함께 간단한 갈루아 필드 곱셈기 엔진(10)이 도 1에 도시되어 있다. 간단한 갈루아 필드 엔진(10)은 곱셈, 곱셈-덧셈 및 곱셈-누산을 포함하는 다수의 서로 다른 연산들을 수행할 수 있다.
도 2에 도시된 기존의 갈루아 필드 곱셈기 엔진(10a)은 세 개의 레지스터들(A 레지스터(12a), B 레지스터(14a) 및 C 레지스터(26a))을 필요로 한다. 이러한 레지스터들의 부담(burden)은 연관된 디지털 신호 프로세서(DSP)에 의해 수행되어야 하고 연장된 외부 버스 작업을 요구하게 된다. A 레지스터(12a)에 데이터를 제공하기 위한 버스(30), B 레지스터(14a)에 데이터를 제공하기 위한 버스(34) 및 C 레지스터(26a)에 데이터를 제공하기 위한 버스(36) 외에도, 레지스터(16a)로부터의 출력을 디지털 신호 프로세서(28)로 피드백하기 위한 버스(32)와 디지털 신호 프로세서(28)로부터의 출력을 B 레지스터(14a) 또는 C 레지스터(26a)로 피드백하기 위한 버스(34) 또는 버스(36)가 요구된다. 버스(31)는 갈루아 필드 선형 변환기 회로(20)와 출력 레지스터(16a)를 연결시킨다. 그리하여 다항식 곱셈기 회로(18)는 곱셈, 곱셈-덧셈 및 곱셈-누산 기능들을 수행하기 위해 C 레지스터(26a)로부터 행렬(22)의 덧셈기 입력(42)으로 제공된 값들에 따라 적절한 값들을 갈루아 필드 선형 변환기 회로(20)의 행렬(22)의 다중 입력(40)으로 제공할 수 있다. 행렬(22)은 제곱수가 8인 다항식들의 곱셈을 지원하기 위해 8x15 행렬로서 여기에 도시되어 있으나, 서비스될 다항식의 제곱수에 따라서, 더 많은 또는 더 적은 셀들(24)을 포함하도록, 더 크게 또는 더 작게 만들어질 수 있다.
도 3에 도시된, 엔진(10b)에 있는 갈루아 필드 선형 변환기 회로(20b)의 행렬(22b)의 행당 셀들(24b)의 개수는, 행렬(22b)을 두 개의 행렬 섹션들, 즉 행렬 섹션(50)과 단위 행렬 섹션(52)으로 구성함으로써, 거의 절반으로 줄어들 수 있다. 단위 행렬 섹션은 오직 하나의 세트의 셀들(54)을 필요로 하며, 이러한 단위 행렬 섹션의 셀들은 곱셈기 회로의 출력이 기약 다항식의 제곱수보다 작은 제곱수를 가 지는 다항식인 경우에 나머지에 대한 예측을 나타낸다. 그리하여 기약 다항식이 8자리의 제곱수를 가지는 도 3에서, 8보다 작은 제곱수를 가지는 임의의 다항식은 상기 모듈로를 초과하지 않을 것이며 행렬을 통해 오른쪽으로 전달되고, 그리하여 단위 행렬 섹션(52)의 빈 셀들은 불필요하게 된다. 이것은 행렬(22b)을 위한 필요한 셀들의 개수를 절반으로 줄일 수 있게 하여 보다 작고, 간단하며 빠른 엔진을 구현한다.
도 4의 각각의 셀은 AND 회로(100)와 배타적 OR 회로(102)를 포함할 수 있다. 도 4에서는 데이터 입력(104)과 인에이블 입력(106)이 있다. 배타적 OR 회로(102)는, 출력이 행렬의 출력으로 연결되는 마지막 배타적 OR 회로와 입력이 도 3의 덧셈기 입력(도 3의 42b 또는 도 9의 42g)으로 연결되는 첫번째 배타적 OR 회로를 제외하고, 라인(108)을 통한 출력을 다음 배타적 OR의 입력으로 제공하며, 자신의 입력(110)에서 이전의 배타적 OR 회로로부터의 출력을 수신한다. 라인(106)을 통한 인에이블 신호는 라인(104)을 통해 데이터가 AND 게이트(100)를 통과하고 라인(110)을 통한 입력과 함께 배타적 OR 회로(102)에 의해 배타적 OR 연산이 이루어질 수 있도록 한다. 라인(106)을 통한 인에이블 신호가 없으면, 라인(110)의 입력은 단순히 배타적 OR 게이트(102)를 거쳐 출력 라인(108)을 통과한다. 라인(106)을 통한 인에이블 신호는 셀(24)을 인에이블시킨다. 이러한 방식으로 전체 행렬은 임의의 특정한 기약 다항식을 위해 재구성될 수 있다.
도 3의 엔진(10b)의 효력은 위의 차트 III로부터 기약 다항식을 선택하고 필요한 셀들을 인에이블링하여 상기 기약 다항식을 구현함으로써 이해될 수 있다. 예를 들어, 기약 다항식 x8+x4+x3+x2+1을 나타내는 0x11d로 지정된 8 제곱의 제 1 다항식을 구현하기 위해, 도 5에서 일반적으로 24cc로 표시된, 인에이블된 셀들은 도 3에서 이전에 설명된 바와 같이 셀들(54c)의 라인을 포함하는 단위 행렬(52c)을 형성한다. 차트 III, 0x12b로부터 제 2 기약 다항식을 선택하면, 기약 다항식 x8+x5+x3+x+1은 도 6의 행렬 섹션(50d)과 단위 행렬(52d)에서 인에이블된 셀들(24dd)의 패턴을 생성하며, 다시 한번 단위 행렬 섹션(52d)은 인에이블된 셀들(54d)의 라인을 형성한다.
필요한 셀들의 수를 감소시키는 것은 기약 다항식과 동일한 제곱수를 가지는 다항식들에만 국한되지는 않는다. 이것은 또한 기약 다항식의 제곱수의 절반 또는 이보다 적은 제곱수를 가지는 임의의 다항식들에 적용된다. 예를 들어, 도 3에서 도시되고 도 5 및 6에서 설명을 위해 언급된, 8x15 행렬(22b)은 또한 제곱수가 1, 2, 3 또는 4인 다항식들을 지원할 수 있으나 제곱수가 5, 6 및 7인 다항식을 지원할 수 없으며, 기약 다항식의 제곱수가 16인 경우에 상기 기약 다항식을 지원하는 행렬은 제곱수가 8인 다항식까지 지원할 수 있으나 제곱수가 9부터 15까지의 다항식은 지원할 수 없다. 기약 다항식의 제곱수가 32인 경우에, 상기 다항식은 32 및 16까지의 제곱수를 가지는 다항식들을 지원할 수 있으나, 제곱수가 17부터 31까지의 다항식은 지원할 수 없다. 예를 들어, 도 7에 도시된 바와 같이, 제곱수 4의 기약 다항식에 대하여 행렬 섹션(50e)과 단위 행렬 섹션(52e) 모두는 보다 작아지며 행렬(22e) 내에 임의의 위치에서 구현될 수 있다. 여기서 행렬 섹션(50e)은 단 위 행렬(52e)에 있는 인에이블된 셀들과 함께 복수의 인에이블된 셀들(24ee)을 가지며, 단위 행렬(52e)은 이제 인에이블된 셀들(54e)의 보다 작은 라인을 포함하며, 단위 행렬 섹션(52e)을 형성한다.
제곱수가 5, 6 및 7인 중간 다항식들을 서비스하는 것이 바람직한 경우에, 단위 행렬 섹션은 도 8의 희소 행렬 섹션(52f)으로 교체될 수 있으며, 인에이블된 셀들(54ff, 54fff, 54ffff)의 추가적인 라인들이 제곱수가 5, 6 및 7인 다항식들을 각각 지원하기 위해 사용될 수 있다. 그러나, 이것은 행렬의 크기와 필요한 셀들의 개수를 다소 적게 줄이도록 한다.
입력 레지스터들의 개수는 세 개에서 두 개로 줄어들 수 있으며 도 9의 디지털 신호 프로세서(DSP)(28g)와의 통신에 따라서, 외부 버스들의 개수는 줄어들고 엔진(10g)의 내부에 배치될 수 있다. 그리하여, 도 9에 도시된 바와 같이, 두 개의 입력 레지스터들(A(12g) 및 B(14g))이 존재하며, 출력(31g)으로부터의 피드백은 DSP(28g)로 갈 필요가 없고 엔진(10g) 내에서 직접, 국지적으로 내부 버스(60)를 통해 곱셈기 입력 선택 회로(62)와 덧셈기 입력 선택 회로(64)로 들어가게 된다. 디지털 신호 프로세서(28g)는 오직 제어 신호들을 라인(66)을 통해 곱셈기 입력 선택 회로(62)로 제공하고 라인(68)을 통해 덧셈기 입력 선택 회로(64)로 제공하기 위해 필요하다. 그리하여, 곱셈 모드에서, 곱셈기 입력 선택 회로(62)는 B 레지스터(14g)로부터의 입력을 다항식 곱셈기 회로(18g)로 전달하며, 반면에 덧셈기 입력 선택 회로(64)는 추가적인 식별 레벨, 이러한 경우에, 그라운드 레벨(70)을 갈루아 필드 선형 변환기 회로(20g)의 덧셈기 입력(42g)으로 제공한다. 곱셈-덧셈 모드에서, 디지털 신호 프로세서(28)는 곱셈기 입력 선택 회로(62)가 라인(60)을 통한 행렬(22g)로부터의 출력을 다항식 곱셈기 회로(18g)로 피드백하도록 명령하며, 덧셈기 입력 선택 회로(64)가 B 레지스터(14g)에 있는 다항식을 갈루아 필드 선형 변환기 회로(20g)의 덧셈기 입력(42g)으로 전달하도록 명령한다. 곱셈-누산 모드에서, 디지털 신호 프로세서(28)는 곱셈기 입력 선택 회로(62)가 B 레지스터(14g)로부터의 다항식을 다항식 곱셈기 회로(18g)로 전달하도록 명령하며, 덧셈기 입력 선택 회로(64)가 갈루아 필드 선형 변환기 회로(20g)의 출력을 라인(60)을 통해 피드백하도록 명령한다.
다른 특징은 셀들(24g)의 선택적 인에이블에 의한 갈루아 필드 선형 변환기 회로(20g)의 재구성능력이다. 재구성가능한 제어 회로(80)는 선택된 기약 다항식의 계수들을 구현하기 위해 필요한 셀들(24g) 중 일부를 선택적으로 인에이블링할 수 있으며, 제어를 위해 필요한 셀들의 수가 줄어들었기 때문에 제어 회로(80)의 크기를 줄일 수 있다.
재구성가능한 갈루아 필드 선형 변환기 회로의 동작은 여기에 참조로서 통합된, 출원 번호가 10/136,170이고, 발명의 명칭이 RECONFIGURABLE INPUT GALOIS FIELD LINEAR TRANSFORMERER SYSTEM이며, 2002년 5월 1일에 출원된, Stein et al. 의 미국 특허 출원(AD-300J)과 상기 미국 특허 출원의 모든 우선권 주장 출원들과 문서들에서 설명되어 있다.
단순화를 위해, 오직 하나의 엔진에 관하여 설명되었음에도 불구하고, 다수의 엔진들이 도 10에 도시된 바와 같이 함께 사용될 수 있으며, 각각의 엔진은 곱 셈기 회로 10h, 10i, 10j, 10k. . . 10n와 갈루아 필드 선형 변환기 회로 20h, 20i, 20j, 20k. . . 20n을 포함하며, 하나의 중앙 재구성가능 제어 회로(801)는 이들 모두를 제어한다. 이러한 엔진들은 동일한 너비 [32, 64, 128] 비트의 A 및 B 레지스터들을 공유할 수 있으며, 이들 각각은 상이한 8비트(바이트) 세그먼트에서 동작하거나, 또는 각각은 자신의 재구성가능한 제어 유니트 80h, 80i, 80j, 80k. . . 80n와 자신의 A 및 B 레지스터들의 쌍(A0 및 B0(12h 및 14h); A1 및 B1(12i 및 14i); A2 및 B2(12j 및 14j); A3 및 A4(12k 및 14k) 등)에 의해 서비스될 수 있다.
출력(c0-c14)을 제공하기 위해 여기에 도시된 실시예에서 사용가능한 도 11의 다항식 곱셈기 회로(18I)는 배타적 OR 게이트들(122)과 결합된 복수의 AND 게이트들(120)을 포함하며, A 레지스터(121) 및 B 레지스터(141)로부터의 임의의 쌍의 다항식들, 예를 들어, 도 12의 테이블(124)에 도시된 바와 같이 다항식들(a0-a7)과 다항식들(b0-b7)을 곱할 수 있다.
갈루아 필드 곱셈기(152)와 제곱 기능을 수행하기 위한 제 2 갈루아 필드 곱셈기(154)를 가지는 갈루아 필드 역수 발생기(155)를 포함하는 본 발명에 따른 갈루아 필드 나눗셈 엔진(150)이 도 13에 도시되어 있다. 엔진(150)은 연산 β1*1/βk를 실행시킴으로써 나눗셈 β1k를 수행하며, 여기서 β1 및 βk는 갈루아 필드의 엘리먼트이며, 예를 들어, m=8, 즉 GF(28)로서 필드의 차수는 8이다. 초기에 갈루아 필드 곱셈기(152)는 1과 βk를 수신하고 이들을 함께 곱한다. 출력은 그후에 갈루아 필드 곱셈기(154)에서 제곱되고 갈루아 필드 곱셈기(152)로 피드백된다. 상기 결과는 m-2번 동안 반복적으로 βk에 의해 곱해지며 그 결과 총 m-1번의 반복이 발생한다. 이 시점에서 역수 1/βk가 얻어지며, m-2번의 반복들 각각에 대하여 제공되었던 βk 대신에 곱셈 β1*(1/βk)를 수행하기 위해 β1이 제공된다. 그리하여, 전체 나눗셈은 총 m번의 반복에서 발생하며, 역수를 생성하기 위해 m-1번의 반복이 수행되고 몫을 얻도록 제수의 역수와 피제수를 곱하기 위해 1번의 반복이 수행된다. "1", βk 및 β1 에 대한 적절한 시기의 애플리케이션이 입력 선택 회로(171)에 의해 수행된다.
Figure 112008075900980-pct00060
이라는 사실은 다음의 설명에 의해 제시된다: GF(q)의 필드는 숫자들 {0, 1. . . (q-1)}로 이루어진다. {1β, 2β. . . (q-1)β}를 얻기 위해 {1, 2. . . (q-1)}의 각각의 멤버를 β(β는 필드 멤버
Figure 112008075900980-pct00016
0)와 곱하는 경우, (변경된 차수와 함께) 동일한 세트를 다시 얻게 된다는 것을 용이하게 알 수 있다. 이것은 1ㆍ2ㆍ. . . ㆍ(q-1) = 1βㆍ2βㆍ. . .(q-1)β = 1ㆍ2ㆍ. . . ㆍ(q-1)β(q-1)의 양쪽으로부터 인자 1ㆍ2ㆍ. . . ㆍ(q-1)을 제거함으로써 아래와 같은 공식이 성립한다는 것을 의미한다.
βq-1=1
그러므로 수학식 1은 아래와 같은 수학식 2로 나타낼 수 있다.
β-1q-2
수학식 2에서 q를 2m으로 교체하면, 아래와 같은 수학식이 성립한다.
Figure 112008075900980-pct00017
도 13은 이러한 수학식을 구현한 것이다.
n=7에 대하여 상기 수학식 3에 따라, β254를 계산할 필요가 있다. β254는 β128 ㆍβ64ㆍβ32ㆍβ16ㆍβ8ㆍβ4ㆍβ2로서 계산될 수 있으며, 아래와 같이 반복적으로 계산될 수 있다.
Figure 112008075900980-pct00061
도 13의 회로는 초기값 1로부터 시작하여 155에서 다음의 연속적인 값들을 생성한다:
Figure 112007036720931-pct00059
위에서 볼 수 있는 바와 같이, β-1의 최종값은 (n-1) 사이클을 거쳐 획득된다. 동일한 회로는 GF(2m){m=3. 7} m의 모든 중간 제곱수들에 대하여 β-1을 생성하며, 예를 들어, m=4이면
Figure 112008075900980-pct00062
=
Figure 112008075900980-pct00063
가 n=3에서 생성된다.
일 실시예에서, 도 14의 갈루아 필드 역수 발생기(155a)는 갈루아 필드 곱셈기(152a)와 갈루아 필드 곱셈기(154a)를 포함할 수 있다. 갈루아 필드 곱셈기(152a)는 갈루아 필드 선형 변환기(156)와 다항식 곱셈기(158)를 포함한다. 갈루아 필드 곱셈기(152a)는 두 개의 섹션들, 즉 행렬 섹션(160)과 줄어든 단위 행렬 섹션(162)을 가지는 배타적 OR 셀들의 행렬을 포함하도록 도시되어 있으나, 단위 행렬 섹션(162)은 크기가 문제가 되지 않는다면 행렬 섹션(160)과 같이 전체 크기의 행렬로 구현될 수 있기 때문에, 이것이 본 발명에 필요한 한정은 아니다. 갈루아 필드 곱셈기(154a)는 또한 다항식 곱셈기(164)와 갈루아 필드 변환기(166)를 포함하며, 갈루아 필드 변환기(166)는 또한, 반드시 필요한 것은 아니지만, 전체 크기의 행렬 섹션(168)과 줄어든 단위 행렬 섹션(170)을 포함한다. 여기서 다시 단위 행렬 섹션(170)은 비용 및 공간 측면에서 유리하나, 전체 크기의 섹션이 거기에 사용될 있기 때문에 줄어든 섹션이 반드시 필요한 것은 아니다. 갈루아 필드 나눗셈 엔진(150a)은 m번의 반복으로 나눗셈을 수행한다. 제 1 반복에서, 입력 선택 회로(171)는 βk와 조합된 1을 갈루아 필드 곱셈기(152a)로 제공한다. 이것은 라인(172)에서 출력 βk를 생성하며, 갈루아 필드 곱셈기(154a)의 다항식 곱셈기 입력들(174, 176) 모두로 전달된다. 그리하여, 제곱 기능이 수행되고 출력은 입력 선택 회로(171)의 입력(178)으로 피드백된다. 이러한 반복은 m-2번 동안 발생한다(m은 갈루아 필드의 차수). m-2번의 반복들 이후에 입력 선택 회로(171)는 피제수 β1을 갈루아 필드 곱셈기(152a)로 제공하며, 이는 그 시점에서 출력(178)의 값은 역수 1/βk이기 때문이다. 이제 피제수 β1과 제수 1/βk를 곱함으로써, 180에서 갈루아 필드 나눗셈의 몫을 얻기 위해 결과적으로 β1은 /βk에 의해 나누어진다.
입력들(174, 176)에서의 값들은 최상위 숫자로부터 최하위 숫자로의 형태(b7-b0 및 a7-a0)를 가진다. 제곱 기능이 여기서 수행되면, 값들(b7-b0) 각각은 값들(a7-a0) 각각과 같을 것이며, 이는 이들이 동일한 수들이기 때문이다. 숫자들(b7-b0 및 a7-a0)의 개수는 다항식의 크기에 따라 좌우되며, m이 8인 경우에는 8개의 숫자들을 가질 것이다. 크기가 어떻게 되더라도, 값들은 양쪽 입력들에서 동일하기 때문에, 배타적 OR 함수는 0을 출력할 것이다. 즉, 배타적 OR 게이트로의 입력들은 공지된 바와 같이 0을 출력할 것이다. 그리하여, 도 12를 다시 언급하면, 다항식 곱셈 출력들(c0-c14) 각각에 대하여, 홀수 출력들은 동일한 값들의 쌍을 포함한다. 예를 들어, c1은 a1*b0
Figure 112005065918615-pct00021
a0*b1과 동일하다. 제곱을 수행하고 있기 때문에, 입력들 (174 및 176)에 나타나는 두 개의 값들은 동일하며, 그러므로 a0와 b0는 동일하며, a1과 b1은 동일하다. 그러므로, 배타적 OR이 적용되면 c1은 0값을 가지게 될 것이다. 이러한 결과는 홀수번 갈루아 필드 곱셈기 출력들의 나머지(c3, c5, c7, c9, c11, c13)들에 대하여도 동일하다. 제곱의 결과는 도 15의 182에 도시되어 있으며, 홀수번 출력(c1-c13)이 0값을 가질 뿐만 아니라 남아있는 0이 아닌 짝수번 값들은 배타적 OR 게이트를 필요로 하지않고, 단지 곱셈을 필요로 한다는 것을 알 수 있다. 예를 들어, c0는 a0*b0이다. 그러나, 이것은 a0의 값에서 단순한 AND 기능의 결과이다. 유사하게, c2와 관련하여 a1의 간단한 출력값을 산출하는 AND 기능을 제공하여, 값 a1은 b1과 곱해진다. 동일한 결과가 c4, c6, c8, c10, c12 및 c14에서 발생된다. 동일한 결과가 갈루아 필드 곱셈기(156b)에 적용된다. 제곱 기능을 수행하는 갈루아 필드 곱셈기(154b)는 행렬 섹션(168b)과 단위 섹션(170b)의 절반까지 크기를 줄일 수 있다. 또한, 상기 기능이 도 15의 컬럼(184)에 도시된 바와 같이 단순한 입력으로 바뀌었기 때문에, 두 개의 개별적인 입력들이 요구되지 않으며 그리하여 다항식 곱셈기(164)가 더 이상 필요하지 않게 된다.
도 17의 갈루아 필드 변환기들(156c 및 166c)은 동일하게 구현된다. 음영된 원들은 변환기들 각각에서 인에이블된 배타적 OR 게이트 셀들을 표시한다. 프로그래밍은 컬럼(190)의 코드들에 의해 달성되며 변환기들(156c 및 166c) 모두에 대하 여 동일하다. 변환기(156c)는 입력들(c0-c14)을 수신하고 출력들(A0-A7)을 제공한다. 이것들은 최종 출력들이 B0-B7인 갈루아 필드 선형 변환기(166c)의 A0-A7의 0들로 입력들을 형성한다. 변환기들 모두는 기약 다항식(Ox12b)에 대한 차수가 8인 GF(28)(m=8)의 갈루아 필드를 위해 구현된다. 도 15에 도시된 축소가 이루어지면, 도 18의 갈루아 필드 곱셈기(156d)는 컬럼(190d)의 프로그래밍 명령들 모두를 수행하도록 동일하게 구성되나, 갈루아 필드 선형 변환기(166d)는 도 16에 도시된 구조의 결과로서, 하나 걸러서 제거된 0 컬럼들을 가진다.
갈루아 필드 나눗셈 엔진이 도 16에 도시된 바와 같이 축소되면, 추가적인 축소가 달성가능하게 된다. 갈루아 필드 나눗셈 엔진(154b)은 제 2 갈루아 필드 변환기(166b)에서 다항식 곱셈기를 포함하지 않기 때문에, 단일 행렬 또는 변환기는 도 19의 단일 선형 변환기(200)를 이용하여 하나의 사이클에서 중간의 A0-A7항들 없이 c0-c14로부터 직접 출력 B0-B7을 전달하도록 구성될 수 있다. 변환기(200)는 하나의 갈루아 필드 선형 변환기의 갈루아 필드 선형 변환들 모두를 하나의 동작으로 수행하기 위해 인에이블되어 음영된 원들에 의해 표시된 배타적 OR 셀들의 조합을 포함하도록 프로그래밍된다. 그리하여, 입력들(c0-c14)은 갈루아 필드 선형 변환기(200)에 의해 직접 최종 출력들(출력 B0-B7)로 변환된다. 도 18의 두 개의 행렬들(156d 및 166d)을 도 19의 하나의 행렬 갈루아 필드 선형 변환기(200)로 줄이 는 조합은 도 18의 B7을 이용하여 간단한 설명에 의해 제시될 수 있으며, 갈루아 필드 선형 변환기(166d)에 도시된 바와 같이, 배타적 OR들(A7, A6 및 A5)과 동일하게 제시될 수 있다. 그 후에 갈루아 필드 선형 변환기(156d)(여기서, 항은 복제되기 때문에 백슬래쉬(backslash)는 항의 소거를 표시함)와 관련하여,
A5
Figure 112005065918615-pct00022
와 동일하고,
A6
Figure 112005065918615-pct00023
과 동일하고,
A7
Figure 112005065918615-pct00024
Figure 112005065918615-pct00025
과 동일하며,
배타적 OR을 가진 모두가 그들 사이에서 기능한다. 이것은 출력(c14), 배타적 OR(c13), 배타적 OR(c12), 배타적 OR(c9), 배타적 OR(c8), 배타적 OR(c7), 배타적 OR(c6), 배타적 OR(c5)을 결과로 출력한다. 그리하여, 도 19의 행렬(200)에서, B7은 c14, c13, c12, c9, c8, c7, c6 및 c5의 배타적 OR 조합들을 포함하도록 제시될 수 있다. 이러한 복합된 갈루아 필드 나눗셈 엔진(202)의 하나의 구현은 도 20에 도시되어 있으며, 여기서 갈루아 필드 선형 변환, 도 19의 행렬(200)은 다항식 곱셈기(204)와 이중 입력 선택 유니트들(206, 208)을 포함하는 입력 선택 회로(171e)와 관련하여 나타난다. 이제 갈루아 필드 역수 발생기(205)는 하나의, 복합 갈루아 필드 선형 변환기(200)에 의해 구현된다. 입력 선택 유니트(206)는 곱셈-덧셈(MPA), 곱셈-누산(MAC) 및 곱셈(MPY)을 수행할 수 있다. 입력 선택 유니트(208)도 유사하게 기능하며 이전에 설명된 바와 같이 덧셈기 입력을 갈루아 필드 선형 변환기(200)로 제공한다. 프로그램 시퀀서(210)는 배타적 OR 게이트들을 포함하는 셀들의 행렬을 인에이블 및 디스에이블시키는 제어 플립-플롭들(212)의 매핑을 제공한다. 프로그램 시퀀서는 나눗셈을 위해 하나의 사이클에서 (GF_MPY(α,β))2를 수행하는 복합 곱셈기로서, 곱셈을 위한 갈루아 필드 곱셈기로서, 곱셈 및 누산을 위한 곱셈 및 누산기로서, 곱셈-덧셈 기능을 위한 곱셈-덧셈기로서 GFLT 행렬을 프로그램할 수 있다.
동작이 되면, 초기에 GFLT는 (GF_MPY(α,β))2를 수행하는 복합 곱셈기로서 프로그램되고, 1이 입력(214)에 제공되고 βk가 입력(216)에 제공된다. 다음의 m-2번의 반복들 동안, βk는 입력(216) 상에 남아있는 반면에, 출력(180)은 입력(214)으로 피드백된다. m-2번의 반복들 후에, 시스템이 총 m-1번의 반복들을 거치면, 214에서의 입력은 이제 βk의 역수가 된다. 이 시점에서 GFLT는 갈루아 필드 곱셈기로서 프로그램되며, 입력(216)의 βk는 입력 β1로 교체되어 그 결과 m번째 반복인, 다음 곱셈은 β1을 βk로 나눈 출력을 제공하기 위해 β1과 βk의 역수를 곱한다. 본 발명의 갈루아 필드 나눗셈 방법은 도 21에 도시되어 있으며, 여기서 제수 βk와 피제수 β1은 시작(240)으로 제공된다. 그 다음에 단계(242)에서 이번 반복이 m번째 반복인지 여부를 질문한다(여기서, m은 포함된 갈루아 필드의 차수이다). 이번 반복이 m번째 반복인 경우에, 시스템은 직접 단계(244)로 이동하며, 여기서 역수 1/βk의 갈루아 필드 선형 변환 출력과 β1 의 갈루아 필드 곱셈이 수행된다. 몫은 246에서 제공된다. 상기 반복이 m에 도달하지 않은 경우에는, 단계(248)에서 상기 반복이 첫번째 반복인지 여부를 질문한다. 상기 반복이 첫번째 반복인 경우에는, 1과 βk의 곱셈이 단계(250)에서 수행되며 그 후에 단계(252)에서 그 값의 제곱이 갈루아 필드에서 수행된다. 상기 반복이 첫번째 반복이 아닌 경우에는, 단계(254)에서 갈루아 필드 선형 변환 출력과 βk의 갈루아 필드 곱셈이 수행되며, 그 후에 단계(252)에서 제곱이 갈루아 필드 곱셈기에서 수행된다. 제곱 계산으로부터의 출력은 단계(242)로 피드백되며, 반복이 다시 시작된다.
그리하여 본 발명은 갈루아 필드 나눗셈 엔진 및 방법과, 처음에 갈루아 필드 선형 변환기들 중 하나의 크기를 줄이고, 다항식 곱셈기들 중 하나를 제거하고, 두 개의 선형 변환기들의 기능들을 결합함으로써 상기 엔진의 크기를 줄이는 기술에 중점을 두고 있으며, 그 결과 일련의 다항식 입력들을 통한 일련의 갈루아 필드 선형 변환들은 도 19 및 도 20에 도시된 바와 같이 최종적인 출력(몫)을 얻도록 수행된다. 그러나, 이것은 본 발명에 대한 필수적인 한정은 아니다. 즉, 본 발명은 단지 나눗셈에 한정되지는 않는다. 본 발명에 따른 복합 갈루아 필드 엔진은 제 1 입력을 제외하고, 각각의 입력이 이전 갈루아 필드 선형 변환의 출력이 되는 최종적인 출력을 얻기 위해 일련의 다항식 입력들을 통해 임의의 일련의 갈루아 필드 선형 변환들을 수행할 수 있다. 즉, 하나의 변환에서 상기 엔진은 제 1 입력으로부터 직접 갈루아 필드 선형 변환의 최종적인 출력을 얻기 위해 기약 갈루아 필드 다항식의 일련의 갈루아 필드 선형 변환들에 대한 모듈로 나머지를 즉시 예측할 수 있다.
이러한 사실에 대한 다른 예는 갈루아 필드 멤버 β의 제곱근 연산에서 보여질 수 있다. (m-1) 개의 연속적인 갈루아 필드 선형 변환들(302, 304. . . 306)을 수행하는 본 발명에 따른 복합 갈루아 필드 엔진(300)이 도 22에 도시되어 있으며, 여기서 제 1 입력 β(308)는 갈루아 필드 변환기(302)로 전달되고 그 후에 변환된 출력이 다음 갈루아 필드 선형 변환기의 입력이 되며, 이러한 과정은 출력이 최종 변환기(306)로 도달할 때까지 계속되며, 이러한 경우에 최종 출력은
Figure 112005065918615-pct00026
가 된다. 본 발명에 따르면, 도 23의 310에 도시된 바와 같이 갈루아 필드 선형 변환기들을 결합함으로써, 도 22의 (m-1) 개의 변환기들은 오직 하나의 GFLT의 도 23에 도시된 단순화된 구현을 제공하기 위해 축소될 수 있으며, 초기 입력 β는 한 번의 반복에서
Figure 112005065918615-pct00027
출력을 제공하기 위해 복합 갈루아 필드 선형 변환기 제곱근 엔진(330)에 의해 하나의 연산에서 변환될 수 있다.
Figure 112005065918615-pct00028
라는 사실은 다음의 설명에 의해 제시된다:
수학식 1에서 βq-1=1이 제시되어 있다.
q를 2m으로 대체하고 양쪽에 β를 곱하면 아래와 같은 식이 성립한다.
Figure 112005065918615-pct00029
양변에
Figure 112005065918615-pct00030
를 취하면, 아래와 같은 식이 성립한다.
Figure 112005065918615-pct00031
또는
Figure 112008075900980-pct00064
도 22는 상기 수학식을 구현한 것이다.
본 발명의 갈루아 필드 제곱근 방법은 도 24에 도시되어 있으며, 여기서 필드 엘리먼트 β는 시작(312)에서 제공된다. 그 후에 단계(314)에서 반복이 m-1번째 반복인지 여부를 질문한다(여기서, m은 포함된 갈루아 필드의 차수이다). 상기 반복이 m-1번째 반복인 경우에, 시스템은 단계(316)로 이동하며 β의 갈루아 필드 제곱근이 생성된다. 상기 반복이 m-1에 도달하지 않은 경우에는, 단계(318)에서 상기 반복이 첫번째 반복인지 여부를 질문한다. 상기 반복이 첫번째 반복인 경우에, 단계(320)에서 β 값의 제곱이 갈루아 필드를 통해 수행된다. 상기 반복이 첫번째 반복이 아닌 경우에, 단계(322)에서 갈루아 필드 선형 변환 출력의 제곱이 갈루아 필드를 통해 수행된다. 제곱 계산으로부터의 출력은 단계(314)로 피드백되며, 반복이 다시 시작된다. 프로그래밍 회로, 제어 플립-플롭들(212a) 및 프로그래밍 시퀀서(210a)는 도 23에 도시된 바와 같이 갈루아 필드 선형 변환기 제곱근 엔진(330)을 프로그램한다.
요약하면, 일반적으로 본 발명에 따른 도 25의 복합 갈루아 필드 엔진(260)은 다수의 연속적인 갈루아 필드 선형 변환들(262, 264, 266,268)을 수행할 수 있으며, 여기서 제 1 입력 A(270)는 갈루아 필드 변환기(262)로 전달되고, 그 후에 변환된 출력 B가 다음 갈루아 필드 선형 변환기(264)의 입력이 되며, 차례대로 출력 C가 다음 갈루아 필드 선형 변환기(266)의 입력이 되고, 출력 D가 다음 갈루아 필드 선형 변환기(268)의 입력이 된다. 이러한 경우에, 최종 출력은 E이다. 본 발명에 따르면, 도 19에 도시된 바와 같이 갈루아 필드 선형 변환기들을 결합함으로써, 도 20에 도시된 구현을 제공하기 위해 도 18의 두 개의 변환기들을 축소함으로써, 초기 입력 A는 하나의 반복에서 최종 출력 E를 제공하기 위해 복합 갈루아 필드 선형 변환기(280)에 의해 하나의 연산에서 변환될 수 있다.
본 발명의 특정한 특징들이 몇몇 도면들에 도시되어 있고 다른 도면들에 도시되어 있지 않음에도 불구하고, 각각의 특징은 본 발명에 따라 임의의 또는 모든 다른 특징들과 결합할 수 있다. 여기에 사용된 단어들 "포함하는(including)", "구성하는(comprising)", "가지는(having)", '함께(with)"는 넓고 포괄적으로 해석되어야 하며 임의의 물리적 상호접속에 한정되지 않는다. 또한, 본 애플리케이션에서 개시된 임의의 실시예들은 유일하게 가능한 실시예들로 취급되지 않는다.
다른 실시예들이 당업자에 의해 실시될 것이며, 아래의 청구항들의 범위 내에 있다.

Claims (21)

  1. 갈루아 필드 나눗셈 엔진으로서,
    제 1 및 제 2 갈루아 필드 곱셈기 회로를 포함하는 갈루아 필드 역수(reciprocal) 발생기 회로를 포함하는데, 상기 제 1 갈루아 필드 곱셈기 회로의 출력은, 상기 제 1 갈루아 필드 곱셈기 회로의 출력의 제곱을 제공하기 위해, 상기 제 2 갈루아 필드 곱셈기 회로의 두 입력에 제공되며; 및
    출력을 얻기 위해, 1과 제 1 갈루아 필드 엘리먼트를 상기 갈루아 필드 역수 발생기 회로로 최초 입력하고, 상기 갈루아 필드 역수 발생기 회로에서, 기약 다항식(irreducible polynominal)의 다항식 곱의 곱셈-제곱(multiply-square)의 모듈로 나머지를 예측하기 위해, 상기 제 1 갈루아 필드 엘리먼트를 상기 갈루아 필드 역수 발생기 회로의 출력과 m-2 번(m은 갈루아 필드의 차수) 곱하여 상기 제 1 갈루아 필드 엘리먼트의 역수를 얻고, 상기 갈루아 필드 나눗셈 엔진에서, 기약 다항식에 대한 다항식 곱의 모듈로 나머지를 예측하기 위해, 상기 제 1 갈루아 필드 엘리먼트의 역수를 제 2 갈루아 필드 엘리먼트와 곱하여 m 사이클에서 두 개의 갈루아 필드 엘리먼트들의 몫을 얻는 입력 선택 회로를 포함하는,
    갈루아 필드 나눗셈 엔진.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 제 1 갈루아 필드 곱셈기 회로는 제 1 다항식 곱셈기 회로 및 제 1 갈루아 필드 선형 변환기를 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  4. 제 3 항에 있어서,
    제 1 갈루아 필드 선형 변환은 셀들의 행렬을 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  5. 제 4 항에 있어서,
    상기 셀들의 제 1 갈루아 필드 선형 변환 행렬은 행렬 섹션과 단위 행렬 섹션을 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  6. 제 1 항에 있어서,
    상기 제 2 갈루아 필드 곱셈기 회로는 제 2 다항식 곱셈기 회로와 제 2 갈루아 필드 선형 변환기를 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  7. 제 6 항에 있어서,
    상기 제 2 갈루아 필드 선형 변환은 셀들의 행렬을 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  8. 제 7 항에 있어서,
    상기 셀들의 제 2 갈루아 필드 선형 변환 행렬은 행렬 섹션과 단위 행렬 섹션을 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  9. 제 1 항에 있어서,
    상기 제 1 갈루아 필드 곱셈기 회로의 출력은 상기 출력의 제곱을 제공하기 위해 상기 제 2 갈루아 필드 선형 곱셈기 회로의 두 곱셈 입력들에 제공되는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  10. 제 1 항에 있어서,
    상기 엔진은 암호화 또는 순방향 에러 정정을 위해 갈루아 필드에 대한 나눗셈 연산을 제공하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  11. 제 1 항에 있어서,
    상기 제 2 갈루아 필드 곱셈기는 상기 제 1 갈루아 필드 곱셈기의 크기의 절반보다 작은 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  12. 제 11 항에 있어서,
    상기 제 1 및 제 2 갈루아 필드 곱셈기들 각각은 셀들의 행렬을 포함하며, 상기 제 2 갈루아 필드 곱셈기는 상기 제 1 갈루아 필드 곱셈기의 셀들의 개수의 절반을 포함하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  13. 갈루아 필드 나눗셈 엔진으로서,
    갈루아 필드 곱셈기 회로, 및 상기 갈루아 필드 곱셈기 회로가 복합 곱셈-제곱 연산을 수행하게 하도록 프로그래밍된 프로그램 회로를 포함하는 갈루아 필드 역수 발생기; 및
    출력을 얻기 위해, 1과 제 1 갈루아 필드 엘리먼트를 갈루아 필드 역수 발생기로 최초 입력하고, 이어 상기 갈루아 필드 역수 발생기에서, 기약 다항식의 다항식 곱의 제곱의 모듈로 나머지를 예측하도록 상기 제 1 갈루아 필드 엘리먼트를 상기 갈루아 필드 역수 발생기의 출력과 m-2번 곱하고 제곱하여 상기 제 1 갈루아 필드 엘리먼트의 역수를 얻고, m 사이클에서 두 개의 갈루아 필드 엘리먼트들의 몫을 예측하기 위해 상기 제 1 갈루아 필드 엘리먼트의 역수를 제 2 갈루아 필드 엘리먼트와 곱하는 입력 선택 회로를 포함하는,
    갈루아 필드 나눗셈 엔진.
  14. 최종적인 출력을 얻기 위해 일련의 다항식 입력들 -제 1 입력을 제외한 각각의 입력이 이전의 갈루아 필드 선형 변환의 출력임- 에 대한 일련의 갈루아 필드 선형 변환들을 수행하는 복합 갈루아 필드 엔진으로서,
    제 1 입력을 제공하는 입력 회로; 및
    상기 제 1 입력으로부터 직접 상기 갈루아 필드 선형 변환의 최종적인 출력을 얻기 위해, 하나의 변환에서, 기약 갈루아 필드 다항식의 일련의 갈루아 필드 선형 변환들에 대한 모듈로 나머지를 즉시 예측하도록 구성되고, 상기 제 1 입력에 반응하는 셀들의 행렬을 갖는 갈루아 필드 선형 변환기를 포함하는,
    복합 갈루아 필드 엔진.
  15. 갈루아 필드 나눗셈 방법으로서,
    제 1 및 제 2 갈루아 필드 곱셈기 회로를 포함하는 갈루아 필드 역수 발생기를 제공하는 단계를 포함하는데, 상기 제 1 갈루아 필드 곱셈기 회로의 출력은 상기 제 1 갈루아 필드 곱셈기 회로의 출력의 제곱을 제공하기 위해 상기 제 2 갈루아 필드 선형 곱셈기 회로의 두 입력에 제공되며;
    출력을 얻기 위해 1과 제 1 갈루아 필드 엘리먼트를 상기 갈루아 필드 역수 발생기로 최초 입력하는 단계;
    상기 갈루아 필드 역수 발생기에서 상기 제 1 갈루아 필드 엘리먼트의 역수를 얻기 위해 기약 다항식의 다항식 곱의 곱셈-제곱의 모듈로 나머지를 예측하기 위해 상기 제 1 갈루아 필드 엘리먼트를 상기 갈루아 필드 역수 발생기의 출력과 m-2 번(m은 갈루아 필드의 차수) 곱하는 단계; 및
    m 사이클에서 두 개의 갈루아 필드 엘리먼트들의 몫을 얻기 위해 갈루아 필드 역수 생성기에서 기약 다항식에 대한 다항식 곱의 모듈로 나머지를 예측하기 위해 상기 제 1 갈루아 필드 엘리먼트의 역수를 제 2 갈루아 필드 엘리먼트와 곱하는 단계를 포함하는,
    갈루아 필드 나눗셈 방법.
  16. 갈루아 필드 제곱근 방법으로서,
    출력을 얻기 위해 갈루아 필드 엘리먼트를 갈루아 필드 제곱근 발생기로 입력하는 단계; 및
    (m-1) 사이클들에서 상기 갈루아 필드 엘리먼트의 제곱근을 얻기 위해 상기 갈루아 필드 제곱근 발생기에서 기약 다항식의 다항식 곱의 제곱의 모듈로 나머지를 예측하기 위해 상기 갈루아 필드 제곱근 발생기의 출력을 (m-1) 번(m은 갈루아 필드의 차수) 제곱하는 단계를 포함하는,
    갈루아 필드 제곱근 방법.
  17. 갈루아 필드 제곱근 엔진으로서,
    갈루아 필드 제곱근 발생기; 및
    하나의 사이클에서 갈루아 필드 엘리먼트들의 제곱근을 얻기 위해 갈루아 필드 엘리먼트를 상기 갈루아 필드 제곱근 발생기로 입력하기 위한 입력 회로를 포함하는,
    갈루아 필드 제곱근 엔진.
  18. 제 17 항에 있어서,
    상기 갈루아 필드 제곱근 엔진은 갈루아 필드 곱셈기, 및 하나의 사이클에서 m-1번의 복합 제곱 연산을 수행하기 위해 상기 갈루아 필드 곱셈기를 프로그래밍하는 프로그램 회로를 포함하는 것을 특징으로 하는 갈루아 필드 제곱근 엔진.
  19. 제 14 항에 있어서,
    상기 복합 연산은 나눗셈인 것을 특징으로 하는 복합 갈루아 필드 엔진.
  20. 제 13 항에 있어서,
    상기 엔진은 암호화 또는 순방향 에러 정정을 위해 갈루아 필드에 대한 나눗셈 연산을 제공하는 것을 특징으로 하는 갈루아 필드 나눗셈 엔진.
  21. 제 15 항에 있어서,
    상기 갈루아 필드 역수 발생기는 암호화 또는 순방향 에러 정정을 위해 갈루아 필드에 대한 나눗셈 연산을 제공하는 것을 특징으로 하는 갈루아 필드 나눗셈 방법.
KR1020057021863A 2003-05-16 2004-03-29 복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근엔진과 방법 KR100932033B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/440,330 2003-05-16
US10/440,330 US7895253B2 (en) 2001-11-30 2003-05-16 Compound Galois field engine and Galois field divider and square root engine and method
PCT/US2004/009536 WO2004105260A2 (en) 2003-05-16 2004-03-29 Compound galois field engine and galois field divider and square root engine and method

Publications (2)

Publication Number Publication Date
KR20060036383A KR20060036383A (ko) 2006-04-28
KR100932033B1 true KR100932033B1 (ko) 2009-12-15

Family

ID=33449791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057021863A KR100932033B1 (ko) 2003-05-16 2004-03-29 복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근엔진과 방법

Country Status (5)

Country Link
US (2) US7895253B2 (ko)
JP (3) JP4584256B2 (ko)
KR (1) KR100932033B1 (ko)
CN (2) CN1791855B (ko)
WO (1) WO2004105260A2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100432922C (zh) * 2003-06-16 2008-11-12 三星电子株式会社 在有限域中实现平方运算的方法和装置
KR100871221B1 (ko) * 2005-11-11 2008-12-01 삼성전자주식회사 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치
US20070195822A1 (en) * 2006-02-21 2007-08-23 Mediatek Inc. Method and system for locating packet boundaries
US8036380B2 (en) * 2006-12-14 2011-10-11 Telefonaktiebolaget L M Ericsson (Publ) Efficient data integrity protection
US7991162B2 (en) * 2007-09-14 2011-08-02 University Of Ottawa Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields
US8099655B1 (en) * 2007-12-20 2012-01-17 Pmc-Sierra Us, Inc. Galois field multiplier system and method
KR101616478B1 (ko) * 2008-05-12 2016-04-28 퀄컴 인코포레이티드 프로그램가능한 프로세서 상에서의 임의의 갈루아 필드 산술연산의 구현
JP5267038B2 (ja) * 2008-10-20 2013-08-21 富士通株式会社 線形帰還シフト演算装置、通信装置、マイクロプロセッサ、及び線形帰還シフト演算装置におけるデータ出力方法
US8150031B2 (en) * 2008-12-19 2012-04-03 Intel Corporation Method and apparatus to perform redundant array of independent disks (RAID) operations
KR100991957B1 (ko) * 2009-01-20 2010-11-04 주식회사 팬택 광대역 무선통신시스템에서의 스크램블링 코드 생성 장치 및 그 방법
US8290147B2 (en) * 2009-10-30 2012-10-16 General Dynamics C4 Systems, Inc. Systems and methods for efficiently creating digests of digital data
KR101770122B1 (ko) 2010-12-30 2017-08-23 삼성전자주식회사 Simd 프로세서를 이용하는 갈로아 필드 이진 다항식 제산 장치 및 방법
CN103853523B (zh) * 2012-11-30 2017-05-31 北京兆易创新科技股份有限公司 一种伽罗瓦域的加法乘法器
JP6208442B2 (ja) * 2013-03-08 2017-10-04 株式会社メガチップス 暗号処理装置
US9875377B2 (en) * 2014-03-31 2018-01-23 Stmicroelectronics S.R.L. Encryption device of a substitution-box type, and corresponding encryption method and computer program product
US9740456B2 (en) * 2015-04-23 2017-08-22 Altera Corporation Circuitry and methods for implementing Galois-field reduction
JP5957120B1 (ja) 2015-05-12 2016-07-27 日本電信電話株式会社 秘密分散方法、秘密分散システム、分散装置、およびプログラム
CN106354473B (zh) * 2015-07-16 2019-02-12 浙江大华技术股份有限公司 一种除法器和求商和余数的方法
JP6911361B2 (ja) * 2017-01-19 2021-07-28 カシオ計算機株式会社 計算機、計算方法及びプログラム
CN108092671A (zh) * 2017-12-27 2018-05-29 南京大学 一种高性能低复杂度的nb-ldpc码译码方法
WO2020148771A1 (en) * 2019-01-17 2020-07-23 Fortifyiq Inc Methods for protecting computer hardware from cyber threats
US11651305B2 (en) * 2020-03-03 2023-05-16 Kalibrate Technologies Limited Achieving feasibility of optimization constraints

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279023B1 (en) * 1997-12-29 2001-08-21 Maxtor Corporation System for computing the multiplicative inverse of an element of a Galois field without using tables

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1181461B (de) 1963-10-08 1964-11-12 Telefunken Patent Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
US3805037A (en) * 1972-02-22 1974-04-16 J Ellison N{40 th power galois linear gate
EP0080528A1 (en) * 1981-11-30 1983-06-08 Omnet Associates Computational method and apparatus for finite field arithmetic
US4722050A (en) 1986-03-27 1988-01-26 Hewlett-Packard Company Method and apparatus for facilitating instruction processing of a digital computer
US4918638A (en) 1986-10-15 1990-04-17 Matsushita Electric Industrial Co., Ltd. Multiplier in a galois field
FR2605769B1 (fr) 1986-10-22 1988-12-09 Thomson Csf Operateur polynomial dans les corps de galois et processeur de traitement de signal numerique comportant un tel operateur
JPS63282777A (ja) * 1987-03-04 1988-11-18 株式会社リコー モジュロ演算プロセッサチップ
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)
JPS6432723A (en) * 1987-07-29 1989-02-02 Matsushita Electric Ind Co Ltd Divider
US4852096A (en) * 1987-08-14 1989-07-25 International Business Machines Corp. CN2 test pattern generator
US4847801A (en) 1987-10-26 1989-07-11 Cyclotomics, Inc. Compact galois field multiplier
US5101338A (en) 1988-04-27 1992-03-31 Nec Corporation Memory access control device which can be formed by a reduced number of lsi's
JPH0294817A (ja) * 1988-09-30 1990-04-05 Toshiba Corp ガロア演算器
JP2701378B2 (ja) * 1988-10-26 1998-01-21 三菱電機株式会社 演算方式
US5095525A (en) 1989-06-26 1992-03-10 Rockwell International Corporation Memory transformation apparatus and method
US5214763A (en) 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
US5446850A (en) 1991-01-15 1995-08-29 International Business Machines Corporation Cross-cache-line compounding algorithm for scism processors
JP3453618B2 (ja) * 1991-10-11 2003-10-06 ヒュンダイ、エレクトロニクス、インダストリーズ、カムパニー、リミテッド 根の多項近似式を利用した割り算と平方根の為のプロセッサー
US5386523A (en) 1992-01-10 1995-01-31 Digital Equipment Corporation Addressing scheme for accessing a portion of a large memory space
US5396502A (en) * 1992-07-09 1995-03-07 Advanced Hardware Architectures, Inc. Single-stack implementation of a Reed-Solomon encoder/decoder
US5379243A (en) 1992-08-31 1995-01-03 Comstream Corporation Method and apparatus for performing finite field division
JPH07200268A (ja) * 1993-12-28 1995-08-04 Nec Corp システムオペレータパネル
KR0135846B1 (ko) 1994-02-02 1998-06-15 김광호 룩-업-테이블장치
US5642367A (en) * 1994-02-07 1997-06-24 Mitsubishi Semiconductor America, Inc. Finite field polynomial processing module for error control coding
US5832290A (en) 1994-06-13 1998-11-03 Hewlett-Packard Co. Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
FR2723455B1 (fr) 1994-08-05 1996-10-31 Sgs Thomson Microelectronics Circuit d'inversion d'elements d'un corps de galois
US5689452A (en) 1994-10-31 1997-11-18 University Of New Mexico Method and apparatus for performing arithmetic in large galois field GF(2n)
JP3609512B2 (ja) * 1994-12-15 2005-01-12 株式会社東芝 演算器
JPH08335166A (ja) * 1995-06-07 1996-12-17 Advanced Micro Devicds Inc N個の数の積を求めるための装置および方法
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
JP3614978B2 (ja) * 1996-05-13 2005-01-26 株式会社東芝 ガロア体の除算方法および除算装置
US5768168A (en) * 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier
US5996066A (en) 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
FR2754616B1 (fr) * 1996-10-11 1998-12-04 Sgs Thomson Microelectronics Procede et circuit de division d'elements d'un corps de galois
US6078937A (en) * 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
GB9627069D0 (en) 1996-12-30 1997-02-19 Certicom Corp A method and apparatus for finite field multiplication
US6002728A (en) * 1997-04-17 1999-12-14 Itt Manufacturing Enterprises Inc. Synchronization and tracking in a digital communication system
GB9707861D0 (en) * 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
WO1999016175A1 (fr) * 1997-09-24 1999-04-01 Hitachi, Ltd. Circuit integre a semi-conducteurs et systeme de traitement de donnees
US6199086B1 (en) * 1997-12-24 2001-03-06 Motorola, Inc. Circuit and method for decompressing compressed elliptic curve points
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
US5964826A (en) * 1998-01-13 1999-10-12 National Science Council Division circuits based on power-sum circuit for finite field GF(2m)
US6058500A (en) * 1998-01-20 2000-05-02 3Com Corporation High-speed syndrome calculation
US6223320B1 (en) * 1998-02-10 2001-04-24 International Business Machines Corporation Efficient CRC generation utilizing parallel table lookup operations
US5999959A (en) * 1998-02-18 1999-12-07 Quantum Corporation Galois field multiplier
US6138208A (en) 1998-04-13 2000-10-24 International Business Machines Corporation Multiple level cache memory with overlapped L1 and L2 memory access
US5996057A (en) 1998-04-17 1999-11-30 Apple Data processing system and method of permutation with replication within a vector register file
KR100296958B1 (ko) * 1998-05-06 2001-09-22 이석우 블록 데이터 암호화 장치
US6209114B1 (en) * 1998-05-29 2001-03-27 Texas Instruments Incorporated Efficient hardware implementation of chien search polynomial reduction in reed-solomon decoding
US6141786A (en) * 1998-06-04 2000-10-31 Intenational Business Machines Corporation Method and apparatus for performing arithmetic operations on Galois fields and their extensions
US6199087B1 (en) * 1998-06-25 2001-03-06 Hewlett-Packard Company Apparatus and method for efficient arithmetic in finite fields through alternative representation
JP3343857B2 (ja) * 1998-06-30 2002-11-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 復号装置、演算装置およびこれらの方法
US6199088B1 (en) * 1998-06-30 2001-03-06 Quantum Corp. Circuit for determining multiplicative inverses in certain galois fields
JP3576837B2 (ja) * 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP2000172520A (ja) * 1998-12-04 2000-06-23 Fujitsu Ltd ガロア体演算プロセッサ
JP2001034167A (ja) 1999-07-23 2001-02-09 Toshiba Corp 演算装置及び暗号処理装置
US7197526B1 (en) * 1999-05-28 2007-03-27 Lucent Technologies Inc. Method and apparatus for calculating the remainder of a modulo division
JP4472808B2 (ja) * 1999-08-19 2010-06-02 ネッツエスアイ東洋株式会社 積和演算装置及びこれを用いた暗号・復号装置
JP2001084242A (ja) 1999-09-10 2001-03-30 Hitachi Ltd 可変演算プロセッサ
US6438569B1 (en) * 1999-09-20 2002-08-20 Pmc-Sierra, Inc. Sums of production datapath
US6434662B1 (en) * 1999-11-02 2002-08-13 Juniper Networks, Inc. System and method for searching an associative memory utilizing first and second hash functions
JP2001188468A (ja) * 1999-12-27 2001-07-10 Toyo Commun Equip Co Ltd ガロア体上の元の除算演算方法および除算演算回路
JP2001194996A (ja) * 2000-01-11 2001-07-19 Toyo Commun Equip Co Ltd 多項式の除算装置
US6384713B1 (en) * 2000-04-21 2002-05-07 Marvell International, Ltd. Serial comparator
GB0023409D0 (en) 2000-09-22 2000-11-08 Integrated Silicon Systems Ltd Data encryption apparatus
JP2002215022A (ja) * 2001-01-16 2002-07-31 Nippon Telegr & Teleph Corp <Ntt> 有限体データ記録媒体、有限体データ演算方法及びその装置、そのプログラム
DE10107376A1 (de) * 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
US6779011B2 (en) * 2001-02-28 2004-08-17 Maxtor Corporation System for performing multiplication and division in GF(22M)
ATE286636T1 (de) 2001-03-27 2005-01-15 Amphion Semiconductor Ltd Vorrichtung zur wählbaren ver- bzw. entschlüsselung von daten
US6738794B2 (en) 2001-04-10 2004-05-18 Analog Devices, Inc. Parallel bit correlator
JP3613396B2 (ja) * 2001-06-25 2005-01-26 日本電気株式会社 機能ブロック
US7283628B2 (en) 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US6766345B2 (en) * 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US7082452B2 (en) 2001-11-30 2006-07-25 Analog Devices, Inc. Galois field multiply/multiply-add/multiply accumulate
US6587864B2 (en) * 2001-11-30 2003-07-01 Analog Devices, Inc. Galois field linear transformer
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7508937B2 (en) 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US6941446B2 (en) 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
US6865661B2 (en) 2002-01-21 2005-03-08 Analog Devices, Inc. Reconfigurable single instruction multiple data array
US7000090B2 (en) 2002-01-21 2006-02-14 Analog Devices, Inc. Center focused single instruction multiple data (SIMD) array system
US6829694B2 (en) 2002-02-07 2004-12-07 Analog Devices, Inc. Reconfigurable parallel look up table system
JP3732450B2 (ja) * 2002-03-19 2006-01-05 沖電気工業株式会社 剰余演算器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279023B1 (en) * 1997-12-29 2001-08-21 Maxtor Corporation System for computing the multiplicative inverse of an element of a Galois field without using tables

Also Published As

Publication number Publication date
CN1791855A (zh) 2006-06-21
CN1791855B (zh) 2010-06-16
US20040236812A1 (en) 2004-11-25
US20070271323A1 (en) 2007-11-22
CN101840326B (zh) 2013-01-16
US7895253B2 (en) 2011-02-22
KR20060036383A (ko) 2006-04-28
CN101840326A (zh) 2010-09-22
JP4584256B2 (ja) 2010-11-17
JP2010102352A (ja) 2010-05-06
JP2007501965A (ja) 2007-02-01
WO2004105260A3 (en) 2005-07-07
WO2004105260A2 (en) 2004-12-02
JP2010102351A (ja) 2010-05-06

Similar Documents

Publication Publication Date Title
KR100932033B1 (ko) 복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근엔진과 방법
EP1031934B1 (en) Method and apparatus for dot product calculation
JP5266354B2 (ja) ガロア拡大体・積算/積算加算・積和演算装置
JP3784156B2 (ja) モジュラ掛け算方法
KR100825855B1 (ko) 소형 갈루아 체 곱셈기 엔진
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
KR100686992B1 (ko) 프라임 팩터 알고리즘을 사용한 최적화된 이산 푸리에변환 방법 및 장치
Niasar et al. Optimized architectures for elliptic curve cryptography over Curve448
EP2037357A2 (en) Montgomery modular multiplier and method thereof using carry save addition
KR102496446B1 (ko) 모듈러 연산을 위한 워드 병렬 연산 방법
Ozcan et al. A high performance full-word Barrett multiplier designed for FPGAs with DSP resources
CA2265389C (en) System and method for efficient basis conversion
Nedjah et al. Reconfigurable hardware implementation of Montgomery modular multiplication and parallel binary exponentiation
KR101136972B1 (ko) 타원곡선 암호 연산 방법
US8275822B2 (en) Multi-format multiplier unit
WO2017037729A1 (en) Concurrent architecture of vedic multiplier-an accelerator scheme for high speed computing
Huai et al. Efficient architecture for long integer modular multiplication over Solinas prime
KR20040055523A (ko) GF(p)와 GF(2^m)의 유한체 곱셈 연산 장치
WO2018139750A1 (ko) 유한체 병렬 곱셈 장치 및 방법
Shylashree et al. FPGA implementation of high speed scalar multiplication for ECC in GF (p)
Nedjah et al. Three hardware implementations for the binary modular exponentiation: sequential, parallel and systolic
WO2002033885A1 (en) Modular multiplication for rsa and other assymetric encryption/decryption
Francq et al. Unfolding Method for Shabal on Virtex-5 FPGAs: Concrete Results
Latif et al. A parameterized design of Modular Exponentiation on reconfigurable platforms for RSA cryptographic processor
CN117193710A (zh) 一种基于矩阵运算的有限域乘法器、除法器和运算电路

Legal Events

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

Payment date: 20121123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 8