JP4664850B2 - 鍵生成装置、プログラム及び方法 - Google Patents
鍵生成装置、プログラム及び方法 Download PDFInfo
- Publication number
- JP4664850B2 JP4664850B2 JP2006094360A JP2006094360A JP4664850B2 JP 4664850 B2 JP4664850 B2 JP 4664850B2 JP 2006094360 A JP2006094360 A JP 2006094360A JP 2006094360 A JP2006094360 A JP 2006094360A JP 4664850 B2 JP4664850 B2 JP 4664850B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- generating
- variable
- format data
- fibration
- 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
Links
- 238000000034 method Methods 0.000 title claims description 104
- 238000004364 calculation method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 31
- 238000013500 data storage Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 55
- 238000012795 verification Methods 0.000 description 25
- 230000014509 gene expression Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 238000004441 surface measurement Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000006467 substitution reaction Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 206010016654 Fibrosis Diseases 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004761 fibrosis Effects 0.000 description 3
- 102100036848 C-C motif chemokine 20 Human genes 0.000 description 2
- 101000713099 Homo sapiens C-C motif chemokine 20 Proteins 0.000 description 2
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 2
- 241000700124 Octodon degus Species 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012884 algebraic function Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Description
前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定手段と、前記次数d 以下の,Fq上定義されたランダムな1変数多項式λx(t)を生成する第1の多項式生成手段と、前記1変数多項式λx(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λy(t)を生成する第2の多項式生成手段と、前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλx(t)となり、且つ少なくとも一方の次数がdとなるように、変数xをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第3の多項式生成手段と、前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第4の多項式生成手段と、前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成手段と、前記決定された形式データにおける定数項c00(t)及び一次の項c10(t)x 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(1,0))をランダムに生成する第5の多項式生成手段と、前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c10(t)を生成する第6の多項式生成手段と、
第1及び第2の発明においては、公開鍵の一部であるファイブレーションX(x, y, t)を生成する際に、ファイブレーションX(x, y, t)の形式にcijxiyjの項を含めた構成により、生成される公開鍵のクラスの制限を除去することができる。
f2(x, y, z, v, w)
f3(x, y, z, v, w) (1)
特に、式(2)に示す如き、3変数のK上の代数方程式の解の集合として定義される空間もK上の代数曲面となる。
一方、代数曲線は、体K上定義された連立(代数)方程式の解の集合のうち、1次元の自由度を持ったものである。よって、例えば次式のように定義される。
本実施形態においては、式(2)のように1つの式で書ける代数曲面のみを扱うので、以下では式(2)を代数曲面の定義方程式のごとく扱う。
h(x, y, t)=0
と定義され、セクションと呼ばれるx, yがtでパラメタライズされた曲線
(x, y, t)=(ux(t), uy(t), t)
が存在する形式の代数曲面を代数曲面Xのファイブレーションといい、Xtなどと表す。なお、以下では簡単のため、ファイブレーションであることが明らかであるときには単なるXと表す。
degux(t) ≦ d,deguy(t) ≦ d
と仮定した上で、ux(t),uy(t)を次式のようにおく。
c1(α0,・・・,αd,β0,・・・,βd)=0
:
c2d(α0,・・・,αd,β0,・・・,βd)=0
(iv) 連立方程式系を解く。
(概要)
本実施形態の公開鍵は、以下の4つである。
2. Fp上の代数曲面Xのファイブレーション: X(x, y, t)=0
3. Fp上の1変数既約多項式f(t)の次数l
4. (秘密鍵である)セクションにおける多項式ux(t), uy(t), vx(t), vy(t)の最大次数d
但し、lは代数曲面のファイブレーションX(x, y, t)とセクションの最大次数dの間に次の式(3)の関係を持つ。
ここで、degx X(x, y, t)は、X(x, y, t)のxのみを変数と考えた時の次数(例えばdegx(x3y2t+xy5t6)=3)である。degy(X(x, y, t)), degt(X(x, y, t)) も同様の次数である。
2. Fp上の代数曲面Xのセクション: D2:(x, y, t)=(vx(t), vy(t), t)
次に、本実施形態における鍵生成方法を説明する。この鍵生成方法は、セクションD1,D2をランダムに選び、セクションD1,D2に対応したファイブレーションXを計算することによって行う。但し、生成された代数曲面が2つのセクションを同時に持つようにするために以下のような工夫が必要となる。代数曲面(のファイブレーション)は、一般に、次式のように書ける。
D1:(x, y, t)=(ux(t),uy(t),t),
D2:(x, y, t)=(vx(t),vy(t),t)
続いて、これらのセクションを代数曲面Xに代入し、次の2つの式を得る。
この式は、関係式(5)と、次の2つの式から明らかである。
(uy(t)−vy(t))|(uy(t)j −vy(t)j)
以上のことを利用して以下に示すアルゴリズムで鍵生成を行うことができる。
始めに、λx(t)|λy(t)となる2つの多項式をランダムに選択する。
次に、本発明の第1の実施形態に係る鍵生成装置の具体的な構成とそのアルゴリズムについて説明する。尚、以下の説明は、理解を助けるための例として、具体的な数値や式を挙げて述べる。但し、これらの数値や式は、あくまでも理解を助けるための例であり、実際に使われる十分な安全性を持つ数値や式とは必ずしも一致していない。これは以下の各実施形態及び各バリエーションでも同様である。なお、必ずしも一致しない数値としては、例えばセクションの最大次数dなどが挙げられる。
鍵生成装置10は、鍵生成のパラメータである素体の標数pとセクションの最大次数dがパラメータ入力部11に入力されると、処理を開始する。ここでは簡単のためp=2, d=3が入力されたとする(ST1)。
代数曲面生成部17は、各1変数多項式c21(t), c10(t), c00(t)を、ステップST3で決定した形式データに設定することにより、代数曲面XのファイブレーションX(x, y, t)を生成する。生成されたファイブレーションX(x, y, t)は、代数曲面生成部17から制御部12に送信される。
X(x, y, t) : x5+y5+(t6+t4+t3+t+1)x2y+(t8+t7+t6+t5+t4+t3+t2)x
+t15+t13+t12+t11+t9+t8+t5+t4+t2+t+1 = 0 (7)
と秘密鍵である2つのセクション
D1:(ux(t),uy(t),t)=(t3+t2, t2+t+1, t)
D2:(vx(t),vy(t),t)=(t3+1, t3+t2+1, t) (8)
が得られた。
次に、本実施形態における幾つかのバリエーションを述べる。
第1のバリエーションは、代数曲面の定義体に関するバリエーションである。本実施形態では、代数曲面の定義体として素体を用いたが、これに限らず、一般の有限体Fq(q=pr)を代数曲面の定義体としてもよい。有限体は、素体と同様に、0での除算を除く四則演算を定義でき、一意的に値が定まるからである。有限体は、素体とその(有限次)拡大体から構成される。拡大体は、素体Fp上の拡大次数rの線形空間の元として定義される。また、拡大体は、当該拡大体の原始多項式によりリダクションが行なわれ、演算が定義される。なお、リダクションは、素体におけるpによるリダクション(割り算)と同種の操作である。
本実施形態における公開鍵・秘密鍵は、第1の実施形態と同じである。
g=1 ⇒ (楕円曲面) (11)
よって、安全な鍵を生成するためには、g≧2の代数曲面を用いることが望ましい。
図9は本発明の第2の実施形態に係る鍵生成装置の全体構成図であり、図2と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した部分の説明を省略する。
前述した第1〜4のバリエーションは、図12及び図13に示すように、本実施形態でも同様に成り立つ。
第5のバリエーションは、代数曲面の総次数dcに基づいて、代数曲面決定部13で代数曲面を絞り込むバリエーションである。第5のバリエーションでは、種数計算部21及び安全性検証部22(ステップST11−2,ST11−3)を省略し、代数曲面決定部13により、予め特殊なクラスの代数曲面を排除している。なお、種数計算部21及び安全性検証部22(ステップST11−2,ST11−3)は省略しなくてもよい。
dc = 3 ⇒ g=0(楕円曲面)
この関係によれば、総次数dcが3以下の代数曲面は、確実に特殊なクラスの代数曲面である。一方、総次数が4以上の代数曲面は、高い確率で特殊なクラスの代数曲面ではない。従って、代数曲面決定部13においては、図14に示すように、ステップST2で選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)を算出し(ST2−2)、得られた総次数dcが4未満か否かを判定する(ST2−3)。
以下、本発明の第1又は第2の実施形態により生成された鍵を使用可能な暗号化・復号処理に関する実施形態を説明する。なお、第1又は第2の実施形態により生成された鍵は、特許文献1記載の暗号化・復号処理にも適用可能である。但し、ここでは、それ以外の暗号化・復号処理に関する実施形態について述べる。なお、第3の実施形態を述べる前に、前提となる安全性証明について述べる。
第1の基準は、2つの平文を暗号化した後に区別できないこと(Indistinguishable(IND))である。第2の基準は、多項式時間において暗号文を操作しても、元の平文に関係する暗号文を作成できないこと(Non-Malleable(NM))である。
本実施形態の公開鍵は以下の5つである。
2.Fp上の代数曲面Xのファイブレーション:X(x,y,t)=0
3.Fp上の1変数既約多項式f(t)の次数l
但し、
degtX(x,y,t)<l (12)
4.(秘密鍵である)セクションにおける多項式ux(t),uy(t),vx(t),vy(t)の最大次数d
5.3変数多項式p(x,y,t)のx,yの最高指数e
秘密鍵は以下の2つの異なるセクションD1,D2である。
2.Fp上の代数曲面Xのセクション:D2:(x,y,t)=(vx(t),vy(t),t)
これらは、前述した鍵生成方法で容易に求めることができる。
m=m0‖m1‖・・・‖ml-1
のようにし、平文多項式m(t)の係数として次式のように埋め込む(平文埋め込み処理)。
0≦mi≦p-1
となるように分割される。なお、平文mは整数であり、例えばメッセージを表す文字コード列が整数に読み替えられることにより、構成されている。
β>degyX(x,y,t)
なる指数α,βに対して xαyβの項を含む (13)
(degxp(x,y,t)+degyp(x,y,t))d+degtp(x,y,t)<l (14)
ここで、degx, degy, degtにより、それぞれ多項式のx,y,tに関する次数を表すものとする。また、q(x,y,t)は、次の条件(15)を満たすように決める。
次に、Fp上ランダムな1変数のl次既約多項式f(t)を決める。既約多項式とは、これ以上因数分解できない多項式のことである。有限体上の1変数多項式の既約性判定は、容易であることが知られている。以上の式m(t),p(x,y,t),q(x,y,t),f(t)及び公開鍵である代数曲面XのファイブレーションX(x,y,t)から、次の式(16)によって暗号文F(x,y,t)を計算する。
暗号文F(x,y,t)を受け取った受信者は、所有する秘密鍵D1,D2を利用して次のように復号を行う。まず、セクションD1,D2を暗号文F(x,y,t)に代入する。ここで、セクションD1,D2を代数曲面X(x,y,t)に代入すると、
X(ux(t),uy(t),t)=0,X(vx(t),vy(t),t)=0により、次の2式h1(t),h2(t)が求まる。
h2(t)=F(vx(t),vy(t),t)=m(t)+f(t)p(vx(t),vy(t),t)
次に、2式を辺々引き算して、次の式(17)を計算する。
(17)
次に、h1(t)−h2(t)を因数分解して、最大次数を持つ因数をf(t)と定める。ここで、最大次数の因子がf(t)であるためには、f(t)の次数をlとした時、条件(18)を満たすようなp(x,y,t)を選択すれば必要十分である。
このためには、条件(19)の両方が成り立つように選択する必要がある。
deg(p(vx(t),vy(t),t))<l
(19)
しかし、送信者にはセクションが秘匿されているので、f(t)の次数lを十分大きく取るとともに、セクションの各要素である多項式ux(t),uy(t),vx(t),vy(t)における次数の最大値dを公開鍵として公開している。即ち、p(x,y,t)を決定するときは条件式(14)を満たしていれば十分である。尚、h1(t)−h2(t)の因数分解は、1変数多項式の因数分解が容易であることから、十分有効な時間内に処理可能である。得られたf(t)でh1(t)を除すると(m(t)の次数がf(t)の次数l以下であることに注意すると)
h1(t)=m(t)+f(t)p(ux(t),uy(t),t)
の関係から、平文多項式m(t)が得られる。
{p(ux(t),uy(t),t)−p(vx(t),vy(t),t)}=0
の場合、失敗する。しかしながら、この失敗は公開鍵であるeに対して無視できる(negligible)確率でしか生じない。
p(ux(t),uy(t),t)=p(vx(t),vy(t),t) (20)
となる確率は1/pe+1である。
g(ux(t))=g(vx(t))
が成り立ち、有限体Fpを無限体にまで拡大したときに無限個の解を持つことになり、ux(t)=vx(t)が従う。また、このように生成された式は、式(20)を満たすような別のp(x,y,t)から同様の手段で得られる多項式とは決して一致しない。実際、式(20)を満たす他のp1(x,y,t),p2(x,y,t)と1変数多項式g1(x),g2(x)に対して
p1(x,y,t)+g1(x)=p2(x,y,t)+g2(x) (21)
であったとする。このとき
p1(x,y,t)−p2(x,y,t)=g2(x)−g1(x)
となる。ここでg1(x)=g2(x)であるならばp1(x,y,t)=p2(x,y,t)となり矛盾するので、g1(x)≠g2(x)である。いま、g(x)=g2(x)−g1(x)とすると、p1(x,y,t)−p2(x,y,t)の性質から
g(ux(t))=g(vx(t))
を満たすので、ux(t)=vx(t)が従う。よって、式(21)を満たすような相異なる(p1(x,y,t),g1(t)),(p2(x,y,t),g2(t))の組は存在しない。尚、p(x,y,t)がyにおいて指数の最大値をとった場合は、xとyの役割を変更することにより証明がそのまま成り立つ。
Fp上定義された次数d以下の2つの相異なるセクションを有する代数曲面のファイブレーションX(x,y,t)=0と自然数lが与えられた時、3変数多項式A(x,y,t)が集合S
f(t)p(x,y,t)+X(x,y,t)q(x,y,t) (22)
という形に書けるか否かを判定する問題である。仮に、多項式g(x,y,t)が2通り以上の書き方で式(22)の形に書けたとする。この場合、攻撃者(問題を解く人)は、複数の書き方のうちの1つの書き方を見出せばよいので、ランダム化多項式判定問題はそれだけ容易となる。しかしp(x,y,t)が条件(13)(14)、q(x,y,t)が条件(15)を満たす限りにおいては、そのようなことはなく一意に書けることが以下のように示せる。
f(t)p(x,y,t)+X(x,y,t)q(x,y,t)
のように書けるとき、その書き方は一意的である。
=f2(t)p2(x,y,t)+X(x,y,t)q2(x,y,t) (23)
仮定からX(x,y,t)は2つの相異なる次数d以下のセクションを持つ代数曲面である。このため、各セクションを(ux(t),uy(t),t),(vx(t),vy(t),t)とすると、次式の関係がある。
p1(ux(t),uy(t),t)−p1(vx(t),vy(t),t)≠0
であるので、
p2(ux(t),uy(t),t)−p2(vx(t),vy(t),t)≠0
である。p1(x,y,t),p2(x,y,t)が条件(14)を満たすことから、次数の関係によって
f2(t)=cf1(t)となる。ここでcは有限体Fpの元である。従って、式(23)の辺々を引いて前式を反映させると、次式を得る。
ここで、代数曲面X(x,y,t)の既約性から(f(t),X(x,y,t))=1となり、Fp[x,y,t]は一意分解整域である。このため、
f1(t)|q2(x,y,t)−q1(x,y,t)
が従う。ここでq(x,y,t)に対する条件(15)により、
degtq2(x,y,t)−q1(x,y,t)<deg f1(t)
であるので
q1(x,y,t)=q2(x,y,t)
となる。従って、
p1(x,y,t)=p2(x,y,t)
となり、c=1即ち
f1(t)=f2(t)
が従う。よって2つの表現は一致する。
=m(t)+f2(t)p2(x,y,t)+X(x,y,t)q2(x,y,t)
(24)
ここで、仮定からX(x,y,t)は2つのセクションを持つ代数曲面なので、それらのセクションを(ux(t),uy(t),t),(vx(t),vy(t),t)とすると、次式を書ける。
p1(ux(t),uy(t),t)−p1(vx(t),vy(t),t)≠0
であるので、
p2(ux(t),uy(t),t)−p2(vx(t),vy(t),t)≠0
となる。p1(x,y,t),p2(x,y,t)が条件(14)を満たすことから、次数の関係によって
f2(t)=cf1(t)
となる。よって、式(24)に(ux(t),uy(t),t)と前式を代入することで、
m(t)=f1(t){p1(ux(t),uy(t),t)−cp2(ux(t),uy(t),t)}
を得る。しかし、これはdeg m(t)≧lとなり矛盾する。従って、m(t)+G(x,y,t)はランダム化多項式とはならない。
少なくとも2つのセクションを持つ代数曲面のファイブレーションX(x,y,t)=0と既約多項式f(t)の最小次数lと2つのセクションに含まれる1変数多項式の最大次数dに対応したランダム化多項式G(x,y,t)と、次数l−1以下の1変数多項式m(t)による表現m(t)+G(x,y,t)は一意的である。
deg m1(t),deg m2(t)<lを満たす1変数多項式m1(t),m2(t)とランダム化多項式G1(x,y,t),G2(x,y,t)に対して
m1(t)+G1(x,y,t)=m2(t)+G2(x,y,t)
となる関係があったとする。このとき
m1(t)−m2(t)+G1(x,y,t)
がランダム化多項式となる。すると補題1により、
m1(t)=m2(t)
となり、
G1(x,y,t)=G2(x,y,t)
が従う。よって表現は一意的である。
(ii) 鍵ペアのうち公開鍵pkのみを知っているアルゴリズムA1が何度か適応的に平文を暗号化した後で、2つのメッセージm0,m1を選択する。
(iii) 暗号化オラクルと呼ばれる第3者にm0,m1のどちらかを選んで暗号化させ、暗号文yを得たとする。
(iv) 得た暗号文yから対応するメッセージがm0であるかm1であるかをアルゴリズムA2を利用して当てる
A2(x0,x1,s,y)=b
一方、INDにおいては、答えは0か1なのであるから、出鱈目に回答した場合1/2の確率で正解となる。そこで、正解率(成功確率)が1/2から隔たる度合いが問題となる。即ち、確率
η0(x,y,t)=F(x,y,t)−m0(t)
を作成し、アルゴリズムAによって結果D(η0,S)を得る。ここで、D(η,S)は{0,1}を値域として取る関数で、多項式ηがランダム化多項式の集合Sに属する場合1、属さない場合0とする。敵Cは、D(η0,S)の値が0ならばb=1を、D(η0,S)値が1ならばb=0を出力する。以上の処理はアルゴリズムAが多項式時間で終了することを仮定しているので、多項式時間で終了する。
本節では、上述した議論でその安全性がランダム化多項式判定問題に帰着された本発明の公開鍵暗号に関し、パラメータの具体的な設定方法を説明する。
l(d)=(2d+1)e(d)+1 (25)
とすれば良いことが分かる。また、3変数多項式p(x,y,t)のx,yの最大指数e(d)は復号の失敗確率に関するパラメータである。失敗確率は命題1により1/pe(d)+1である。従って、失敗確率を2nとしたければ、
(|p|−1)(e(d)+1)>n
を満たすようにとれば良い。ここで|p|はpのビット長を表す。
次に、本実施形態の公開鍵暗号における暗号装置、復号装置の具体的な構成とそのアルゴリズムについて説明する。図17は本発明の第3の実施形態に係る暗号装置の全体構成図であり、図18は同実施形態における復号装置の全体構成図である。
暗号装置30においては、平文入力部30から平文(メッセージ)mが入力され(ST31)、公開鍵入力部32から公開鍵X(x,y,t),p,l,d,eが入力されると(ST32)、暗号化処理を開始する。入力された公開鍵のうち、1変数既約多項式f(t)の次数であるlと素体の標数pとが取得され(ST33)、l,pが平文埋め込み部33に送られる。
m=0x315763ef25c04c792ef151
であるとする。
+5t12+12t11+0t10+4t9+12t8+7t7+9t6+2t5+14t4
+15t3+t2+5t+1
平文埋め込み部33は、平文多項式m(t)を暗号化部34に送信する。一方で、公開鍵入力部32は、公開鍵X(x,y,t),p,l,d,eを暗号化部34に送信する。
復号装置40においては、暗号文入力部41から暗号文F(x,y,t)を取得し(ST41)、鍵入力部42から公開鍵X(x,y,t),pと秘密鍵を取得すると(ST42)、復号処理を開始する。秘密鍵は2つのセクションD1,D2である。取得された暗号文と鍵情報は復号部43に送られる。
第6のバリエーションは、本実施形態の公開鍵におけるp,l,d,eを固定パラメータとする構成により、公開鍵のサイズを減らすバリエーションである。勿論これらの一部だけを固定にする利用方法も考えられる。
F(x,y,t)=m(t)−f(t)p(x,y,t)−X(x,y,t)q(x,y,t)
のように変形しても同様に暗号化/復号が可能であり、同様の安全性が証明可能である。このように本発明の趣旨に反しない範囲で暗号化の式を変形し、それに伴い復号処理を変更することが十分可能である。
次に、本発明の第4の実施形態について説明する。本実施形態の公開鍵と秘密鍵は、第3の実施形態と同じである。本実施形態の公開鍵暗号は、受動的な攻撃に関して安全性(IND−CPA)を保証した第3の実施形態に比べ、より高い安全性を保証するものであり、具体的には、能動的な攻撃に関しても安全性(IND−CCA)を保証する。
次に、本発明の第4の実施形態について説明する。なお、本実施形態の公開鍵と秘密鍵は第3の実施形態と同様なので、説明を省略する。鍵生成に関しても第3の実施形態と同様である。
ステップST31〜ST33までの処理は、前述した通りに実行される。
bq=|p|+|dx|+|dy|+|dt|
ここで、|a|はaのビット長を意味する。また、bpはp(x,y,t)の1つの項ai,j,kxiyjtkを生成するために必要なブロックサイズである。同様にbqはq(x,y,t)の1つの項bi,j,kxiyjtkを生成するために必要なブロックサイズである。
H(m‖r)=α1‖・・・‖αg‖β1‖・・・‖βh
とする(ST36−5’)。
|γ0|=|p|,|γ1|=|ex|,|γ2|=|ey|,|γ3|=|et|
の大きさで
αn=γ0 (n)‖γ1 (n)‖γ2 (n)‖γ3 (n)
のごとく分割される(ST36’−7)。
i=γ1 (n) (mod ex)
j=γ2 (n) (mod ey)
k=γ3 (n) (mod et)
(ST36’−8)
p(x,y,t)+=axiyjtk (ST36’−9)
なお、記号“+=”は、左辺に右辺を足し込む旨を意味する。
|ζ0|=|p|,|ζ1|=|dx|,|ζ2|=|dy|,|ζ3|=|dt|
の大きさで
βn=ζ0 (m)‖ζ1 (m)‖ζ2 (m)‖ζ3 (m)
のごとく分割される(ST37’−2)。
i=ζ1 (m) (mod dx)
j=ζ2 (m) (mod dy)
k=ζ3 (m) (mod dt)
(ST37’−3)
q(x,y,t)+=bxiyjtk (ST37’−4)
これにより、3変数多項式q(x,y,t)が生成される。多項式生成部36’は、これら3変数多項式p(x,y,t),q(x,y,t)を暗号化部34’に出力する。
F(x,y,t)=M(t)+f(t)p(x,y,t)+X(x,y,t)q(x,y,t)によって暗号文F(x,y,t)を計算する(ST38’)。得られた暗号文F(x,y,t)は、前述同様に、暗号文出力部37から出力される(ST39)。
ステップST41〜ST47までの処理は、前述した通りに実行される。これにより、復号部43では、ステップST41で入力された暗号文F(x,y,t)から、平文多項式M(t)が得られる。
第3の実施形態で述べた第6〜第9のバリエーションは、本実施形態でもそのまま成り立つ。すなわち、第6のバリエーションとして、公開鍵におけるp,l,d,eの一部又は全部を固定パラメータとし、公開鍵のサイズを減らすことができる。
F(x,y,t)=m(t)−f(t)p(x,y,t)−X(x,y,t)q(x,y,t)
のように変形して暗号化/復号してもよい。
Claims (24)
- 公開鍵の一部であり、且つ有限体Fq(但しq=pr(pは素数、rは拡大次数))上定義された代数曲面XのファイブレーションX(x, y, t)=0 と、前記ファイブレーションX(x, y, t)=0に対応する2つのセクションD1,D2である秘密鍵とを生成するための鍵生成装置であって、
前記公開鍵の他の一部であるセクションの最大の次数d 、前記素数p及び前記拡大次数r を含むパラメータが記憶されるパラメータ記憶手段と、
前記ファイブレーションX(x, y, t)の形式データの候補を、下記式に基づいて、tの1変数多項式cij(t)を係数としたxiyjの多項式として表す複数の形式データが記憶された形式データ記憶手段と、
前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定手段と、
前記次数d 未満の,Fq上定義されたランダムな1変数多項式λx(t)を生成する第1の多項式生成手段と、
前記1変数多項式λx(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λy(t)を生成する第2の多項式生成手段と、
前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλx(t)となり、且つ少なくとも一方の次数がdとなるように、変数xをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第3の多項式生成手段と、
前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第4の多項式生成手段と、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成手段と、
前記決定された形式データにおける定数項c00(t)及び一次の項c10(t)x 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(1,0))をランダムに生成する第5の多項式生成手段と、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c10(t)を生成する第6の多項式生成手段と、
を備えたことを特徴とする鍵生成装置。 - 公開鍵の一部であり、且つ有限体Fq(但しq=pr(pは素数、rは拡大次数))上定義された代数曲面XのファイブレーションX(x, y, t)=0 と、前記ファイブレーションX(x, y, t)=0に対応する2つのセクションD1,D2である秘密鍵とを生成するための鍵生成装置であって、
前記公開鍵の他の一部であるセクションの最大の次数d 、前記素数p及び前記拡大次数r を含むパラメータが記憶されるパラメータ記憶手段と、
前記ファイブレーションX(x, y, t)の形式データの候補を、下記式に基づいて、tの1変数多項式cij(t)を係数としたxiyjの多項式として表す複数の形式データが記憶された形式データ記憶手段と、
前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定手段と、
前記次数d 未満の,Fq上定義されたランダムな1変数多項式λy(t)を生成する第1の多項式生成手段と、
前記1変数多項式λy(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λx(t)を生成する第2の多項式生成手段と、
前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第3の多項式生成手段と、
前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第4の多項式生成手段と、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成手段と、
前記決定された形式データにおける定数項c00(t)及び一次の項c01(t)y 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(0,1))をランダムに生成する第5の多項式生成手段と、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c01(t)を生成する第6の多項式生成手段と、
を備えたことを特徴とする鍵生成装置。 - 請求項1又は請求項2に記載の鍵生成装置において、
前記素数p、前記拡大次数r 及び前記次数d を含むパラメータを入力するためのパラメータ入力手段と、
このパラメータを前記パラメータ記憶手段に書き込むパラメータ書込手段と
を更に備えたことを特徴とする鍵生成装置。 - 請求項1乃至請求項3のいずれか1項に記載の鍵生成装置において、
前記生成されたファイブレーションX(x, y, t)における各々の変数x, y, t の次数degx X(x, y, t), degy X(x, y, t), degt X(x, y, t)及び前記次数d に基づいて、(deg x X(x, y, t)+degy X(x, y, t))d+degt X(x, y, t) 以上となるように、暗号化用のランダム1変数多項式の最小次数lを定めるランダム1変数多項式最小次数決定手段を更に備えたことを特徴とする鍵生成装置。 - 請求項1乃至請求項4のいずれか1項に記載の鍵生成装置であって、
前記生成されたファイブレーションX(x, y, t)における変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)に基づいて、当該ファイブレーションX(x, y, t)を1変数関数体Fp(t)上の代数曲線C(x, y)とみなしたときの種数g(C)を計算する種数計算手段と、
前記計算された種数g(C)が2未満であるか否かを判定する種数判定手段と、
この判定の結果、種数g(C)が2未満のとき、前記形式データ決定手段から前記種数判定手段までの処理を再実行するように、前記形式データ決定手段を制御する制御手段と
を更に備えたことを特徴とする鍵生成装置。 - 請求項1乃至請求項4のいずれか1項に記載の鍵生成装置であって、
前記生成されたファイブレーションX(x, y, t)における変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)が4未満か否かを判定する総次数判定手段と、
この判定の結果、総次数dcが4未満のとき、前記形式データ決定手段から前記総次数判定手段までの処理を再実行するように、前記形式データ決定手段を制御する制御手段と
を更に備えたことを特徴とする鍵生成装置。 - 請求項1乃至請求項4のいずれか1項に記載の鍵生成装置において、
前記形式データ決定手段は、
前記選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)に基づいて、当該ファイブレーションX(x, y, t)を1変数関数体Fp(t)上の代数曲線C(x, y)とみなしたときの種数g(C)を計算する種数計算手段と、
前記計算された種数g(C)が2未満であるか否かを判定する種数判定手段と、
この判定の結果、種数g(C)が2未満のとき、前記選択した形式データとは異なる形式データを再選択する再選択手段と、
前記再選択した形式データについて前記種数計算手段から前記種数判定手段までの処理を実行するように、当該再選択した形式データを前記種数計算手段に送出する送出手段と
を更に備えたことを特徴とする鍵生成装置。 - 請求項1乃至請求項4のいずれか1項に記載の鍵生成装置において、
前記形式データ決定手段は、
前記選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)が4未満か否かを判定する総次数判定手段と、
この判定の結果、総次数dcが4未満のとき、前記選択した形式データとは異なる形式データを再選択する再選択手段と、
前記再選択した形式データについて前記総次数判定手段の処理を実行するように、当該再選択した形式データを前記総次数判定手段に送出する送出手段と
を更に備えたことを特徴とする鍵生成装置。 - 公開鍵の一部であり、且つ有限体Fq(但しq=pr(pは素数、rは拡大次数))上定義された代数曲面XのファイブレーションX(x, y, t)=0 と、前記ファイブレーションX(x, y, t)=0に対応する2つのセクションD1,D2である秘密鍵とを生成するための鍵生成装置のプログラムであって、
前記鍵生成装置のコンピュータを、
前記公開鍵の他の一部であるセクションの最大の次数d 、前記素数p及び前記拡大次数r を含むパラメータが記憶されるパラメータ記憶手段、
前記ファイブレーションX(x, y, t)の形式データの候補を、下記式に基づいて、tの1変数多項式cij(t)を係数としたxiyjの多項式として表す複数の形式データが記憶された形式データ記憶手段、
前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定手段、
前記次数d 未満の,Fq上定義されたランダムな1変数多項式λx(t)を生成する第1の多項式生成手段、
前記1変数多項式λx(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λy(t)を生成する第2の多項式生成手段、
前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλx(t)となり、且つ少なくとも一方の次数がdとなるように、変数xをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第3の多項式生成手段、
前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第4の多項式生成手段、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成手段、
前記決定された形式データにおける定数項c00(t)及び一次の項c10(t)x 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(1,0))をランダムに生成する第5の多項式生成手段、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c10(t)を生成する第6の多項式生成手段、
として機能させるためのプログラム。 - 公開鍵の一部であり、且つ有限体Fq(但しq=pr(pは素数、rは拡大次数))上定義された代数曲面XのファイブレーションX(x, y, t)=0 と、前記ファイブレーションX(x, y, t)=0に対応する2つのセクションD1,D2である秘密鍵とを生成するための鍵生成装置のプログラムであって、
前記鍵生成装置のコンピュータを、
前記公開鍵の他の一部であるセクションの最大の次数d 、前記素数p及び前記拡大次数r を含むパラメータが記憶されるパラメータ記憶手段、
前記ファイブレーションX(x, y, t)の形式データの候補を、下記式に基づいて、tの1変数多項式cij(t)を係数としたxiyjの多項式として表す複数の形式データが記憶された形式データ記憶手段、
前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定手段、
前記次数d 未満の,Fq上定義されたランダムな1変数多項式λy(t)を生成する第1の多項式生成手段、
前記1変数多項式λy(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λx(t)を生成する第2の多項式生成手段、
前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第3の多項式生成手段、
前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第4の多項式生成手段、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成手段、
前記決定された形式データにおける定数項c00(t)及び一次の項c01(t)y 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(0,1))をランダムに生成する第5の多項式生成手段、
前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c01(t)を生成する第6の多項式生成手段、
として機能させるためのプログラム。 - 請求項9又は請求項10に記載のプログラムにおいて、
前記鍵生成装置のコンピュータを、
前記素数p、前記拡大次数r 及び前記次数d を含むパラメータを入力するためのパラメータ入力手段、
このパラメータを前記パラメータ記憶手段に書き込むパラメータ書込手段、
として機能させるためのプログラム。 - 請求項9乃至請求項11のいずれか1項に記載のプログラムにおいて、
前記鍵生成装置のコンピュータを、
前記生成されたファイブレーションX(x, y, t)における各々の変数x, y, t の次数degx X(x, y, t), degy X(x, y, t), degt X(x, y, t)及び前記次数d に基づいて、(deg x X(x, y, t)+degy X(x, y, t))d+degt X(x, y, t) 以上となるように、暗号化用のランダム1変数多項式の最小次数lを定めるランダム1変数多項式最小次数決定手段、として更に機能させるためのプログラム。 - 請求項9乃至請求項12のいずれか1項に記載のプログラムであって、
前記鍵生成装置のコンピュータを、
前記生成されたファイブレーションX(x, y, t)における変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)に基づいて、当該ファイブレーションX(x, y, t)を1変数関数体Fp(t)上の代数曲線C(x, y)とみなしたときの種数g(C)を計算する種数計算手段、
前記計算された種数g(C)が2未満であるか否かを判定する種数判定手段、
この判定の結果、種数g(C)が2未満のとき、前記形式データ決定手段から前記種数判定手段までの処理を再実行するように、前記形式データ決定手段を制御する制御手段、
として更に機能させるためのプログラム。 - 請求項9乃至請求項12のいずれか1項に記載のプログラムであって、
前記鍵生成装置のコンピュータを、
前記生成されたファイブレーションX(x, y, t)における変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)が4未満か否かを判定する総次数判定手段、
この判定の結果、総次数dcが4未満のとき、前記形式データ決定手段から前記総次数判定手段までの処理を再実行するように、前記形式データ決定手段を制御する制御手段、
として更に機能させるためのプログラム。 - 請求項9乃至請求項12のいずれか1項に記載のプログラムにおいて、
前記形式データ決定手段は、
前記選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)に基づいて、当該ファイブレーションX(x, y, t)を1変数関数体Fp(t)上の代数曲線C(x, y)とみなしたときの種数g(C)を計算する種数計算手段、
前記計算された種数g(C)が2未満であるか否かを判定する種数判定手段、
この判定の結果、種数g(C)が2未満のとき、前記選択した形式データとは異なる形式データを再選択する再選択手段、
前記再選択した形式データについて前記種数計算手段から前記種数判定手段までの処理を実行するように、当該再選択した形式データを前記種数計算手段に送出する送出手段、
を更に備えたプログラム。 - 請求項9乃至請求項12のいずれか1項に記載のプログラムにおいて、
前記形式データ決定手段は、
前記選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)が4未満か否かを判定する総次数判定手段、
この判定の結果、総次数dcが4未満のとき、前記選択した形式データとは異なる形式データを再選択する再選択手段、
前記再選択した形式データについて前記総次数判定手段の処理を実行するように、当該再選択した形式データを前記総次数判定手段に送出する送出手段、
を更に備えたプログラム。 - パラメータ記憶手段、形式データ記憶手段、形式データ決定手段、第1の多項式生成手段、第2の多項式生成手段、第3の多項式生成手段、第4の多項式生成手段、セクション生成手段、第5の多項式生成手段、第6の多項式生成手段、第7の多項式生成手段及びファイブレーション生成手段を有し、公開鍵の一部であり且つ有限体Fq(但しq=pr(pは素数、rは拡大次数))上定義された代数曲面XのファイブレーションX(x, y, t)=0 と、前記ファイブレーションX(x, y, t)=0に対応する2つのセクションD1,D2である秘密鍵とを生成するための鍵生成装置が実行する鍵生成方法であって、
前記パラメータ記憶手段が、前記公開鍵の他の一部であるセクションの最大の次数d 、前記素数p及び前記拡大次数r を含むパラメータを記憶するパラメータ記憶工程と、
前記形式データ記憶手段が、前記ファイブレーションX(x, y, t)の形式データの候補を、下記式に基づいて、tの1変数多項式cij(t)を係数としたxiyjの多項式として表す複数の形式データを予め記憶する形式データ記憶工程と、
前記形式データ決定手段が、前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定工程と、
前記第1の多項式生成手段が、前記次数d 未満の,Fq上定義されたランダムな1変数多項式λx(t)を生成する第1の多項式生成工程と、
前記第2の多項式生成手段が、前記1変数多項式λx(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λy(t)を生成する第2の多項式生成工程と、
前記第3の多項式生成手段が、前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλx(t)となり、且つ少なくとも一方の次数がdとなるように、変数xをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第3の多項式生成工程と、
前記第4の多項式生成手段が、前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第4の多項式生成工程と、
前記セクション生成手段が、前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成工程と、
前記第5の多項式生成手段が、前記決定された形式データにおける定数項c00(t)及び一次の項c10(t)x 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(1,0))をランダムに生成する第5の多項式生成工程と、
前記第6の多項式生成手段が、前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c10(t)を生成する第6の多項式生成工程と、
を備えたことを特徴とする鍵生成方法。 - パラメータ記憶手段、形式データ記憶手段、形式データ決定手段、第1の多項式生成手段、第2の多項式生成手段、第3の多項式生成手段、第4の多項式生成手段、セクション生成手段、第5の多項式生成手段、第6の多項式生成手段、第7の多項式生成手段及びファイブレーション生成手段を有し、公開鍵の一部であり且つ有限体Fq(但しq=pr(pは素数、rは拡大次数))上定義された代数曲面XのファイブレーションX(x, y, t)=0 と、前記ファイブレーションX(x, y, t)=0に対応する2つのセクションD1,D2である秘密鍵とを生成するための鍵生成装置が実行する鍵生成方法であって、
前記パラメータ記憶手段が、前記公開鍵の他の一部であるセクションの最大の次数d 、前記素数p及び前記拡大次数r を含むパラメータを記憶するパラメータ記憶工程と、
前記形式データ記憶手段が、前記ファイブレーションX(x, y, t)の形式データの候補を、下記式に基づいて、tの1変数多項式cij(t)を係数としたxiyjの多項式として表す複数の形式データを予め記憶する形式データ記憶工程と、
前記形式データ決定手段が、前記形式データ記憶手段内の各形式データのいずれかをランダムに選択することにより、前記ファイブレーションX(x, y, t)の形式データを決定する形式データ決定工程と、
前記第1の多項式生成手段が、前記次数d 未満の,Fq上定義されたランダムな1変数多項式λy(t)を生成する第1の多項式生成工程と、
前記第2の多項式生成手段が、前記1変数多項式λy(t)で割り切れる次数d 以下の,Fq上定義された1変数多項式λx(t)を生成する第2の多項式生成工程と、
前記第3の多項式生成手段が、前記1変数多項式λy(t)に基づいて、互いの差分{uy(t)−vy(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式uy(t), vy(t)を生成する第3の多項式生成工程と、
前記第4の多項式生成手段が、前記1変数多項式λx(t)に基づいて、互いの差分{ux(t)−vx(t)}がλy(t)となり、且つ少なくとも一方の次数がdとなるように、変数yをパラメータtで表示する次数d 以下の,Fq上定義された2つの1変数多項式ux(t), vx(t)を生成する第4の多項式生成工程と、
前記セクション生成手段が、前記各1変数多項式ux(t), vx(t), uy(t), vy(t)に基づいて、前記2つのセクションD1:(x, y, t)=(ux(t), uy(t), t) 及びD2:(x, y, t)=(vx(t), vy(t), t)を生成するセクション生成工程と、
前記第5の多項式生成手段が、前記決定された形式データにおける定数項c00(t)及び一次の項c01(t)y 以外の項の係数である,Fq上定義された1変数多項式cij(t)(但し(i,j)≠(0,0),(0,1))をランダムに生成する第5の多項式生成工程と、
前記第6の多項式生成手段が、前記各1変数多項式ux(t), vx(t), uy(t), vy(t), cij(t)に基づいて、下記式に示す一次の項の係数である,Fq上定義された1変数多項式c01(t)を生成する第6の多項式生成工程と、
を備えたことを特徴とする鍵生成方法。 - 請求項17又は請求項18に記載の鍵生成方法において、
前記鍵生成装置は、パラメータ入力手段及びパラメータ書込手段を更に備え、
前記パラメータ入力手段が、前記素数p、前記拡大次数r 及び前記次数d を含むパラメータを入力するパラメータ入力工程と、
前記パラメータ書込手段が、このパラメータを前記パラメータ記憶手段に書き込むパラメータ書込工程と
を更に備えたことを特徴とする鍵生成方法。 - 請求項17乃至請求項19のいずれか1項に記載の鍵生成方法において、
前記鍵生成装置は、ランダム1変数多項式最小次数決定手段を更に備え、
前記ランダム1変数多項式最小次数決定手段が、前記生成されたファイブレーションX(x, y, t)における各々の変数x, y, t の次数degx X(x, y, t), degy X(x, y, t), degt X(x, y, t)及び前記次数d に基づいて、(deg x X(x, y, t)+degy X(x, y, t))d+degt X(x, y, t) 以上となるように、暗号化用のランダム1変数多項式の最小次数lを定めるランダム1変数多項式最小次数決定工程を更に備えたことを特徴とする鍵生成方法。 - 請求項17乃至請求項20のいずれか1項に記載の鍵生成方法であって、
前記鍵生成装置は、種数計算手段、種数判定手段及び制御手段を更に備え、
前記種数計算手段が、前記生成されたファイブレーションX(x, y, t)における変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)に基づいて、当該ファイブレーションX(x, y, t)を1変数関数体Fp(t)上の代数曲線C(x, y)とみなしたときの種数g(C)を計算する種数計算工程と、
前記種数判定手段が、前記計算された種数g(C)が2未満であるか否かを判定する種数判定工程と、
この判定の結果、種数g(C)が2未満のとき、前記制御手段が、前記形式データ決定工程から前記種数判定工程までの処理を再実行するように、前記形式データ決定手段を制御する制御工程と
を更に備えたことを特徴とする鍵生成方法。 - 請求項17乃至請求項20のいずれか1項に記載の鍵生成方法であって、
前記鍵生成装置は、総次数判定手段及び制御手段を更に備え、
前記総次数判定手段が、前記生成されたファイブレーションX(x, y, t)における変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)が4未満か否かを判定する総次数判定工程と、
この判定の結果、総次数dcが4未満のとき、前記制御手段が、前記形式データ決定工程から前記総次数判定工程までの処理を再実行するように、前記形式データ決定工程を制御する制御工程と
を更に備えたことを特徴とする鍵生成方法。 - 請求項17乃至請求項20のいずれか1項に記載の鍵生成方法において、
前記鍵生成装置は、種数計算手段、種数判定手段、再選択手段及び送出手段を更に備え、
前記形式データ決定工程は、
前記種数計算手段が、前記選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)に基づいて、当該ファイブレーションX(x, y, t)を1変数関数体Fp(t)上の代数曲線C(x, y)とみなしたときの種数g(C)を計算する種数計算工程と、
前記種数判定手段が、前記計算された種数g(C)が2未満であるか否かを判定する種数判定工程と、
この判定の結果、種数g(C)が2未満のとき、前記再選択手段が、前記選択した形式データとは異なる形式データを再選択する再選択工程と、
前記送出手段が、前記再選択した形式データについて前記種数計算工程から前記種数判定工程までの処理を実行するように、当該再選択した形式データを前記種数計算工程に送出する送出工程と
を更に備えたことを特徴とする鍵生成方法。 - 請求項17乃至請求項20のいずれか1項に記載の鍵生成方法において、
前記鍵生成装置は、総次数判定手段、再選択手段及び送出手段を更に備え、
前記形式データ決定工程は、
前記総次数判定手段が、前記選択した形式データにおけるファイブレーションX(x, y, t)の変数x, yに関する総次数dc=degx X(x, y, t)+degy X(x, y, t)が4未満か否かを判定する総次数判定工程と、
この判定の結果、総次数dcが4未満のとき、前記再選択手段が、前記選択した形式データとは異なる形式データを再選択する再選択工程と、
前記送出手段が、前記再選択した形式データについて前記総次数判定工程の処理を実行するように、当該再選択した形式データを前記総次数判定工程に送出する送出工程と
を更に備えたことを特徴とする鍵生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006094360A JP4664850B2 (ja) | 2006-03-30 | 2006-03-30 | 鍵生成装置、プログラム及び方法 |
US11/565,204 US7787623B2 (en) | 2006-03-30 | 2006-11-30 | Key generating apparatus, program, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006094360A JP4664850B2 (ja) | 2006-03-30 | 2006-03-30 | 鍵生成装置、プログラム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007271715A JP2007271715A (ja) | 2007-10-18 |
JP4664850B2 true JP4664850B2 (ja) | 2011-04-06 |
Family
ID=38558936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006094360A Expired - Fee Related JP4664850B2 (ja) | 2006-03-30 | 2006-03-30 | 鍵生成装置、プログラム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7787623B2 (ja) |
JP (1) | JP4664850B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4197710B2 (ja) * | 2006-07-19 | 2008-12-17 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
WO2008013154A1 (en) * | 2006-07-24 | 2008-01-31 | National University Corporation Okayama University | Extension filed multiplication program and extension filed multiplication device |
KR101405321B1 (ko) * | 2007-03-16 | 2014-06-27 | 재단법인서울대학교산학협력재단 | 키 연산 방법 및 이를 이용한 공유 키 생성 방법 |
JP2009116183A (ja) * | 2007-11-08 | 2009-05-28 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
FI20075931L (fi) * | 2007-12-18 | 2009-06-19 | Abb Oy | Menetelmä ja laite signaalidatan siirtämiseksi |
US8045708B2 (en) * | 2008-05-21 | 2011-10-25 | Apple Inc. | Discrete key generation method and apparatus |
JP2010204466A (ja) | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
EP2736213B1 (en) * | 2012-11-21 | 2015-10-21 | Mitsubishi Electric R&D Centre Europe B.V. | Method and system for authenticating at least one terminal requesting access to at least one resource |
WO2015102694A2 (en) | 2013-09-30 | 2015-07-09 | Hughes Richard J | Streaming authentication and multi-level security for communications networks using quantum cryptography |
CN103973439B (zh) * | 2014-05-08 | 2017-03-08 | 华中科技大学 | 一种多变量公钥加密方法 |
US9553723B2 (en) * | 2014-11-14 | 2017-01-24 | Unsene, ehf. | Multi-dimensional encryption |
JP6977882B2 (ja) * | 2018-05-25 | 2021-12-08 | 日本電信電話株式会社 | 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム |
JP7273742B2 (ja) * | 2020-02-07 | 2023-05-15 | 株式会社東芝 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
JP2022012403A (ja) * | 2020-07-01 | 2022-01-17 | キヤノン株式会社 | プログラム、情報処理装置及び制御方法 |
US11444767B1 (en) * | 2021-03-03 | 2022-09-13 | Nxp B.V. | Method for multiplying polynomials for a cryptographic operation |
CN113434667B (zh) * | 2021-04-20 | 2024-01-23 | 国网浙江省电力有限公司杭州供电公司 | 基于配网自动化终端文本分类模型的文本分类方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005331656A (ja) * | 2004-05-19 | 2005-12-02 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69322376T2 (de) * | 1993-05-05 | 1999-05-06 | Zunquan Liu | Einrichtung und Verfahren zur Datenverschlüsselung |
US5740250A (en) * | 1995-12-15 | 1998-04-14 | Moh; Tzuong-Tsieng | Tame automorphism public key system |
US20020041684A1 (en) * | 1999-01-29 | 2002-04-11 | Mototsugu Nishioka | Public-key encryption and key-sharing methods |
US7162032B2 (en) * | 1999-12-20 | 2007-01-09 | Telenor Asa | Encryption of programs represented as polynomial mappings and their computations |
US7239701B1 (en) * | 2000-05-02 | 2007-07-03 | Murata Machinery Ltd. | Key sharing method, secret key generating method, common key generating method and cryptographic communication method in ID-NIKS cryptosystem |
GB0215524D0 (en) * | 2002-07-05 | 2002-08-14 | Hewlett Packard Co | Method and apparatus for generating a cryptographic key |
US20060002562A1 (en) * | 2003-06-02 | 2006-01-05 | Arkady Berenstein | Method and apparatus for geometric key establishment protocols based on topological groups |
CN1914851A (zh) * | 2004-02-10 | 2007-02-14 | 三菱电机株式会社 | 量子密钥分发方法以及通信装置 |
JP4715748B2 (ja) * | 2004-03-31 | 2011-07-06 | 日本電気株式会社 | 暗号方式の安全性を保証するパディング適用方法 |
JP4384056B2 (ja) * | 2005-01-11 | 2009-12-16 | 株式会社東芝 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
-
2006
- 2006-03-30 JP JP2006094360A patent/JP4664850B2/ja not_active Expired - Fee Related
- 2006-11-30 US US11/565,204 patent/US7787623B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005331656A (ja) * | 2004-05-19 | 2005-12-02 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070230692A1 (en) | 2007-10-04 |
JP2007271715A (ja) | 2007-10-18 |
US7787623B2 (en) | 2010-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4664850B2 (ja) | 鍵生成装置、プログラム及び方法 | |
JP4575283B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
JP6173904B2 (ja) | 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム | |
JP4197710B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
JP4384056B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
JP4282546B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
JP2010204466A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP5852518B2 (ja) | 認証暗号化装置、認証復号装置、およびプログラム | |
JP2009175197A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP2009116183A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP5732429B2 (ja) | 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム | |
CN114142996A (zh) | 一种基于sm9密码算法的可搜索加密方法 | |
JP6006809B2 (ja) | 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体 | |
JP2007187908A (ja) | サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法 | |
JP5784662B2 (ja) | 暗号化データ演算システム、装置及びプログラム | |
JP5300373B2 (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
JP2010049216A (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
JP2021124679A (ja) | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム | |
CN113452706B (zh) | 支持数值型属性比较访问策略的属性加密方法及系统 | |
JP5416734B2 (ja) | 暗号化値判定方法および判定システム | |
JP6232629B2 (ja) | 汎用秘匿関数計算システム、デ−タ処理装置、汎用秘匿関数計算方法、汎用秘匿関数計算プログラム、および、記録媒体 | |
JP5964759B2 (ja) | 計算システム | |
JP2007124612A (ja) | 鍵生成プログラム | |
JP2007151073A (ja) | 鍵生成プログラム | |
JP2010002662A (ja) | リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101119 |
|
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: 20101214 |
|
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: 20110107 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |