JP3959076B2 - 有限体の二乗演算方法及び二乗演算装置 - Google Patents

有限体の二乗演算方法及び二乗演算装置 Download PDF

Info

Publication number
JP3959076B2
JP3959076B2 JP2004178700A JP2004178700A JP3959076B2 JP 3959076 B2 JP3959076 B2 JP 3959076B2 JP 2004178700 A JP2004178700 A JP 2004178700A JP 2004178700 A JP2004178700 A JP 2004178700A JP 3959076 B2 JP3959076 B2 JP 3959076B2
Authority
JP
Japan
Prior art keywords
square
odd
finite field
result
exclusive
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2004178700A
Other languages
English (en)
Other versions
JP2005010783A (ja
Inventor
元 鎰 秦
美 淑 許
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR10-2003-0077329A external-priority patent/KR100519775B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005010783A publication Critical patent/JP2005010783A/ja
Application granted granted Critical
Publication of JP3959076B2 publication Critical patent/JP3959076B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Description

本発明は、有限体の二乗演算方法及び二乗演算装置に関する。
有限体GF(2n)は、2n個の要素を含む数値系である。有限体の各要素がnビットで表現できるという事実によって、有限体の実際的な応用が可能である。例えばエラー訂正コードや楕円曲線暗号系をハードウェアで実現するような実際的な応用では、GF(2n)の計算を頻繁に使用する。リードソロモンコードを符号化/復号化する装置はGF(2n)の計算を行わなければならず、楕円曲線暗号系の暗号/解読装置はnを大きい値とするGF(2n)の計算を行わなければならない。
有限体GF(2)は、次の式1のような加算、積算規則を有し、その要素が2進数0、1だけの数値系である。
Figure 0003959076
すなわち、加算はビット排他的論理和(以下、"XOR")演算であり、積算はビット論理積(以下、"AND")演算である。
有限体GF(2n)(n>1)は2n個の要素を含む数値系であるが、この数値系における加算及び積算はGF(2)の係数を有するn次多項式のモジュロ演算に対応する。この多項式を有限体決定多項式とし、この多項式の一根をαとするとき、有限体の一要素は、次の式2のような標準表現を有する。
Figure 0003959076
GF(2n)の2要素の積は、αに関する多項式積算後、決定多項式によるモジュロ演算で決定される。GF(2n)の2要素の和は、αに関する多項式加算で定義される。
有限体GF(2n)の決定多項式を次の式3のように表現し、αを決定多項式の根とする。
Figure 0003959076
ここで、nは任意の自然数であり、tとkiとは0<t、ki<nである。
有限体の要素Aに対してA=(α012,・・・,αn-1)∈GF(2n)であれば、要素Aの二乗A2は、次の式4のように要素A及び要素Aのαに関する多項式積算後、f(α)によるモジュロ演算で決定される。
Figure 0003959076
式4で示されるような二乗演算を行うための従来技術には、次のようなものがある。なお、以下では、面積複雑度とはハードウェアのサイズすなわちゲート数のことをいい、時間複雑度とはハードウェアのゲート遅延のことをいう。SEC(Standards for Efficient Cryptography)及びANSI(American National Standards Institute、米国規格協会) X9.62のような暗号化技術の標準では、楕円曲線暗号系に必要な係数を定義し、いくつかの有限体係数を推奨している。有限体係数を決定するために、この2つの標準が最も幅広く使用されている。このため、この2つの標準が、各暗号化技術の汎用性を判断するときの基準として使用される。なお、以下では、nは有限体の次元をいう。
非特許文献1は、決定多項式が三項式Xn+Xk+1である場合、n及びkの値に対する二乗演算の結果を整理したものを開示している。この技術は数式が最適化されているため、面積複雑度及び時間複雑度の側面で効率的な結果を示す。しかし、決定多項式が五項式である場合については言及されていない。
非特許文献2は、有限体GF(2n)でn+1が素数であり、2∈Zn+1が原始要素であるとき、異常基底を使用し、決定多項式がAOP(All One Polynomial)であれば、再配置によって二乗演算ができることを示している。しかし、当該n及び決定多項式が前記標準に含まれていない。
特許文献1は、nが偶数であり、有限体GF(2n)がGF(2)<GF(2n/2)<GF(2n)の条件を満たす場合、GF(2n)の演算はGF(2n/2)の演算を利用して実現できることを示し、このような方法を利用した二乗演算装置を提案している。しかし、有限体の表現方式が標準の表現方式と異なるので、互換性に問題がある。更に、前記標準におけるnはほとんど奇数であるので、この技術が適用される場合は少ない。
特許文献2では、循環基底を使用して二乗演算を実現する。循環基底は、m=(2n−1)/Δ≧n,Δ≧nを満足する2n−1の最小の約数Δに対して、1,αΔ,α2Δ,α3Δ,…,α(m-1)Δとなる。この場合、再配置によって二乗演算が行われる。しかし、この技術を適用するためには、基底変換が要求されるが、条件を満足するΔの値が相当大きい値であるので、その基底変換が非常に複雑になる。
非特許文献3は、二乗演算の入力要素を予め決められた原理で分離し、その分離した要素を積算装置に入力する方法を開示している。この二乗演算装置のうち積算装置を除外した部分は、3.5n個のゲートで構成される。これは、約n/2個のゲートで構成される非特許文献1の発明と比較して非効率的である。
非特許文献4は、正規基底を使用するので、再配置によって二乗演算が行われる。しかし、要求される基底変換は非常に複雑である。
したがって、従来技術に現れたような複雑な基底変換がなく、面積複雑度及び時間複雑度を減らすことができる二乗演算方法及び二乗演算装置が必要である。
K.Aoki, "Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed", 2001(米国特許第6,266,688号明細書、第6,202,076号明細書) Lambert, "Method and apparatus for implementing arithmetical operations in finite fields", 2001(欧州特許第1,076,284 A1号明細書) H.Wu, "Bit-parallel finite field multiplier and squarer using polynomial basis", IEEE Transaction on Computers, Vol.51, No.7, 2002, pp.750〜758 C.H.Kim, "A new hardware architecture for operations in GF(2n), IEEE Transaction on Computers, Vol.51, No.1, 2002, pp.90〜92 G.Orlando, "Squaring architecture for GF(2n) and its application in cryptographic systems", Electronics Letters, Vol.36, No.13, 2000, pp.1116〜1117 C.C.Wang, "VLSI architectures for computing multiplications and inverses in GF(2M)", IEEE Transactions on Computers, Vol.C-34, No.8, 1985, pp.709〜717
そこで、本発明が解決しようとする技術的課題は、有限体の決定多項式の二乗演算に必要な係数を定義し、その定義された係数に対して必要な排他的論理演算を行い、その排他的論理演算の結果を再配置して二乗演算を行う有限体の二乗演算方法及び装置を提供することである。
前記課題を解決するための本発明は、有限体GF(2n、nは奇数)の決定多項式が
Figure 0003959076
と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置であって、係数計算部と、排他的論理和演算部と、再配置部とを備える装置における有限体の二乗演算方法において、
(a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
Figure 0003959076
を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから
Figure 0003959076
によってijを決定し、n、lij及びkiからnビットのV0を、
Figure 0003959076
によって決定し、及びnビットのV ij を、
i が奇数である場合またはk i が偶数であり、jが奇数である場合には、
Figure 0003959076
によって決定し、
i 、jがいずれも偶数である場合には、
Figure 0003959076
によってそれぞれ決定し、miに対する
Figure 0003959076
によってVを求めるステップと、
(b)ki及びnによって係数si
Figure 0003959076
(oddは奇数、evenは偶数)
によって決定し、Vをsiだけそれぞれ循環置換するステップと、
(c)前記(b)ステップで循環置換された結果及び要素Aを排他的論理和演算するステップと、
(d)前記(c)ステップの演算結果C'をC'=c 0 'c 1 '…c n-1 'とし、要素Aの二乗演算の結果をA 2 =c 0 1 …c n-1 とするとき、c i を、
Figure 0003959076
によってc j 'をc i に再配置して、二乗演算の最終結果として出力するステップと、
を含み、前記(a)ステップを前記係数計算部で行い、前記(b)ステップおよび(c)ステップを前記排他的論理和演算部で行い、かつ前記(d)ステップを前記再配置部で行うことを特徴とする。
次に、本発明は、有限体GF(2n,nは奇数)の決定多項式が
Figure 0003959076
と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置において、
(a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
Figure 0003959076
を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから
Figure 0003959076
によってijを決定し、n、lij及びkiからnビットのV0を、
Figure 0003959076
によって決定し、及びnビットのV ij を、
i が奇数である場合またはk i が偶数であり、jが奇数である場合には、
Figure 0003959076
によって決定し、
i 、jがいずれも偶数である場合には、
Figure 0003959076
によってそれぞれ決定し、miに対する
Figure 0003959076
によってVを求めるステップと、
(b)ki及びnによって係数si
Figure 0003959076
(oddは奇数、evenは偶数)
によって決定し、Vをsiだけそれぞれ循環置換するステップと、
を含んで二乗演算に必要な係数を計算する係数計算部と、
複数の排他的論理和演算手段を備え、前記係数計算部の計算結果によって要素Aを入力して排他的論理和演算を行う排他的論理和演算部と、
前記排他的論理和演算部の演算結果C'をC'=c 0 'c 1 '…c n-1 'とし、要素Aの二乗演算の結果をA 2 =c 0 1 …c n-1 とするとき、c i は、
Figure 0003959076
によってc j 'をc i に再配置して、二乗演算の最終結果として出力する再配置部と、
を含むことを特徴とする。
また、本発明は、有限体GF(2n,nは偶数)の決定多項式が
Figure 0003959076
と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置であって、係数計算部と、排他的論理和演算部と、再配置部とを備える装置における有限体の二乗演算方法において、
(a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
Figure 0003959076
を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから、
Figure 0003959076
によってijを決定し、n、lij及びkiから、nビットのV0を、
Figure 0003959076
によって、
nビットのV ij を、
i が偶数である場合またはk i 、jがいずれも奇数である場合には、
Figure 0003959076
によって、
i が奇数であり、jが偶数である場合には、
Figure 0003959076
によってそれぞれ決定し、miに対する
Figure 0003959076
によってVを求めるステップと、
(b)ki及びnによって i を、k i 及びnに対して
Figure 0003959076
(oddは奇数、evenは偶数)
によって決定し、置換が
Figure 0003959076
と表現されるとき、要素Aに対して
Figure 0003959076
によってVをsiだけそれぞれ置換するステップと、
(c)
Figure 0003959076
によって
Figure 0003959076
を求め、前記(b)ステップの置換結果及び
前記
Figure 0003959076
の要素を排他的論理和演算するステップと、
(d)前記(c)ステップの演算結果C'をC'=c 0 'c 1 '…c n-1 'とし、要素Aの二乗演算の結果をA 2 =c 0 1 …c n-1 とするとき、c i は、
Figure 0003959076
によって再配置して、二乗演算の最終結果として出力するステップと、
を含み、前記(a)ステップを前記係数計算部で行い、前記(b)ステップおよび(c)ステップを前記排他的論理和演算部で行い、かつ前記(d)ステップを前記再配置部で行うことを特徴とする。
さらに、本発明は、有限体GF(2n,nは偶数)の決定多項式が
Figure 0003959076
と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置において、
(a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
Figure 0003959076
を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから、
Figure 0003959076
によってijを決定し、n、lij及びkiから、nビットのV0を、
Figure 0003959076
によって、
nビットのV ij を、
i が偶数である場合またはk i 、jがいずれも奇数である場合には、
Figure 0003959076
によって、
i が奇数であり、jが偶数である場合には、
Figure 0003959076
によってそれぞれ決定し、miに対する
Figure 0003959076
によってVを求めるステップと、
(b) i を、k i 及びnに対して
Figure 0003959076
(oddは奇数、evenは偶数)
によって決定し、置換が
Figure 0003959076
と表現されるとき、要素Aに対して
Figure 0003959076
によってVをsiだけそれぞれ置換するステップと、
を含んで二乗演算に必要な係数を計算する係数計算部と、
複数の排他的論理和演算手段を備え、要素Aを入力として
Figure 0003959076
によって
Figure 0003959076
を求め、前記係数計算部で計算された置換結果及び前記
Figure 0003959076
を再び排他的論理和演算する排他的論理和演算部と、
前記排他的論理和演算部の演算結果C'をC'=c0'c1'…cn-1'とし、要素Aの二乗演算の結果をA2=c01…cn-1とするとき、ci
Figure 0003959076
によってcj'をciに再配置して、二乗演算の最終結果として出力する再配置部と、
を含むことを特徴とする。
本発明によれば、暗号化技術の標準におけるほとんどの場合に適用できるので、汎用性を満足しつつ、面積複雑度及び時間複雑度の側面でも効率的である。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1は、有限体GF(2n)でnが奇数であるときの、本発明による有限体の二乗演算装置のブロック図である。有限体の二乗演算装置は、係数計算部10、XOR演算部12及び再配置部14を備える。
係数計算部10は、決定多項式の二乗演算に必要な係数を計算する。XOR演算部12は、係数計算部10から出力される係数及び要素Aに対してXOR演算を行う。再配置部14は、XOR演算部12から出力される演算結果を再配置して、二乗演算の最終値として出力する。
前記構成による動作をさらに詳細に説明すれば、次の通りである。
有限体GF(2n)(nは奇数)の決定多項式を次の式5のように定義する。
Figure 0003959076
ある有限体の要素AをA=(α012,・・・,αn-1)∈GF(2n)とすれば、要素Aの二乗は次の式6のように表現できる。
Figure 0003959076
二乗演算の結果であるCもGF(2n)に属する。
式5で、決定多項式f(x)は、xn+1と
Figure 0003959076
の和で構成され、n、t、kiによって積算装置の面積複雑度及び時間複雑度が決定される。
Cに含まれる各要素を求めるために必要な係数mi、lij、l、V0、Vij及びVを次のように定義する。
各i=1,2,…,tに対してki=1であれば、係数mi=0とする。
整数r≧2に対して、kiが次の式7を満足すれば、係数mi=rと定義する。
Figure 0003959076
0でないmi(i=1,2,…,t)に対して係数lij(j=2,3,…,mi)を次の式8のように定義する。
Figure 0003959076
iが偶数であれば、lは次の式9のように定義し、kiが偶数でなければ、l=0である。
Figure 0003959076
(evenは偶数)
0は、次の式10のように定義される。
Figure 0003959076
それぞれ0でないmiに対してVij(j=2,3,…,mi)を定義する。当該iに対するkiが奇数である場合またはkiが偶数であり、jが奇数である場合には、Vijは次の式11のように定義される。
Figure 0003959076
i及びjがいずれも偶数である場合、Vijは次の式12の通りである。
Figure 0003959076
係数計算部10は、係数から最終的にVi及びVに対する次の式13のような計算結果を出力する。
Figure 0003959076
次いで、ki(i=1,2,…,t)に対してsiを次の式14のように定義する。
Figure 0003959076
(以下、数式で、oddは奇数、evenは偶数)
式14から得たs1ないしstのそれぞれに対してVを循環置換し、それらの結果をXOR演算し、再び要素AとXOR演算する。その結果をC'とすれば、C'は次の式15のように表現できる。
Figure 0003959076
式15から得られる演算結果C'は、要素AのXOR演算式として表現される。XOR演算部12は、式15によるXOR演算を行う。
式15から得られるC'をC'=c0'c1'…cn-1'とすれば、C'からA2=c01…cn-1のciは、次の式16の通りである。
Figure 0003959076
再配置部14は、式15から得られた結果を式16によって再配置して、二乗演算の最終結果として出力する。
以上のように構成された二乗演算装置の面積複雑度及び時間複雑度を計算すれば、次の通りである。本発明の実施の形態に係る二乗演算装置には、XOR演算を行う部分がある。そこで必要なXOR演算数は、次の式17の通りである。
Figure 0003959076
式17の"step3"は再配置によるものであるので、XOR演算は不要である。特に、t=1である場合、すなわち決定多項式が三項式である場合、k1が次の式18を満足すれば、必要なXOR演算数は、次の式19のように表現される。
Figure 0003959076
Figure 0003959076
本発明の二乗演算装置による時間複雑度を正確に記述するのは難しい。ただし、例えば、時間複雑度が最悪値になる場合を記述することはできる。本発明では、二乗演算装置がXORゲートを使用しているため、時間複雑度はXORゲートによる遅延で表現することができる。一般的な場合、XORゲートによる遅延は最大で次の式20のように決定される。
Figure 0003959076
特に、t=1であり、k1が式18を満足する場合、XORゲートによる遅延は、次の式21の通りである。
Figure 0003959076
n=11である場合の、各係数及び複雑度の演算結果について説明する。決定多項式がX11+X2+1であるとき、t=1であり、k1=2である。n、t、kiから二乗演算に必要な係数が次のように決定される。式7ないし式11によって、m1=2、l12=1、l=1、V0=a678910000000、V12=00000a1000000が決定され、決定された結果から式13によって、V1=00000a1000000、V=a6789101000000に決定される。
式14によってs1=7であり、式15によってC'は、次の式22のように決定される。
Figure 0003959076
C'に対して式14による再配置を実行すれば、次の式23のようなA2=c012…c910の結果を得る。
Figure 0003959076
図2は、式23の結果を複数のXOR演算手段21及び再配置手段22で実現した二乗演算装置を示す図である。
図2に示すように、二乗演算装置は、面積複雑度の側面では6個のXOR演算手段からなり、時間複雑度の側面では1つのXORゲート遅延を有することが分かる。
本発明の他の実施例で、決定多項式がX11+X4+X2+X+1である場合を説明する。この決定多項式によれば、t=3、k1=1、k2=2、k3=4である。
t、k1、k2、k3から得られる係数は、次の式24の通りである。
Figure 0003959076
式24の係数からV2=00000a1000000であり、V3=00000a9100000であり、Vは次の式25のように決定される。
Figure 0003959076
式14によって、s1=1、s2=7、s3=8が決定され、それにより、C'は次の式26のように決定される。
Figure 0003959076
式16によって再配置を行えば、Cは次の式27のように求められる。
Figure 0003959076
図3は、式27の結果を複数のXOR演算手段31及び再配置手段32で実現した二乗演算装置を示す図である。図4は、図3に示された二乗演算装置でXOR演算手段の数をさらに減らした結果を示す図である。例えば、式27でc2に当る
Figure 0003959076
の場合、
Figure 0003959076
となるので、結果的に
Figure 0003959076
の演算だけが必要である。したがって、XOR演算手段の数を減らせる。他の例として
Figure 0003959076
の場合、
Figure 0003959076
の計算で共通となる
Figure 0003959076
を再活用すれば、c5の計算に使われるXOR演算手段を一つ減らせる。図4は、図3に示された二乗演算装置に対して以上のような方法により数を減らしたXOR演算手段41を示している。
図5は、有限体GF(2n)でnが偶数であるとき、本発明による有限体の二乗演算装置のブロック図を示す。有限体の二乗演算装置は、係数計算部50、XOR演算部52及び再配置部54を備える。
係数計算部50は、決定多項式の二乗演算に必要な係数を計算する。XOR演算部52は、係数計算部50から出力される係数に対して排他的論理和の演算を行う。再配置部54は、XOR演算部52から出力される演算結果を再配置して、二乗演算の最終結果として出力する。
前記構成による動作をさらに詳細に説明すれば、次の通りである。
有限体GF(2n)(nは偶数)の決定多項式をnが奇数であるときと同様に式5のように定義すれば、それに属する要素AがA=(α012,・・・,αn-1)∈GF(2n)のように表現されるとき、A2は式6のように表すことができる。式6で二乗演算の結果であるCもGF(2n)に属する。
Cに含まれる各要素を求めるために、必要な係数mi、lij、l、V0、Vij及びVを次のように定義する。
各i=1,2,…,tに対してki=1であれば、係数mi=1とする。
整数r≧2に対して、kiが次の式28を満足すれば、mi=rと定義する。
Figure 0003959076
それぞれが1でないmi(i=1,2,…,t)に対してlij(j−=2,3,…,mi)は、次の式29のように定義する。
Figure 0003959076
0は次の式30のように定義される。
Figure 0003959076
それぞれの1でないmi(i=1,2,…,t)に対してVij(j=2,3,…,mi)は、iに対するkiが偶数である場合またはki、jがいずれも奇数である場合には、次の式31のように定義される。
Figure 0003959076
iが奇数であり、jが偶数である場合には、Vijは次の式32のように定義される。
Figure 0003959076
係数計算部50は、係数から最終的にVi及びVに対してmiが1ではないとき、次の式33のような計算結果を出力する。
Figure 0003959076
i(i=1,2,…,t)に対してsiを次の式34のように定義する。
Figure 0003959076
次いで、要素Aに対する
Figure 0003959076
を次の式35のように定義する。
Figure 0003959076
演算記号
Figure 0003959076
は、次の式36のように定義される。
Figure 0003959076
式34から得たs1ないしstに対して式36のように定義されたようにVを置換し、その結果を全てXOR演算し、再び式35の
Figure 0003959076
とXOR演算する。その結果をC'とすれば、C'は次の式37のように表現できる。
Figure 0003959076
式37から得られる演算結果C'は、要素AのXOR演算式として表現される。XOR演算部82は、式37によるXOR演算を行う。
式37から得られるC'をC'=c0'c1'…cn-1'とすれば、C'からA2=c01…cn-1のciは次の式38の通りである。
Figure 0003959076
再配置部54は、式37で得られた結果を式38によって再配置して、二乗演算の最終結果として出力する。
本発明による実施例で、決定多項式がX10+X4+X3+X+1である場合について説明する。この決定多項式によれば、t=3であり、k1=1、k2=3、k3=4である。
t、k1、k2、k3から得られる係数は、次の式39の通りである。
Figure 0003959076
式33によって、V2、V3及びVは次の式40のように求められる。
Figure 0003959076
式34によって、s1=5、s2=6、s3=2に決定され、これによりC'は式35ないし式37によって次の式41のように決定される。
Figure 0003959076
式41によって得られたC'を式42によって再配置すれば、次の式42のような二乗演算の結果を得る。
Figure 0003959076
図6は、式42による演算結果を複数のXOR演算手段61及び再配置手段62によって実現した二乗演算装置を示す図である。二乗演算装置は、面積複雑度の側面で25個のXORゲートからなり、時間複雑度の側面で4個のXORゲート遅延を有する。
図7ないし図9は、従来技術と本発明との差異点を表で要約したものである。図7で本発明の場合、面積複雑度及び時間複雑度に対して決定多項式が三項式、すなわちXn+Xk+1(1≦k≦n/2)である場合を考慮した。図8は、SECの標準で定義された3個の有限体で従来技術と本発明とによる面積複雑度及び時間複雑度を比較して表で表したものである。二乗演算装置の入力は標準表現によると仮定する。図9は、従来技術と本発明との標準適用可否と基底変換如何、そしてその問題点を比較して示したものである。二乗演算装置の入力は標準表現によると仮定する。
表によれば、時間複雑度及び面積複雑度の側面で、本発明は従来技術より優秀な場合もあり、類似した場合もあり、非効率的な場合もある。しかし、従来技術の場合より効率的な非特許文献2の発明が適用される次元は標準になく、決定多項式が標準と異なるので、互換性に問題がある。また、特許文献2の発明と非特許文献4とは複雑な基底変換を要求する。一般的に、基底変換は約n2個のゲートで構成され、約log2nのゲート遅延が要求される。効率的な基底変換方法がなければ、従来技術は本発明に比べて非効率的である。非特許文献1は適用される決定多項式が一部三項式に過ぎないので制限的である。
また、nが偶数である場合にも、本発明は標準に与えられた全ての場合に適用可能であるので、汎用性を満足する。
本発明である有限体の二乗演算方法及び二乗演算装置は、基底変換が不要であり、決定多項式が三項式または五項式である場合に適用可能であるので、従来技術より標準適用に有利である。
本発明の一実施例による有限体の二乗演算装置のブロック図である。 式23の結果を複数のXOR演算手段及び再配置手段で実現した二乗演算装置を示す図である。 式27の結果を複数のXOR演算手段及び再配置手段で実現した二乗演算装置を示す図である。 図3に示された二乗演算装置でXOR演算手段の数をさらに減らした結果を示す図である。 本発明の他の実施例による有限体の二乗演算装置のブロック図である。 式42の結果を複数のXOR演算手段及び再配置手段で実現した二乗演算装置を示す図である。 従来技術及び本発明による二乗演算装置の面積及び時間複雑度を比較した表である。 SECで定義された3個の有限体で従来技術及び本発明による二乗演算装置の面積及び時間複雑度を比較した表である。 従来技術及び本発明による二乗演算装置の標準適用可否、基底変換如何及びその問題点を比較した表である。
符号の説明
10 係数計算部
12 XOR演算部
14 再配置部

Claims (4)

  1. 有限体GF(2n、nは奇数)の決定多項式が
    Figure 0003959076
    と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置であって、係数計算部と、排他的論理和演算部と、再配置部とを備える装置における有限体の二乗演算方法において、
    (a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
    Figure 0003959076
    を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから
    Figure 0003959076
    によってijを決定し、n、lij及びkiからnビットのV0を、
    Figure 0003959076
    によって決定し、及びnビットのV ij を、
    i が奇数である場合またはk i が偶数であり、jが奇数である場合には、
    Figure 0003959076
    によって決定し、
    i 、jがいずれも偶数である場合には、
    Figure 0003959076
    によってそれぞれ決定し、miに対する
    Figure 0003959076
    によってVを求めるステップと、
    (b)ki及びnによって係数si
    Figure 0003959076
    (oddは奇数、evenは偶数)
    によって決定し、Vをsiだけそれぞれ循環置換するステップと、
    (c)前記(b)ステップで循環置換された結果及び要素Aを排他的論理和演算するステップと、
    (d)前記(c)ステップの演算結果C'をC'=c 0 'c 1 '…c n-1 'とし、要素Aの二乗演算の結果をA 2 =c 0 1 …c n-1 とするとき、c i を、
    Figure 0003959076
    によってc j 'をc i に再配置して、二乗演算の最終結果として出力するステップと、
    を含み、前記(a)ステップを前記係数計算部で行い、前記(b)ステップおよび(c)ステップを前記排他的論理和演算部で行い、かつ前記(d)ステップを前記再配置部で行うことを特徴とする有限体の二乗演算方法。
  2. 有限体GF(2n,nは奇数)の決定多項式が
    Figure 0003959076
    と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置において、
    (a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
    Figure 0003959076
    を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから
    Figure 0003959076
    によってijを決定し、n、lij及びkiからnビットのV0を、
    Figure 0003959076
    によって決定し、及びnビットのV ij を、
    i が奇数である場合またはk i が偶数であり、jが奇数である場合には、
    Figure 0003959076
    によって決定し、
    i 、jがいずれも偶数である場合には、
    Figure 0003959076
    によってそれぞれ決定し、miに対する
    Figure 0003959076
    によってVを求めるステップと、
    (b)ki及びnによって係数si
    Figure 0003959076
    (oddは奇数、evenは偶数)
    によって決定し、Vをsiだけそれぞれ循環置換するステップと、
    を含んで二乗演算に必要な係数を計算する係数計算部と、
    複数の排他的論理和演算手段を備え、前記係数計算部の計算結果によって要素Aを入力して排他的論理和演算を行う排他的論理和演算部と、
    前記排他的論理和演算部の演算結果C'をC'=c 0 'c 1 '…c n-1 'とし、要素Aの二乗演算の結果をA 2 =c 0 1 …c n-1 とするとき、c i は、
    Figure 0003959076
    によってc j 'をc i に再配置して、二乗演算の最終結果として出力する再配置部と、
    を含むことを特徴とする有限体の二乗演算装置。
  3. 有限体GF(2n,nは偶数)の決定多項式が
    Figure 0003959076
    と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置であって、係数計算部と、排他的論理和演算部と、再配置部とを備える装置における有限体の二乗演算方法において、
    (a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
    Figure 0003959076
    を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから、
    Figure 0003959076
    によってijを決定し、n、lij及びkiから、nビットのV0を、
    Figure 0003959076
    によって、
    nビットのV ij を、
    i が偶数である場合またはk i 、jがいずれも奇数である場合には、
    Figure 0003959076
    によって、
    i が奇数であり、jが偶数である場合には、
    Figure 0003959076
    によってそれぞれ決定し、miに対する
    Figure 0003959076
    によってVを求めるステップと、
    (b)ki及びnによって i を、k i 及びnに対して
    Figure 0003959076
    (oddは奇数、evenは偶数)
    によって決定し、置換が
    Figure 0003959076
    と表現されるとき、要素Aに対して
    Figure 0003959076
    によってVをsiだけそれぞれ置換するステップと、
    (c)
    Figure 0003959076
    によって
    Figure 0003959076
    を求め、前記(b)ステップの置換結果及び
    前記
    Figure 0003959076
    の要素を排他的論理和演算するステップと、
    (d)前記(c)ステップの演算結果C'をC'=c 0 'c 1 '…c n-1 'とし、要素Aの二乗演算の結果をA 2 =c 0 1 …c n-1 とするとき、c i は、
    Figure 0003959076
    によって再配置して、二乗演算の最終結果として出力するステップと、
    を含み、前記(a)ステップを前記係数計算部で行い、前記(b)ステップおよび(c)ステップを前記排他的論理和演算部で行い、かつ前記(d)ステップを前記再配置部で行うことを特徴とする有限体の二乗演算方法。
  4. 有限体GF(2n,nは偶数)の決定多項式が
    Figure 0003959076
    と表現され、前記有限体の要素AがA=(α012,・・・,αn-1)∈GF(2n)と表現されるとき、要素Aの二乗演算を行う装置において、
    (a)所定の係数mi、lij、V0、Vij及びVを決定する場合、iが1からtまで変わる自然数であるときに i に対して
    Figure 0003959076
    を満足するようにiを決定し、jが2からmiまで変わるときにn、ki及びjから、
    Figure 0003959076
    によってijを決定し、n、lij及びkiから、nビットのV0を、
    Figure 0003959076
    によって、
    nビットのV ij を、
    i が偶数である場合またはk i 、jがいずれも奇数である場合には、
    Figure 0003959076
    によって、
    i が奇数であり、jが偶数である場合には、
    Figure 0003959076
    によってそれぞれ決定し、miに対する
    Figure 0003959076
    によってVを求めるステップと、
    (b) i を、k i 及びnに対して
    Figure 0003959076
    (oddは奇数、evenは偶数)
    によって決定し、置換が
    Figure 0003959076
    と表現されるとき、要素Aに対して
    Figure 0003959076
    によってVをsiだけそれぞれ置換するステップと、
    を含んで二乗演算に必要な係数を計算する係数計算部と、
    複数の排他的論理和演算手段を備え、要素Aを入力として
    Figure 0003959076
    によって
    Figure 0003959076
    を求め、前記係数計算部で計算された置換結果及び前記
    Figure 0003959076
    を再び排他的論理和演算する排他的論理和演算部と、
    前記排他的論理和演算部の演算結果C'をC'=c0'c1'…cn-1'とし、要素Aの二乗演算の結果をA2=c01…cn-1とするとき、ci
    Figure 0003959076
    によってcj'をciに再配置して、二乗演算の最終結果として出力する再配置部と、
    を含むことを特徴とする有限体の二乗演算装置。
JP2004178700A 2003-06-16 2004-06-16 有限体の二乗演算方法及び二乗演算装置 Expired - Fee Related JP3959076B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20030038684 2003-06-16
KR10-2003-0077329A KR100519775B1 (ko) 2003-06-16 2003-11-03 유한 체에서의 제곱 연산 방법 및 장치

Publications (2)

Publication Number Publication Date
JP2005010783A JP2005010783A (ja) 2005-01-13
JP3959076B2 true JP3959076B2 (ja) 2007-08-15

Family

ID=34082419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004178700A Expired - Fee Related JP3959076B2 (ja) 2003-06-16 2004-06-16 有限体の二乗演算方法及び二乗演算装置

Country Status (3)

Country Link
US (1) US7543012B2 (ja)
JP (1) JP3959076B2 (ja)
CN (1) CN100432922C (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111686B2 (en) * 2006-08-07 2012-02-07 Microsoft Corporation Aggregating endpoint capabilities for a user
WO2012167345A1 (en) * 2011-06-06 2012-12-13 Certicom Corp. Squaring binary finite field elements
CN106569778B (zh) * 2015-10-13 2019-06-07 华为技术有限公司 一种数据处理的方法及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0080528A1 (en) * 1981-11-30 1983-06-08 Omnet Associates Computational method and apparatus for finite field arithmetic
FR2628862B1 (fr) * 1988-03-17 1993-03-12 Thomson Csf Multiplieur-additionneur parametrable dans les corps de galois, et son utilisation dans un processeur de traitement de signal numerique
US5689452A (en) * 1994-10-31 1997-11-18 University Of New Mexico Method and apparatus for performing arithmetic in large galois field GF(2n)
EP0782070A1 (en) * 1995-12-28 1997-07-02 Daewoo Electronics Co., Ltd Finite field inverter
US6038581A (en) * 1997-01-29 2000-03-14 Nippon Telegraph And Telephone Corporation Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
JP2000298433A (ja) * 1999-04-13 2000-10-24 Toyo Commun Equip Co Ltd 有限体上の二乗演算装置及び方法
CA2280271A1 (en) * 1999-08-11 2001-02-11 Robert J. Lambert Method and apparatus for implementing mathematic process in finite fields
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

Also Published As

Publication number Publication date
JP2005010783A (ja) 2005-01-13
CN100432922C (zh) 2008-11-12
US7543012B2 (en) 2009-06-02
US20050021584A1 (en) 2005-01-27
CN1573682A (zh) 2005-02-02

Similar Documents

Publication Publication Date Title
Wang et al. FPGA-based Niederreiter cryptosystem using binary Goppa codes
Costello et al. Efficient algorithms for supersingular isogeny Diffie-Hellman
JP6244728B2 (ja) 情報処理方法及びプログラム
KR102136911B1 (ko) 스칼라 또는 멱수와의 곱셈 연산을 포함하는 암호화 방법
US6343305B1 (en) Methods and apparatus for multiplication in a galois field GF (2m), encoders and decoders using same
US7908641B2 (en) Modular exponentiation with randomized exponent
JPH11305995A (ja) 計算装置のデ―タ処理高速化方法および装置。
Ghosh et al. A speed area optimized embedded co-processor for McEliece cryptosystem
Jafri et al. Towards an optimized architecture for unified binary huff curves
JP5852518B2 (ja) 認証暗号化装置、認証復号装置、およびプログラム
JP3726966B2 (ja) 乗算器及び暗号回路
US8014520B2 (en) Exponentiation ladder for cryptography
US20160149704A1 (en) Method and apparatus for parallel scalar multiplication
US9419789B2 (en) Method and apparatus for scalar multiplication secure against differential power attacks
KR101929984B1 (ko) 모듈러 곱셈기 및 그것의 모듈러 곱셈 방법
JP3959076B2 (ja) 有限体の二乗演算方法及び二乗演算装置
KR100954584B1 (ko) MSD first GF(3^m) 직렬 곱셈 장치, 그방법 및 이를 기록한 기록매체
Oliveira et al. Software implementation of Koblitz curves over quadratic fields
Panjwani Scalable and parameterized hardware implementation of elliptic curve digital signature algorithm over prime fields
KR102541388B1 (ko) Mdf 기반 ntt를 이용한 링-lwe 암호프로세서 장치 및 방법
KR101707334B1 (ko) 효율적인 타원곡선 암호화 연산 장치 및 그 방법
Nti et al. Asic design of low area rsa cryptocore based on montgomery multiplier
Anagreh et al. Parallel method for computing elliptic curve scalar multiplication based on MOF.
KR100519775B1 (ko) 유한 체에서의 제곱 연산 방법 및 장치
Shams et al. Cryptosystem an Implementation of RSA using Verilog

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070511

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees