JP4575283B2 - 暗号装置、復号装置、プログラム及び方法 - Google Patents
暗号装置、復号装置、プログラム及び方法 Download PDFInfo
- Publication number
- JP4575283B2 JP4575283B2 JP2005330516A JP2005330516A JP4575283B2 JP 4575283 B2 JP4575283 B2 JP 4575283B2 JP 2005330516 A JP2005330516 A JP 2005330516A JP 2005330516 A JP2005330516 A JP 2005330516A JP 4575283 B2 JP4575283 B2 JP 4575283B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- plaintext
- ciphertext
- encryption
- variable
- 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 107
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 230000008569 process Effects 0.000 claims description 52
- 230000006870 function Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000000605 extraction Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 26
- 238000006467 substitution reaction Methods 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 5
- 108090000237 interleukin-24 Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 11
- 238000012795 verification Methods 0.000 description 11
- 101000760620 Homo sapiens Cell adhesion molecule 1 Proteins 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 101000661807 Homo sapiens Suppressor of tumorigenicity 14 protein Proteins 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 101000710013 Homo sapiens Reversion-inducing cysteine-rich protein with Kazal motifs Proteins 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 2
- 101000737813 Homo sapiens Cyclin-dependent kinase 2-associated protein 1 Proteins 0.000 description 2
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 2
- 101000661816 Homo sapiens Suppression of tumorigenicity 18 protein Proteins 0.000 description 2
- 241000700124 Octodon degus Species 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 206010016654 Fibrosis Diseases 0.000 description 1
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 1
- 238000013019 agitation Methods 0.000 description 1
- 230000005540 biological transmission Effects 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
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004761 fibrosis Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011159 matrix material 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
第1の基準は、2つの平文を暗号化した後に区別できないこと(Indistinguishable(IND))である。第2の基準は、暗号文に多項式時間の操作を施しても、元の平文と関係のある平文の暗号文を作成できないこと(Non-Malleable(NM))である。
効情報を出力する無効出力手段とを備えた復号装置である。
が一致を示す場合、前記平文M又は前記メッセージmを出力する平文出力手段と、前記暗号文判定手段による判定結果が否の場合、暗号文無効情報を出力する無効出力手段とを備えた復号装置である。
第1〜第6の各発明は、復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションであり、公開鍵が代数曲面XのファイブレーションX(x,y,t)であるという構成により、量子計算機が出現しても安全性を確保できる可能性があり、現在の計算機でも安全に実現可能であるとともに、小電力環境での実現可能性がある公開鍵暗号方式を構成できる。
本発明で述べる代数曲面は体K上定義された連立(代数)方程式の解の集合のうち2次元の自由度を持ったものと定義される。例えば、次の式(1)に示す体K上の連立方程式は変数5つに対し、それらを束縛する3つの方程式があるので2次元の自由度を持っているので、代数曲面となる。
f2(x,y,z,v,w)=0
f3(x,y,z,v,w)=0
(1)
特に、式(2)に示す如き、3変数のK上代数方程式の解の集合として定義される空間もK上の代数曲面となる。
なお、式(1)、式(2)に示した代数曲面の定義式はアフィン空間におけるものであって、射影空間におけるそれは(式(2)の場合)f(x,y,z,w)=0である。
本実施形態においては式(2)のように1つの式で書ける代数曲面のみを扱うので、以下では式(2)を代数曲面の定義方程式のごとく扱う。
h(x,y,t)=0
と定義され、セクションと呼ばれるx,yがtでパラメタライズされた曲線
(x,y,t)=(ux(t),uy(t),t)
が存在するような形式に表現された代数曲面を代数曲面Xのファイブレーションといい、Xtなどと表す(尚、以下では簡単のためファイブレーションであることが明らかであるときには単なるXと表す)。
deg ux(t)<rx, deg uy(t)<ry
と仮定した上で、
(概要)
本実施形態の公開鍵は以下の5つである。
2.Fp上の代数曲面Xのファイブレーション:X(x,y,t)=0
3.Fp上の1変数既約多項式f(t)の次数l
但し、
degtX(x,y,t)<l (3−0)
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βの項を含む
(3)
(degxp(x,y,t)+degyp(x,y,t))d+degtp(x,y,t)<l (4)
ここで、degx, degy, degtによって、それぞれ多項式のx,y,tに関する次数を表すものとする。また、q(x,y,t)は次の条件(5)を満たすように決める。
次に、Fp上ランダムな1変数のl次既約多項式f(t)を決める。ここで、既約多項式とは、これ以上因数分解できない多項式のことである。有限体上の1変数多項式の場合、その既約性判定は極めて容易であることが知られている。以上の式m(t),p(x,y,t),q(x,y,t),f(t)及び公開鍵である代数曲面XのファイブレーションX(x,y,t)から次の式(6)によって暗号文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なる関係があることに注意すると
h1(t)=F(ux(t),uy(t),t)=m(t)+f(t)p(ux(t),uy(t),t)
h2(t)=F(vx(t),vy(t),t)=m(t)+f(t)p(vx(t),vy(t),t)
という関係を持つ2つの式h1(t),h2(t)が求まることが分かる。次に、2式を辺々引き算して、次の式(7)を計算する。
(7)
次に、h1(t)−h2(t)を因数分解して、最大次数を持つ因数をf(t)と定める。ここで最大次数の因子がf(t)であるためには、f(t)の次数をlとした時、条件(8)を満たすようなp(x,y,t)を選択すれば必要十分である。
このためには、条件(9)の両方が成り立つように選択する必要がある。
deg(p(vx(t),vy(t),t))<l
(9)
しかし、送信者にはセクションが秘匿されているのでlを十分大きく取るとともに、セクションの各要素となっている多項式ux(t),uy(t),vx(t),vy(t)における次数の最大値dを公開鍵として公開している。即ち、p(x,y,t)を決定するときは条件式(4)を満たしていれば十分である。尚、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)が得られる。
ここで、a(t),b(t)は1変数多項式である。まず、素体の標数pを決める。このときpは小さくても安全性に問題は生じない。さて、セクションD1,D2を
D1:(x,y,t)=(ux(t),uy(t),t),
D2:(x,y,t)=(vx(t),vy(t),t)
とおいて楕円曲面Etに代入し、
uy(t)2=ux(t)3+a(t)ux(t)+b(t)
vy(t)2=vx(t)3+a(t)vx(t)+b(t)
を得る。これらを辺々引くとb(t)が消え、
uy(t)2−vy(t)2−(ux(t)3−vx(t)3)=a(t)(ux(t)−vx(t))
となる。a(t)を多項式とするには、例えば
ux(t)−vx(t)|uy(t)−vy(t)
であれば十分である。このことを利用して以下に示すアルゴリズムで鍵生成を行うことができる。ここで、k1(t)|k2(t)は多項式k1(t)が多項式k2(t)を割り切ることを意味している。まず、λx(t)|λy(t)となる2つの多項式をランダムに選択する。
ux(t)−vx(t)=λx(t)
によってux(t)を計算する。同様に多項式vy(t)をランダムに選択し
uy(t)−vy(t)=λy(t)
によってuy(t)を計算する。
(10)
更にb(t)はa(t)を利用して次の式(11)によって得られる。
鍵生成方法は、楕円曲面以外の代数曲面であっても例えばy2=x5+a(t)x+b(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) (12)
となる確率は1/pe+1である。
p(x,y,t)+g(x)は式(12)を満たさない。なぜなら、もし満たしたとすると
g(ux(t))=g(vx(t))
が成り立ち、有限体Fpを無限体にまで拡大したときに無限個の解を持つことになり、ux(t)=vx(t)が従う。また、このように生成された式は式(12)を満たすような別のp(x,y,t)から同様の手段で得られる多項式とは決して一致しない。実際、式(12)を満たす他の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) (13)
であったとする。このとき
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)が従う。よって式(13)を満たすような相異なる(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) (14)
という形に書けるか書けないかを判定する問題である。もし、多項式g(x,y,t)が2通り以上の書き方で式(14)のごとく書けたとすると、攻撃者(問題を解く人)は(正しいと判定は)複数ある書き方のうちの1つの書き方を見出せばよく、ランダム化多項式判定問題はそれだけ容易となる。しかしp(x,y,t)が条件(3)(4)、q(x,y,t)が条件(5)を満たす限りにおいては、そのようなことはなく一意に書けることが以下のように示せる。
f(t)p(x,y,t)+X(x,y,t)q(x,y,t)
のように書けるとき、その書き方は一意的である。
g(x,y,t)=f1(t)p1(x,y,t)+X(x,y,t)q1(x,y,t)
=f2(t)p2(x,y,t)+X(x,y,t)q2(x,y,t)
(15)
と書く。仮定から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)が条件(4)を満たすことから、次数の関係によって
f2(t)=cf1(t)となる。ここでcは有限体Fpの元である。従って、式(15)の辺々を引いて前式を反映させると、
f1(t)(p1(x,y,t)−cp2(x,y,t))=X(x,y,t)(q2(x,y,t)−q1(x,y,t))
を得る。ここで代数曲面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)に対する条件(5)により、
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)+G(x,y,t)
はランダム化多項式とはならない。但し、m(t)は0でない次数l−1以下の1変数多項式である。
m(t)+G(x,y,t)=f1(t)p1(x,y,t)+X(x,y,t)q1(x,y,t)
=m(t)+f2(t)p2(x,y,t)+X(x,y,t)q2(x,y,t)
(16)
と書ける。ここで、仮定から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)が条件(4)を満たすことから、次数の関係によって
f2(t)=cf1(t)
となる。よって、式(16)に(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)
が従う。よって表現は一意的である。
(pk,sk)←K(1k)
そのうち公開鍵pkのみを知っているアルゴリズムA1が何度か適応的に平文を暗号化した後で、2つのメッセージm0,m1を選択し、
(x0,x1,s)←A1(pk);
暗号化オラクルと呼ばれる第3者にそのどちらかを選んで暗号化させ、暗号文yを得たとする。
このとき、その暗号文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 (17)
とすれば良いことが分かる。また、3変数多項式p(x,y,t)のx,yの最大指数e(d)は復号の失敗確率に関するパラメータであり、その確率は命題1により1/pe(d)+1である。従って、失敗確率を2nとしたければ、
(|p|−1)(e(d)+1)>n
を満たすようにとれば良い。ここで|p|はpのビット長を表す。
次に、本実施形態の公開鍵暗号における暗号装置、復号装置の具体的な構成とそのアルゴリズムについて説明する。図1は本発明の第1の実施形態に係る暗号装置の全体構成図であり、図2は同実施形態における復号装置の全体構成図である。
暗号装置10においては、平文入力部10から平文(メッセージ)mが入力され(ST11)、公開鍵入力部12から公開鍵X(x,y,t),p,l,d,eが入力されることから(ST12)、暗号化処理を開始する。入力された公開鍵のうち、1変数既約多項式f(t)の次数であるlと素体の標数pとが取得され(ST13)、l,pが平文埋め込み部13に送られる。
m=0x315763ef25c04c792ef151
であるとする。
+5t12+12t11+0t10+4t9+12t8+7t7+9t6+2t5+14t4
+15t3+t2+5t+1
平文埋め込み部13は、平文多項式m(t)を暗号化部14に送信する。一方で、公開鍵入力部12は、公開鍵X(x,y,t),p,l,d,eを暗号化部14に送信する。
復号装置20においては、暗号文入力部21から暗号文F(x,y,t)を取得し(ST21)、鍵入力部22から公開鍵X(x,y,t),pと秘密鍵を取得することから(ST22)、復号処理を開始する。ここで、秘密鍵とは2つのセクションD1,D2である。取得された暗号文と鍵情報は復号部23に送られる。
第1のバリエーションは、本実施形態の公開鍵におけるp,l,d,eを固定パラメータとする構成により、公開鍵のサイズを減らすバリエーションである。勿論これらの一部だけを固定にする利用方法も考えられる。
F(x,y,t)=m(t)−f(t)p(x,y,t)−X(x,y,t)q(x,y,t)
のように変形しても同様に暗号化/復号が可能であり、同様の安全性が証明可能である。このように本発明の趣旨に反しない範囲で暗号化の式を変形し、それに伴い復号処理を変更することが十分可能である。
次に、本発明の第2の実施形態について説明する。本実施形態の公開鍵と秘密鍵は第1の実施形態と同じである。本実施形態の公開鍵暗号は、受動的な攻撃に関して安全性(IND−CPA)を保証した第1の実施形態に比べ、より高い安全性を保証するものであり、具体的には、能動的な攻撃に関しても安全性(IND−CCA)を保証している。
次に、本発明の第2の実施形態について説明する。なお、本実施形態の公開鍵と秘密鍵は第1の実施形態と同様なので、説明を省略する。鍵生成に関しても第1の実施形態と同様である。
ステップST11〜ST13までの処理は、前述した通りに実行される。
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
とする(ST16−5’)。
|γ0|=|p|,|γ1|=|ex|,|γ2|=|ey|,|γ3|=|et|
の大きさで
αn=γ0 (n)‖γ1 (n)‖γ2 (n)‖γ3 (n)
のごとく分割される(ST16’−7)。
i=γ1 (n) (mod ex)
j=γ2 (n) (mod ey)
k=γ3 (n) (mod et)
(ST16’−8)
p(x,y,t)+=axiyjtk (ST16’−9)
なお、記号“+=”は、左辺に右辺を足し込む旨を意味する。
|ζ0|=|p|,|ζ1|=|dx|,|ζ2|=|dy|,|ζ3|=|dt|
の大きさで
βn=ζ0 (m)‖ζ1 (m)‖ζ2 (m)‖ζ3 (m)
のごとく分割される(ST17’−2)。
i=ζ1 (m) (mod dx)
j=ζ2 (m) (mod dy)
k=ζ3 (m) (mod dt)
(ST17’−3)
q(x,y,t)+=bxiyjtk (ST17’−4)
これにより、3変数多項式q(x,y,t)が生成される。多項式生成部16’は、これら3変数多項式p(x,y,t),q(x,y,t)を暗号化部14’に出力する。
F(x,y,t)=M(t)+f(t)p(x,y,t)+X(x,y,t)q(x,y,t)によって暗号文F(x,y,t)を計算する(ST18’)。得られた暗号文F(x,y,t)は、前述同様に、暗号文出力部17から出力される(ST19)。
ステップST21〜ST27までの処理は、前述した通りに実行される。これにより、復号部23では、ステップST21で入力された暗号文F(x,y,t)から、平文多項式M(t)が得られる。
第1の実施形態で述べた第1〜第4のバリエーションは、本実施形態でもそのまま成り立つ。すなわち、第1のバリエーションとして、公開鍵における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 (18)
- 復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションのとき、公開鍵である代数曲面XのファイブレーションX(x,y,t)に基づいて、予めメッセージmを暗号化するための暗号装置であって、
前記メッセージmと乱数rを連結した平文Mを1変数tで次数l-1以下の平文多項式M(t)の係数として埋め込む平文埋め込み手段と、
前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段と、
次数l以上のランダムな1変数既約多項式f(t)を生成する1変数既約多項式生成手段と、
前記平文多項式M(t)に対し、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記平文多項式M(t)から暗号文F=Epk(M,p,q,f,X)を生成する暗号化手段と
を備えたことを特徴とする暗号装置。 - 復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションのとき、公開鍵である代数曲面XのファイブレーションX(x,y,t)に基づいて、予めメッセージmを暗号化するための暗号装置であって、
前記メッセージmと乱数rを連結した平文Mを1変数tで次数l-1以下の平文多項式M(t)と次数l以上の1変数既約多項式f(t)の候補の一部の係数とに分担して埋め込む平文埋め込み手段と、
前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段と、
前記1変数既約多項式f(t)の候補の各係数のうち、前記平文Mが埋め込まれていない係数をランダムな値に設定し、前記1変数既約多項式f(t)を生成する1変数既約多項式生成手段と、
前記平文多項式M(t)に対し、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記平文多項式M(t)から暗号文F=Epk(M,p,q,f,X)を生成する暗号化手段と
を備えたことを特徴とする暗号装置。 - 請求項1又は請求項2に記載の暗号装置において、
前記多項式生成手段は、前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)の各項のx指数、y指数、t指数及び係数のうち、少なくとも2つ以上を生成することを特徴とする暗号装置。 - メッセージmと乱数rを連結した平文Mが1変数tで次数(l-1)以下の平文多項式M(t)の係数として埋め込まれた平文多項式M(t)に対し、3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)と、次数l以上のランダムな1変数既約多項式f(t)と、公開鍵である代数曲面XのファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により前記平文多項式M(t)から生成された暗号文F=Epk(M,p,q,f,X)が入力されたとき、予め保持する秘密鍵である代数曲面XのファイブレーションX(x,y,t)=0に対応する2つのセクションD1,D2に基づいて、前記暗号文Fから前記メッセージmを復号するための復号装置であって、
前記入力された暗号文Fに対し、前記各セクションD1,D2を代入して2つの1変数多項式h1(t),h2(t)を生成するセクション代入手段と、
前記各1変数多項式h1(t),h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段と、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段と、
因数分解結果から最も大きな次数を持つ既約多項式f(t)を抽出する多項式抽出手段と、
前記1変数多項式h1(t)を前記既約多項式f(t)で除算し、剰余として平文多項式M(t)を得る剰余演算手段と、
前記剰余演算手段で得られた平文多項式M(t)の係数から平文Mを抽出する平文抽出手段と、
前記平文抽出手段により得られた平文Mに基づいて、この平文Mのハッシュ値H(M)を演算するハッシュ演算手段と、
前記ハッシュ演算手段により得られたハッシュ値H(M)に基づいて、3変数x,y,tの多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段と、
前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とに基づいて、前記暗号化処理と同じ処理により、暗号文F’=Epk(M,p,q,f,X)を再現する暗号文再現手段と、
前記入力された暗号文Fと前記再現された暗号文F’とが一致するか否かを判定する暗号文判定手段と、
前記暗号文判定手段による判定結果が一致の場合、前記平文M又は前記メッセージmを出力する平文出力手段と、
前記暗号文判定手段による判定結果が否の場合、暗号文無効情報を出力する無効出力手段と
を備えたことを特徴とする復号装置。 - メッセージmと乱数rを連結した平文Mが1変数tで次数(l-1)以下の平文多項式M(t)の係数と次数l以上の1変数既約多項式f(t)の候補の一部の係数とに分担して埋め込まれた平文多項式M(t)に対し、3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)と、次数l以上のランダムな1変数既約多項式f(t)と、公開鍵である代数曲面XのファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により前記平文多項式M(t)から生成された暗号文F=Epk(M,p,q,f,X)が入力されたとき、
予め保持する秘密鍵である代数曲面XのファイブレーションX(x,y,t)=0に対応する2つのセクションD1,D2に基づいて、前記暗号文Fから前記メッセージmを復号するための復号装置であって、
前記入力された暗号文Fに対し、前記各セクションD1,D2を代入して2つの1変数多項式h1(t),h2(t)を生成するセクション代入手段と、
前記各1変数多項式h1(t),h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段と、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段と、
因数分解結果から最も大きな次数を持つ既約多項式f(t)を抽出する多項式抽出手段と、
前記1変数多項式h1(t)を前記既約多項式f(t)で除算し、剰余として平文多項式M(t)を得る剰余演算手段と、
前記剰余演算手段で得られた平文多項式M(t)の係数と前記多項式抽出手段で得られた既約多項式f(t)の一部の係数とから平文Mを抽出する平文抽出手段と、
前記平文抽出手段により得られた平文Mに基づいて、この平文Mのハッシュ値H(M)を演算するハッシュ演算手段と、
前記ハッシュ演算手段により得られたハッシュ値H(M)に基づいて3変数x,y,tの多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段と、
前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とに基づいて、前記暗号化処理と同じ処理により、暗号文F’=Epk(M,p,q,f,X)を再現する暗号文再現手段と、
前記入力された暗号文Fと前記再現された暗号文F’とが一致するか否かを判定する暗号文判定手段と、
前記暗号文判定手段による判定結果が一致を示す場合、前記平文M又は前記メッセージmを出力する平文出力手段と、
前記暗号文判定手段による判定結果が否の場合、暗号文無効情報を出力する無効出力手段と
を備えたことを特徴とする復号装置。 - 請求項4又は請求項5に記載の復号装置において、
前記多項式生成手段は、前記平文Mのハッシュ値H(M)に基づいて前記多項式p(x,y,t),q(x,y,t)の各項のx指数、y指数、t指数及び係数のうち、少なくとも2つ以上を生成することを特徴とする復号装置。 - 復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションのとき、公開鍵である代数曲面XのファイブレーションX(x,y,t)に基づいて、予めメッセージmを暗号化するための暗号装置のプログラムであって、
前記暗号装置のコンピュータを、
入力されたメッセージmを一時的にメモリに保持して送出する手段、
乱数rを生成する手段、
前記送出されたメッセージmと前記生成された乱数rとを連結した平文Mを1変数tで次数l-1以下の平文多項式M(t)の係数として埋め込む平文埋め込み手段、
前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段、
次数l以上のランダムな1変数既約多項式f(t)を生成する1変数既約多項式生成手段、
前記平文多項式M(t)に対し、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記平文多項式M(t)から暗号文F=Epk(M,p,q,f,X)を生成する暗号化手段、
として機能させるためのプログラム。 - 復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションのとき、公開鍵である代数曲面XのファイブレーションX(x,y,t)に基づいて、予めメッセージmを暗号化するための暗号装置のプログラムであって、
前記暗号装置のコンピュータを、
入力されたメッセージmを一時的にメモリに保持して送出する手段、
乱数rを生成する手段、
前記送出されたメッセージmと前記生成された乱数rを連結した平文Mを1変数tで次数l-1以下の平文多項式M(t)と次数l以上の1変数既約多項式f(t)の候補の一部の係数とに分担して埋め込む平文埋め込み手段、
前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段、
前記1変数既約多項式f(t)の候補の各係数のうち、前記平文Mが埋め込まれていない係数をランダムな値に設定し、前記1変数既約多項式f(t)を生成する1変数既約多項式生成手段、
前記平文多項式M(t)に対し、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記平文多項式M(t)から暗号文F=Epk(M,p,q,f,X)を生成する暗号化手段、
として機能させるためのプログラム。 - 請求項7又は請求項8に記載のプログラムにおいて、
前記多項式生成手段は、前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)の各項のx指数、y指数、t指数及び係数のうち、少なくとも2つ以上を生成することを特徴とするプログラム。 - メッセージmと乱数rを連結した平文Mが1変数tで次数(l-1)以下の平文多項式M(t)の係数として埋め込まれた平文多項式M(t)に対し、3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)と、次数l以上のランダムな1変数既約多項式f(t)と、公開鍵である代数曲面XのファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により前記平文多項式M(t)から生成された暗号文F=Epk(M,p,q,f,X)が入力されたとき、予め保持する秘密鍵である代数曲面XのファイブレーションX(x,y,t)=0に対応する2つのセクションD1,D2に基づいて、前記暗号文Fから前記メッセージmを復号するための復号装置のプログラムであって、
前記復号装置のコンピュータを、
前記入力された暗号文Fに対し、前記各セクションD1,D2を代入して2つの1変数多項式h1(t),h2(t)を生成するセクション代入手段、
前記各1変数多項式h1(t),h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段、
因数分解結果から最も大きな次数を持つ既約多項式f(t)を抽出する多項式抽出手段、
前記1変数多項式h1(t)を前記既約多項式f(t)で除算し、剰余として平文多項式M(t)を得る剰余演算手段、
前記剰余演算手段で得られた平文多項式M(t)の係数から平文Mを抽出する平文抽出手段、
前記平文抽出手段により得られた平文Mに基づいて、この平文Mのハッシュ値H(M)を演算してメモリに保持するハッシュ演算手段、
前記メモリ内のハッシュ値H(M)に基づいて、3変数x,y,tの多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段、
前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とに基づいて、前記暗号化処理と同じ処理により、暗号文F’=Epk(M,p,q,f,X)を再現する暗号文再現手段、
前記入力された暗号文Fと前記再現された暗号文F’とが一致するか否かを判定する暗号文判定手段、
前記暗号文判定手段による判定結果が一致の場合、前記平文M又は前記メッセージmを出力する平文出力手段、
前記暗号文判定手段による判定結果が否の場合、暗号文無効情報を出力する無効出力手段、
として機能させるためのプログラム。 - メッセージmと乱数rを連結した平文Mが1変数tで次数(l-1)以下の平文多項式M(t)の係数と次数l以上の1変数既約多項式f(t)の候補の一部の係数とに分担して埋め込まれた平文多項式M(t)に対し、3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)と、次数l以上のランダムな1変数既約多項式f(t)と、公開鍵である代数曲面XのファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により前記平文多項式M(t)から生成された暗号文F=Epk(M,p,q,f,X)が入力されたとき、
予め保持する秘密鍵である代数曲面XのファイブレーションX(x,y,t)=0に対応する2つのセクションD1,D2に基づいて、前記暗号文Fから前記メッセージmを復号するための復号装置のプログラムであって、
前記復号装置のコンピュータを、
前記入力された暗号文Fに対し、前記各セクションD1,D2を代入して2つの1変数多項式h1(t),h2(t)を生成するセクション代入手段、
前記各1変数多項式h1(t),h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段、
因数分解結果から最も大きな次数を持つ既約多項式f(t)を抽出する多項式抽出手段、
前記1変数多項式h1(t)を前記既約多項式f(t)で除算し、剰余として平文多項式M(t)を得る剰余演算手段、
前記剰余演算手段で得られた平文多項式M(t)の係数と前記多項式抽出手段で得られた既約多項式f(t)の一部の係数とから平文Mを抽出する平文抽出手段、
前記平文抽出手段により得られた平文Mに基づいて、この平文Mのハッシュ値H(M)を演算してメモリに保持するハッシュ演算手段、
前記メモリ内のハッシュ値H(M)に基づいて3変数x,y,tの多項式p(x,y,t),q(x,y,t)を生成する多項式生成手段、
前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とに基づいて、前記暗号化処理と同じ処理により、暗号文F’=Epk(M,p,q,f,X)を再現する暗号文再現手段、
前記入力された暗号文Fと前記再現された暗号文F’とが一致するか否かを判定する暗号文判定手段、
前記暗号文判定手段による判定結果が一致を示す場合、前記平文M又は前記メッセージmを出力する平文出力手段、
前記暗号文判定手段による判定結果が否の場合、暗号文無効情報を出力する無効出力手段、
として機能させるためのプログラム。 - 請求項10又は請求項11に記載のプログラムにおいて、
前記多項式生成手段は、前記平文Mのハッシュ値H(M)に基づいて前記多項式p(x,y,t),q(x,y,t)の各項のx指数、y指数、t指数及び係数のうち、少なくとも2つ以上を生成することを特徴とするプログラム。 - 平文埋め込み手段、多項式生成手段、1変数既約多項式生成手段及び暗号化手段を備え、復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションのとき、公開鍵である代数曲面XのファイブレーションX(x,y,t)に基づいて、予めメッセージmを暗号化するための暗号装置が実行する暗号方法であって、
前記平文埋め込み手段が、前記メッセージmと乱数rを連結した平文Mを1変数tで次数l−1以下の平文多項式M(t)の係数として埋め込む平文埋め込み工程と、
前記多項式生成手段が、前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)を生成する多項式生成工程と、
前記1変数既約多項式生成手段が、次数l以上のランダムな1変数既約多項式f(t)を生成する1変数既約多項式生成工程と、
前記暗号化手段が、前記平文多項式M(t)に対し、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記平文多項式M(t)から暗号文F=Epk(M,p,q,f,X)を生成する暗号化工程と
を備えたことを特徴とする暗号方法。 - 平文埋め込み手段、多項式生成手段、1変数既約多項式生成手段及び暗号化手段を備え、復号用の秘密鍵が代数曲面XのファイブレーションX(x,y,t)=0に対応する2つ以上のセクションのとき、公開鍵である代数曲面XのファイブレーションX(x,y,t)に基づいて、予めメッセージmを暗号化するための暗号装置が実行する暗号方法であって、
前記平文埋め込み手段が、前記メッセージmと乱数rを連結した平文Mを1変数tで次数l−1以下の平文多項式M(t)と次数l以上の1変数既約多項式f(t)の候補の一部の係数とに分担して埋め込む平文埋め込み工程と、
前記多項式生成手段が、前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)を生成する多項式生成工程と、
前記1変数既約多項式生成手段が、前記1変数既約多項式f(t)の候補の各係数のうち、前記平文Mが埋め込まれていない係数をランダムな値に設定し、前記1変数既約多項式f(t)を生成する1変数既約多項式生成工程と、
前記暗号化手段が、前記平文多項式M(t)に対し、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記平文多項式M(t)から暗号文F=Epk(M,p,q,f,X)を生成する暗号化工程と
を備えたことを特徴とする暗号方法。 - 請求項13又は請求項14に記載の暗号方法において、
前記多項式生成工程は、前記平文Mのハッシュ値H(M)に基づいて3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)の各項のx指数、y指数、t指数及び係数のうち、少なくとも2つ以上を生成することを特徴とする暗号方法。 - メッセージmと乱数rを連結した平文Mが1変数tで次数(l−1)以下の平文多項式M(t)の係数として埋め込まれた平文多項式M(t)に対し、3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)と、次数l以上のランダムな1変数既約多項式f(t)と、公開鍵である代数曲面XのファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により前記平文多項式M(t)から生成された暗号文F=Epk(M,p,q,f,X)が入力されたとき、
セクション代入手段、多項式減算手段、因数分解手段、多項式抽出手段、剰余演算手段、平文抽出手段、ハッシュ演算手段、多項式生成手段、暗号文再現手段、暗号文判定手段、平文出力手段及び無効出力手段を備え、予め保持する秘密鍵である代数曲面XのファイブレーションX(x,y,t)=0に対応する2つのセクションD1,D2に基づいて、前記暗号文Fから前記メッセージmを復号するための復号装置が実行する復号方法であって、
前記セクション代入手段が、前記入力された暗号文Fに対し、前記各セクションD1,D2を代入して2つの1変数多項式h1(t),h2(t)を生成するセクション代入工程と、
前記多項式減算手段が、前記各1変数多項式h1(t),h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算工程と、
前記因数分解手段が、前記減算結果{h1(t)−h2(t)}を因数分解する因数分解工程と、
前記多項式抽出手段が、因数分解結果から最も大きな次数を持つ既約多項式f(t)を抽出する多項式抽出工程と、
前記剰余演算手段が、前記1変数多項式h1(t)を前記既約多項式f(t)で除算し、剰余として平文多項式M(t)を得る剰余演算工程と、
前記平文抽出手段が、前記剰余演算工程で得られた平文多項式M(t)の係数から平文Mを抽出する平文抽出工程と、
前記ハッシュ演算手段が、前記平文抽出工程により得られた平文Mに基づいて、この平文Mのハッシュ値H(M)を演算するハッシュ演算工程と、
前記多項式生成手段が、前記ハッシュ演算工程により得られたハッシュ値H(M)に基づいて、3変数x,y,tの多項式p(x,y,t),q(x,y,t)を生成する多項式生成工程と、
前記暗号文再現手段が、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とに基づいて、前記暗号化処理と同じ処理により、暗号文F’=Epk(M,p,q,f,X)を再現する暗号文再現工程と、
前記暗号文判定手段が、前記入力された暗号文Fと前記再現された暗号文F’とが一致するか否かを判定する暗号文判定工程と、
前記平文出力手段が、前記暗号文判定工程による判定結果が一致の場合、前記平文M又は前記メッセージmを出力する平文出力工程と、
前記無効出力手段が、前記暗号文判定工程による判定結果が否の場合、暗号文無効情報を出力する無効出力工程と
を備えたことを特徴とする復号方法。 - メッセージmと乱数rを連結した平文Mが1変数tで次数(l−1)以下の平文多項式M(t)の係数と次数l以上の1変数既約多項式f(t)の候補の一部の係数とに分担して埋め込まれた平文多項式M(t)に対し、3変数x,y,tのランダムな多項式p(x,y,t),q(x,y,t)と、次数l以上のランダムな1変数既約多項式f(t)と、公開鍵である代数曲面XのファイブレーションX(x,y,t)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により前記平文多項式M(t)から生成された暗号文F=Epk(M,p,q,f,X)が入力されたとき、
セクション代入手段、多項式減算手段、因数分解手段、多項式抽出手段、剰余演算手段、平文抽出手段、ハッシュ演算手段、多項式生成手段、暗号文再現手段、暗号文判定手段、平文出力手段及び無効出力手段を備え、予め保持する秘密鍵である代数曲面XのファイブレーションX(x,y,t)=0に対応する2つのセクションD1,D2に基づいて、前記暗号文Fから前記メッセージmを復号するための復号装置が実行する復号方法であって、
前記セクション代入手段が、前記入力された暗号文Fに対し、前記各セクションD1,D2を代入して2つの1変数多項式h1(t),h2(t)を生成するセクション代入工程と、
前記多項式減算手段が、前記各1変数多項式h1(t),h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算工程と、
前記因数分解手段が、前記減算結果{h1(t)−h2(t)}を因数分解する因数分解工程と、
前記多項式抽出手段が、因数分解結果から最も大きな次数を持つ既約多項式f(t)を抽出する多項式抽出工程と、
前記剰余演算手段が、前記1変数多項式h1(t)を前記既約多項式f(t)で除算し、剰余として平文多項式M(t)を得る剰余演算工程と、
前記平文抽出手段が、前記剰余演算工程で得られた平文多項式M(t)の係数と前記多項式抽出工程で得られた既約多項式f(t)の一部の係数とから平文Mを抽出する平文抽出工程と、
前記ハッシュ演算手段が、前記平文抽出工程により得られた平文Mに基づいて、この平文Mのハッシュ値H(M)を演算するハッシュ演算工程と、
前記多項式生成手段が、前記ハッシュ演算工程により得られたハッシュ値H(M)に基づいて3変数x,y,tの多項式p(x,y,t),q(x,y,t)を生成する多項式生成工程と、
前記暗号文再現手段が、前記各多項式p(x,y,t),q(x,y,t),f(t)と前記ファイブレーションX(x,y,t)とに基づいて、前記暗号化処理と同じ処理により、暗号文F’=Epk(M,p,q,f,X)を再現する暗号文再現工程と、
前記暗号文判定手段が、前記入力された暗号文Fと前記再現された暗号文F’とが一致するか否かを判定する暗号文判定工程と、
前記平文出力手段が、前記暗号文判定工程による判定結果が一致を示す場合、前記平文M又は前記メッセージmを出力する平文出力工程と、
前記無効出力手段が、前記暗号文判定工程による判定結果が否の場合、暗号文無効情報を出力する無効出力工程と
を備えたことを特徴とする復号方法。 - 請求項16又は請求項17に記載の復号方法において、
前記多項式生成工程は、前記平文Mのハッシュ値H(M)に基づいて前記多項式p(x,y,t),q(x,y,t)の各項のx指数、y指数、t指数及び係数のうち、少なくとも2つ以上を生成することを特徴とする復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005330516A JP4575283B2 (ja) | 2005-11-15 | 2005-11-15 | 暗号装置、復号装置、プログラム及び方法 |
US11/426,450 US7773747B2 (en) | 2005-11-15 | 2006-06-26 | Encryption apparatus, decryption apparatus, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005330516A JP4575283B2 (ja) | 2005-11-15 | 2005-11-15 | 暗号装置、復号装置、プログラム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007139895A JP2007139895A (ja) | 2007-06-07 |
JP4575283B2 true JP4575283B2 (ja) | 2010-11-04 |
Family
ID=38040821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005330516A Expired - Fee Related JP4575283B2 (ja) | 2005-11-15 | 2005-11-15 | 暗号装置、復号装置、プログラム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7773747B2 (ja) |
JP (1) | JP4575283B2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4575251B2 (ja) | 2005-07-25 | 2010-11-04 | 株式会社東芝 | デジタル署名生成装置、デジタル署名検証装置、デジタル署名生成方法、デジタル署名検証方法、デジタル署名生成プログラム及びデジタル署名検証プログラム |
JP4197710B2 (ja) * | 2006-07-19 | 2008-12-17 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
US9059838B2 (en) * | 2007-03-30 | 2015-06-16 | Verizon Patent And Licensing Inc. | Encryption algorithm with randomized buffer |
CA2591280A1 (en) * | 2007-06-12 | 2008-12-12 | Nikolajs Volkova | A new digital signature scheme |
JP2009116183A (ja) * | 2007-11-08 | 2009-05-28 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
JP2010204466A (ja) | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
JP5736816B2 (ja) * | 2010-05-31 | 2015-06-17 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
JP5593850B2 (ja) * | 2010-05-31 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
JP5132724B2 (ja) * | 2010-06-28 | 2013-01-30 | 株式会社東芝 | 鍵生成装置、鍵生成方法及び鍵生成プログラム |
JP2013042315A (ja) * | 2011-08-12 | 2013-02-28 | Sony Corp | 情報処理装置、及び情報処理方法 |
JP5790287B2 (ja) * | 2011-08-12 | 2015-10-07 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、及び記録媒体 |
JP6069852B2 (ja) * | 2011-08-29 | 2017-02-01 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP6173904B2 (ja) * | 2013-12-13 | 2017-08-02 | 株式会社東芝 | 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム |
CN105337737B (zh) * | 2014-07-03 | 2018-11-20 | 华为技术有限公司 | 公钥加密通信方法和装置 |
JP6413598B2 (ja) * | 2014-10-10 | 2018-10-31 | 富士通株式会社 | 暗号処理方法、暗号処理装置、及び暗号処理プログラム |
JP6413743B2 (ja) * | 2014-12-16 | 2018-10-31 | 富士通株式会社 | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
US10833841B2 (en) * | 2016-07-13 | 2020-11-10 | Sap Se | Leakage-free order-preserving encryption |
KR102520502B1 (ko) * | 2016-08-02 | 2023-04-12 | 엑스-로고스, 엘엘씨 | 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템 |
US11128454B2 (en) | 2019-05-30 | 2021-09-21 | Bong Mann Kim | Quantum safe cryptography and advanced encryption and key exchange (AEKE) method for symmetric key encryption/exchange |
JP7273742B2 (ja) * | 2020-02-07 | 2023-05-15 | 株式会社東芝 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
CN112487448B (zh) * | 2020-11-27 | 2024-05-03 | 珠海零边界集成电路有限公司 | 一种加密信息处理装置、方法及计算机设备 |
CN112667994B (zh) * | 2020-12-10 | 2023-01-20 | 山东大学 | 一种面向计算机的对称密码形式化描述方法及系统 |
CN113779645B (zh) * | 2021-11-12 | 2022-02-22 | 南京大学 | 一种量子数字签名和量子数字签密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0488736A (ja) * | 1990-07-31 | 1992-03-23 | Matsushita Electric Ind Co Ltd | データ伝送方式 |
JP2005331656A (ja) * | 2004-05-19 | 2005-12-02 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2170834C (en) * | 1996-03-01 | 2006-11-21 | Calin A. Sandru | Apparatus and method for enhancing the security of negotiable documents |
JP3306384B2 (ja) | 1998-11-11 | 2002-07-24 | 日本電信電話株式会社 | ランダム関数利用公開鍵暗号の暗号装置、復号装置、及びプログラム記録媒体 |
JP2001255814A (ja) * | 2000-03-10 | 2001-09-21 | Murata Mach Ltd | 復号方法、復号装置、及び復号プログラムの記録媒体 |
US7895436B2 (en) * | 2003-10-28 | 2011-02-22 | The Foundation For The Promotion Of Industrial Science | Authentication system and remotely-distributed storage system |
-
2005
- 2005-11-15 JP JP2005330516A patent/JP4575283B2/ja not_active Expired - Fee Related
-
2006
- 2006-06-26 US US11/426,450 patent/US7773747B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0488736A (ja) * | 1990-07-31 | 1992-03-23 | Matsushita Electric Ind Co Ltd | データ伝送方式 |
JP2005331656A (ja) * | 2004-05-19 | 2005-12-02 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070110232A1 (en) | 2007-05-17 |
JP2007139895A (ja) | 2007-06-07 |
US7773747B2 (en) | 2010-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4575283B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
JP4384056B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
US7688973B2 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, program, and method | |
US7711113B2 (en) | ID-based signature, encryption system and encryption method | |
JP4664850B2 (ja) | 鍵生成装置、プログラム及び方法 | |
JP4197710B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
Millérioux et al. | A connection between chaotic and conventional cryptography | |
KR100259179B1 (ko) | 암호화 통신 처리 | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
CN115549891B (zh) | 同态加密方法、同态解密方法、同态计算方法及设备 | |
CN105721156A (zh) | 用于模幂加密方案的通用编码函数 | |
JP2009175197A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP2009116183A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
US6111952A (en) | Asymmetrical cryptographic communication method and portable object therefore | |
JP2007036364A (ja) | タイム装置、暗号化装置、復号化装置、暗号化/復号化システム | |
Hodowu et al. | An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm | |
Kazmirchuk et al. | The Improvement of digital signature algorithm based on elliptic curve cryptography | |
JP4690819B2 (ja) | 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置 | |
JP2003255831A (ja) | 楕円曲線スカラー倍計算方法及び装置 | |
JP4861369B2 (ja) | リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム | |
Rao et al. | Secure and practical outsourcing of linear programming in cloud computing: A survey | |
WO2023238230A1 (ja) | 暗号システム | |
Téllez et al. | Supersingular Isogeny and Ring Learning With Errors-Based Diffie-Hellman Cryptosystems: A Performance and Security Comparison | |
Davida et al. | Efficient encryption and storage of close distance messages with applications to cloud storage | |
JP3881273B2 (ja) | 暗号鍵生成装置、暗号鍵生成プログラムおよびそのプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100628 |
|
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: 20100720 |
|
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: 20100819 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |