JP4724200B2 - べき乗計算装置及びプログラム - Google Patents
べき乗計算装置及びプログラム Download PDFInfo
- Publication number
- JP4724200B2 JP4724200B2 JP2008108150A JP2008108150A JP4724200B2 JP 4724200 B2 JP4724200 B2 JP 4724200B2 JP 2008108150 A JP2008108150 A JP 2008108150A JP 2008108150 A JP2008108150 A JP 2008108150A JP 4724200 B2 JP4724200 B2 JP 4724200B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- result
- calculation result
- storage means
- sending
- 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.)
- Active
Links
Images
Description
合成数次拡大体としては、素体GF(p)を、m次多項式F(x)を用いて拡大して有限体GF(pm)を構成し、この有限体GF(pm)を、l次多項式G(x)を用いて更に拡大して有限体GF(pml)を構成している場合を前提とする。
始めに、べき乗演算Pkを行うため、合成数次拡大体上の値P(∈GF(q)=GF(plm))と、べき指数k(=(kt-1,kt-2,…,ki,…,k1,k0)2)とが入力される。なお、べき指数kを表す式k=(kt-1,kt-2,…,ki,…,k1,k0)2は、べき指数kの2進数表記を意味している。ここで、kiは、べき指数kのi桁目の値を表す。iは、べき指数kの桁を表し、t−1から0までの整数が用いられる。
f2(x)=x4+a3x3+a0
f3(x)=x4+a0
このような剰余演算は、xの4乗以上の項に対し、再帰的にf1(x)、f2(x)及びf3(x)を用いてそれぞれ実行される。
(i)2番目の次数が3次のf1(x)及びf2(x)は、剰余演算を3回実行するのに対し、2番目の次数が0次のf3(x)は剰余演算を1回実行するだけで済む。
Masaaki Shirase, Tsuyoshi Takagi, Eiji Okamoto, "Some Efficient Algorithms for the Final Exponentiation of ηT Pairing", Cryptology ePrint Archive: Report 2006/431,2006, http://eprint.iacr.org/2006/431 Paulo S.L.M.Barreto, Steven Galbraith, Colm O hEigeartaigh, Michael Scott, "Efficient Pairing Computation on Supersingular Abelian Varieties", ePrint. Archive, Report 2004/375, 2004. http://eprint.iacr.org/2004/375
本発明の一つの局面によれば、素体GF(p)をm次多項式F(x)及びl次多項式G(x)により順次拡大して構成された有限体である合成数次拡大体GF(pml)に関し、m次多項式F(x)のゼロ以外の項よりもゼロ以外の項が少ない多項式F’(x)に基づく、Q=Q2 mod F’(x)G(x)及びQ=P×Q mod F’(x)G(x)の計算を実行し、最後に、Q=Q mod F(x)G(x)の計算を実行する。
第1の実施形態では、合成数次拡大体において、AOP(All One Polynomial)と呼ばれる多項式をF(x)に用いることにより、剰余演算の高速化を図っている。
この多項式f(x)に(x−1)を乗じると、次に示す多項式xm+1−1が得られる。
これにより、m+1次の項を式(x−1)f(x)で剰余演算した場合、次式に示すように、m+1次の項が1に置換されることになる。
従って、剰余演算を非常に高速に実行可能である。
本実施形態…200*T*1+100*T*1+1=300T+1回
以上のように第1の実施形態によれば、AOP(All One Polynomial)と呼ばれる多項式をF(x)に用い、途中の剰余演算をmod (x−1)F(x)により実行し、最後の剰余演算をmod F(x)により実行する構成により、GF(pm)上の剰余演算回数を大幅に削減可能であることが分かる。
第2の実施形態では、第1の実施形態をより一般的に構成したものであり、第1の実施形態のAOP(=f(x)=F(x))及び(x−1)F(x)に代えて、より一般的な多項式F(x)及びF’(x)を用いている。換言すると、第2の実施形態の一つの具体例が第1の実施形態となっている。
図1は本発明の第1の実施形態に係るべき乗計算装置の構成を示す模式図であり、図2は同装置が演算可能な有限体を示す模式図である。このべき乗計算装置100は、入出力部10、べき乗計算制御部20、メモリ30、GF(plm)計算部40、GF(pm)計算部50及びGF(p)計算部60を備えている。なお、各計算部40〜60は、図2に示す如き、各有限体GF(plm),GF(pm),GF(p)上の計算を担当している。
図4は本発明の第2の実施形態に係る べき乗計算装置の構成を示す模式図であり、図1と同一機能部については同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
Claims (4)
- 素体GF(p)をm次多項式F(x)及びl次多項式G(x)により順次拡大して構成された有限体である合成数次拡大体GF(pml)に関し、この合成数次拡大体GF(pml)上の値P及びべき指数kに基づき、べき乗計算を実行して得られた計算結果Pkを出力する機能を有し且つ記憶手段を備えた べき乗計算装置であって、
前記値Pと、tビットの前記べき指数k=(kt-1,kt-2,…,ki,…,k1,k0)(但し、iはt−1から0までの整数)とを入力するための入力手段と、
前記入力された値P及びべき指数kを前記記憶手段に書き込む手段と、
前記記憶手段内の値Pを途中の計算結果Qに代入し、当該計算結果Qを当該記憶手段に書き込む手段と、
前記記憶手段内のべき指数kにおける処理対象の桁iを最上位桁t−1に初期化し、当該処理対象の桁iを前記記憶手段に書き込む手段と、
前記m次多項式F(x)のゼロ以外の項よりもゼロ以外の項が少ない多項式F’(x)に基づく、Q=Q2 mod F’(x)G(x)の計算命令と、前記記憶手段内の途中の計算結果Qとを送出する第1計算命令送出手段と、
前記第1計算命令送出手段から受けた計算命令と、途中の計算結果Qとに基づいて、Q=Q2 mod F’(x)G(x)の計算を実行し、得られた計算結果Qを送出する第1計算実行手段と、
前記第1計算実行手段から受けた計算結果Qにより前記記憶手段内の計算結果Qを更新する手段と、
前記記憶手段内の処理対象のi桁目の値kiが1であるか否かを判定する第1判定手段と、
前記第1判定手段による判定の結果、i桁目の値kiが1である場合、Q=P×Q mod F’(x)G(x)の計算命令と、前記記憶手段内の途中の計算結果Qと、前記記憶手段内の値Pとを送出する第2計算命令送出手段と、
前記第2計算命令送出手段から受けた計算命令と、途中の計算結果Qと、値Pとに基づいて、Q=P×Q mod F’(x)G(x)の計算を実行し、得られた計算結果Qを送出する第2計算実行手段と、
前記第2計算実行手段から受けた計算結果Qにより前記記憶手段内の計算結果Qを更新する手段と、
前記第1判定手段による判定結果が否の場合、又は前記第2計算実行手段による計算結果Qを更新した場合、前記記憶手段内の処理対象の桁iが0であるか否かを判定する第2判定手段と、
前記第2判定手段による判定結果が否の場合、前記記憶手段内の処理対象の桁iを−1だけ更新し、前記第1計算命令送出手段を再度実行する手段と、
前記第2判定手段による判定の結果、処理対象の桁iが0である場合、Q=Q mod F(x)G(x)の計算命令と、前記記憶手段内の途中の計算結果Qとを送出する第3計算命令送出手段と、
前記第3計算命令送出手段から受けた計算命令と、途中の計算結果Qと、値Pとに基づいて、Q=Q mod F(x)G(x)の計算を実行し、得られた計算結果Qを送出する第3計算実行手段と、
前記第3計算実行手段による計算結果Qにより前記記憶手段内の計算結果Qを更新し、更新後の計算結果Qを前記べき乗計算の計算結果Pkとして出力する手段と、
を備えたことを特徴とする べき乗計算装置。 - 請求項1に記載のべき乗計算装置において、
前記m次多項式F(x)は、m+1個の項を有し、当該各項の全ての係数が1であるm次多項式F(x)=xm+xm-1+…+x+1であり、
前記多項式F’(x)は、前記m次多項式F(x)に(x−1)を乗じて得られる多項式F’(x)=xm+1−1であることを特徴とする べき乗計算装置。 - 素体GF(p)をm次多項式F(x)及びl次多項式G(x)により順次拡大して構成された有限体である合成数次拡大体GF(pml)に関し、この合成数次拡大体GF(pml)上の値P及びべき指数kに基づき、べき乗計算を実行して得られた計算結果Pkを出力する機能を有し且つ記憶手段を備えた べき乗計算装置に用いられるプログラムであって、
前記べき乗計算装置を、
前記値Pと、tビットの前記べき指数k=(kt-1,kt-2,…,ki,…,k1,k0)(但し、iはt−1から0までの整数)とを入力する入力手段、
前記入力された値P及びべき指数kを前記記憶手段に書き込む手段、
前記記憶手段内の値Pを途中の計算結果Qに代入し、当該計算結果Qを当該記憶手段に書き込む手段、
前記記憶手段内のべき指数kにおける処理対象の桁iを最上位桁t−1に初期化し、当該処理対象の桁iを前記記憶手段に書き込む手段、
前記m次多項式F(x)のゼロ以外の項よりもゼロ以外の項が少ない多項式F’(x)に基づく、Q=Q2 mod F’(x)G(x)の計算命令と、前記記憶手段内の途中の計算結果Qとを送出する第1計算命令送出手段、
前記第1計算命令送出手段から受けた計算命令と、途中の計算結果Qとに基づいて、Q=Q2 mod F’(x)G(x)の計算を実行し、得られた計算結果Qを送出する第1計算実行手段、
前記第1計算実行手段から受けた計算結果Qにより前記記憶手段内の計算結果Qを更新する手段、
前記記憶手段内の処理対象のi桁目の値kiが1であるか否かを判定する第1判定手段、
前記第1判定手段による判定の結果、i桁目の値kiが1である場合、Q=P×Q mod F’(x)G(x)の計算命令と、前記記憶手段内の途中の計算結果Qと、前記記憶手段内の値Pとを送出する第2計算命令送出手段、
前記第2計算命令送出手段から受けた計算命令と、途中の計算結果Qと、値Pとに基づいて、Q=P×Q mod F’(x)G(x)の計算を実行し、得られた計算結果Qを送出する第2計算実行手段、
前記第2計算実行手段から受けた計算結果Qにより前記記憶手段内の計算結果Qを更新する手段、
前記第1判定手段による判定結果が否の場合、又は前記第2計算実行手段による計算結果Qを更新した場合、前記記憶手段内の処理対象の桁iが0であるか否かを判定する第2判定手段、
前記第2判定手段による判定結果が否の場合、前記記憶手段内の処理対象の桁iを−1だけ更新し、前記第1計算命令送出手段を再度実行する手段、
前記第2判定手段による判定の結果、処理対象の桁iが0である場合、Q=Q mod F(x)G(x)の計算命令と、前記記憶手段内の途中の計算結果Qとを送出する第3計算命令送出手段、
前記第3計算命令送出手段から受けた計算命令と、途中の計算結果Qと、値Pとに基づいて、Q=Q mod F(x)G(x)の計算を実行し、得られた計算結果Qを送出する第3計算実行手段、
前記第3計算実行手段による計算結果Qにより前記記憶手段内の計算結果Qを更新し、更新後の計算結果Qを前記べき乗計算の計算結果Pkとして出力する手段、
として機能させるためのプログラム。 - 請求項3に記載のプログラムにおいて、
前記m次多項式F(x)は、m+1個の項を有し、当該各項の全ての係数が1であるm次多項式F(x)=xm+xm-1+…+x+1であり、
前記多項式F’(x)は、前記m次多項式F(x)に(x−1)を乗じて得られる多項式F’(x)=xm+1−1であることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008108150A JP4724200B2 (ja) | 2008-04-17 | 2008-04-17 | べき乗計算装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008108150A JP4724200B2 (ja) | 2008-04-17 | 2008-04-17 | べき乗計算装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009258437A JP2009258437A (ja) | 2009-11-05 |
JP4724200B2 true JP4724200B2 (ja) | 2011-07-13 |
Family
ID=41385945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008108150A Active JP4724200B2 (ja) | 2008-04-17 | 2008-04-17 | べき乗計算装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4724200B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4043119B2 (ja) * | 1998-11-16 | 2008-02-06 | 富士通株式会社 | 有限体の定義多項式を用いた剰余演算装置 |
JP3639153B2 (ja) * | 1999-08-16 | 2005-04-20 | 日本電信電話株式会社 | 逐次拡大を用いた楕円曲線演算装置及びプログラム記録媒体 |
JP2002040937A (ja) * | 2000-07-24 | 2002-02-08 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 暗号回路および制御方法 |
JP4202701B2 (ja) * | 2002-09-11 | 2008-12-24 | 株式会社東芝 | 多項式剰余系演算装置、方法及びプログラム |
JP2006201719A (ja) * | 2005-01-24 | 2006-08-03 | Nippon Telegr & Teleph Corp <Ntt> | 多項式べき乗演算装置、多項式べき乗演算方法、そのプログラム及びその記録媒体 |
-
2008
- 2008-04-17 JP JP2008108150A patent/JP4724200B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009258437A (ja) | 2009-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4304215B2 (ja) | 秘密分散装置、方法及びプログラム | |
JP4334582B2 (ja) | 秘密分散装置、方法及びプログラム | |
WO2018135563A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
JP2008026498A (ja) | 暗号装置、復号装置、プログラム及び方法 | |
KR102075848B1 (ko) | 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체 | |
Karmakar et al. | Efficient finite field multiplication for isogeny based post quantum cryptography | |
JP5147085B2 (ja) | 演算方法及び演算装置 | |
JP6825119B2 (ja) | 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム | |
JP4724200B2 (ja) | べき乗計算装置及びプログラム | |
JP6337133B2 (ja) | 非減少列判定装置、非減少列判定方法及びプログラム | |
JP5175983B2 (ja) | 演算装置 | |
JP4202701B2 (ja) | 多項式剰余系演算装置、方法及びプログラム | |
JP4663421B2 (ja) | 離散対数演算装置、方法及びプログラム | |
JP5858938B2 (ja) | 計算装置、計算システム、計算方法 | |
JP4970291B2 (ja) | ペアリング計算装置及びプログラム | |
JP4692022B2 (ja) | 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム | |
JP7191804B2 (ja) | 安全性評価装置、安全性評価方法及び安全性評価プログラム | |
JP5791562B2 (ja) | 圧縮関数演算装置、圧縮関数演算方法、およびプログラム | |
JP2015026005A (ja) | プログラム変換装置、プログラム変換方法及びプログラム | |
JP5554357B2 (ja) | 演算装置 | |
KR102322431B1 (ko) | Toom 3-Way 곱셈을 위한 양자회로 설계 장치 및 방법 | |
JP4836676B2 (ja) | 素数生成プログラム | |
JP2009258502A (ja) | 乗算装置及びプログラム | |
JP2006201719A (ja) | 多項式べき乗演算装置、多項式べき乗演算方法、そのプログラム及びその記録媒体 | |
CN117879788A (zh) | 集成电路以及运算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20110315 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4724200 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |