KR20020079144A - 다항식 기저에서 유한체 승산 장치 및 그 방법 - Google Patents
다항식 기저에서 유한체 승산 장치 및 그 방법 Download PDFInfo
- Publication number
- KR20020079144A KR20020079144A KR1020010019861A KR20010019861A KR20020079144A KR 20020079144 A KR20020079144 A KR 20020079144A KR 1020010019861 A KR1020010019861 A KR 1020010019861A KR 20010019861 A KR20010019861 A KR 20010019861A KR 20020079144 A KR20020079144 A KR 20020079144A
- Authority
- KR
- South Korea
- Prior art keywords
- storage means
- multiplication
- digit
- storing
- polynomial
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006870 function Effects 0.000 claims description 20
- 230000009467 reduction Effects 0.000 claims description 17
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000028327 secretion Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/726—Inversion; Reciprocal calculation; Division of elements of a finite field
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Complex Calculations (AREA)
Abstract
Description
Claims (11)
- 다항식 기저에서의 유한체 승산 장치에 있어서,유한체 승산에 필요한 승수(multiplier), 피승수(multiplicand) 및 연산 결과인 곱(product)을 디지트(Digit)단위로 나누어 저장하기 위한 제 1 저장 수단;상기 제 1 저장 수단을 이용해 연산을 수행하는 과정에 필요한 중간값을 저장하여 연산을 보조하고 최종 결과를 저장하기 위한 제 2 저장 수단;상기 제 1 저장 수단이 필요한 값을 상기 제 2 저장 수단에서 읽거나 쓰도록 하기 위한 상기 제 2 저장 수단의 주소를 발생시키기 위한 주소 발생 수단; 및상기 제 1 저장 수단에 시스템 클럭과 분리되어 작동하는 고속의 클럭을 공급하기 위한 클럭 발생 수단을 포함하는 다항식 기저의 유한체 승산 장치.
- 제 1 항에 있어서,상기 제 1 저장 수단은,디지트(Digit)단위로 나뉜 비트수를 가지고 유한체 승산에 필요한 피승수를 저장하기 위한 제 3 저장 수단;디지트(Digit)단위로 나뉜 비트수를 가지고 유한체 승산에 필요한 승수를 저장하기 위한 제 4 저장 수단;디지트(Digit)단위로 나뉜 비트수를 가지고 상기 제 3 저장 수단의 값을 임시로 저장하여 다음 연산에 사용하도록 하기 위한 제 5 저장 수단; 및디지트(Digit)단위로 나뉜 비트수를 가지고 상기 제 3 저장 수단과 상기 제 4 저장 수단을 이용한 유한체 승산의 연산 결과인 곱을 저장하기 위한 제 6 저장 수단을 포함하는 다항식 기저의 유한체 승산장치.
- 제 2 항에 있어서,상기 제 3 내지 제 6 저장 수단이 연산을 수행할 때, 최상위 1 비트가 남는 경우,마지막 디지트에서 통상의 디지트보다 1비트 많은 연산을 수행하도록 상기 제 3 내지 제 6 저장 수단의 비트수를 확장하기 위한 제 1 다중화 수단을 더 포함하는 다항식 기저의 유한체 승산장치.
- 제 2 항 또는 제 3 항에 있어서,상기 제 3 저장 수단의 마지막 비트와 상기 제 5 저장 수단의 첫번째 비트를 연결하고, 상기 제 3 저장 수단의 첫번째 비트와 상기 제 5 저장 수단의 마지막 비트를 직렬로 연결하여 순환 쉬프트 저장 수단을 형성하는 것을 특징으로 하는 다항식 기저의 유한체 승산장치.
- 제 1 항 내지 제 3 항중 어느 한 항에 있어서,상기 제 2 저장 수단은,외부 시스템의 메모리를 사용하는 것으로 이용하는 것을 특징으로 하는 다항식 기저의 유한체 승산 장치.
- 제 1 항 내지 제 3 항중 어느 한 항에 있어서,상기 제 2 저장 수단은,승산 장치 자체내의 메모리를 이용하는 것을 특징으로 하는 다항식 기저의 유한체 승산 장치.
- 제 2 항 또는 제 3 항에 있어서,상기 주소 발생 수단은,상기 제 3 또는 제 5 저장 수단의 동작 횟수를 기산하기 위한 제 1 계수 수단;상기 제 4 저장 수단의 동작 횟수를 기산하기 위한 제 2 계수 수단;상기 제 6 저장 수단의 동작 횟수를 기산하기 위한 제 3 계수 수단;상기 제 1 계수 수단의 출력에 대해, 상기 제 3 저장 수단의 출력인지 상기 제 5 저장 수단의 출력인지를 구분하기 위한 소정의 값을 더하여 다중화하기 위한 제 2 다중화 수단; 및상기 제 2 계수 수단, 상기 제 3 계수 수단 및 상기 제 2 다중화 수단의 출력값을 입력으로하여 상기 제 2 저장 수단의 주소를 출력하기 위한 제 3 다중화 수단을 포함하는 다항식 기저의 유한체 승산 장치.
- 제 7 항에 있어서,상기 주소 발생 수단은,상기 제 2 저장 수단의 시작 주소를 하위 5비트가 "00000"이 되도록 설정하는 것을 특징으로 하는 다항식 기저의 유한체 승산 장치.
- 제 2 항 또는 제 3 항에 있어서,상기 클럭 발생 수단은,동작 가능 신호와 지연 수단을 거친 신호를 배타적 논리합하여 고속의 클럭을 출력하기 위한 배타적 논리합 연산 수단;상기 배타적 논리합 연산 수단의 출력을 받아 경로 지연값만큼을 지연시키기 위한 지연수단; 및상기 배타적 논리합 연산 수단의 출력을 받아 상기 제 3 내지 제 6 저장 수단으로 클럭을 전달하기 위한 클럭 구동 수단을 포함하는 다항식 기저의 유한체 승산 장치.
- 다항식 기저의 유한체 승산 장치에 적용되는 유한체 승산 방법에 있어서,승산 데이터를 디지트 단위로 나누어 순차적으로 입력받는 제 1 단계;상기 입력된 디지트에 다항 감소가 있는지를 조사하여 다항감소가 있으면 임시 저장 레지스터에 그 값을 저장하고 다항감소가 없으면 다음 단계로 진행하는 제 2 단계;상기 승산 입력 데이터를 피승수를 저장하는 레지스터 및 승수를 저장하는 레지스터에 로드시키는 제 3 단계;상기 승산 데이터를 나눈 디지트 단위 수만큼 쉬프트 동작을 수행하는 제 4 단계;상기 제 4 단계의 쉬프트 동작을 수행한 결과값을, 결과를 저장하기 위한 레지스터에 저장하는 제 5 단계; 및상기 승산 데이터의 마지막 디지트에 이르기까지 상기 제 1 내지 제 5 단계를 반복 수행하는 제 6 단계를 포함하는 다항식 기저의 유한체 승산 방법.
- 프로세서를 구비한 유한체 승산 장치에,승산 데이터를 디지트 단위로 나누어 순차적으로 입력받는 제 1 기능;상기 입력된 디지트에 다항 감소가 있는지를 조사하여 다항감소가 있으면 임시 저장 레지스터에 그 값을 저장하고 다항감소가 없으면 다음 기능으로 진행하는 제 2 기능;상기 승산 입력 데이터를 피승수를 저장하는 레지스터 및 승수를 저장하는 레지스터에 로드시키는 제 3 기능;상기 승산 데이터를 나눈 디지트 단위 수만큼 쉬프트 동작을 수행하는 제 4 기능;상기 제 4 기능에 의한 쉬프트 동작을 수행한 결과값을, 결과를 저장하기 위한 레지스터에 저장하는 제 5 기능; 및상기 승산 데이터의 마지막 디지트에 이르기까지 상기 제 1 내지 제 5 기능의 동작을 반복 수행하도록 하는 제 6 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0019861A KR100417136B1 (ko) | 2001-04-13 | 2001-04-13 | 다항식 기저에서 유한체 승산 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0019861A KR100417136B1 (ko) | 2001-04-13 | 2001-04-13 | 다항식 기저에서 유한체 승산 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020079144A true KR20020079144A (ko) | 2002-10-19 |
KR100417136B1 KR100417136B1 (ko) | 2004-02-05 |
Family
ID=27701031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0019861A KR100417136B1 (ko) | 2001-04-13 | 2001-04-13 | 다항식 기저에서 유한체 승산 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100417136B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100416291B1 (ko) * | 2001-06-08 | 2004-01-31 | 이광엽 | 타원곡선암호화의 유한체 역원과 승산 장치 및 그 방법 |
KR100450750B1 (ko) * | 2002-04-17 | 2004-10-01 | 한국전자통신연구원 | 향상된 선형 궤환 시프트 레지스터 구조의 유한체 승산기 |
KR100550015B1 (ko) * | 2003-12-18 | 2006-02-08 | 한국전자통신연구원 | GF(3^m)의 유한체 곱셈 연산에 적합한 유한체 곱셈연산 장치, 이에 적합한 mod 3 비트 곱셈기, 그리고이에 적합한 mod 3 비트열 덧셈기 |
KR100954583B1 (ko) * | 2008-02-20 | 2010-04-26 | 고려대학교 산학협력단 | 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법 |
KR100954579B1 (ko) * | 2008-02-20 | 2010-04-26 | 고려대학교 산학협력단 | 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법 |
KR100954586B1 (ko) * | 2008-08-27 | 2010-04-26 | 고려대학교 산학협력단 | 다항식 기저 기반의 이진체 병렬 곱셈 장치 및 방법과 이를이용한 마이크로프로세서 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4107458A (en) * | 1976-08-23 | 1978-08-15 | Constant James N | Cipher computer and cryptographic system |
JPS57141753A (en) * | 1981-02-25 | 1982-09-02 | Nec Corp | Multiplication circuit |
US5513133A (en) * | 1992-11-30 | 1996-04-30 | Fortress U&T Ltd. | Compact microelectronic device for performing modular multiplication and exponentiation over large numbers |
KR100486697B1 (ko) * | 1998-05-26 | 2005-06-16 | 삼성전자주식회사 | 모듈러연산장치및그방법 |
-
2001
- 2001-04-13 KR KR10-2001-0019861A patent/KR100417136B1/ko not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100416291B1 (ko) * | 2001-06-08 | 2004-01-31 | 이광엽 | 타원곡선암호화의 유한체 역원과 승산 장치 및 그 방법 |
KR100450750B1 (ko) * | 2002-04-17 | 2004-10-01 | 한국전자통신연구원 | 향상된 선형 궤환 시프트 레지스터 구조의 유한체 승산기 |
KR100550015B1 (ko) * | 2003-12-18 | 2006-02-08 | 한국전자통신연구원 | GF(3^m)의 유한체 곱셈 연산에 적합한 유한체 곱셈연산 장치, 이에 적합한 mod 3 비트 곱셈기, 그리고이에 적합한 mod 3 비트열 덧셈기 |
KR100954583B1 (ko) * | 2008-02-20 | 2010-04-26 | 고려대학교 산학협력단 | 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법 |
KR100954579B1 (ko) * | 2008-02-20 | 2010-04-26 | 고려대학교 산학협력단 | 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법 |
KR100954586B1 (ko) * | 2008-08-27 | 2010-04-26 | 고려대학교 산학협력단 | 다항식 기저 기반의 이진체 병렬 곱셈 장치 및 방법과 이를이용한 마이크로프로세서 |
Also Published As
Publication number | Publication date |
---|---|
KR100417136B1 (ko) | 2004-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1293891B2 (en) | Arithmetic processor accomodating different finite field size | |
US6691143B2 (en) | Accelerated montgomery multiplication using plural multipliers | |
US7277540B1 (en) | Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography | |
JP4955182B2 (ja) | 整数の計算フィールド範囲の拡張 | |
US6085210A (en) | High-speed modular exponentiator and multiplier | |
Abdul-Aziz Gutub et al. | Scalable and unified hardware to compute Montgomery inverse in GF (p) and GF (2n) | |
JP4408712B2 (ja) | 多倍長データ積和演算処理回路及びモンゴメリ積和剰余演算回路 | |
US6009450A (en) | Finite field inverse circuit | |
Gutub et al. | Scalable VLSI architecture for GF (p) Montgomery modular inverse computation | |
Gutub et al. | Efficient scalable VLSI architecture for Montgomery inversion in GF (p) | |
Zeghid et al. | Speed/area-efficient ECC processor implementation over GF (2 m) on FPGA via novel algorithm-architecture co-design | |
Abdulrahman et al. | High-speed hybrid-double multiplication architectures using new serial-out bit-level mastrovito multipliers | |
KR100417136B1 (ko) | 다항식 기저에서 유한체 승산 장치 및 그 방법 | |
O’Rourke | Efficient NTRU implementations | |
KR100478974B1 (ko) | 직렬 유한체 승산기 | |
JP2001034167A (ja) | 演算装置及び暗号処理装置 | |
O'Rourke et al. | Achieving NTRU with Montgomery multiplication | |
CN101464920A (zh) | 一种自动生成二元域ecc协处理器电路的设计方法 | |
KR100416291B1 (ko) | 타원곡선암호화의 유한체 역원과 승산 장치 및 그 방법 | |
JP4360792B2 (ja) | べき乗剰余演算器 | |
JP2000207387A (ja) | 演算装置及び暗号処理装置 | |
Kurniawan | ASIC design and implementation of a parallel exponentiation algorithm using optimized scalable Montgomery multipliers | |
Monica et al. | High-Throughput VLSI Architecture for Montgomery Modular Multiplication Algorithm by using PASTA | |
Zhou et al. | Implementing elliptic curve cryptography on Nios II processor | |
Chelton et al. | A scalable GF (2/sup m/) arithmetic unit for application in an ECC processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20010413 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20030531 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20040109 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20040119 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20040120 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20070103 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20080103 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20090102 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20091231 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20091231 Start annual number: 7 End annual number: 7 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |