JP2013195453A - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP2013195453A
JP2013195453A JP2012059235A JP2012059235A JP2013195453A JP 2013195453 A JP2013195453 A JP 2013195453A JP 2012059235 A JP2012059235 A JP 2012059235A JP 2012059235 A JP2012059235 A JP 2012059235A JP 2013195453 A JP2013195453 A JP 2013195453A
Authority
JP
Japan
Prior art keywords
additional data
equation
coefficient
value
solution
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.)
Granted
Application number
JP2012059235A
Other languages
English (en)
Other versions
JP5554357B2 (ja
Inventor
Tomoko Yonemura
智子 米村
Hirobumi Muratani
博文 村谷
Kiichi Hanatani
嘉一 花谷
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012059235A priority Critical patent/JP5554357B2/ja
Priority to US13/727,070 priority patent/US9280518B2/en
Publication of JP2013195453A publication Critical patent/JP2013195453A/ja
Application granted granted Critical
Publication of JP5554357B2 publication Critical patent/JP5554357B2/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】演算処理の計算量を削減する。
【解決手段】演算装置は、受付部と係数算出部と求解部と決定部と出力制御部とを備える。受付部は、有限体の乗法群の部分群の要素をトレース表現で表した複数の入力データと、入力データそれぞれの共役元を区別するための複数の第1付加データとを受付ける。係数算出部は、入力データに対する演算処理の演算結果の取りうる値を解とする方程式の係数を、入力データに基づいて算出する。求解部は、算出された係数を有する方程式の複数の解を求める。選択部は、第1付加データに基づいて複数の解から1の解を演算結果として選択する。決定部は、第1付加データに基づいて、選択された演算結果の共役元を区別するための第2付加データを決定する。出力制御部は、選択された演算結果と第2付加データとを出力する。
【選択図】図1

Description

本発明の実施形態は、演算装置に関する。
事前の鍵共有なしに安全な通信を実現する公開鍵暗号技術では、暗号系サイズの増大が問題になっている。このような背景から、代数的トーラスを用いて公開鍵暗号における暗号系サイズを圧縮する方法が提案されている。代数的トーラスの元(げん)を表現する方法には、トレース表現、射影表現および拡大体表現がある。トレース表現ではベキ乗アルゴリズムは知られているが、乗算はできないと考えられていた。そこで、代数的トーラスを用いる公開鍵暗号において、鍵生成、暗号化および復号の各ステップで、入出力にはトレース表現が用いられ、演算には射影表現または拡大体表現が用いられていた。このため、演算の前または後に、各表現間の変換を行う(表現変換)必要があった。
Koray Karabina, "Factor-4 and 6 Compression of Cyclotomic Subgroups",J. of Mathematical Cryptology, Vol. 4, No.1, pp.1-42, 2010. 米村智子, 村谷博文 and 花谷嘉一, "代数的トーラス上の暗号系〜トレース表現に関する新しい伸長写像〜", SCIS2012, 2012.
しかしながら、従来技術では、変換前の表現および変換後の表現の組み合わせによっては、表現変換の計算量が多くなり、表現変換および演算を含む全体の計算量が多大になる恐れがあった。
実施形態の演算装置は、受付部と係数算出部と求解部と決定部と出力制御部とを備える。受付部は、有限体の乗法群の部分群の要素をトレース表現で表した複数の入力データと、入力データそれぞれの共役元を区別するための複数の第1付加データとを受付ける。係数算出部は、入力データに対する演算処理の演算結果の取りうる値を解とする方程式の係数を、入力データに基づいて算出する。求解部は、算出された係数を有する方程式の複数の解を求める。選択部は、第1付加データに基づいて複数の解から1の解を演算結果として選択する。決定部は、第1付加データに基づいて、選択された演算結果の共役元を区別するための第2付加データを決定する。出力制御部は、選択された演算結果と第2付加データとを出力する。
第1の実施形態にかかる演算装置のブロック図。 第1の実施形態における演算処理のフローチャート。 第2の実施形態にかかる演算装置のブロック図。 演算装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかる演算装置の好適な実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態にかかる演算装置100の構成の一例を示すブロック図である。図1に示すように、演算装置100は、受付部101と、係数算出部102と、求解部103と、選択部104と、決定部105と、出力制御部106と、を備えている。
受付部101は、演算に用いるデータの入力を受付ける。例えば、受付部101は、演算の対象となる複数の入力データと、入力データそれぞれの付加データ(第1付加データ)とを受付ける。入力データは、有限体の乗法群(有限体表現の代数的トーラス)の部分群の要素をトレース表現で表したデータである。以下では、代数的トーラスの元gのトレース表現をトレース値Tr(g)と表記する。付加データは、対応する入力データそれぞれの共役元を区別するためのデータである。
係数算出部102は、複数の入力データに対する予め定められた演算処理の演算結果の取りうる値を解とする方程式(多項式)の係数を算出する。以下では、予め定められた演算処理として、複数の入力データの乗算処理を例に説明するが、これに限られるものではない。例えば、複数の入力データのうち一方のフロベニウス写像と他方との乗算処理、および、複数の入力データのフロベニウス写像の乗算処理に対しても同様の手法を適用できる。
求解部103は、算出された係数を有する上記多項式の複数の解を求める。求解部103は、従来から用いられているあらゆるアルゴリズムにより多項式の求解(求根)を実行できる。例えば、2次方程式の解の公式、3次方程式の解の公式、有限体上の求解を行うBerlekampのアルゴリズムなどがある。複数の解は、複数の入力データに対する演算処理(例えば乗算処理)の実際の演算結果を表す解とともに、それ以外の解も含む。
選択部104は、受付けられた付加データに基づいて、複数の解から1の解を演算結果として選択する。
決定部105は、複数の入力データそれぞれに対する複数の付加データを用いて、演算結果として選択された解の共役元を区別するための付加データ(第2付加データ)を決定する。
出力制御部106は、選択された解(演算結果)と、この解の付加データとを出力する。
次に、このように構成された第1の実施形態にかかる演算装置100による演算処理について図2を用いて説明する。図2は、第1の実施形態における演算処理の全体の流れを示すフローチャートである。
受付部101は、乗算する複数の入力データ(トレース値ともいう)、および、トレース値ごとの付加データの入力を受付ける(ステップS101)。係数算出部102は、複数のトレース値の乗算結果(乗算値ともいう)の取りうる値を解(根)として持つ多項式の係数を算出する(ステップS102)。求解部103は、算出された係数を有する多項式の解を求める(ステップS103)。
選択部104は、受付けられた付加データを用いて、求められた複数の解から、複数のトレース値の乗算結果(乗算値ともいう)として出力する解を選択する(ステップS104)。
一方、決定部105は、受付けられた付加データを用いて、選択された解(乗算値)の付加データを決定する(ステップS105)。なお、ステップS102〜ステップS104と、ステップS105とは、図2の順序で実行する必要はない。逆の順序で実行してもよいし、並行して実行してもよい。
出力制御部106は、選択された乗算値と、乗算値に対して決定された付加データとを出力し(ステップS106)、演算処理を終了する。
以下、演算処理の詳細についてさらに説明する。まず、本実施形態にかかる代数的トーラスにおける演算の数学的準備について説明する。代数的トーラスTが定義される有限体をFp^mとする。ここで、pは素数、nとmは正整数とする。記号「^」はべき乗を表す。例えば、p^mはpのm乗を表す。Fp^mは、要素数がp^mの有限体を表す。代数的トーラスT(Fp^m)は要素数がΦ(p^m)の群である。ここで、Φ(X)は第n円分多項式(円周n等分多項式)である。代数的トーラスT(Fp^m)のトレース表現は、φ(n)個のFp^mの元の組で表される。ここで、φ(x)はオイラー関数である。また、代数的トーラスの部分群G±のトレース表現はφ(n)/2個のFp^mの元の組で表される。
以下にn=4とn=6の場合の部分群G±の例を示す。
代数的トーラスT(Fp^m)の元gのトレース表現は、トレース値Tr(g)とTr(g^{p^m+1})で表わされる。トレース写像Trは以下の数1で表される写像である。
Figure 2013195453
ここで、フロベニウス写像πは、π:x→x^(p^m)、i=0,1,・・・,n−1であり、Tr(g)はFp^mの元となる。元gと元gフロベニウス共役を根として持つ以下の数2で表される多項式を特性多項式と呼ぶ。
Figure 2013195453
特性多項式は、Fp^m係数のn次式である。n=2のとき特性多項式は、X^2−Tr(g)X+1となる。n=4のとき特性多項式は以下の数3のようになる。
Figure 2013195453
n=6のとき特性多項式は以下の数4のようになる。
Figure 2013195453
ここで、Tr(g)^2=2Tr(g^{p^m+1})+Tr(g^2)+2Tr(g)+6である。Xの2次の係数はXの4次の係数に等しく、Xの1次の係数はXの5次の係数に等しい。従って、特性多項式の係数は、トレース値Tr(g)とTr(g^{p^m+1})で決まる。そして、特性多項式の求根を行うことで拡大体表現の元gと元g共役元を得ることができる。
次に部分群G±について説明する。部分群G±は、要素数がp^m±√p^{m+1}+1の群である。部分群G±は、mが奇数であり、n=4かつp=2の場合に、または、n=6かつp=3の場合に、代数的トーラスT(Fp^m)の部分群となっている。
部分群G±の元gのトレース表現は、トレース値Tr(g)で表わされる。部分群G±の元gについて、Tr(g^{p^m+1})=Tr(g)^{√p^{m+1}}と計算されるため、特性多項式の係数はトレース値Tr(g)のみで決まるからである。
ここでトレース写像と、標数pのベキ乗を指数とするベキ乗と、が交換することに注意する。
トレース表現に、元gと、元gの共役元を区別する付加データとを組み合わせると、トレース値Tr(g)を用いて特性多項式の求根を行うことにより、トレース値Tr(g)を、拡大体表現の元gへ一意に表現変換できる。
n個の共役元を区別するので、n=4のとき2ビット、n=6のときlog(6)ビット、一般にlog(n)ビットの付加データが用いられる。
次に、トレース表現における乗算方法を示す。トレース表現における乗算とは、トレース値Tr(g)とTr(g)の付加データ、および、トレース値Tr(h)とTr(h)の付加データから、拡大体表現gとhに変換せずに、乗算値Tr(gh)とTr(gh)の付加データを計算することである。
ここで、特性多項式の係数がTr(g)のみで決まっているとする。代数的トーラスT(Fp^m)の部分群の場合、乗算値の取りうる値はTr(π^i(g)h)のn通り存在する。従って、選択部104は、入力された付加データを用いてn通りから適当な乗算値を選択すればよい。
そこで、まず係数算出部102が、乗算値の取りうる値を根として持つ多項式の係数をTr(g)とTr(h)から計算する。そして、求解部103が多項式の求根を行い、選択部104が求めた根から乗算値を選択する。これによりTr(g)とTr(h)の乗算が構成される。
多項式は、Fp^m係数のn次式であり、求根の際もFp^mで解けばよい。一方、特性多項式もFp^m係数のn次式であるが、代数的トーラスT(Fp^m)の元gについて求根の際は大きな拡大体F(p^m)^nで解かなければならない。方程式の解の空間が狭い分、トレース表現における乗算は、拡大体表現への変換後に乗算を行う場合に比べ高速である。
n=2のとき代数的トーラスT(Fp^m)の元gおよび元hについて乗算値の取りうる値を根として持つ多項式は以下のようになる。
{Y−Tr(gh)}{Y−Tr(π(g)h)}
=Y−Tr(g)Tr(h)Y+{Tr(g)+Tr(h)−4}
Yの(n−1)次の係数について、nに依らずTr(gh)+Tr(π(g)h)+・・・+Tr(π^{n−1}(g)h)=Tr(g)Tr(h)である。定数項について、g^{p^m+1}=1、h^{p^m+1}=1を用いると、Tr(gh)Tr(π(g)h)=Tr(g^2)+Tr(h^2)となる。特性多項式から得られるトレース値の漸化式によりTr(g^2)=Tr(g)^2−2、Tr(h^2)=Tr(h)^2−2となる。以上から上記多項式が得られる。
従って、乗算値の取りうる値を根として持つ多項式の係数はトレース値Tr(g)とTr(h)のみで決まる。そして、多項式の求根を行うことで乗算値の取りうる値を得ることができる。
ここで、漸化式の一例について説明する。n=2のときの特性多項式であるX^2−Tr(g)X+1=0で、Xにgを代入すると、g^2−Tr(g)g+1=0となる。この式のトレース表現は、Tr(g^2)−Tr(g)^2+2=0となる。ここで、Tr(1)=2を用いている。従って、Tr(g^2)=Tr(g)^2−2の漸化式が得られる。同様にして、一般に漸化式はTr(g^i+1)=Tr(g^i)Tr(g)−Tr(g^i−1)で表される。
n=4のとき代数的トーラスの部分群G±の元gおよび元hについて乗算値の取りうる値を根として持つ多項式は以下の数5のようになる。
Figure 2013195453
ここで、特性多項式から得られるトレース値の漸化式によりTr(g^3)=Tr(g^2)Tr(g)+Tr(g^{p^m+1})Tr(g)+Tr(g)となる。Tr(g^2)=Tr(g)^2、Tr(g^{p^m+1})=Tr(g)^{√p^{m+1}}よりTr(g^3)はトレース値Tr(g)のみから計算される。Tr(h^3)も同様である。Tr(g^{p^m+2})とTr(g^{2p^m+1})との和および積は以下の数6のようになる。
Figure 2013195453
Tr(g^{p^m+2})とTr(g^{2p^m+1})は、トレース値Tr(g)のみから計算される。Tr(h^{p^m+2})とTr(h^{2p^m+1})も同様である。
従って、乗算値の取りうる値を根として持つ多項式の係数は、トレース値Tr(g)とTr(h)のみで決まる。そして、多項式の求根を行うことで乗算値の取りうる値を得ることができる。
n=6のとき代数的トーラスの部分群G±の元gおよび元hについて乗算値の取りうる値を根として持つ多項式は以下の数7〜数12のようになる。
Figure 2013195453
Figure 2013195453
Figure 2013195453
Figure 2013195453
Figure 2013195453
Figure 2013195453
ここで、Tr(g^2)=Tr(g)^2+Tr(g^{p^m+1})+Tr(g)、Tr(g^{p^m+1})=Tr(g)^{√p^{m+1}}である。従って、Tr(g^2)はトレース値Tr(g)のみから計算される。Tr(h^2)も同様である。
3次項についてTr(g^{p^m+2})とTr(g^{2p^m+1})との和および積は以下の数13のようになる。
Figure 2013195453
Tr(g^{p^m+2})とTr(g^{2p^m+1})は、トレース値Tr(g)のみから計算される。特性多項式から得られるトレース値の漸化式により、Tr(g^5)=Tr(g)Tr(g^4)−{Tr(g^{p^m+1})+Tr(g)}{Tr(g)^3+Tr(g)}+{Tr(g^2)Tr(g)−1}Tr(g^2)となるためである。Tr(h^{p^m+2})とTr(h^{2p^m+1})も同様である。
4次項についてTr(g^{p^m+3})とTr(g^{3p^m+1})との和および積は以下の数14のようになる。
Figure 2013195453
Tr(g^{p^m+3})とTr(g^{3p^m+1})は、トレース値Tr(g)のみから計算される。特性多項式から得られるトレース値の漸化式により、Tr(g^7)=Tr(g){Tr(g^6)+Tr(g^2)}−{Tr(g^{p^m+1})+Tr(g)}{Tr(g^5)+Tr(g)^3}+{Tr(g^2)Tr(g)−1}Tr(g^4)Tr(g)となるためである。Tr(h^{p^m+3})とTr(h^{3p^m+1})も同様である。
5次項についてTr(g^{p^m+4})とTr(g^{4p^m+1})との和および積、並びに、Tr(g^{2p^m+3})とTr(g^{3p^m+2})との和および積は、以下の数15のようになる。
Figure 2013195453
Tr(g^{p^m+4})とTr(g^{4p^m+1})、Tr(g^{2p^m+3})とTr(g^{3p^m+2})は、トレース値Tr(g)のみから計算される。Tr(h^{p^m+4})とTr(h^{4p^m+1})、Tr(h^{2p^m+3})とTr(h^{3p^m+2})も同様である。
6次項についてTr(g^{p^m+5})とTr(g^{5p^m+1})との和および積は以下の数16のようになる。
Figure 2013195453
Tr(g^{p^m+5})とTr(g^{5p^m+1})は、トレース値Tr(g)のみから計算される。特性多項式から得られるトレース値の漸化式により、Tr(g^{11})=Tr(g){Tr(g^{10})+Tr(g^2)^3}−{Tr(g^{p^m+1})+Tr(g)}{Tr(g)^9+Tr(g^7)}+{Tr(g^2)Tr(g)−1}Tr(g^8)Tr(g^5)となるためである。Tr(h^{p^m+5})とTr(h^{5p^m+1})も同様である。
以上によりトレース乗算が可能であることが示された。以下に上記手順をまとめる。
受付部101が、入力としてトレース値Tr(g)と付加データ、トレース値Tr(h)と付加データを受け付ける。係数算出部102が、トレース値Tr(g)とTr(h)から、乗算値の取りうる値を根として持つ多項式の係数d(g,h)=Tr(g)Tr(h),d(g,h),・・・,d(g,h)を計算する。求解部103が、上記多項式の求根を行う。選択部104が、得られたn個の根からトレース値Tr(g)の付加データとトレース値Tr(h)の付加データとを用いて乗算値を1つ選択する。決定部105が、トレース値Tr(g)の付加データとトレース値Tr(h)の付加データとを用いて乗算値の付加データを決定する。
なお、付加データの決め方としては、様々な方法を用いることができる。最も単純な例は、拡大体表現または射影表現における共役元の大小関係により、小さい順または大きい順に0,1,2,・・・,n−1のように付加データの値を割り振る方法である。
拡大体表現または射影表現における共役元のうち、最も小さい元を基準として、この基準の元の{p^m}^i乗を付加データの値としてもよい。他に、標数p=2,3の場合、正規基底におけるいずれかの要素の{0,1}または{0,1,2}の値で付加データの値を決めてもよい。それぞれ2次方程式と3次方程式が正規基底においていずれかの要素の代入のみで解けるからである。
4次方程式は2次式と2次式の積とすると2次方程式を2回解くことで解が得られる。6次方程式は3次式と3次式の積または2次式と2次式と2次式の積とすると、いずれの場合も2次方程式を1回と3次方程式を1回解くことで解が得られる。
次に、選択部104による乗算値の選択と、決定部105による乗算値の付加データの決定について例を示す。まず、n=2の場合について説明する。
n=2のとき代数的トーラスT(Fp^m)の元gについて特性多項式は以下のようになる。
−Tr(g)X+1
特性多項式=0をXについて解くことにより、トレース値と付加データで拡大体表現を次の数17のように表すことができる。
Figure 2013195453
伸長後に乗算を行うと、その結果は次の数18および数19のようになる。複号同順に注意する必要がある。
Figure 2013195453
Figure 2013195453
トレース値は次の数20および数21のようになる。
Figure 2013195453
Figure 2013195453
乗算値の取りうる値を根として持つ多項式=0をYについて解くと、次の数22のようになる。
Figure 2013195453
従って、選択部104は、トレース値Tr(g)の付加データとトレース値Tr(h)の付加データの符号が揃っていれば「+」の乗算値を選択し、異なっていれば「−」の乗算値を選択すればよい。
乗算値の付加データについて、トレース値と付加データで拡大体表現を次の数23のように表すことができる。
Figure 2013195453
Tr(gh)=Tr((Tr(g),±)(Tr(h),±))と仮定すると、拡大体表現は次の数24のように表わされる。
Figure 2013195453
決定部105は、トレース値Tr(g)の付加データとトレース値Tr(h)の付加データとが、共に「+」ならば、Tr(gh)の付加データは「+」に決定し、共に「−」ならば「−」に決定すればよい。また、他方の乗算値についても次の数25のように表わされる。
Figure 2013195453
トレース値Tr(g)の付加データとトレース値Tr(h)の付加データとは互いに異なるので、決定部105は、Tr(gh)の付加データはトレース値Tr(h)の付加データに決定すればよい。
以上の議論の中で、2つの平方根の決め方が明示されることが重要である。例えば、ある数5に対して√5^2=5とするならば、√(−5)^2=5とすべきであり、√(−5)^2=−5としてはならない。有限体の元においては√α^2を決定する際に、例えばαと−αの小さい方を選択する。
次に、n=4の場合について説明する。n=4のとき特性多項式=0をXについて解くと、トレース値と付加データで元gと元gのフロベニウス共役元の拡大体表現を導出できる。4次の特性多項式を2つの2次式に分解して2次方程式を2回解く。標数p=2より解の公式は利用できないことに注意する。
特性多項式を以下の数26のように分解する。ここでトレース写像Tr4/2はトレース写像Trにおけるπをπ^2で置き換えた写像である。写像中のiに関する和はi=0,1,・・・,n/2−1となる。
Figure 2013195453
上記の第1項についてX=Tr4/2(g)X’として変数変換を行って得られる次の数27の方程式は、正規基底において計算コストなしで解が得られる。また、その2つの解は互いにビット反転になっており、1ビットで区別できる。
Figure 2013195453
上記の方程式を解くためには、先にTr4/2(g)を求めなければならない。Tr4/2(g)とTr4/2(g)^{p^m}を解とする方程式は次の数28のようになる。
Figure 2013195453
上記の方程式についてZ=Tr(g)Z’として変数変換を行って得られる次の数29の方程式も、正規基底において計算コストなしで解が得られる。また、その2つの解は互いにビット反転になっており、1ビットで区別できる。
Figure 2013195453
以上をまとめると元gと元gフロベニウス共役元の拡大体表現は次の数30のように表すことができる。
Figure 2013195453
ここで第一成分がiである右側のベクトルが、Z’に関する上記の方程式の解を表し、Fp^{2m}の元である。第一成分がiである左側のベクトルが、X’に関する上記の方程式の解を表し、Fp^{4m}の元である。iとiは、それぞれ0または1を取る。(i,i)∈{0,1}×{0,1}をTr(g)の付加データとする。元hと元hのフロベニウス共役元の拡大体表現についても同様である。
伸長後に乗算を行うと、その結果は次の数31のようになる。ここでhの表記も上記のgの表記と同様である。拡大体の元の掛け算は可換であることに注意する。
Figure 2013195453
乗算値の取りうる値を根として持つ多項式=0をYについて解くと、乗算値の取りうる値を得ることができる。4次の上記多項式を2つの2次式に分解して2次方程式を2回解く。標数p=2より解の公式は利用できないことに注意する。上記多項式を以下の数32のように分解する。
Figure 2013195453
上記の多項式の根を求めるためには、先にTr4/2(g)Tr4/2(h)+Tr4/2(g)^{p^m}Tr4/2(h)^{p^m}と、Tr4/2(g)Tr4/2(h)^{p^m}+Tr4/2(g)^{p^m}Tr4/2(h)を求めなければならない。これらを解とする方程式は次の数33のようになる。
Figure 2013195453
上記の方程式についてW=Tr(g)Tr(h)W’として変数変換を行って得られる次の数34の方程式も、正規基底において計算コストなしで解が得られる。また、その2つの解は互いにビット反転になっており、1ビットで区別できる。
Figure 2013195453
Yに関する上記多項式の第1項についてY=(Tr4/2(g)Tr4/2(h)+Tr4/2(g)^{p^m}Tr4/2(h)^{p^m})Y’として変数変換を行って得られる次の数35の方程式も、正規基底において計算コストなしで解が得られる。また、その2つの解は互いにビット反転になっており、1ビットで区別できる。
Figure 2013195453
以上をまとめると乗算値の取りうる値は次の数36のようになる。
Figure 2013195453
ここでlで代表される右側のベクトルがW’に関する上記の方程式の解を表しFp^mの元である。lで代表される左側のベクトルがY’に関する上記の方程式の解を表しFp^mの元である。lとlは、それぞれ0または1を取る。ある(l,l)が乗算値Tr(gh)を表すとすると、乗算値と付加データで乗算値の拡大体表現を次の数37のように表すことができる。
Figure 2013195453
ここでkで代表されるベクトルはZ’に関する方程式の解を表しFp^{2m}の元である。kで代表されるベクトルはX’に関する方程式の解を表しFp^{4m}の元である。kとkは、それぞれ0または1を取る。(k,k)∈{0,1}×{0,1}は、Tr(gh)の付加データとなる。入力である(i,i,j,j)と、出力とする(k,k,l,l)の関係は次の数38のようになる。
Figure 2013195453
W’に関する方程式の解をTr4/2(g)とTr4/2(h)で表わすと次の数39のようになる。ここで加算記号(+)は有限体の元の加算を表す。
Figure 2013195453
Y’に関する方程式の解をgとhで表わすと次の数40のようになる。
Figure 2013195453
Tr4/2(gh)とTr4/2(gh)^{p^m}をgとhで表わすと次の数41のようになる。
Figure 2013195453
以上よりk、k、lは次の数42のように表わされる。
Figure 2013195453
次に、n=6の場合について説明する。n=6のとき特性多項式=0をXについて解くと、トレース値と付加データで元gと元gのフロベニウス共役元の拡大体表現を導出できる。6次の特性多項式を3つの2次式に分解して2次方程式を1回と3次方程式を1回解く。標数p=3より3次の解の公式は利用できないことに注意する。特性多項式を以下の数43のように分解する。
Figure 2013195453
x^2−Tr6/3(g)X+1=0をXについて解くと次の数44の解が得られる。
Figure 2013195453
上記のXを計算するためには、先にTr6/3(g)を求めなければならない。Tr6/3(g)とTr6/3(g)^{p^m}とTr6/3(g)^{p^{2m}}を解とする方程式は次の数45のようになる。
Figure 2013195453
上記の方程式についてZ=−√{Tr(g)^5−Tr(g)^{2√3p^m+2}−Tr(g)^{3+√3p^m}}+Tr(g)^{3√3p^m}}/{Tr(g)^2Z’}−{Tr(g)^{√3p^m}+Tr(g)}/Tr(g)として変数変換を行って得られる次の数46の方程式も、正規基底において計算コストなしで解が得られる。また、その3つの解は互いに0を1に、1を2に、2を0に置き換えた形になっており、{0,1,2}で区別できる。
Figure 2013195453
Tr6/3(g)とTr6/3(g)^{p^m}とTr6/3(g)^{p^{2m}}の拡大体表現は次の数47のようになる。
Figure 2013195453
ここでiで代表されるベクトルがZ’に関する上記の方程式の解を表しFp^{3m}の元である。gとg^{p^{3m}}の拡大体表現は次の数48のようになる。
Figure 2013195453
以上をまとめると元gと元gのフロベニウス共役元の拡大体表現は次の数49のようになる。
Figure 2013195453
Xに関する上記の方程式の解はFp^{6m}の元であり、±で区別される。iは0または1または2を取る。(i,i)∈{0,1,2}×{+,−}をTr(g)の付加データとする。元hと元hのフロベニウス共役元の拡大体表現についても同様である。
がTr6/3(g)を表し、jがTr6/3(h)を表すとして伸長後に乗算を行うと、その結果は次の数50のようになる。複号同順に注意する必要がある。
Figure 2013195453
乗算値の取りうる値を根として持つ多項式=0をYについて解くと、乗算値の取りうる値を得ることができる。6次の上記多項式を3つの2次式に分解して2次方程式を1回と3次方程式を1回解く。標数p=3より3次の解の公式は利用できないことに注意する。上記多項式を次の数51〜数53のように分解する。
Figure 2013195453
Figure 2013195453
Figure 2013195453
ここで例えば次の数54のように書きかえることができる。
Figure 2013195453
すなわち、乗算値の取りうる値を根として持つ多項式を3つの2次式に分解する場合、根を求めるためには、先にTr3/1[Tr6/3(g)Tr6/3(h)]とTr3/1[Tr6/3(g)Tr6/3(h)^{p^m}]とTr3/1[Tr6/3(g)Tr6/3(h)^{p^{2m}}]を求めなければならない。これらを解とする方程式は次の数55および数56のようになる。
Figure 2013195453
Figure 2013195453
Tr(g^{p^m+2})とTr(g^{2p^m+1})との和および積は、先に示した通りTr(g)から計算できる。すなわち次の数57の2次方程式の解を計算すればよい。
Figure 2013195453
Tr(h^{p^m+2})とTr(h^{2p^m+1})についても同様である。Wに関する3次方程式について変数変換を行って正規基底において計算コストなしで解が得られる形にする。Wの1次の係数をbと置いて、W=−√●/{Tr(g)^2Tr(h)^2W’}−b/{Tr(g)Tr(h)}と変換すると次の数58の方程式が得られる。また、その3つの解は互いに0を1に、1を2に、2を0に置き換えた形になっており、{0,1,2}で区別できる。
Figure 2013195453
Tr3/1[Tr6/3(g)Tr6/3(h)]とTr3/1[Tr6/3(g)Tr6/3(h)^{p^m}]とTr3/1[Tr6/3(g)Tr6/3(h)^{p^{2m}}]の拡大体表現は次の数59のようになる。
Figure 2013195453
ここでlで代表されるベクトルがW’に関する上記の方程式の解を表しFp^{3m}の元である。乗算値Tr(gh)とTr(g^{p^{3m}}h)の取りうる値は次の数60のようになる。
Figure 2013195453
以上をまとめると乗算値の取りうる値は次の数61のようになる。
Figure 2013195453
ある(l,l)が乗算値Tr(gh)を表すとすると、乗算値と付加データで乗算値の拡大体表現を次の数62のように表すことができる。
Figure 2013195453
一方入力は次の数63のように表わせた。
Figure 2013195453
従って上記の出力の式と、入力から計算される乗算の式と、を互いに等しいとして、入力である(i,i,j,j)から出力とする(k,k,l,l)を計算する。
このように、第1の実施形態にかかる演算装置では、例えば射影表現または拡大体表現への表現変換を行うことなく、トレース表現での演算を行うことができる。これにより、全体の計算量を削減可能となる。
(第2の実施形態)
第2の実施形態では、特性多項式の係数が全て決定している場合における乗算方法を示す。
図3は、第2の実施形態にかかる演算装置100−2の構成の一例を示すブロック図である。図3に示すように、演算装置100−2は、受付部101と、係数算出部102−2と、求解部103と、選択部104と、決定部105と、出力制御部106と、を備えている。
第2の実施形態では、係数算出部102−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる演算装置100のブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
係数算出部102−2は、予め求められた特性多項式の係数を用いて、乗算値の取りうる値を根として持つ多項式の係数を算出する点が、第1の実施形態の係数算出部102と異なっている。以下に本実施形態での係数の算出方法について説明する。
特性多項式が次の数64のように与えられるとする。定数項は、代数的トーラスT(Fp^m)の元gのノルムが1であることより導かれる。
Figure 2013195453
乗算値の取りうる値を根として持つ次の数65の多項式の係数を特性多項式の係数から計算する。
Figure 2013195453
(g,h)は、例えばn=2のときd(g,h)=a(g)Tr(h^2)+Tr(g^2)a(h)となる。n=3のときd(g,h)=a(g)Tr(h^2)+Tr(g^2)a(h)+a(g)a(h)、n=4のときd(g,h)=a(g)Tr(h^2)+Tr(g^2)a(h)+a(g)a(h)+2a(g)+2a(h)−12となる。ここでa(g)とd(g,h)は以下の数66のように表わされている。d(h)も同様である。
Figure 2013195453
従って、係数算出部102−2は、特性多項式の係数と特性多項式から得られるトレース値の漸化式を用いて、d(g,h)を、d(g)、d(h)、Tr(g^i)および、Tr(h^i)から計算することで、乗算値の取りうる値を根として持つ多項式の係数を計算する。
求解部103は、上記多項式の求根を行う。選択部104は、得られたn個の根から、元gに関する特性多項式の係数に対する付加データと元hに関する特性多項式の係数に対する付加データとを用いて乗算値を1つ選択する。また、決定部105が、元gに関する特性多項式の係数に対する付加データと元hに関する特性多項式の係数に対する付加データとを用いて、乗算値の付加データを決定する。
以上説明したとおり、第1から第2の実施形態によれば、表現変換をせずにトレース表現での演算を行うことができ、全体の計算量を削減することができる。
次に、第1または第2の実施形態にかかる演算装置のハードウェア構成について図4を用いて説明する。図4は、第1または第2の実施形態にかかる演算装置のハードウェア構成を示す説明図である。
第1または第2の実施形態にかかる演算装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1または第2の実施形態にかかる演算装置で実行される演算プログラムは、ROM52等に予め組み込まれて提供される。
第1または第2の実施形態にかかる演算装置で実行される演算プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1または第2の実施形態にかかる演算装置で実行される演算プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態にかかる演算装置で実行される演算プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1または第2の実施形態にかかる演算装置で実行される演算プログラムは、コンピュータを上述した演算装置の各部(受付部、係数算出部、求解部、選択部、決定部、出力制御部)として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体から演算プログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100、100−2 演算装置
101 受付部
102、102−2 係数算出部
103 求解部
104 選択部
105 決定部
106 出力制御部

Claims (3)

  1. 有限体の乗法群の部分群の要素をトレース表現で表した複数の入力データと、前記入力データそれぞれの共役元を区別するための複数の第1付加データとを受付ける受付部と、
    複数の前記入力データに対する予め定められた演算処理の演算結果の取りうる値を解とする方程式の係数を、複数の前記入力データに基づいて算出する係数算出部と、
    算出された前記係数を有する方程式の複数の解を求める求解部と、
    前記第1付加データに基づいて、複数の前記解から1の解を前記演算結果として選択する選択部と、
    前記第1付加データに基づいて、選択された前記演算結果の共役元を区別するための第2付加データを決定する決定部と、
    選択された前記演算結果と、前記第2付加データと、を出力する出力制御部と、
    を備える演算装置。
  2. 前記係数算出部は、複数の前記入力データに対する特性多項式の係数と、複数の前記入力データとを用いて、前記方程式の係数を算出する、
    請求項1に記載の演算装置。
  3. 前記第1付加データは、前記入力データと前記共役元との間の大きさの順序を表し、
    前記選択部は、複数の前記解から、複数の前記第1付加データが表す順序の組み合わせに応じて定まる1の解を前記演算結果として選択する、
    請求項1に記載の演算装置。
JP2012059235A 2012-03-15 2012-03-15 演算装置 Expired - Fee Related JP5554357B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012059235A JP5554357B2 (ja) 2012-03-15 2012-03-15 演算装置
US13/727,070 US9280518B2 (en) 2012-03-15 2012-12-26 Public key cryptography computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059235A JP5554357B2 (ja) 2012-03-15 2012-03-15 演算装置

Publications (2)

Publication Number Publication Date
JP2013195453A true JP2013195453A (ja) 2013-09-30
JP5554357B2 JP5554357B2 (ja) 2014-07-23

Family

ID=49158682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059235A Expired - Fee Related JP5554357B2 (ja) 2012-03-15 2012-03-15 演算装置

Country Status (2)

Country Link
US (1) US9280518B2 (ja)
JP (1) JP5554357B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5178810B2 (ja) * 2010-12-09 2013-04-10 株式会社東芝 伸長装置および圧縮装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049216A (ja) * 2008-08-25 2010-03-04 Toshiba Corp 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム
WO2011010383A1 (ja) * 2009-07-23 2011-01-27 株式会社東芝 演算装置
WO2011030468A1 (ja) * 2009-09-14 2011-03-17 株式会社東芝 演算装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012845A1 (en) * 1993-11-04 1995-05-11 Cirrus Logic, Inc. Finite field inversion
US6389442B1 (en) * 1997-12-30 2002-05-14 Rsa Security Inc. Efficient finite field multiplication in normal basis
US5964826A (en) * 1998-01-13 1999-10-12 National Science Council Division circuits based on power-sum circuit for finite field GF(2m)
US7133889B2 (en) * 2001-09-20 2006-11-07 Stmicroelectronics, Inc. Flexible galois field multiplier
TWI406138B (zh) * 2010-04-01 2013-08-21 Ind Tech Res Inst 循序運算的伽羅瓦乘法架構與方法
JP5178810B2 (ja) 2010-12-09 2013-04-10 株式会社東芝 伸長装置および圧縮装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049216A (ja) * 2008-08-25 2010-03-04 Toshiba Corp 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム
WO2011010383A1 (ja) * 2009-07-23 2011-01-27 株式会社東芝 演算装置
WO2011030468A1 (ja) * 2009-09-14 2011-03-17 株式会社東芝 演算装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG200500063010; 篠永  茂,藤井 吉弘,野上 保之,森川 良孝: '"XTRへの応用を目的とした拡大体F<SB>p6m</SB>の高速実装"' 電子情報通信学会技術研究報告 Vol.103,No.315, 20030912, p.81-88, 社団法人電子情報通信学会 *
CSNJ201110015226; 米村  智子,磯谷 泰知,村谷 博文,花谷 嘉一: '"代数的トーラス上の暗号系〜圧縮率4および6を達成する圧縮伸長写像〜"' 2011年  暗号と情報セキュリティシンポジウム  SCIS2011  [CD-ROM] 3C3 数論応用(1),3C3-1, 20110128, p.1-4, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6014017256; 米村  智子,磯谷 泰知,村谷 博文,花谷 嘉一: '"代数的トーラス上の暗号系〜圧縮率4および6を達成する圧縮伸長写像〜"' 2011年  暗号と情報セキュリティシンポジウム  SCIS2011  [CD-ROM] 3C3 数論応用(1),3C3-1, 20110128, p.1-4, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6014017259; KORAY KARABINA: '"TORUS-BASED COMPRESSION BY FACTOR 4 AND 6"' Cryptology ePrint Archive: Report 2010/525 Version: 20101020:144304, 20101020, p.1-20, [online] *
JPN6014017262; Tomoko Yonemura, Taichi Isogai, Hirofumi Muratani, and Yoshikazu Hanatani: '"Factor-4 and 6 (De)compression for Values of Pairings using Trace Maps"' Cryptology ePrint Archive: Report 2012/593 Version: 20121025:123940, 20121025, p.1-19, [online] *
JPN6014017265; 篠永  茂,藤井 吉弘,野上 保之,森川 良孝: '"XTRへの応用を目的とした拡大体F<SB>p6m</SB>の高速実装"' 電子情報通信学会技術研究報告 Vol.103,No.315, 20030912, p.81-88, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
US20130246489A1 (en) 2013-09-19
JP5554357B2 (ja) 2014-07-23
US9280518B2 (en) 2016-03-08

Similar Documents

Publication Publication Date Title
US10003460B2 (en) Secret quotient transfer device, secret bit decomposition device, secret modulus conversion device, secret quotient transfer method, secret bit decomposition method, secret modulus conversion method, and programs therefor
EP3296981A1 (en) Secret sharing method, secret sharing system, sharing device, and program
EP3096309B1 (en) Secret calculation method, secret calculation system, sorting device, and program
JP6629466B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
CN108923907B (zh) 一种基于模容错学习问题的同态内积方法
JP6044738B2 (ja) 情報処理装置、プログラム及び記憶媒体
JP5852518B2 (ja) 認証暗号化装置、認証復号装置、およびプログラム
Yao et al. Novel RNS parameter selection for fast modular multiplication
JPWO2006030496A1 (ja) 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム
EP3297171A1 (en) Decoding device, decoding method, and program
JP5554357B2 (ja) 演算装置
JP2009169171A (ja) 楕円曲線の点圧縮装置、楕円曲線の点展開装置、それらの方法及びプログラム
US10505710B2 (en) Electronic calculating device
JP5289571B2 (ja) 演算装置
JP5858938B2 (ja) 計算装置、計算システム、計算方法
KR100954843B1 (ko) 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체
WO2011030468A1 (ja) 演算装置
JP3959076B2 (ja) 有限体の二乗演算方法及び二乗演算装置
CN109952558B (zh) 用于将余数系统表示转换为基数表示的电子计算装置
JP4629972B2 (ja) ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US20140337403A1 (en) Computing device, computing method, and computer program product
JP3768888B2 (ja) 離散対数検証方法、この方法を実施する装置、プログラムおよびプログラムを記憶した記憶媒体
US8363825B1 (en) Device for and method of collision-free hashing for near-match inputs
Repka Note on Modular Reduction in Extended Finite Fields and Polynomial Rings for Simple Hardware
JP2009058712A (ja) 楕円曲線暗号演算装置、方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140421

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: 20140430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140528

LAPS Cancellation because of no payment of annual fees