JP2006194990A - 暗号装置、復号装置、鍵生成装置、プログラム及び方法 - Google Patents
暗号装置、復号装置、鍵生成装置、プログラム及び方法 Download PDFInfo
- Publication number
- JP2006194990A JP2006194990A JP2005004220A JP2005004220A JP2006194990A JP 2006194990 A JP2006194990 A JP 2006194990A JP 2005004220 A JP2005004220 A JP 2005004220A JP 2005004220 A JP2005004220 A JP 2005004220A JP 2006194990 A JP2006194990 A JP 2006194990A
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- integer
- diophantine equation
- irreducible
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B82—NANOTECHNOLOGY
- B82Y—SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- B82Y10/00—Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- 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/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
- 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)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Chemical & Material Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Nanotechnology (AREA)
- Algebra (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Crystallography & Structural Chemistry (AREA)
- Artificial Intelligence (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】 ディオファンタス方程式Xの2つの整数解S1,S2を秘密鍵に用いており、一般的な解法アルゴリズムが存在しないディオファンタス方程式の整数解を求める問題に安全性の根拠をおく公開鍵暗号方式の暗号装置20,復号装置30又は鍵生成装置10を実現した。これにより、上記課題を解決する。
【選択図】 図1
Description
T.岡本、K.田中、S.内山(T.Okamoto and K.Tanaka and S.Uchiyama)著:"量子公開鍵暗号システム(Quantum Public-Key Cryptosystems)",アドバンセズ・イン・クリプトロジー・クリプト2000(Advances in Cryptology - CRYPTO2000), レクチャー・ノーツ・イン・コンピュータ・サイエンス(Lecture Notes in Computer Science), 1880巻, pp.147-165, シュプリンガーフェアラーク(Springer-Verlag), 2000年. 松坂和夫著、「代数系入門」、岩波書店、1976年、p.140の定理8 D.コックス 他 著、「グレブナ基底と代数多様体入門(上)」、シュプリンガーフェアラーク(Springer-Verlag)
第1乃至第6の各発明は、ディオファンタス方程式Xの整数解を秘密鍵に用いる構成により、一般的な解法アルゴリズムが存在しないディオファンタス方程式の整数解を求める問題に安全性の根拠をおく公開鍵暗号方式の暗号装置、復号装置又は鍵生成装置を実現したので、量子計算機が出現しても安全性を確保でき、現在の計算機でも安全に実現可能であると共に、小電力環境での実現可能性がある公開鍵暗号方式を構成することができる。
(第1の実施形態)
整数を係数に持つ有限個の方程式に共通の整数解を求めることをディオファンタス方程式または不定方程式を解くといい、整数解を求めることを前提とした整数係数の(有限個の)方程式をディオファンタス方程式もしくは不定方程式と呼ぶ。例えば整数係数の連立方程式である式(1)は、ディオファンタス方程式である。
X(x1,…,xn)=0
のように記述する。
ディオファンタス方程式:X(x1,…,xn)=0
秘密鍵は以下の2つである。
1.ディオファンタス方程式Xの整数解:S1:(x1,…,xn)=(c1,…,cn)
2.ディオファンタス方程式Xの整数解:S2:(x1,…,xn)=(g1,…,gn)
これらは後述する方法(鍵生成方法)で容易に求めることができる。
(2)
degxip(x1,…,xn,t)は多項式p(x1,…,xn,t)を変数xiの多項式と思ったときの次数を表す。例えばxの次数degxと、yの次数degyは、それぞれ次のようになる。
なお、後述する<安全性の検討>でも示される通り、ランダムな多項式p(x1,…,xn,t),q(x1,…,xn,t)は一方が欠けても安全性に問題が生ずる。即ち、2つのランダム多項式p(x1,…,xn,t),q(x1,…,xn,t)は、安全性の観点から、必然性をもって式(5)に含まれている。
h2(t)=F(g1,…,gn,t)=m(t)+f(t)p(g1,…,gn,t)
次に、これら2式を辺々引き算し、次の式(6)を計算する。
計算により得られたh1(t)−h2(t)を因数分解し、最大次数の既約多項式をf(t)と定める。ここで、条件(4)により因子{p(c1,…,cn,t)−p(g1,…,gn,t)}の次数が高々(L−1)で抑えられることにより、f(t)が最大次数の既約多項式として決定できる。また、h1(t)−h2(t)の因数分解は、h1(t)−h2(t)の次数が50程度のあまり大きくない整数であれば、実時間で実行できるアルゴリズムが知られている。得られた既約多項式f(t)で整数h1(t)を除すると(m(t)の次数がf(t)の次数より小さいことに注意すると)、次式の関係から剰余として平文を埋め込んだ多項式m(t)が一意的に得られる。
最後に本実施形態における鍵生成方法を説明する。この鍵生成は、整数解S1,S2をランダムに選び、整数解S1,S2に対応したディオファンタス方程式を生成して行う。但し、生成されたディオファンタス方程式が2つの整数解S1,S2を同時に持つようにするため、以下のような工夫をする。
ここでは簡単のためx1=x,x2=yとした2変数のディオファンタス方程式を考える。ここで、a1,…,a4は係数であり整数である。尚、公開鍵暗号の公開鍵としてディオファンタス方程式を使う場合は定数項が入っていることが望ましい。何故なら定数項がない場合、自明な解(0,…,0)が存在してしまい、解読のために重大なヒントを与えることになるからである。
以下では、前述した本実施形態の公開鍵暗号の安全性に関して考察する。本実施形態の公開鍵暗号は、ディオファンタス方程式X(x1,…,xn)=0が与えられたとき、その整数解を求める問題の難しさを安全性の根拠としている。
F(x1,…,xn,t)=m(t)+f(t)・p(x1,…,xn,t)+X(x1,…,xn)q(x1,…,xn,t)
前述した復号方式では、F(x1,…,xn,t)にX(x1,…,xn)の整数解(c1,…,cn)および(g1,…,gn)を代入し、多項式の因数分解により式(6)の右辺を導き出す操作がポイントとなる。以下では、次の4通りの攻撃方法[攻撃1]〜[攻撃4]に分類し、上記の操作以外に復号ができないことを検証する。
[攻撃2]整数解以外の解を代入してm(t)を求める。
[攻撃3]各種リダクションによってm(t)を求める。
[3−1]ディオファンタス多項式X(x1,…,xn)によるリダクション
[3−2]素数pによるリダクション
[攻撃4]変数x1,…,xnをパラメータ表示することによりm(t)を求める。
平文を埋め込んだ多項式m(t)は、暗号文F(x1,…,xn,t)の中のtのみを変数として含む項の部分のみに存在する。従って、暗号文F(x1,…,xn,t)の中にtのみを変数として含む項がm(t)以外になければ、F(x1,…,xn,t)の形状からm(t)が特定できる。しかしながら、暗号文F(x1,…,xn,t)は、cを任意の整数として次式のように変形すれば、他の定数項cf(t)が明らかに存在する。
F(x1,…,xn)={m(t)+cf(t)}+f(t){p(x1,…,xn,t)−c}+X(x1,…,xn)q(x1,…,xn,t)
従って、暗号文F(x1,…,xn,t)中のtのみを変数として含む項としてm(t)を特定することはできない。
ディオファンタス方程式に整数解以外の解を代入する攻撃が考えられる。ディオファンタス方程式の整数解を求めることは困難であるが、実数解や複素数解を求めることは比較的容易である。ここでは簡単のため、実数解(r1,…,rn),(s1,…,sn)をそれぞれ代入し、得られた2つの数を辺々引くと、f(t){p(r1,…,rn,t)−p(s1,…,sn,t)}が求まる。しかし、第二因子{p(r1,…,rn,t)−p(s1,…,sn,t)}が実数もしくは複素数となるため、因数分解でf(t)を求めることはできない。
暗号文F(x1,…,xn,t)をリダクションすることにより、解読し易い空間に暗号文を写し、この解読し易い空間において解読する攻撃が考えられる。ここでは、以下の2つの場合に関して安全性を考察する。尚、f(x1,…,xn,t)をg(x1,…,xn)でリダクションするとは、f(x1,…,xn,t)をg(x1,…,xn)で割った余りを求めることである。
暗号文F(x1,…,xn,t)にディオファンタス方程式X(x1,…,xn)のリダクションを施すと、X(x1,…,xn)が2変数以上の場合、剰余が一意に定まらないことが知られている(例えば、非特許文献2,3参照)。また、仮に(グレブナー基底等を用いて)剰余が一意に定まったとしても、多項式p(x1,…,xn,t)が条件(2)を満たすので、定まった剰余が望ましい剰余 m(t)+f(t)p(x1,…,xn,t)であるかを検証する手段がない。しかし、ここで暗号文F(x1,…,xn,t)にq(x1,…,xn,t)の因子が無ければ、単に暗号文F(x1,…,xn,t)からX(x1,…,xn)を引き算するだけで正しいm(t)+f(t)p(x1,…,xn,t)が求まってしまう。m(t)+f(t)p(x1,…,xn,t)が求まれば変数(x1,…,xn)に(ディオファンタス方程式の整数解とは限らない)適当な2つの整数の組(u1,…,un)、(v1,…,vn)を割り当てることによって、本実施形態の復号方式と同様の手段で平文を埋め込んだ多項式m(t)を求めることができる。従って、このような攻撃を防ぐ意味で、因子p(x1,…,xn,t)は必要不可欠な因子であるといえる。
暗号文F(x1,…,xn,t)を素数pでリダクションすることにより、有限体Fp上のディオファンタス方程式X(x1,…,xn)=0の求解問題は極めて容易になる。そこで実際に解を求めて、f(t){p(r1,…,rn,t)−p(s1,…,sn,t)}(mod p)を導くことができる。しかしながら、有限体Fp上で解を求めただけなので、因数分解等の手段によって既約多項式f(t)を求めることができない。
ディオファンタス方程式X(x1,…,xn)は各変数xiをxi(t)のようにパラメータ表示することにより、1変数多項式とすることができる。このとき、暗号文は、式(5)から次式のf(t)のように求まる。
ここで、パラメータ表示した暗号文f(t)をディオファンタス方程式X(x1(t),…,xt(t))で割ることにより、望ましい剰余「m(t)+f(t)p(x1(t),…,xn(t) ,t)」が求まる恐れがある。しかし、条件(3)により、どのようなパラメータ表示を行っても、多項式p(x1(t),…,xn(t) ,t)の次数がディオファンタス方程式X(x1(t),…,xn(t))の次数よりも大きくなる(deg p(x1(t),…,xn(t) ,t) > deg X (x1(t),…,xn(t)))。
最後に本実施形態におけるいくつかのバリエーションを述べる。
第1のバリエーションは、暗号化の式(5)を変形させた方式である。例えば、式(5)をF(x1,…,xn,t)=m(t)−f(t)p(x1,…,xn,t)−X(x1,…,xn)q(x1,…,xn,t)のように、加算を減算に変形した方式である。このように変形しても、前述同様に、暗号化/復号が可能であり、同様の安全性を得ることができる。このように本発明の趣旨に反しない範囲で暗号化の式を変形し、それに伴い復号処理を変更することは十分可能である。
この第4のバリエーションによれば、復号文m’から得られる平文mにハッシュ関数hを施して式(8)を満たすか否かを判定することにより、出力された復号文m’の真正性を確認できる。一方、改竄する者は、改竄後の暗号文F’から得られる平文m0’に関し、m0’=m0‖h(m0)のような連接構造を持たせることが極めて困難となる。従って、第4のバリエーションは、第3のバリエーションで述べたような不正な暗号文F’の作成を阻止する効果を持っている。一般に、平文mに一方向変換を施した公開鍵暗号の構成は、改竄に対する安全性や、(適当な暗号文を作成しそれを復号装置に復号させ、復号装置から情報を得て暗号文を解読する)アクティブな攻撃にも対抗できる強い安全性を持つ暗号を構成できる性質が知られている。この性質は、本発明の公開鍵暗号についても同様に成り立ち、同様の効果が期待できる。
次に、このような公開鍵暗号における鍵生成装置、暗号装置、復号装置の具体的な構成とそのアルゴリズムを2変数の場合を例にとり示す。
本実施形態の鍵生成装置の構成と処理の流れを図2に示すフローチャートに沿って図1に示す全体構成図を参照しながら示す。尚、以下に述べる具体的な数値や式は、あくまでも理解を助ける簡明な例であり、実際に使われる十分な安全性を持つ暗号化とは(特に多項式の次数などの点で)必ずしも一致していない。
このディオファンタス方程式X(x,y)を鍵出力部17から出力することにより鍵生成処理が終了する。
次に本実施形態の暗号装置の構成と処理の流れを図4に示すフローチャートに沿って図3に示す全体構成図を参照しながら示す。本実施形態の暗号装置20は、平文入力部21、公開鍵入力部22、平文変換部23、暗号化部24、既約多項式生成部25、多項式生成部26及び暗号文出力部27を備えており、全体として図4に示す動作を実行するように、暗号化部24により他の各部21〜23,25〜27が制御されるものである。また、暗号装置20は、図示しないメモリを有し、各部21〜27から入力データ、出力データ及び処理中のデータ等が適宜読出/書込可能となっている。以下、具体的に説明する。
X(x,y):11010468x2y3 + 5816424y2 − 38516785658796941794378x + 43682591769016200836744482 = 0
また、公開鍵とは別にランダムに生成する既約多項式f(t)の次数L(=5)を入力する。
m=0x3E54402F8E7C82B9 2A982398452E3A80 5C948A3025D32493 14204A043C0230D1 78982CA92C020131
に変換できたとする。以下、整数mを平文mとも呼ぶ。
暗号化部24は、3変数多項式q(x,y,t)を得ると、条件(2),(3),(4)を満たすランダムな3変数多項式p(x,y,t)を生成する(ST27)。ここでは、3変数多項式p(x,y,t)を次式のものとする。
この2変数多項式p(x,y,t)は、条件(2),(3),(4)を満たしている。
暗号化部24は、以上の処理で得られた多項式m(t),既約多項式f(t),多項式p(x,y,t),q(x,y,t)と、公開鍵であるディオファンタス方程式X(x,y)=0とを用い、式(5)に基づいて、暗号文F(x,y,t)を計算し展開する(ST28)。
最後に本実施形態の復号装置の構成と処理の流れを図6に示すフローチャートに沿って図5に示す全体構成図を参照しながら示す。本実施形態の復号装置30は、暗号文入力部31、鍵入力部32、復号部33、整数解代入部34、多項式演算部35、因数分解部36、因子抽出部37、剰余演算部38、平文展開部39及び平文出力部40を備えており、全体として図6に示す動作を実行するように、復号部33により他の各部31,32,34〜40が制御されるものである。また、復号装置30は、図示しないメモリを有し、各部31〜40から入力データ、出力データ及び処理中のデータ等が適宜読出/書込可能となっている。以下、前述の暗号装置と同様、2変数の場合を例にとって具体的に説明する。
復号部33は、因子抽出部37により、メモリ内の因数分解結果から最大次数の素因子を抽出して、既約多項式f(t)を決定する(ST36)。
次に、本発明の第2の実施形態について説明する。
本実施形態の公開鍵は、以下のディオファンタス方程式Xである。
秘密鍵は以下の整数解Sである。
第2の実施形態は、第1の実施形態と比較すると、秘密鍵である整数解が1つであることが大きく異なる。第2の実施形態は、このため秘密鍵のサイズが小さくなることは言うまでもなく、後述するように鍵生成の自由度が増えるという効果がある。
本実施形態における暗号化処理の概要を述べる。暗号処理は第1の実施形態とほぼ同じであるが、1つの暗号文F(x1,…,xn,t)を生成した第1の実施形態とは異なり、2つの暗号文F1(x1,…,xn,t),F2(x1,…,xn,t)を生成する。
F2(x1,…,xn,t)=m(t)+f(t)p2(x1,…,xn,t)+X(x1,…,xn)q2(x1,…,xn,t)
ここで、多項式p1(x1,…,xn,t),p2(x1,…,xn,t)は条件(2)と条件(3)を満たすほか、(第1の実施形態と同じ理由により)条件(4)を満たす必要がある。
h2(t)=F2(c1,…,cn,t)=m(t)+f(t)p2(c1,…,cn,t)
次に、2式を辺々引き算して次式h1(t)−h2(t)を計算する。
しかる後、計算結果h1(t)−h2(t)を因数分解して、最大次数の既約多項式をf(t)と定める。この後の処理は第1の実施形態と同じであるので、説明を省略する。
最後に本実施形態における鍵生成方法を説明する。本実施形態の鍵生成は第1の実施形態と同様にセクションSをランダムに選び、それに対応したディオファンタス方程式を構成することによって行う。
a1c1 2c2 3+a2c2 2+a3c1+a4=0
この式から定数項a4を次のように得る。
鍵生成方法は、定数項を持つ全てのディオファンタス方程式に適用できるだけでなく、整数解への制約が全く無い。この点が第1の実施形態にない効果と言える。
以下ではこのように構成した本実施形態の公開鍵暗号の安全性に関して考察する。基本的に第1の実施形態における安全性の検討がそのまま本実施形態の安全性の検討となる。第1の実施形態と異なるのは暗号文が2つあることであり、この部分の安全性に関して考察を行う。暗号文F1(x1,…,xn,t),F2(x1,…,xn,t)の引き算を行うと以下のようになる。
この式では、多項式m(t)は消去されるもののp1(x1,…,xn,t)≠p2(x1,…,xn,t)かつq1(x1,…,xn,t)≠q2(x1,…,xn,t)であり、n変数多項式の因数分解が必ずしも一意的でないことから、その因子等からもほとんど情報が得られない。
次に本実施形態の公開鍵暗号における鍵生成装置、暗号装置、復号装置の具体的な構成とそのアルゴリズムを2変数の場合を例にとり示す。本実施形態の鍵生成装置の構成と処理の流れを図8に示すフローチャートに沿って図12に示す全体構成図を参照しながら示す。また本実施形態では式(7)に示したディオファンタス方程式を前提とした構成例を示している。また、理解の助けとして具体的な数値や式を示すが、これはあくまでも理解を助ける簡明な例であって、実際に使われる十分な安全性を持つ暗号化とは(特に多項式の次数などの点で)必ずしも一致していない。
(10)
S:(c1,c2)=(1213,1873) (11)
(暗号装置及び処理の流れ)
次に本実施形態の暗号装置の構成と処理の流れを図9に示すフローチャートに沿って図3に示す全体構成図を参照しながら示す。本実施形態の暗号装置20は平文入力部21からメッセージを取得し、公開鍵入力部22から公開鍵X(x1,…,xn)と既約多項式の最大次数Lを取得することから処理を開始する。なお、公開鍵としては、鍵生成処理の例で述べたように、「ディオファンタス方程式」を利用し、送信者が取り決めた「既約多項式の最小次数L」を用いる。公開鍵の具体例は下記である。
X:23x2y3+387y2+38x−222363126905964496
更に、ここでは既約多項式の最小次数Lを5とする。
q2(x,y,t)=26x3yt+52y2xt3+29
暗号化部24はこの3変数多項式q1(x,y,t),q2(x,y,t)を得ると、多項式生成部に条件(2),(3),(4)を満たす相異なる3変数多項式p1(x,y,t),p2(x,y,t)を生成させる(ST27”)。ここでは、3変数多項式p1(x,y,t),p2(x,y,t)を次式のものとする。
p2(x,y,t)=23x5y4t2+4x3t+43x3y5t4+4x2y3t+8x2y2+34x3yt+5xy2t4+21x2y+7y2+7t3+5
この各項は式(2)(3)(4)に示された次数の関係式を満たしている。
最後に本実施形態の復号装置の構成と処理の流れを図10に示すフローチャートに沿って図5に示す全体構成図を参照しながら示す。本実施形態の復号装置30は暗号文入力部31から暗号文F1(x,y,t),F2(x,y,t)を取得し(ST31)、鍵入力部22から公開鍵X(x,y)と、秘密鍵Sを取得することから(ST32)、処理を開始する。ここで秘密鍵とは1つの整数解であり、鍵生成で示した式(11)で定義される整数解Sを利用する。取得された暗号文と鍵情報は復号部33に送られ、復号処理が開始される。
復号部33は、因子抽出部37を用い、メモリ内の因数分解結果から最大次数の既約多項式として、既約多項式f(t)を決定する(ST36)。
Claims (30)
- 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージを暗号化するための暗号装置であって、
前記メッセージを整数mに展開する展開手段と、
前記整数mを次数(L−1)次以下の多項式m(t)に埋め込む手段と、
ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)を生成する多項式生成手段と、
次数L以上のランダムな既約多項式f(t)を生成する既約多項式生成手段と、
前記多項式m(t)に対し、前記各多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F=Epk(m,p,q,f,X)を生成する暗号化手段と
を備えたことを特徴とした暗号装置。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージを暗号化するための暗号装置であって、
前記メッセージを整数mに展開する展開手段と、
前記整数mを次数(L−1)次以下の1変数多項式m(t)と次数L以上の既約多項式f(t)の候補の一部の係数とに分担して埋め込む手段と、
ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)を生成する多項式生成手段と、
前記次数L以上の既約多項式f(t)の候補の各係数のうち、前記整数mが埋め込まれていない係数をランダムな値に設定し、前記既約多項式f(t)を生成する既約多項式生成手段と、
前記多項式m(t)に対し、前記各多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F=Epk(m,p,q,f,X)を生成する暗号化手段と
を備えたことを特徴とした暗号装置。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn) と既約多項式の最小次数Lとに基づいて、メッセージmを暗号化するための暗号装置であって、
前記メッセージを整数mに展開する展開手段と、
前記整数mを次数(L−1)次以下の多項式m(t)に埋め込む手段と、
少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn、t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)を生成する多項式生成手段と、
次数L以上のランダムな既約多項式を生成する既約多項式生成手段と、
前記多項式m(t)に対し、前記各多項式p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記整数mから暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)を生成する暗号化手段と
を備えたことを特徴とした暗号装置。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn) と既約多項式の最小次数Lとに基づいて、メッセージmを暗号化するための暗号装置であって、
前記メッセージを整数mに展開する展開手段と、
前記整数mを次数(L−1)次以下の多項式m(t)と次数L以上の既約多項式f(t)の候補の一部の係数とに分担して埋め込む手段と、
少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn、t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)を生成する多項式生成手段と、
前記次数L以上の既約多項式f(t)の候補の各係数のうち、前記整数mが埋め込まれていない係数をランダムな値に設定し、前記既約多項式f(t)を生成する既約多項式生成手段と、
前記多項式m(t)に対し、前記各多項式p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)を生成する暗号化手段と
を備えたことを特徴とした暗号装置。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)に対し、ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F=Epk(m,p,q,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2に基づいて、前記暗号文Fからメッセージを復号するための復号装置であって、
前記入力された暗号文Fに対し、前記整数解S1,S2を個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解手段と、
前記素因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出手段と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段と
を備えたことを特徴とする復号装置。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)と次数L以上の既約多項式f(t)に対し、ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)とf(t)から生成された暗号文F=Epk(m,p,q,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2に基づいて、前記暗号文Fからメッセージを復号するための復号装置であって、
前記入力された暗号文Fに対し、前記整数解S1,S2を個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解手段と、
前記素因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出手段と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段と
を備えたことを特徴とする復号装置。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)に対し、少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解Sに基づいて、前記暗号文F1,F2からメッセージを復号するための復号装置であって、
前記入力された暗号文F1,F2に対し、前記整数解Sを個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解手段と、
前記因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出手段と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段と
を備えたことを特徴とする復号装置。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)と次数L以上の既約多項式f(t)に対し、少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)とf(t)から生成された暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解Sに基づいて、前記暗号文F1,F2からメッセージを復号するための復号装置であって、
前記入力された暗号文F1,F2に対し、前記整数解Sを個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解手段と、
前記因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出手段と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段と
を備えたことを特徴とする復号装置。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)を暗号化するための公開鍵であるディオファンタス方程式X(x1,…,xn)と、前記暗号化された多項式m(t)を復号するための秘密鍵であるディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2とを生成するための鍵生成装置であって、
複数個の係数をそれぞれ変数としたディオファンタス方程式を決定するディオファンタス方程式決定手段と、
2つの整数解S1=(c1,…,cn),S2=(g1,…,gn)をランダムに生成する整数解生成手段と、
前記2つの整数解S1,S2を前記係数を変数としたディオファンタス方程式に代入して得られた連立方程式を行列表現した際の係数行列を求め、前記係数行列に掃きだし法を施すことによって、前記各係数のうちの幾つかの係数を自由変数である他の係数で表した基本解を求める行列演算手段と、
前記基本解の自由変数にランダムな値を代入することにより、整数の要素及び/又は有理数の要素で各係数を表す第1係数ベクトルを求め、この第1係数ベクトルの各要素の分母の最小公倍数を当該各要素にかけることによって全て整数の要素で各係数を表す第2係数ベクトルを求めることでディオファンタス方程式を生成するディオファンタス方程式生成手段と
を備えたことを特徴とする鍵生成装置。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)を暗号化するための公開鍵であるディオファンタス方程式X(x1,…,xn)と、前記暗号化された多項式m(t)を復号するための秘密鍵であるディオファンタス方程式X(x1,…,xn)=0に対応する整数解Sとを生成するための鍵生成装置であって、
係数を変数とした変数項及び定数項からなるディオファンタス方程式を決定するディオファンタス方程式決定手段と、
整数解Sをランダムに生成する整数解生成手段と、
ディオファンタス方程式の変数項の係数をランダムに決定する係数生成手段と、
前記生成された整数解Sと前記決定された係数から前記生成されたディオファンタス方程式の定数項を求めるディオファンタス方程式生成手段と
を備えたことを特徴とする鍵生成装置。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージを暗号化するための暗号装置に用いられるプログラムであって、
前記暗号装置のコンピュータを、
前記メッセージを整数mに展開する展開手段、
前記整数mを次数(L−1)次以下の多項式m(t)に埋め込む手段、
ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)を生成する多項式生成手段、
次数L以上のランダムな既約多項式候補f’(t)を生成してメモリに保存し、前記メモリ内の既約多項式候補f’(t)を既約判定することにより、既約多項式f(t)を生成する既約多項式生成手段、
前記多項式m(t)に対し、前記各多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F=Epk(m,p,q,f,X)を生成する暗号化手段、
として機能させるためのプログラム。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージを暗号化するための暗号装置に用いられるプログラムであって、
前記暗号装置のコンピュータを、
前記メッセージを整数mに展開する展開手段、
前記整数mを次数(L−1)次以下の多項式m(t)と次数L以上の既約多項式f(t)の候補の一部の係数とに分担して埋め込む手段、
ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)を生成する多項式生成手段、
前記次数L以上の既約多項式候補f’(t)の係数のうち、前記メッセージが埋め込まれていない係数をランダムな値に設定し、前記既約多項式f’(t)を生成してメモリに保存し、前記メモリ内の既約多項式候補f’(t)を既約判定することにより、既約多項式f(t)を生成する既約多項式生成手段、
前記多項式m(t)に対し、前記各多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式fと公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F=Epk(m,p,q,f,X)を生成する暗号化手段、
として機能させるためのプログラム。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージmを暗号化するための暗号装置に用いられるプログラムであって、
前記暗号装置のコンピュータを、
前記メッセージを整数mに展開する展開手段、
前記整数mを次数(L−1)次以下の多項式m(t)に埋め込む手段、
少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)を生成する多項式生成手段、
次数L以上のランダムな既約多項式候補f’(t)を生成してメモリに保存し、前記メモリ内の既約多項式候補f’(t)を既約判定することにより、既約多項式f(t)を生成する既約多項式生成手段、
前記多項式m(t)に対し、前記各多項式p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)を生成する暗号化手段、
として機能させるためのプログラム。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージmを暗号化するための暗号装置に用いられるプログラムであって、
前記暗号装置のコンピュータを、
前記メッセージを整数mに展開する展開手段、
前記整数mを次数(L−1)次以下の1変数多項式m(t)と次数L以上の既約多項式f(t)の候補の一部の係数とに分担して埋め込む手段、
少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)を生成する多項式生成手段、
前記次数L以上の既約多項式候補f’(t)の係数のうち、前記メッセージが埋め込まれていない係数をランダムな値に設定し、前記既約多項式f‘(t)を生成してメモリに保存し、前記メモリ内の既約多項式候補f’(t)を既約判定することにより、既約多項式f(t)を生成する既約多項式生成手段、
前記多項式m(t)に対し、前記各多項式p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)を生成する暗号化手段、
として機能させるためのプログラム。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)に対し、ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F=Epk(m,p,q,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2に基づいて、前記暗号文Fからメッセージを復号するための復号装置に用いられるプログラムであって、
前記復号装置のコンピュータを、
前記入力された暗号文Fに対し、前記整数解S1,S2を個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段、
前記減算結果(h1(t)−h2(t))を因数分解し、得られた因数分解結果をメモリに保存する因数分解手段、
前記メモリ内の因数分解結果から最大次数の既約多項式f(t)を抽出する素因子抽出手段、
前記代入により得られた多項式h1(t)又はh2(t)を前記素既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段、
として機能させるためのプログラム。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)と次数L以上の既約多項式f(t)に対し、ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)とf(t)から生成された暗号文F=Epk(m,p,q,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2に基づいて、前記暗号文Fからメッセージを復号するための復号装置に用いられるプログラムであって、
前記復号装置のコンピュータを、
前記入力された暗号文Fに対し、前記整数解S1,S2を個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段、
前記減算結果(h1(t)−h2(t))を因数分解し、得られた因数分解結果をメモリに保存する因数分解手段、
前記メモリ内の因数分解結果から最大次数の既約多項式f(t)を抽出する素因子抽出手段、
前記代入により得られた多項式h1(t)又はh2(t)を前記素既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段、
として機能させるためのプログラム。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)に対し、少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式fと公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解Sに基づいて、前記暗号文F1,F2からメッセージを復号するための復号装置に用いられるプログラムであって、
前記復号装置のコンピュータを、
前記入力された暗号文F1,F2に対し、前記整数解Sを個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段、
前記減算結果(h1(t)−h2(t))を因数分解し、得られた因数分解結果をメモリに保存する因数分解手段、
前記メモリ内の因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出手段、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段、
として機能させるためのプログラム。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)と次数L以上の既約多項式f(t)に対し、少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式fと公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)とf(t)から生成された暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解Sに基づいて、前記暗号文F1,F2からメッセージを復号するための復号装置に用いられるプログラムであって、
前記復号装置のコンピュータを、
前記入力された暗号文F1,F2に対し、前記整数解Sを個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入手段、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算手段、
前記減算結果(h1(t)−h2(t))を因数分解し、得られた因数分解結果をメモリに保存する因数分解手段、
前記メモリ内の因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出手段、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算手段、
として機能させるためのプログラム。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)を暗号化するための公開鍵であるディオファンタス方程式X(x1,…,xn)と、前記暗号化された多項式m(t)を復号するための秘密鍵であるディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2とを生成するための鍵生成装置に用いられるプログラムであって、
前記鍵生成装置のコンピュータを、
複数個の係数をそれぞれ変数としたディオファンタス方程式を決定するディオファンタス方程式決定手段、
2つの整数解S1=(c1,…,cn),S2=(g1,…,gn)をランダムに生成する整数解生成手段、
前記2つの整数解S1,S2を前記係数を変数としたディオファンタス方程式に代入して得られた連立方程式を行列表現した際の係数行列を求め、前記係数行列に掃きだし法を施すことによって、前記各係数のうちの幾つかの係数を自由変数である他の係数で表した基本解を求める行列演算手段、
前記基本解の自由変数にランダムな値を代入することにより、整数の要素及び/又は有理数の要素で各係数を表す第1係数ベクトルを求め、この第1係数ベクトルの各要素の分母の最小公倍数を当該各要素にかけることによって全て整数の要素で各係数を表す第2係数ベクトルを求めることでディオファンタス方程式を生成するディオファンタス方程式生成手段、
として機能させるためのプログラム。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)を暗号化するための公開鍵であるディオファンタス方程式X(x1,…,xn)と、前記暗号化された多項式m(t)を復号するための秘密鍵であるディオファンタス方程式X(x1,…,xn)=0に対応する整数解Sとを生成するための鍵生成装置に用いられるプログラムであって、
前記鍵生成装置のコンピュータを、
係数を変数とした変数項及び定数項からなるディオファンタス方程式を決定するディオファンタス方程式決定手段、
整数解Sをランダムに生成する整数解生成手段、
ディオファンタス方程式の変数項の係数をランダムに決定する係数生成手段、
前記生成された整数解Sと前記決定された係数から前記生成されたディオファンタス方程式の定数項を求めるディオファンタス方程式生成手段、
として機能させるためのプログラム。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージを暗号化するための暗号装置が実行する暗号方法であって、
前記メッセージを整数mに展開する展開工程と、
前記整数mを次数(L−1)次以下の多項式m(t)に埋め込む埋め込み工程と、
ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)を生成する多項式生成工程と、
次数L以上のランダムな既約多項式f(t)を生成する既約多項式生成工程と、
前記多項式m(t)に対し、前記各多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F=Epk(m,p,q,f,X)を生成する暗号化工程と
を備えたことを特徴とした暗号方法。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージを暗号化するための暗号装置が実行する暗号方法であって、
前記メッセージを整数mに展開する展開工程と、
前記整数mを次数(L−1)次以下の1変数多項式m(t)と次数L以上の既約多項式f(t)の候補の一部の係数とに分担して埋め込む埋め込み工程と、
ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)を生成する多項式生成工程と、
前記次数L以上の既約多項式f(t)の候補の各係数のうち、前記メッセージmが埋め込まれていない係数をランダムな値に設定し、前記既約多項式f(t)を生成する既約多項式生成工程と、
前記多項式m(t)に対し、前記各多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F=Epk(m,p,q,f,X)を生成する暗号化工程と
を備えたことを特徴とした暗号方法。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージmを暗号化するための暗号装置が実行する暗号方法であって、
前記メッセージを整数mに展開する展開工程と、
前記整数を次数(L−1)以下の多項式m(t)に埋め込む埋め込み工程と、
少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)を生成する多項式生成工程と、
次数L以上のランダムな既約多項式f(t)を生成する既約多項式生成工程と、
前記多項式m(t)に対し、前記各多項式p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)を生成する暗号化工程と
を備えたことを特徴とした暗号方法。 - 復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解のとき、公開鍵であるディオファンタス方程式X(x1,…,xn)と既約多項式の最小次数Lに基づいて、メッセージmを暗号化するための暗号装置が実行する暗号方法であって、
前記メッセージを整数mに展開する展開工程と、
前記整数mを次数(L−1)次以下の1変数多項式m(t)と次数L以上の既約多項式f(t)の候補の一部の係数とに分担して埋め込む埋め込み工程と、
少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)を生成する多項式生成工程と、
前記次数L以上の既約多項式f(t)の候補の各係数のうち、前記整数mが埋め込まれていない係数をランダムな値に設定し、前記既約多項式f(t)を生成する既約多項式生成工程と、
前記多項式m(t)に対し、前記各多項式p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行い、前記多項式m(t)から暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)を生成する暗号化工程と
を備えたことを特徴とした暗号方法。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)に対し、ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)と既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F=Epk(m,p,q,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2に基づいて、前記暗号文Fからメッセージを復号するための復号装置が実行する復号方法であって、
前記入力された暗号文Fに対し、前記整数解S1,S2を個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入工程と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算工程と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解工程と、
前記因数分解結果から最大次数の既約多項式f(t)を抽出する素因子抽出工程と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算工程と
を備えたことを特徴とする復号方法。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)と次数L以上の既約多項式f(t)に対し、ランダムな2つの多項式p(x1,…,xn,t),q(x1,…,xn,t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F=Epk(m,p,q,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2に基づいて、前記暗号文Fからメッセージを復号するための復号装置が実行する復号方法であって、
前記入力された暗号文Fに対し、前記整数解S1,S2を個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入工程と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算工程と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解工程と、
前記因数分解結果から最大次数の既約多項式f(t)を抽出する素因子抽出工程と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算工程と
を備えたことを特徴とする復号方法。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)に対し、少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と次数L以上の既約多項式f(t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)から生成された暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解Sに基づいて、前記暗号文F1,F2からメッセージを復号するための復号装置が実行する復号方法であって、
前記入力された暗号文F1,F2に対し、前記整数解Sを個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入工程と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算工程と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解工程と、
前記因数分解結果から最大次数の既約多項式f(t)を抽出する因子抽出工程と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算工程と
を備えたことを特徴とする復号方法。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)と次数L以上の既約多項式f(t)に対し、少なくとも一方が相異なる2つのランダムな多項式の組p1(x1,…,xn,t),p2(x1,…,xn,t),q1(x1,…,xn,t),q2(x1,…,xn,t)と公開鍵であるディオファンタス方程式X(x1,…,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理により、前記多項式m(t)とf(t)から生成された暗号文F1=Epk(m,p1,q1,f,X)及びF2=Epk(m,p2,q2,f,X)が入力されたとき、
予め保持する復号用の秘密鍵がディオファンタス方程式X(x1,…,xn)=0に対応する1つの整数解Sに基づいて、前記暗号文F1,F2からメッセージを復号するための復号装置が実行する復号方法であって、
前記入力された暗号文F1,F2に対し、前記整数解Sを個別に代入して2つの多項式h1(t),h2(t)を生成する整数解代入工程と、
前記代入により得られた一方の多項式h1(t)から他方の多項式h2(t)を減算し、減算結果(h1(t)−h2(t))を得る多項式減算工程と、
前記減算結果(h1(t)−h2(t))を因数分解する因数分解工程と、
前記因数分解結果から最大次数の既約多項式fを抽出する因子抽出工程と、
前記代入により得られた多項式h1(t)又はh2(t)を前記既約多項式f(t)で除算し、剰余として前記メッセージに対応する多項式m(t)を求める剰余演算工程と
を備えたことを特徴とする復号方法。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)を暗号化するための公開鍵であるディオファンタス方程式X(x1,…,xn)と、前記暗号化された多項式m(t)を復号するための秘密鍵であるディオファンタス方程式X(x1,…,xn)=0に対応する2つの整数解S1,S2とを生成するための鍵生成装置が実行する鍵生成方法であって、
複数個の係数をそれぞれ変数としたディオファンタス方程式を決定するディオファンタス方程式決定工程と、
2つの整数解S1=(c1,…,cn),S2=(g1,…,gn)をランダムに生成する整数解生成工程と、
前記2つの整数解S1,S2を前記係数を変数としたディオファンタス方程式に代入して得られた連立方程式を行列表現した際の係数行列を求め、前記係数行列に掃きだし法を施すことによって、前記各係数のうちの幾つかの係数を自由変数である他の係数で表した基本解を求める行列演算工程と、
前記基本解の自由変数にランダムな値を代入することにより、整数の要素及び/又は有理数の要素で各係数を表す第1係数ベクトルを求め、この第1係数ベクトルの各要素の分母の最小公倍数を当該各要素にかけることによって全て整数の要素で各係数を表す第2係数ベクトルを求めることでディオファンタス方程式を生成するディオファンタス方程式生成工程と
を備えたことを特徴とする鍵生成方法。 - メッセージが埋め込まれてなる次数(L−1)以下の多項式m(t)を暗号化するための公開鍵であるディオファンタス方程式X(x1,…,xn)と、前記暗号化された多項式m(t)を復号するための秘密鍵であるディオファンタス方程式X(x1,…,xn)=0に対応する整数解Sとを生成するための鍵生成装置が実行する鍵生成方法であって、
係数を変数とした変数項及び定数項からなるディオファンタス方程式を決定するディオファンタス方程式決定工程と、
整数解Sをランダムに生成する整数解生成工程と、
ディオファンタス方程式の変数項の係数をランダムに決定する係数生成工程と、
前記生成された整数解Sと前記決定された係数から前記生成されたディオファンタス方程式の定数項を求めるディオファンタス方程式生成工程と
を備えたことを特徴とする鍵生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005004220A JP4384056B2 (ja) | 2005-01-11 | 2005-01-11 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
US11/220,641 US20060251247A1 (en) | 2005-01-11 | 2005-09-08 | Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005004220A JP4384056B2 (ja) | 2005-01-11 | 2005-01-11 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006194990A true JP2006194990A (ja) | 2006-07-27 |
JP4384056B2 JP4384056B2 (ja) | 2009-12-16 |
Family
ID=36801140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005004220A Expired - Fee Related JP4384056B2 (ja) | 2005-01-11 | 2005-01-11 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060251247A1 (ja) |
JP (1) | JP4384056B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7194303B1 (ja) | 2021-09-09 | 2022-12-21 | エアーズ インベストメント ホールディングス プライベート リミテッド | ディオファントス方程式及び人工知能が関与する暗号、復号、及び鍵生成の装置並びに方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4664850B2 (ja) * | 2006-03-30 | 2011-04-06 | 株式会社東芝 | 鍵生成装置、プログラム及び方法 |
JP4197710B2 (ja) * | 2006-07-19 | 2008-12-17 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
JP2009116183A (ja) * | 2007-11-08 | 2009-05-28 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
JP2010204466A (ja) | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
CN102136911A (zh) * | 2011-03-11 | 2011-07-27 | 西京学院 | 一种电子公文的加密方法 |
WO2017079652A1 (en) * | 2015-11-05 | 2017-05-11 | Pulsifer Allen | Cryptographic transactions system |
US10133603B2 (en) | 2017-02-14 | 2018-11-20 | Bank Of America Corporation | Computerized system for real-time resource transfer verification and tracking |
US10447472B2 (en) * | 2017-02-21 | 2019-10-15 | Bank Of America Corporation | Block computing for information silo |
US10454892B2 (en) | 2017-02-21 | 2019-10-22 | Bank Of America Corporation | Determining security features for external quantum-level computing processing |
US10243976B2 (en) | 2017-02-24 | 2019-03-26 | Bank Of America Corporation | Information securities resource propagation for attack prevention |
US10489726B2 (en) | 2017-02-27 | 2019-11-26 | Bank Of America Corporation | Lineage identification and tracking of resource inception, use, and current location |
US10440051B2 (en) | 2017-03-03 | 2019-10-08 | Bank Of America Corporation | Enhanced detection of polymorphic malicious content within an entity |
US10284496B2 (en) | 2017-03-03 | 2019-05-07 | Bank Of America Corporation | Computerized system for providing resource distribution channels based on predicting future resource distributions |
US10437991B2 (en) | 2017-03-06 | 2019-10-08 | Bank Of America Corporation | Distractional variable identification for authentication of resource distribution |
US10270594B2 (en) | 2017-03-06 | 2019-04-23 | Bank Of America Corporation | Enhanced polymorphic quantum enabled firewall |
US10412082B2 (en) | 2017-03-09 | 2019-09-10 | Bank Of America Corporation | Multi-variable composition at channel for multi-faceted authentication |
US10440052B2 (en) | 2017-03-17 | 2019-10-08 | Bank Of America Corporation | Real-time linear identification of resource distribution breach |
US11120356B2 (en) | 2017-03-17 | 2021-09-14 | Bank Of America Corporation | Morphing federated model for real-time prevention of resource abuse |
US11055776B2 (en) | 2017-03-23 | 2021-07-06 | Bank Of America Corporation | Multi-disciplinary comprehensive real-time trading signal within a designated time frame |
US10476854B2 (en) | 2017-04-20 | 2019-11-12 | Bank Of America Corporation | Quantum key distribution logon widget |
CN108737098A (zh) * | 2018-06-27 | 2018-11-02 | 山西师范大学 | 密钥生成方法、信息加解密方法、装置、介质及电子设备 |
-
2005
- 2005-01-11 JP JP2005004220A patent/JP4384056B2/ja not_active Expired - Fee Related
- 2005-09-08 US US11/220,641 patent/US20060251247A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7194303B1 (ja) | 2021-09-09 | 2022-12-21 | エアーズ インベストメント ホールディングス プライベート リミテッド | ディオファントス方程式及び人工知能が関与する暗号、復号、及び鍵生成の装置並びに方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060251247A1 (en) | 2006-11-09 |
JP4384056B2 (ja) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4384056B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
JP4575283B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
US7711113B2 (en) | ID-based signature, encryption system and encryption method | |
US7688973B2 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, program, and method | |
JP4809598B2 (ja) | 暗号システムの設計におけるアイソジャニの使用 | |
EP1710952B1 (en) | Cryptographic Applications of the Cartier Pairing | |
US7469048B2 (en) | Methods for point compression for jacobians of hyperelliptic curves | |
JP4197710B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
KR20050087815A (ko) | 키공유 시스템, 공유키 생성장치 및 공유키 복원장치 | |
JP4776906B2 (ja) | 署名生成方法及び情報処理装置 | |
JP2001024880A (ja) | 情報処理装置およびその方法、並びに、情報流通システム | |
JP2009175197A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP2009116183A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP2010049213A (ja) | 暗号化装置、復号装置、暗号通信システム、方法及びプログラム | |
JP2010049212A (ja) | 復号装置、復号方法、復号プログラム、暗号化装置、暗号化方法および暗号化プログラム | |
JP5354994B2 (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
JP5300373B2 (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
Anand et al. | Real-time symmetric cryptography using quaternion julia set | |
JP2002023626A (ja) | 公開鍵暗号方法および公開鍵暗号を用いた通信システム | |
JP4086419B2 (ja) | 情報処理装置およびその方法 | |
JP2010049214A (ja) | 暗号化装置、復号装置、暗号文検証装置、暗号化方法、復号方法及びプログラム | |
JPH1155244A (ja) | 鍵回復方法および装置 | |
JP2001222218A (ja) | 暗号化装置、方法、復号装置、方法、暗号システム及びプログラムを記憶した記憶媒体 | |
JP2004201292A (ja) | 鍵共有システム、共有鍵生成装置及び共有鍵復元装置 | |
Wang et al. | A biometric signcryption scheme without bilinear pairing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090812 |
|
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: 20090901 |
|
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: 20090924 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |