JP4197710B2 - 暗号装置、復号装置、プログラム及び方法 - Google Patents
暗号装置、復号装置、プログラム及び方法 Download PDFInfo
- Publication number
- JP4197710B2 JP4197710B2 JP2006197488A JP2006197488A JP4197710B2 JP 4197710 B2 JP4197710 B2 JP 4197710B2 JP 2006197488 A JP2006197488 A JP 2006197488A JP 2006197488 A JP2006197488 A JP 2006197488A JP 4197710 B2 JP4197710 B2 JP 4197710B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- variable
- irreducible
- plaintext
- result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
-
- 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
- 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/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Description
第1及び第3の発明は、暗号文Fに含まれる2つの乗算結果X(x, y, t)r(x, y, t)及びf(t)s(x, y, t)が、それぞれx, yの多項式として見たときの変数xiyjについての同類項から構成されるので、一方の乗算結果X(x, y, t)r(x, y, t)にはあるが、他方の乗算結果f(t)s(x, y, t)には無いという項を解析する手法を用いても、各項の見分けがつかず、r(x, y, t)の一部が漏洩することがない。
なお、式(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と表す。
(概要)
本実施形態の公開鍵暗号は、システムパラメータとして
1. 素体の標数p
2. Fp上の1変数既約多項式f(t)の次数L
を持っている。また、公開鍵は
1. Fp上の代数曲面Xのファイブレーション:X(x, y, t)= 0
である。秘密鍵は
1. Fp上の代数曲面Xのセクション:D1:(x, y, t)=(ux(t), uy(t), t)
2. Fp上の代数曲面Xのセクション:D2:(x, y, t)=(vx(t), vy(t), t)
である。これらは後述する鍵生成方法で容易に求めることができる。
m=m0‖m1‖ ・ ・ ・ ‖mL−1
のようにし、平文多項式m(t)に
m(t)=mL−1tL−1+・ ・ ・+m1t+m0
として埋め込む(平文埋め込み処理)。ここでm(t)をFp上の多項式とするために、各mi (0 < i < L−1)はFpの元となるように取る必要がある。即ち、平文はpのビット長に基づいて
0 < mi < p−1
となるように分割される。なお、平文mは整数であり、例えばメッセージを表す文字コード列が整数に読み替えられることにより、構成されている。
各実施形態ではr(x, y, t), s(x, y, t)の生成に一定の条件を定め、安全性を向上させるとともに、暗号文のサイズを見積もり易く構成している。このために、公開鍵である代数曲面X(x, y, t)をx, yの多項式として見た次式に関し、係数cij(t)の次数の最小値dtを求める。
なる関係があることに注意すると
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式を辺々引き算して、次の式(4)を計算する。
次に、h1(t)−h2(t)を因数分解して、次数がL以上の因数を取得する。ここで、次数がL以上の因子は1つとは限らない。そこで、それらを
fi(t) (1 < i < n)
とする。また、h1(t)−h2(t)の因数分解は1変数多項式の因数分解が容易であることから十分有効な時間内に処理可能である。
h1(t)=m(t)+f(t)p(ux(t), uy(t), t) (5)
の関係から、剰余として平文多項式m(t)が得られる。しかし、f(t)の候補が複数ある場合は必ずしも、平文多項式m(t)が得られない。そこで、ここで得られた剰余m1(t)とし、更にfi(t)でh2(t)を除した時に得られる剰余をm2(t)とすると、もしfi(t)=f(t)であれば、m1(t)=m2(t)となるはずである。逆にm1(t)≠m2(t)であればfi(t)≠f(t)であると言える。そこで、全ての候補fi(t)について、検査を行い、検査に成功(即ち、2つの剰余が一致した)候補をf(t)とする。
D1 : (x, y, t)=(ux(t), uy(t), t),
D2 : (x, y, t)=(vx(t), vy(t), t)
とおいて代数曲面Xに代入し、
Σ(i,j) eij(t)ux(t)iuy(t)j=0
Σ(i,j) eij(t)vx(t)ivy(t)j=0
を得る。これらを辺々引くと両式に共通の定数項e00(t)が消え、
ux(t)−vx(t)|uy(t)−vy(t)
のように設定すれば十分である(なお、A|Bの表記は、AがBを割り切ること、即ちBがAの倍数(倍式)であることを意味する)。このことは式(7)と
(ux(t)−vx(t))|(ux(t)i−vx(t)i)
(uy(t)−vy(t))|(uy(t)j−vy(t)j)
から明らかである。
とおき、多項式vx(t)をランダムに選択し、
ux(t)=λx(t)+vx(t)
によってux(t)を計算する。λx(t), vx(t)の次数はd以下なので、ux(t)の次数もd以下となる。
uy(t)=λy(t)+vy(t)
によってuy(t)を計算する。同様にλy(t), vy(t)の次数はd以下なのでuy(t)の次数もd以下となる。
第1のバリエーションは、暗号化処理に用いる式(3)の変形に関するバリエーションである。式(3)は、例えば
F(x, y, t)=m(t)−f(t)s(x, y, t)−X(x, y, t)r(x, y, t)
のように変形しても同様に暗号化/復号が可能であり、同様の安全性が証明可能である。このように本発明の趣旨に反しない範囲で暗号化の式を変形し、それに伴い復号処理を変更することが十分可能である。
以下では前述したように構成した本発明の公開鍵暗号の安全性に関して[1]〜[3]に示すように考察する。
本発明の公開鍵暗号では代数曲面X(x, y, t)のみが公開されている。そこで暗号文F(x, y, t)をX(x, y, t)で割った余りとして、m(t)+f(t)s(x, y, t)が求まらないかを検討しなくてはならない。しかし、3変数多項式同士の割り算の場合、剰余が一意に決まらない。なぜならば文献(D. コックス 他,“グレブナ基底と代数多様体入門(上),” Springer(200),p.94 例4)にあるように2変数以上の多項式では一般に除法の定理が成り立たないためである。しかも、暗号文の性質から
degx (m(t)+f(t)s(x, y, t))>degx X(x, y, t)
degy (m(t)+f(t)s(x, y, t))>degy X(x, y, t) (9)
degt (m(t)+f(t)s(x, y, t)) >degt X(x, y, t)
の3つの条件が得られ、除する式X(x, y, t)よりも次数の高い余りを見出さなくてはならず、更に正しい剰余m(t)+f(t)s(x, y, t)を得ることを困難にしている。ここで、degx g(x, y, t)の表記は、多項式g(x, y, t)をxの多項式として見た時の次数を示している。
[3−1:代数曲面上の代数曲線を代入する攻撃]
(セクションを含む)代数曲線はωをパラメータとして
x=ux(ω), y=uy(ω), t=ut(ω) (10)
のように書ける。ここでセクションはω=tとした特殊な場合と考える。前述の鍵生成アルゴリズムに従って鍵生成すると、degt(X(x, y, t)はdegx X(x, y, t), degy X(x, y, t)よりも相当に大きくなる。このため、deg ut(ω) > 2の場合は変数の数がセクションの場合(deg ut(ω)=1) よりも困難になると考えられる。
F(ux(ω), uy(ω), ti)=m(ti)+f(ti)s(ux(ω), uy(ω), ti)
のような連立方程式が導かれるが、tiに取りえる値は高々pだけであり、これらの関係式からは何の情報も導かれない。
代数曲面X(x, y, t)の有理点(X(x, y, t)= 0となる点)を代入することによる攻撃がある。即ち、平文多項式をa0, a1, ・ ・ ・ , aL−1を未知数として
m(t)=aL−1xL−1+・ ・ ・+a1x+a0
とおく。(公開鍵である)代数曲面Xt(x, y, t)=0のK 有理点(xi, yi, ti)は(どのような代数曲面でも)比較的簡単かつ大量に求まることが知られているため、これらの有理点を暗号文F(x, y, t)に代入して、
F(xi, yi, ti)=m(ti)+f(ti)s(xi, yi, ti)
という関係式が大量に求まる。これらを連立させるとm(t)が解ける可能性がある。
F(xi, yi, ti)=m(ti)+f(ti)
となり
degm(t)<deg f(t)=L
であるのでLが100程度であっても比較的簡単に係数が求められてしまう。この理由で因子s(x, y, t)が存在する。
次に、本発明の第1の実施形態について具体的に説明する。図2は本発明の第1の実施形態に係る暗号装置の全体構成図であり、図3は同実施形態における復号装置の全体構成図である。
暗号装置10においては、平文入力部13から平文(メッセージ)mが入力され(ST1)、公開鍵入力部14から公開鍵X(x, y, t)が入力されると(ST2)、処理を開始する。また、システムパラメータである1変数既約多項式f(t)の次数Lと素体の標数pは、暗号化部16により、システムパラメータ格納部11から取得され(ST3)、平文埋め込み部15に送られる。
m=0x315763ef25c04c792ef151
であるとする。この場合、平文埋め込み部15は、16進表示の平文mを4ビット毎に分割し、次式に示すように、この平文mを係数としてL−1次の平文多項式m(t)に埋め込む(ST4)。
+12t11+0t10+4t9+12t8+7t7+9t6+2t5+14t4+15t3+t2+5t+1
平文埋め込み部15は、平文多項式m(t)を暗号化部16に送信する。一方で、公開鍵入力部14は公開鍵X(x, y, t)を暗号化部16に送信する。システムパラメータ格納部11はパラメータL, pを暗号化部16に送信する。
復号装置30においては、暗号文入力部33から暗号文F(x, y, t)を取得し(ST31)、鍵入力部34から公開鍵X(x, y, t)と秘密鍵を取得し(ST32)、パラメータ格納部31からp, Lを取得することから復号処理を開始する。ここで、秘密鍵とは2つのセクションD1, D2である。取得された暗号文と鍵情報等は復号部35に送られる。復号部35は、暗号文と鍵情報等をメモリ32に書き込んで保存する。
第1のバリエーションは、暗号化処理に用いる式(3)の変形に関するバリエーションである。式(3)は、例えば
F(x, y, t)=m(t)−f(t)s(x, y, t)−X(x, y, t)r(x, y, t)
のように変形しても同様に暗号化/復号が可能であり、同様の安全性が証明可能である。このように本発明の趣旨に反しない範囲で暗号化の式を変形し、それに伴い復号処理を変更することが十分可能である。
(概要)
次に、本発明の第2の実施形態について説明する。本実施形態のシステムパラメータは、第1の実施形態と同じく
1. 素体の標数p
2. Fp上の1変数既約多項式f(t)の次数L
である。また、公開鍵は
1. Fp上の代数曲面Xのファイブレーション:X(x, y, t)
である。秘密鍵は
1. Fp上の代数曲面Xのセクション:D:(x, y, t)=(ux(t), uy(t), t)
である。第2の実施形態は、第1の実施形態と比較し、秘密鍵であるセクションが1つであることが大きく異なる。第2の実施形態は、このため、秘密鍵のサイズが小さくなる上、鍵生成の自由度が増えるという効果がある。
本実施形態における暗号化処理の概要を述べる。暗号処理は第1の実施形態とほぼ同じであるが、1つの暗号文F(x, y, t)を生成した第1の実施形態とは異なり、第2の実施形態では、2つの暗号文F1(x, y, t), F2(x, y, t)を生成する。
F2(x, y, t)=m(t)+f(t)s2(x, y, t)+X(x, y, t)r2(x, y, t)
受信者は、暗号文F1(x, y, t), F2(x, y, t)を受けると、所有する秘密鍵Dを利用して次のように復号を行う。まず、セクションDを暗号文F1(x, y, t), F2(x, y, t)に代入することにより第1の実施形態と同様の考え方で次の2式h1(t), h2(t)を求める。
h2(t)=F2(ux(t), uy(t), t)=m(t)+f(t)s2(ux(t), uy(t), t)
次に、2式を辺々引き算して次式h1(t)−h2(t)を計算する。
しかる後、h1(t)−h2(t)を因数分解して、最大次数を持つ因数をf(t)と定める。この後の処理は第1の実施形態と同じであるので説明を省略する。
最後に本実施形態における鍵生成方法を説明する。本実施形態の鍵生成は第1の実施形態と同様にセクションDをランダムに選び、それに対応したファイブレーションを計算することによって行う。
ここでξ1(t), ξ2(t), ξ3(t), ξ4(t)は1変数多項式である。まず、素体の標数pを決める。このときpは小さくても安全性に問題は生じない。さて、セクションDを
D:(x, y, t)=(ux(t), uy(t), t)
とおき、定数項以外の1変数多項式ξ1(t), ξ2(t), ξ3(t)をランダムに定め、これらξ1(t), ξ2(t), ξ3(t)とセクションDを代数曲面Xtに代入することで
以下ではこのように構成した本実施形態の公開鍵暗号の安全性に関して考察する。基本的に第1の実施形態における安全性の検討がそのまま本実施形態の安全性の検討となる。第1の実施形態と異なるのは暗号文が2つあることであり、この部分の安全性に関して考察を行う。暗号文F1(x, y, t), F2(x, y, t)の引き算を行うと以下のようになる。
次に、本発明の第2の実施形態について具体的に説明する。暗号装置10及び復号装置30は、それぞれ第1の実施形態と同様のハードウエア構成を備えているため、前述した図2及び図3を参照して述べる。
暗号装置10においては、前述同様に、ステップST1〜ST7を実行し、公開鍵X(x, y, t)の係数cij(t)におけるtの次数の最小値dtを求める。
復号装置30においては、暗号文入力部33から2つの暗号文F1(x, y, t), F2(x, y, t)を取得し(ST31”)、鍵入力部34から公開鍵X(x, y, t)と秘密鍵を取得し(ST32”)、パラメータ格納部31からp, Lを取得することから復号処理を開始する。ここで、秘密鍵とは1つのセクションDである。取得された暗号文と鍵情報等は復号部35に送られる。
第1の実施形態で述べた第1のバリエーションと第2のバリエーションは、本実施形態でも同様に実行することができる。また、第3のバリエーションに関しては、図17のステップST33”,ST34”に示すように、第1の実施形態の第3のバリエーションから若干の変形を施して同様に実行することができる。
Claims (22)
- 代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションが秘密鍵のとき、前記ファイブレーションX(x, y, t)である公開鍵に基づいて、メッセージmを暗号化するための暗号装置であって、
メッセージmを1変数tで次数L−1以下の平文多項式m(t)の係数として埋め込む平文埋め込み手段と、
次数L以上のランダムな1変数既約多項式f(t)を生成する既約多項式生成手段と、
「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r(x, y, t)、s(x, y, t)を生成する多項式生成手段と、
前記平文多項式m(t)に対し、前記乗算結果X(x, y, t)r(x, y, t)と、前記乗算結果f(t)s(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から暗号文F=Epk(m, s, r, f, X)を生成する暗号化手段と
を備えたことを特徴とする暗号装置。 - 請求項1に記載の暗号装置において、
前記多項式生成手段は、
前記1変数既約多項式f(t)の次数L0を取得する次数取得手段と、
前記ファイブレーションX(x, y, t)をx, yの2変数多項式Σcij(t)xiyjとしたとき、前記係数cij(t)の次数の最小値dtを選択する最小値選択手段と、
3変数多項式r(x, y, t)をxとyの多項式としたとき、前記多項式r(x, y, t)に含まれる複数の単項式rij(t)xiyjのうちの定数項r00(t)を、tの次数がL0−dt以上となる範囲でランダムに算出する第1定数項算出手段と、
前記複数の単項式rij(t)xiyjのうちの定数項r00(t)以外の変数項rij(t)xiyjを、tの次数がL0−dt以上となる範囲でランダムに算出する第1変数項算出手段と、
前記定数項r00(t)及び前記変数項rij(t)xiyjを足し合わせて、前記3変数多項式r(x, y, t)を算出する第1多項式算出手段と、
前記ファイブレーションX(x, y, t)と当該3変数多項式r(x, y, t)とを乗算し、乗算結果X(x, y, t)r(x, y, t)を得る多項式乗算手段と、
3変数多項式s(x, y, t)をxとyの多項式としたとき、前記乗算結果X(x, y, t)r(x, y, t)に含まれる複数の単項式s’ij(t)xiyjのうちの定数項s’00(t)のtの次数degt s’00(t)に基づいて、前記多項式s(x, y, t)の定数項s00(t)を、tの次数がdegt s’00(t)−L0となる範囲でランダムに算出する第2定数項算出手段と、
前記複数の単項式s’ij(t)xiyjのうちの定数項s’00(t)以外の変数項s’ij(t)xiyjに基づいて、前記多項式s(x, y, t)の変数項sij(t)xiyjを、tの次数がdegt s’ij(t)−L0となる範囲でランダムに算出する第2変数項算出手段と、
前記定数項s00(t)及び前記変数項sij(t)xiyjを足し合わせて、前記3変数多項式s(x, y, t)を算出する第2多項式算出手段と
を備えたことを特徴とする暗号装置。 - 代数曲面XのファイブレーションX(x, y, t)に対応するセクションが秘密鍵のとき、前記ファイブレーションX(x, y, t)である公開鍵に基づいて、メッセージmを暗号化するための暗号装置であって、
メッセージmを1変数tで次数L−1以下の平文多項式m(t)の係数として埋め込む平文埋め込み手段と、
次数L以上のランダムな1変数既約多項式f(t)を生成する既約多項式生成手段と、
「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r1(x, y, t)、s1(x, y, t)を生成する第1多項式生成手段と、
前記平文多項式m(t)に対し、前記乗算結果X(x, y, t)r1(x, y, t)と、前記乗算結果f(t)s1(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から第1暗号文F1=Epk(m, s1, r1, f, X)を生成する第1暗号化手段と、
「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r2(x, y, t)、s2(x, y, t)を生成する第2多項式生成手段と、
前記平文多項式m(t)に対し、前記乗算結果X(x, y, t)r2(x, y, t)と、前記乗算結果f(t)s2(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から第2暗号文F2=Epk(m, s2, r2, f, X)を生成する第2暗号化手段と
を備えたことを特徴とする暗号装置。 - 請求項3に記載の暗号装置において、
前記第1多項式生成手段は、
前記1変数既約多項式f(t)の次数L0を取得する次数取得手段と、
前記ファイブレーションX(x, y, t)をx, yの2変数多項式Σcij(t)xiyjとしたとき、前記係数cij(t)の次数の最小値dtを選択する最小値選択手段と、
3変数多項式r1(x, y, t)をxとyの多項式としたとき、前記多項式r1(x, y, t)に含まれる複数の単項式r1_ij(t)xiyjのうちの定数項r1_00(t)を、tの次数がL0−dt以上となる範囲でランダムに算出する第1定数項算出手段と、
前記複数の単項式r1_ij(t)xiyjのうちの定数項r1_00(t)以外の変数項r1_ij(t)xiyjを、tの次数がL0−dt以上となる範囲でランダムに算出する第1変数項算出手段と、
前記定数項r1_00(t)及び前記変数項r1_ij(t)xiyjを足し合わせて、前記3変数多項式r1(x, y, t)を算出する第1多項式算出手段と、
前記ファイブレーションX(x, y, t)と当該3変数多項式r1(x, y, t)とを乗算し、乗算結果X(x, y, t)r1(x, y, t)を得る第1多項式乗算手段と、
3変数多項式s1(x, y, t)をxとyの多項式としたとき、前記乗算結果X(x, y, t)r1(x, y, t)に含まれる複数の単項式s1’ij(t)xiyjのうちの定数項s1’00(t)のtの次数degt s1’00(t)に基づいて、前記多項式s1(x, y, t)の定数項s1_00(t)を、tの次数がdegt s1’00(t)−L0となる範囲でランダムに算出する第2定数項算出手段と、
前記複数の単項式s1’ij(t)xiyjのうちの定数項s1_00(t)以外の変数項s1’ij(t)xiyjに基づいて、前記多項式s1(x, y, t)の変数項s1_ij(t)xiyjを、tの次数がdegt s1’ij(t)−L0となる範囲でランダムに算出する第2変数項算出手段と、
前記定数項s1_00(t)及び前記変数項s1_ij(t)xiyjを足し合わせて、前記3変数多項式s1(x, y, t)を算出する第2多項式算出手段とを備えており
前記第2多項式生成手段は、
前記3変数多項式r1(x, y, t)とは異なる3変数多項式r2(x, y, t)をxとyの多項式としたとき、前記多項式r2(x, y, t)に含まれる複数の単項式r2_ij(t)xiyjのうちの定数項r2_00(t)を、tの次数がL0−dt以上となる範囲でランダムに算出する第3定数項算出手段と、
前記複数の単項式r2_ij(t)xiyjのうちの定数項r2_00(t)以外の変数項r2_ij(t)xiyjを、tの次数がL0−dt以上となる範囲でランダムに算出する第3変数項算出手段と、
前記定数項r2_00(t)及び前記変数項r2_ij(t)xiyjを足し合わせて、前記3変数多項式r2(x, y, t)を算出する第3多項式算出手段と、
前記ファイブレーションX(x, y, t)と当該3変数多項式r2(x, y, t)とを乗算し、乗算結果X(x, y, t)r2(x, y, t)を得る第2多項式乗算手段と、
3変数多項式s2(x, y, t)をxとyの多項式としたとき、前記乗算結果X(x, y, t)r2(x, y, t)に含まれる複数の単項式s2’ij(t)xiyjのうちの定数項s2’00(t)のtの次数degt s2’00(t)に基づいて、前記多項式s2(x, y, t)の定数項s2_00(t)を、tの次数がdegt s2’00(t)−L0となる範囲でランダムに算出する第4定数項算出手段と、
前記複数の単項式s2’ij(t)xiyjのうちの定数項s2_00(t)以外の変数項s2’ij(t)xiyjに基づいて、前記多項式s2(x, y, t)の変数項s2_ij(t)xiyjを、tの次数がdegt s2’ij(t)−L0となる範囲でランダムに算出する第4変数項算出手段と、
前記定数項s2_00(t)及び前記変数項s2_ij(t)xiyjを足し合わせて、前記3変数多項式s2(x, y, t)を算出する第4多項式算出手段と
を備えたことを特徴とする暗号装置。 - 代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションD1, D2である秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された暗号文Fから、メッセージmを復号するための復号装置であって、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F=Epk(m, s, r, f, X)が入力される暗号文入力手段と、
前記入力された暗号文Fに対し、前記各セクションD1, D2を代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段と、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段と、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段と、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段と、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段と、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段と、
前記検査の結果、両者が一致する場合、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段と、
前記検査の結果、否の場合には、抽出された他の既約多項式f(t)により前記除算を実行するように前記剰余演算手段を制御する制御手段と、
前記検査の結果、否の場合で且つ他の既約多項式f(t)が無い場合には、エラーを出力するエラー出力手段と
を備えたことを特徴とする復号装置。 - 代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションD1, D2である秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された暗号文Fから、メッセージmを復号するための復号装置であって、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F=Epk(m, s, r, f, X)が入力される暗号文入力手段と、
前記入力された暗号文Fに対し、前記各セクションD1, D2を代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段と、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段と、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段と、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段と、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段と、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段と、
前記検査の結果、両者が一致する場合の既約多項式f(t)が1つだけあるとき、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段と、
前記検査の結果、両者が一致する場合の既約多項式f(t)が無いか又は2つ以上あるとき、エラーを出力するエラー出力手段と
を備えたことを特徴とする復号装置。 - 代数曲面XのファイブレーションX(x, y, t)に対応するセクションDである秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された複数の暗号文F1, F2から、メッセージmを復号するための復号装置であって、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F1=Epk(m, s1, r1, f, X)が入力される第1暗号文入力手段と、
前記平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)(≠r1(x, y, t))との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F2=Epk(m, s2, r2, f, X)が入力される第2暗号文入力手段と、
入力された複数の暗号文F1, F2に対し、前記セクションDを代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段と、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段と、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段と、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段と、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段と、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段と、
前記検査の結果、両者が一致する場合、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段と、
前記検査の結果、否の場合には、抽出された他の既約多項式f(t)により前記除算を実行するように前記剰余演算手段を制御する制御手段と、
前記検査の結果、否の場合で且つ他の既約多項式f(t)が無い場合には、エラーを出力するエラー出力手段と
を備えたことを特徴とする復号装置。 - 代数曲面XのファイブレーションX(x, y, t)に対応するセクションDである秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された複数の暗号文F1, F2から、メッセージmを復号するための復号装置であって、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F1=Epk(m, s1, r1, f, X)が入力される第1暗号文入力手段と、
前記平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)(≠r1(x, y, t))との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F2=Epk(m, s2, r2, f, X)が入力される第2暗号文入力手段と、
入力された複数の暗号文F1, F2に対し、前記セクションDを代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段と、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段と、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段と、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段と、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段と、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段と、
前記検査の結果、両者が一致する場合の既約多項式f(t)が1つだけあるとき、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段と、
前記検査の結果、両者が一致する場合の既約多項式f(t)が無いか又は2つ以上あるとき、エラーを出力するエラー出力手段と
を備えたことを特徴とする復号装置。 - メモリを有する暗号装置に用いられ、代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションが秘密鍵のとき、前記ファイブレーションX(x, y, t)である公開鍵に基づいて、メッセージmを暗号化するための前記暗号装置のプログラムであって、
前記暗号装置のコンピュータを、
メッセージmを1変数tで次数L−1以下の平文多項式m(t)の係数として埋め込むことにより、平文多項式m(t)を得る平文埋め込み手段、
前記平文埋め込み手段により得られた平文多項式m(t)を前記メモリに書き込む書込手段、
次数L以上のランダムな1変数既約多項式f(t)を生成する既約多項式生成手段、
「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r(x, y, t)、s(x, y, t)を生成する多項式生成手段、
前記メモリ内の平文多項式m(t)に対し、前記乗算結果X(x, y, t)r(x, y, t)と、前記乗算結果f(t)s(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から暗号文F=Epk(m, s, r, f, X)を生成する暗号化手段、
として機能させるためのプログラム。 - 請求項9に記載のプログラムにおいて、
前記多項式生成手段は、
前記1変数既約多項式f(t)の次数L0を取得する次数取得手段、
前記ファイブレーションX(x, y, t)をx, yの2変数多項式Σcij(t)xiyjとしたとき、前記係数cij(t)の次数の最小値dtを選択する最小値選択手段、
3変数多項式r(x, y, t)をxとyの多項式としたとき、前記多項式r(x, y, t)に含まれる複数の単項式rij(t)xiyjのうちの定数項r00(t)を、tの次数がL0−dt以上となる範囲でランダムに算出する第1定数項算出手段、
前記複数の単項式rij(t)xiyjのうちの定数項r00(t)以外の変数項rij(t)xiyjを、tの次数がL0−dt以上となる範囲でランダムに算出する第1変数項算出手段、
前記定数項r00(t)及び前記変数項rij(t)xiyjを足し合わせて、前記3変数多項式r(x, y, t)を算出する第1多項式算出手段、
前記ファイブレーションX(x, y, t)と当該3変数多項式r(x, y, t)とを乗算し、乗算結果X(x, y, t)r(x, y, t)を得る多項式乗算手段、
3変数多項式s(x, y, t)をxとyの多項式としたとき、前記乗算結果X(x, y, t)r(x, y, t)に含まれる複数の単項式s’ij(t)xiyjのうちの定数項s’00(t)のtの次数degt s’00(t)に基づいて、前記多項式s(x, y, t)の定数項s00(t)を、tの次数がdegt s’00(t)−L0となる範囲でランダムに算出する第2定数項算出手段、
前記複数の単項式s’ij(t)xiyjのうちの定数項s’00(t)以外の変数項s’ij(t)xiyjに基づいて、前記多項式s(x, y, t)の変数項sij(t)xiyjを、tの次数がdegt s’ij(t)−L0となる範囲でランダムに算出する第2変数項算出手段、
前記定数項s00(t)及び前記変数項sij(t)xiyjを足し合わせて、前記3変数多項式s(x, y, t)を算出する第2多項式算出手段、
として前記コンピュータを機能させるためのプログラム。 - メモリを有する暗号装置に用いられ、代数曲面XのファイブレーションX(x, y, t)に対応するセクションが秘密鍵のとき、前記ファイブレーションX(x, y, t)である公開鍵に基づいて、メッセージmを暗号化するための前記暗号装置のプログラムであって、
前記暗号装置のコンピュータを、
メッセージmを1変数tで次数L−1以下の平文多項式m(t)の係数として埋め込むことにより、平文多項式m(t)を得る平文埋め込み手段、
前記平文埋め込み手段により得られた平文多項式m(t)を前記メモリに書き込む書込手段、
次数L以上のランダムな1変数既約多項式f(t)を生成する既約多項式生成手段、
ランダム3変数多項式r1(x, y, t)、s1(x, y, t)を「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r1(x, y, t)、s1(x, y, t)を生成する第1多項式生成手段、
前記メモリ内の平文多項式m(t)に対し、前記乗算結果X(x, y, t)r1(x, y, t)と、前記乗算結果f(t)s1(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から第1暗号文F1=Epk(m, s1, r1, f, X)を生成する第1暗号化手段、
「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r2(x, y, t)、s2(x, y, t)を生成する第2多項式生成手段、
前記メモリ内の平文多項式m(t)に対し、前記乗算結果X(x, y, t)r2(x, y, t)と、前記乗算結果f(t)s2(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から第2暗号文F2=Epk(m, s2, r2, f, X)を生成する第2暗号化手段、
として機能させるためのプログラム。 - 請求項11に記載のプログラムにおいて、
前記第1多項式生成手段は、
前記1変数既約多項式f(t)の次数L0を取得する次数取得手段、
前記ファイブレーションX(x, y, t)をx, yの2変数多項式Σcij(t)xiyjとしたとき、前記係数cij(t)の次数の最小値dtを選択する最小値選択手段、
3変数多項式r1(x, y, t)をxとyの多項式としたとき、前記多項式r1(x, y, t)に含まれる複数の単項式r1_ij(t)xiyjのうちの定数項r1_00(t)を、tの次数がL0−dt以上となる範囲でランダムに算出する第1定数項算出手段、
前記複数の単項式r1_ij(t)xiyjのうちの定数項r1_00(t)以外の変数項r1_ij(t)xiyjを、tの次数がL0−dt以上となる範囲でランダムに算出する第1変数項算出手段、
前記定数項r1_00(t)及び前記変数項r1_ij(t)xiyjを足し合わせて、前記3変数多項式r1(x, y, t)を算出する第1多項式算出手段、
前記ファイブレーションX(x, y, t)と当該3変数多項式r1(x, y, t)とを乗算し、乗算結果X(x, y, t)r1(x, y, t)を得る第1多項式乗算手段、
3変数多項式s1(x, y, t)をxとyの多項式としたとき、前記乗算結果X(x, y, t)r1(x, y, t)に含まれる複数の単項式s1’ij(t)xiyjのうちの定数項s1’00(t)のtの次数degt s1’00(t)に基づいて、前記多項式s1(x, y, t)の定数項s1_00(t)を、tの次数がdegt s1’00(t)−L0となる範囲でランダムに算出する第2定数項算出手段、
前記複数の単項式s1’ij(t)xiyjのうちの定数項s1_00(t)以外の変数項s1’ij(t)xiyjに基づいて、前記多項式s1(x, y, t)の変数項s1_ij(t)xiyjを、tの次数がdegt s1’ij(t)−L0となる範囲でランダムに算出する第2変数項算出手段、
前記定数項s1_00(t)及び前記変数項s1_ij(t)xiyjを足し合わせて、前記3変数多項式s1(x, y, t)を算出する第2多項式算出手段、として前記コンピュータを機能させ、
前記第2多項式生成手段は、
前記3変数多項式r1(x, y, t)とは異なる3変数多項式r2(x, y, t)をxとyの多項式としたとき、前記多項式r2(x, y, t)に含まれる複数の単項式r2_ij(t)xiyjのうちの定数項r2_00(t)を、tの次数がL0−dt以上となる範囲でランダムに算出する第3定数項算出手段、
前記複数の単項式r2_ij(t)xiyjのうちの定数項r2_00(t)以外の変数項r2_ij(t)xiyjを、tの次数がL0−dt以上となる範囲でランダムに算出する第3変数項算出手段、
前記定数項r2_00(t)及び前記変数項r2_ij(t)xiyjを足し合わせて、前記3変数多項式r2(x, y, t)を算出する第3多項式算出手段、
前記ファイブレーションX(x, y, t)と当該3変数多項式r2(x, y, t)とを乗算し、乗算結果X(x, y, t)r2(x, y, t)を得る第2多項式乗算手段、
3変数多項式s2(x, y, t)をxとyの多項式としたとき、前記乗算結果X(x, y, t)r2(x, y, t)に含まれる複数の単項式s2’ij(t)xiyjのうちの定数項s2’00(t)のtの次数degt s2’00(t)に基づいて、前記多項式s2(x, y, t)の定数項s2_00(t)を、tの次数がdegt s2’00(t)−L0となる範囲でランダムに算出する第4定数項算出手段、
前記複数の単項式s2’ij(t)xiyjのうちの定数項s2_00(t)以外の変数項s2’ij(t)xiyjに基づいて、前記多項式s2(x, y, t)の変数項s2_ij(t)xiyjを、tの次数がdegt s2’ij(t)−L0となる範囲でランダムに算出する第4変数項算出手段、
前記定数項s2_00(t)及び前記変数項s2_ij(t)xiyjを足し合わせて、前記3変数多項式s2(x, y, t)を算出する第4多項式算出手段、
として機能させるためのプログラム。 - メモリを有する復号装置に用いられ、代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションD1, D2である秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された暗号文Fから、メッセージmを復号するための復号装置のプログラムであって、
前記復号装置のコンピュータを、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F=Epk(m, s, r, f, X)が入力される暗号文入力手段、
前記入力された暗号文Fを前記メモリに書き込む手段、
前記メモリ内の暗号文Fに対し、前記各セクションD1, D2を代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段、
前記検査の結果、両者が一致する場合、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段、
前記検査の結果、否の場合には、抽出された他の既約多項式f(t)により前記除算を実行するように前記剰余演算手段を制御する制御手段、
前記検査の結果、否の場合で且つ他の既約多項式f(t)が無い場合には、エラーを出力するエラー出力手段、
として機能させるためのプログラム。 - メモリを有する復号装置に用いられ、代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションD1, D2である秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された暗号文Fから、メッセージmを復号するための復号装置のプログラムであって、
前記復号装置のコンピュータを、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F=Epk(m, s, r, f, X)が入力される暗号文入力手段、
前記入力された暗号文Fを前記メモリに書き込む手段、
前記メモリ内の暗号文Fに対し、前記各セクションD1, D2を代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段、
前記検査の結果、両者が一致する場合の既約多項式f(t)が1つだけあるとき、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段、
前記検査の結果、両者が一致する場合の既約多項式f(t)が無いか又は2つ以上あるとき、エラーを出力するエラー出力手段、
として機能させるためのプログラム。 - メモリを有する復号装置に用いられ、代数曲面XのファイブレーションX(x, y, t)に対応するセクションDである秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された複数の暗号文F1, F2から、メッセージmを復号するための復号装置のプログラムであって、
前記復号装置のコンピュータを、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F1=Epk(m, s1, r1, f, X)が入力される第1暗号文入力手段、
前記平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)(≠r1(x, y, t))との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F2=Epk(m, s2, r2, f, X)が入力される第2暗号文入力手段、
入力された複数の暗号文F1, F2を前記メモリに書き込む手段、
前記メモリ内の各暗号文F1, F2に対し、前記セクションDを代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段、
前記検査の結果、両者が一致する場合、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段、
前記検査の結果、否の場合には、抽出された他の既約多項式f(t)により前記除算を実行するように前記剰余演算手段を制御する制御手段、
前記検査の結果、否の場合で且つ他の既約多項式f(t)が無い場合には、エラーを出力するエラー出力手段、
として機能させるためのプログラム。 - メモリを有する復号装置に用いられ、代数曲面XのファイブレーションX(x, y, t)に対応するセクションDである秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された複数の暗号文F1, F2から、メッセージmを復号するための復号装置のプログラムであって、
前記復号装置のコンピュータを、
メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F1=Epk(m, s1, r1, f, X)が入力される第1暗号文入力手段、
前記平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)(≠r1(x, y, t))との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F2=Epk(m, s2, r2, f, X)が入力される第2暗号文入力手段、
入力された複数の暗号文F1, F2を前記メモリに書き込む手段、
前記メモリ内の各暗号文F1, F2に対し、前記セクションDを代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入手段、
前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算手段、
前記減算結果{h1(t)−h2(t)}を因数分解する因数分解手段、
因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出手段、
抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算手段、
前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査手段、
前記検査の結果、両者が一致する場合の既約多項式f(t)が1つだけあるとき、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開手段、
前記検査の結果、両者が一致する場合の既約多項式f(t)が無いか又は2つ以上あるとき、エラーを出力するエラー出力手段、
として機能させるためのプログラム。 - 平文埋め込み手段、メモリ、既約多項式生成手段、多項式生成手段及び暗号化手段を備え、代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションが秘密鍵のとき、前記ファイブレーションX(x, y, t)である公開鍵に基づいて、メッセージmを暗号化するための暗号装置が実行する暗号方法であって、
前記平文埋め込み手段が、メッセージmを1変数tで次数L−1以下の平文多項式m(t)の係数として埋め込むことにより、平文多項式m(t)を得る平文埋め込み工程と、
前記暗号化手段が、前記平文多項式m(t)を前記メモリに書き込む工程と、
前記既約多項式生成手段が、次数L以上のランダムな1変数既約多項式f(t)を生成する既約多項式生成工程と、
前記多項式生成手段が、「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r(x, y, t)、s(x, y, t)を生成する多項式生成工程と、
前記暗号化手段が、前記メモリ内の平文多項式m(t)に対し、前記乗算結果X(x, y, t)r(x, y, t)と、前記乗算結果f(t)s(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から暗号文F=Epk(m, s, r, f, X)を生成する暗号化工程と
を備えたことを特徴とする暗号方法。 - 平文埋め込み手段、メモリ、既約多項式生成手段、第1多項式生成手段、第1暗号化手段、第2多項式生成手段及び第2暗号化手段を備え、代数曲面XのファイブレーションX(x, y, t)に対応するセクションが秘密鍵のとき、前記ファイブレーションX(x, y, t)である公開鍵に基づいて、メッセージmを暗号化するための暗号装置が実行する暗号方法であって、
前記平文埋め込み手段が、メッセージmを1変数tで次数L−1以下の平文多項式m(t)の係数として埋め込むことにより、平文多項式m(t)を得る平文埋め込み工程と、
前記第1暗号化手段が、前記平文多項式m(t)を前記メモリに書き込む工程と、
前記既約多項式生成手段が、次数L以上のランダムな1変数既約多項式f(t)を生成する既約多項式生成工程と、
前記第1多項式生成手段が、「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r1(x, y, t)、s1(x, y, t)を生成する第1多項式生成工程と、
前記第1暗号化手段が、前記メモリ内の平文多項式m(t)に対し、前記乗算結果X(x, y, t)r1(x, y, t)と、前記乗算結果f(t)s1(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から第1暗号文F1=Epk(m, s1, r1, f, X)を生成する第1暗号化工程と、
前記第2多項式生成手段が、「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを互いにx, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成するように、ランダム3変数多項式r2(x, y, t)、s2(x, y, t)を生成する第2多項式生成工程と、
前記第2暗号化手段が、前記メモリ内の平文多項式m(t)に対し、前記乗算結果X(x, y, t)r2(x, y, t)と、前記乗算結果f(t)s2(x, y, t)とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により、前記平文多項式m(t)から第2暗号文F2=Epk(m, s2, r2, f, X)を生成する第2暗号化工程と
を備えたことを特徴とする暗号方法。 - 暗号文入力手段、セクション代入手段、多項式減算手段、因数分解手段、多項式抽出手段、剰余演算手段、平文多項式検査手段、展開手段、制御手段及びエラー出力手段を備え、代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションD1, D2である秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された暗号文Fから、メッセージmを復号するための復号装置が実行する復号方法であって、
前記暗号文入力手段が、メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F=Epk(m, s, r, f, X)の入力を受け付ける暗号文入力工程と、
前記セクション代入手段が、前記受け付けられた暗号文Fに対し、前記各セクションD1, D2を代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入工程と、
前記多項式減算手段が、前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算工程と、
前記因数分解手段が、前記減算結果{h1(t)−h2(t)}を因数分解する因数分解工程と、
前記多項式抽出手段が、因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出工程と、
前記剰余演算手段が、抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算工程と、
前記平文多項式検査手段が、前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査工程と、
前記展開手段が、前記検査の結果、両者が一致する場合、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開工程と、
前記制御手段が、前記検査の結果、否の場合には、抽出された他の既約多項式f(t)により前記除算を実行するように前記剰余演算工程を制御する制御工程と、
前記エラー出力手段が、前記検査の結果、否の場合で且つ他の既約多項式f(t)が無い場合には、エラーを出力するエラー出力工程と
を備えたことを特徴とする復号方法。 - 暗号文入力手段、セクション代入手段、多項式減算手段、因数分解手段、多項式抽出手段、剰余演算手段、平文多項式検査手段、展開手段及びエラー出力手段を備え、代数曲面XのファイブレーションX(x, y, t)に対応する2つ以上のセクションD1, D2である秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された暗号文Fから、メッセージmを復号するための復号装置が実行する復号方法であって、
前記暗号文入力手段が、メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r(x, y, t)との乗算結果X(x, y, t)r(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s(x, y, t)との乗算結果f(t)s(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F=Epk(m, s, r, f, X)の入力を受け付ける暗号文入力工程と、
前記セクション代入手段が、前記受け付けられた暗号文Fに対し、前記各セクションD1, D2を代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入工程と、
前記多項式減算手段が、前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算工程と、
前記因数分解手段が、前記減算結果{h1(t)−h2(t)}を因数分解する因数分解工程と、
前記多項式抽出手段が、因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出工程と、
前記剰余演算手段が、抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算工程と、
前記平文多項式検査手段が、前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査工程と、
前記展開手段が、前記検査の結果、両者が一致する場合の既約多項式f(t)が1つだけあるとき、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開工程と、
前記エラー出力手段が、前記検査の結果、両者が一致する場合の既約多項式f(t)が無いか又は2つ以上あるとき、エラーを出力するエラー出力工程と
を備えたことを特徴とする復号方法。 - 第1暗号文入力手段、第2暗号文入力手段、セクション代入手段、多項式減算手段、因数分解手段、多項式抽出手段、剰余演算手段、平文多項式検査手段、展開手段、制御手段及びエラー出力手段を備え、代数曲面XのファイブレーションX(x, y, t)に対応するセクションDである秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された複数の暗号文F1, F2から、メッセージmを復号するための復号装置が実行する復号方法であって、
前記第1暗号文入力手段が、メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F1=Epk(m, s1, r1, f, X)の入力を受け付ける第1暗号文入力工程と、
前記第2暗号文入力手段が、前記平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)(≠r1(x, y, t))との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F2=Epk(m, s2, r2, f, X)の入力を受け付ける第2暗号文入力工程と、
前記セクション代入手段が、前記受け付けられた複数の暗号文F1, F2に対し、前記セクションDを代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入工程と、
前記多項式減算手段が、前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算工程と、
前記因数分解手段が、前記減算結果{h1(t)−h2(t)}を因数分解する因数分解工程と、
前記多項式抽出手段が、因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出工程と、
前記剰余演算手段が、抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算工程と、
前記平文多項式検査手段が、前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査工程と、
前記展開手段が、前記検査の結果、両者が一致する場合、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開工程と、
前記制御手段が、前記検査の結果、否の場合には、抽出された他の既約多項式f(t)により前記除算を実行するように前記剰余演算工程を制御する制御工程と、
前記エラー出力手段が、前記検査の結果、否の場合で且つ他の既約多項式f(t)が無い場合には、エラーを出力するエラー出力工程と
を備えたことを特徴とする復号方法。 - 第1暗号文入力手段、第2暗号文入力手段、セクション代入手段、多項式減算手段、因数分解手段、多項式抽出手段、剰余演算手段、平文多項式検査手段、展開手段及びエラー出力手段を備え、代数曲面XのファイブレーションX(x, y, t)に対応するセクションDである秘密鍵に基づいて、前記ファイブレーションX(x, y, t)である公開鍵により生成された複数の暗号文F1, F2から、メッセージmを復号するための復号装置が実行する復号方法であって、
前記第1暗号文入力手段が、メッセージmが1変数tで次数(L−1)以下の平文多項式m(t)の係数として埋め込まれた平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r1(x, y, t)との乗算結果X(x, y, t)r1(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s1(x, y, t)との乗算結果f(t)s1(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F1=Epk(m, s1, r1, f, X)の入力を受け付ける第1暗号文入力工程と、
前記第2暗号文入力手段が、前記平文多項式m(t)に対し、x, yの多項式として見たときの変数xiyjについての同類項(但し、i, jは0以上の次数)から構成される「前記ファイブレーションX(x, y, t)と3変数多項式r2(x, y, t)(≠r1(x, y, t))との乗算結果X(x, y, t)r2(x, y, t)」と、「次数L以上のランダムな1変数既約多項式f(t)と3変数多項式s2(x, y, t)との乗算結果f(t)s2(x, y, t)」とを用いて、加算及び減算のうち少なくとも加算を行う暗号化処理により生成された前記暗号文F2=Epk(m, s2, r2, f, X)の入力を受け付ける第2暗号文入力工程と、
前記セクション代入手段が、前記受け付けられた複数の暗号文F1, F2に対し、前記セクションDを代入して2つの1変数多項式h1(t), h2(t)を生成するセクション代入工程と、
前記多項式減算手段が、前記各1変数多項式h1(t), h2(t)を互いに減算し、減算結果{h1(t)−h2(t)}を得る多項式減算工程と、
前記因数分解手段が、前記減算結果{h1(t)−h2(t)}を因数分解する因数分解工程と、
前記多項式抽出手段が、因数分解結果からL以上の次数を持つ全ての既約多項式f(t)を抽出する多項式抽出工程と、
前記剰余演算手段が、抽出された既約多項式f(t)で前記1変数多項式h1(t)を除算し、剰余として多項式候補m1(t)を得ると共に、当該既約多項式f(t)で前記1変数多項式h2(t)を除算し、剰余として多項式候補m2(t)を得る剰余演算工程と、
前記平文多項式検査手段が、前記多項式候補m1(t), m2(t)が互いに一致するか否かを検査する平文多項式検査工程と、
前記展開手段が、前記検査の結果、両者が一致する場合の既約多項式f(t)が1つだけあるとき、当該多項式候補m1(t)又はm2(t)からメッセージmを展開する展開工程と、
前記エラー出力手段が、前記検査の結果、両者が一致する場合の既約多項式f(t)が無いか又は2つ以上あるとき、エラーを出力するエラー出力工程と
を備えたことを特徴とする復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006197488A JP4197710B2 (ja) | 2006-07-19 | 2006-07-19 | 暗号装置、復号装置、プログラム及び方法 |
US11/685,302 US20080019511A1 (en) | 2006-07-19 | 2007-03-13 | Encryption apparatus, decryption apparatus, program, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006197488A JP4197710B2 (ja) | 2006-07-19 | 2006-07-19 | 暗号装置、復号装置、プログラム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008026498A JP2008026498A (ja) | 2008-02-07 |
JP4197710B2 true JP4197710B2 (ja) | 2008-12-17 |
Family
ID=38971448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006197488A Expired - Fee Related JP4197710B2 (ja) | 2006-07-19 | 2006-07-19 | 暗号装置、復号装置、プログラム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080019511A1 (ja) |
JP (1) | JP4197710B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2897963A1 (fr) * | 2006-02-28 | 2007-08-31 | Atmel Corp | Procede pour les conjectures de quotient rapide et une manip ulation de congruences |
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 |
JP2010049213A (ja) * | 2008-08-25 | 2010-03-04 | Toshiba Corp | 暗号化装置、復号装置、暗号通信システム、方法及びプログラム |
JP2010204466A (ja) * | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
JP5594034B2 (ja) * | 2010-07-30 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、及びプログラム |
WO2013101136A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Dual composite field advanced encryption standard memory encryption engine |
US9946970B2 (en) * | 2014-11-07 | 2018-04-17 | Microsoft Technology Licensing, Llc | Neural networks for encrypted data |
NZ739117A (en) * | 2015-07-27 | 2020-06-26 | Hip Innovation Technology Llc | Acetabular cup extractor |
US10728227B2 (en) * | 2016-08-02 | 2020-07-28 | X-Logos, LLC | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
US10992467B2 (en) * | 2018-03-16 | 2021-04-27 | Colossio, Inc. | System and method for encrypting information with polynomial distributed strings |
US11055433B2 (en) | 2019-01-03 | 2021-07-06 | Bank Of America Corporation | Centralized advanced security provisioning platform |
JP7273742B2 (ja) * | 2020-02-07 | 2023-05-15 | 株式会社東芝 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
Family Cites Families (12)
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 |
JP2001282103A (ja) * | 2000-01-25 | 2001-10-12 | Murata Mach Ltd | 暗号化方法 |
JP2001255814A (ja) * | 2000-03-10 | 2001-09-21 | Murata Mach Ltd | 復号方法、復号装置、及び復号プログラムの記録媒体 |
US20040151309A1 (en) * | 2002-05-03 | 2004-08-05 | Gentry Craig B | Ring-based signature scheme |
EP1550258A1 (en) * | 2002-10-09 | 2005-07-06 | Matsushita Electric Industrial Co., Ltd. | Encryption apparatus, decryption apparatus and encryption system |
JP4282546B2 (ja) * | 2004-05-19 | 2009-06-24 | 株式会社東芝 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
US7961876B2 (en) * | 2005-01-11 | 2011-06-14 | Jintai Ding | Method to produce new multivariate public key cryptosystems |
JP4384056B2 (ja) * | 2005-01-11 | 2009-12-16 | 株式会社東芝 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
JP4575251B2 (ja) * | 2005-07-25 | 2010-11-04 | 株式会社東芝 | デジタル署名生成装置、デジタル署名検証装置、デジタル署名生成方法、デジタル署名検証方法、デジタル署名生成プログラム及びデジタル署名検証プログラム |
JP4575283B2 (ja) * | 2005-11-15 | 2010-11-04 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
JP4664850B2 (ja) * | 2006-03-30 | 2011-04-06 | 株式会社東芝 | 鍵生成装置、プログラム及び方法 |
JP2009175197A (ja) * | 2008-01-21 | 2009-08-06 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
-
2006
- 2006-07-19 JP JP2006197488A patent/JP4197710B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-13 US US11/685,302 patent/US20080019511A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2008026498A (ja) | 2008-02-07 |
US20080019511A1 (en) | 2008-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4197710B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
JP4575283B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
JP4384056B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
JP4282546B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
JP4664850B2 (ja) | 鍵生成装置、プログラム及び方法 | |
JP4304215B2 (ja) | 秘密分散装置、方法及びプログラム | |
Dartois et al. | SQISignHD: new dimensions in cryptography | |
JP2010204466A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP2009010531A (ja) | 秘密分散装置、方法及びプログラム | |
JP2009175197A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
Lauter | Postquantum opportunities: lattices, homomorphic encryption, and supersingular isogeny graphs | |
JP2010049215A (ja) | パラメータ生成装置、暗号処理システム、方法およびプログラム | |
JP2009116183A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP5852518B2 (ja) | 認証暗号化装置、認証復号装置、およびプログラム | |
Biksham et al. | A lightweight fully homomorphic encryption scheme for cloud security | |
JP4690819B2 (ja) | 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置 | |
JP2007187908A (ja) | サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法 | |
JP2021124679A (ja) | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム | |
JP5300373B2 (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
JP5354994B2 (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
JP2021081591A (ja) | 安全性評価装置、安全性評価方法及び安全性評価プログラム | |
JP2006184831A (ja) | 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム | |
JP4861369B2 (ja) | リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム | |
JP4692022B2 (ja) | 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム | |
Dutra et al. | BlindTM—a Turing machine system for secure function evaluation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080902 |
|
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: 20080924 |
|
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: 20080929 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |