JP2004341502A - パラメータ生成装置、暗号化システム、復号化システム、暗号装置、復号装置、暗号化方法、復号化方法、およびプログラム - Google Patents
パラメータ生成装置、暗号化システム、復号化システム、暗号装置、復号装置、暗号化方法、復号化方法、およびプログラム Download PDFInfo
- Publication number
- JP2004341502A JP2004341502A JP2004118772A JP2004118772A JP2004341502A JP 2004341502 A JP2004341502 A JP 2004341502A JP 2004118772 A JP2004118772 A JP 2004118772A JP 2004118772 A JP2004118772 A JP 2004118772A JP 2004341502 A JP2004341502 A JP 2004341502A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- encryption
- output
- decryption
- key
- 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
Abstract
【解決手段】 予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成する出力パラメータ生成部とを備える。
【選択図】 図1
Description
岡本龍明、山本博資、「現代暗号」、シリーズ/情報科学の数学、産業図書、1997. Jeffery Hoffstein, Jill Pipher, and Joseph H. Silverman, "NTRU: A ring based public key cryptosystem", Lecture Notes in Computer Science, 1423, pp.267-288, Springer-Verlag, 1998. Joseph H. Silverman, "NTRU Cryptosystems Technical Report #012, Estimated Breaking Times for NTRU Lattices", [online]、1999年3月9日、[2003年2月18日検索]、インターネット<URL: http://www.ntru.com/cryptolab/pdf/NTRUTech012.pdf> Joseph H. Silverman, "NTRU Cryptosystems Technical Report #013, Dimension-Reduced Lattices, Zero-Forced Lattices, and the NTRU Public Key Cryptosystem", [online]、1999年3月9日、[2003年2月18日検索]、インターネット<URL: http://www.ntru.com/cryptolab/pdf/NTRUTech013.pdf> Joseph H. Silverman, "NTRU Cryptosystems Technical Report #011, Wraps, Gaps, and Lattice Constants ", [online]、1999年1月21日、[2003年4月18日検索]、インターネット<URL: http://www.ntru.com/cryptolab/pdf/NTRUTech011_v2.pdf>
しかしながら、従来の技術では、復号エラーが発生しないNTRU暗号のパラメータを生成するための条件は示されているものの、その条件が定式化されておらず、復号エラーが発生しないNTRU暗号のパラメータを生成するのが困難である。
2・p・d+2d・f−1<q/2
である。
本発明の他の曲面に係る暗号システムは、平文をNTRU暗号で暗号化して暗号文を生成する暗号システムであって、上述のパラメータ生成装置と、前記パラメータ生成装置で生成された出力パラメータに基づいて公開鍵を生成する公開鍵生成手段と、前記公開鍵に基づいて、平文を暗号化する暗号化手段とを備えることを特徴とする。
NTRU暗号は、非負整数のパラメータ、N、p、q、df、dg、dを持つ。非特許文献2には、NTRU暗号のパラメータの例として、(N,p,q,df,dg,d)=(107,3,64,15,12,5)、(N,p,q,df,dg,d)=(167,3,128,61,20,18)、(N,p,q,df,dg,d)=(503,3,256,216,72,55)の3つの例が挙げられている。
(i)パラメータN
NTRU暗号は、多項式の演算により暗号化と復号化を行う公開鍵暗号方式である。NTRU暗号で扱う多項式の次元は、上記パラメータNにより決まる。
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2×1+2・1+2・X^3+X
=2・X^3+X^2+X+2
というように、常に(N−1)次元以下の多項式になるように演算される。
NTRU暗号では、非負整数のパラメータp、qを用いる。非特許文献2に記載の通り、このパラメータp、qは互いに素となる必要がある。
NTRU暗号で扱う秘密鍵多項式f、公開鍵多項式を生成するときに秘密鍵多項式fと共に用いるランダム多項式g、および平文を暗号化するときに用いる乱数多項式rの選び方は、それぞれパラメータdf、dg、dにより決まる。
ところで、このNTRU暗号は、平文多項式mを暗号化して暗号文多項式cを生成したとき、暗号文多項式cを復号して得られる復号文多項式m'が平文多項式mと異なる場合が発生する。この場合は、復号時に正しく平文多項式mが得られないことになる。このことを復号エラーが発生するという。
本発明の実施の形態1に係るパラメータ生成装置1について説明する。
<パラメータ生成装置1の概要>
最初に、図1を用いてパラメータ生成装置1の概要を説明する。
ここでは、まず、格子強度係数GL、解読時間評価式EF、復号エラーが発生しないパラメータの条件式EDについてその内容を説明して、その与え方について説明する。
NTRU暗号における、LLLアルゴリズムを用いた解読時間Tの解読時間評価式EFは、NTRU暗号のパラメータdf、dg、qにより定まるものであって、パラメータdf、dg、qから計算される格子強度係数GLの値により類別される。非特許文献3には、格子強度係数GLが、NTRU暗号のパラメータdf、dg、qから、
GL=(4・pi・e・|f|・|g|/q)^(0.5)
のように導出されることが記載されている。また、非特許文献3には、その格子強度係数GLが一定ならば、そのようなパラメータdf、dg、qをもつNTRU暗号に対しては、ある定数A、Bが存在して、LLLアルゴリズムを用いた解読の解読時間TがパラメータNに対し次の解読時間評価式EFを満たすことが記載されている。
ここで、log(T)は解読時間Tの自然対数である。また、piは円周率、eは自然対数の底、|f|は秘密鍵多項式fのノルム、|g|はランダム多項式gのノルムを表す。具体的には、
|f|=(2・df−1)^(0.5)
|g|=(2・dg)^(0.5)
である。
EF1:log(T)≧A・N+B (A、B:定数)
で与えられているとする。すると、以上の議論により、別のパラメータdf、dg、qから導出される格子強度係数GLの値が、もし、上記の格子強度係数GL1の値よりも大きければ、その別のパラメータdf、dg、qをもつNTRU暗号の解読時間Tは、少なくとも上記の解読時間評価式EF1を満たすことが導ける。
非特許文献2には、NTRU暗号の復号プロセスにおいて計算される多項式、p・r×g+f×mの全ての係数が、−q/2からq/2の範囲に収まっていれば、正しく復号処理を行うことができ、復号エラーが発生しないことが記載されている。
まず、パラメータdf、dg、qの値を決定する。ここでは、一例として、df=34、dg=34、q=512とする。そして、このパラメータdf、dg、qから上記格子強度係数GLの値を計算し、その格子強度係数GLを、予め式格納部110に与えておく。上記例では、格子強度係数GLはGL=2.12となる。
まず、決定したパラメータdf、dg、qに対し、非特許文献3に記載の方法で、LLLアルゴリズムを用いた場合の解読時間Tの実測データを実験により求める。ここで、図2に示す解読時間Tの実測データは、1000MIPSの処理能力をもつコンピュータを用いて求めたものであり、解読時間Tの単位は秒である。なお、MIPS(Million Instruction Per Second)とは、コンピュータの処理能力を表す単位であり、1MIPSとは、1秒間に100万命令を実行できる処理能力を表す。本例ではパラメータNとして70から90までの値に対して解読時間が実測可能であったことを示している。
次に、(i)により導出した実測データを用い、解読時間評価式EF
EF:log(T)=A・N+B
の定数A、Bを求める。これは、例えば、X=N、Y=log(T)として、Y=A・X+Bの係数A、Bを最小二乗法により求める。
基本的には、これにより導出された解読時間評価式EF
EF:log(T)=0.093N−3.8
を式格納部110に与えてもよいが、以下に詳細を述べる実施の形態1では、解読時間評価式EFにおける解読時間Tの値を、MIPSyear値として扱っている。なお、MIPSyearとはコンピュータの処理量を示す単位であり、1MIPSの処理能力を持つコンピュータが1年間で処理できる処理量が1MIPSyearである。
非特許文献3に記載の方法に従い、解読時間Tに、実測データを求めたコンピュータの処理能力値1000MIPSを乗じ、1年間の秒数31557600(1年間=365.25日)で割ることにより求められる。
なお、最小二乗法は周知の技術である。このため、その詳細な説明はここでは繰返さない。
次に、条件式EDの与え方について述べる。
まず、p=3とし、dg>dとする。このpの値は、NTRU暗号のパラメータの典型的な値である。
ED:6・d+2・d・f−1<q/2
を予め式格納部110に与えておく。この条件式は、理論的に復号エラーが発生しないパラメータの条件式である。
まず、上述したように、多項式p・r×g+f×mの全ての係数が、−q/2からq/2の範囲に収まっていれば、復号エラーは発生しない。
(r×g)(k)
=r(0)・g(k)+r(1)・g(k−1)+...
+r(N−1)・g(k−(N−1)(mod N))
である。そして、乱数多項式rは、d個の係数が「1」であり、かつd個の係数が「−1」であり、かつ他の係数は「0」となる多項式である。そして、ランダム多項式gは、dg個の係数が「1」であり、かつdg個の係数が「−1」であり、かつ他の係数は「0」となる多項式である。
(r×g)(k)
=1・g(i1)+1・g(i2)+...+1・g(id)
−1・g(j1)−1・g(j2)−...−1・g(jd)
というように、d個の1・g(in)という項(1≦n≦d)とd個の−1・g(jn)という項(1≦n≦d)とで表される。
今、p=3であるので、以上により、多項式p・r×g+f×mの最も大きい係数の値は、高々3・2d+2df−1である。そして、最も大きい係数がq/2を超えなければ、多項式p・r×g+f×mの全ての係数は、−q/2からq/2の範囲に収まっていることになるので、復号エラーは発生しない。
ED:6・d+2・d・f−1<q/2
この条件式を満たせば、以上の議論から復号エラーは理論的に発生しない。
詳細は後述するが、パラメータ生成装置1は、まず、総当り探索の解読に対し安全であるパラメータdf、dg、dを選ぶために、第1のパラメータ生成部102において、安全性レベル情報SLIに応じた十分大きい値であるパラメータNを選ぶ必要がある。
IF:log(T)=0.2002N−18.884
で示される。そして、この初期安全性決定式IFを、式格納部110へ与えておく。
<パラメータ生成装置1の構成>
パラメータ生成装置1は、図1に示すように、入力部101と、第1のパラメータ生成部102と、第2のパラメータ生成部103と、第3のパラメータ生成部104と、安全性判定部105と、安全性増加部106と、出力部107と、第1のパラメータ変更部108と、第2のパラメータ変更部109と、式格納部110とを備えている。以下にそれぞれの構成要素について説明する。
入力部101は、外部から安全性レベル情報SLIを受け取り、安全性レベル情報SLIを第1のパラメータ生成部102と第2のパラメータ生成部103と安全性増加部106と第2のパラメータ変更部109とに出力する。
第1のパラメータ生成部102は、入力部101から安全性レベル情報SLIを受け取り、式格納部110から初期安全性決定式IFを読み取り、安全性レベル情報SLIに応じた十分大きい値である、NTRU暗号のパラメータNを選ぶ。そして、第1のパラメータ生成部102は、選んだパラメータNに対し、パラメータpをp=3とし、その他のパラメータq、df、dg、dの値を仮に0として、パラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103へ出力する。
例えば、安全性レベル情報SLIが(10^12)MIPSyearであり、式格納部110に格納されている初期安全性決定式IFが
IF:log(T)=0.2002N−18.884
であるとき、安全性レベル情報SLIをTに代入した結果
IF:log(10^12)=0.2002N−18.884
を計算することにより、N=233が導出される。
第2のパラメータ生成部103は、第1のパラメータ生成部102または第1のパラメータ変更部108からパラメータ組PSを受け取り、入力部101から安全性レベル情報SLIを受け取る。第2のパラメータ生成部103は、パラメータ組PSの中のパラメータNに基づき後述する方法によりパラメータ候補集合DSを導出する。第2のパラメータ生成部103は、後述する方法によりパラメータ候補集合DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否か(例えば、要素数が3以上か否か)を判別する。不十分であれば、第2のパラメータ生成部103は、パラメータ組PSを第1のパラメータ変更部108へ出力する。十分であれば、第2のパラメータ生成部103は、パラメータdf、dg、dをパラメータ候補集合DSから選択する。第2のパラメータ生成部103は、これらのパラメータdf、dg、dを用いて新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して、第3パラメータ生成部104へ出力する。
(i)パラメータ候補集合DSの導出方法
第2のパラメータ生成部103は、安全性レベル情報SLIとパラメータNとに対し、
(C(N,k)・C(N−k,k))^(0.5)≧SLI
を満たす整数k(1≦k≦N)のパラメータ候補集合DSを導出する。ここで、C(a,b)はa個の中からb個を選ぶ組み合わせの数である。
第2のパラメータ生成部103は、パラメータdf、dg、dを、dg>dとなるように、パラメータ候補集合DSから任意に選択する。ここでは、第2のパラメータ生成部103は、df>dg>dとなるように、パラメータ候補集合DSからランダムに選択してそれぞれdf、dg、dに割り当てることとする。
第3のパラメータ生成部104は、第2のパラメータ生成部103からパラメータ組PSを受け取り、式格納部110から復号エラーが発生しないためのパラメータの条件式EDを読み取る。第3のパラメータ生成部104は、パラメータ組PSの中のパラメータdf、dg、dに対し、条件式EDを満たし、かつ、パラメータqが2の冪となるような最小のqをパラメータqとして選ぶ。第3のパラメータ生成部104は、選んだパラメータqに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して安全性判定部105へ出力する。
ED:6d+2df−1<(q/2)
のとき、この条件式を解くとq>294となる。この条件式q>294を満たしかつq=2^i(iは自然数)を満たす最小のqは512であるので、パラメータqは、q=512とされる。なお、パラメータqを2の冪とするのは、パラメータp(p=3)とパラメータqとを互いに素になるように選ぶためである。pとqが互いに素になることは、非特許文献2に記載の通り、NTRU暗号のパラメータp、qの条件である。
安全性判定部105は、第3のパラメータ生成部104または第2のパラメータ変更部109からパラメータ組PSを受け取る。安全性判定部105は、パラメータ組PSの中のパラメータN、p、q、df、dgを持つNTRU暗号の格子強度係数SLを、パラメータdf、dg、qを用いて以下の式により導出する。
ここで、piは円周率、eは自然対数の底、|f|=(2df−1)^(0.5)、|g|=(2dg)^(0.5)を表す。
安全性増加部106は、安全性判定部105からパラメータ組PSを受け取り、入力部101から安全性レベル情報SLIを受け取り、式格納部110より解読時間評価式EFを読み取る。安全性増加部106は、パラメータ組PSの中のパラメータNと解読時間評価式EFとからNTRU暗号の解読時間Tを導出する。
EF:log(T)=0.093N−14.2
であるとき、解読時間Tはおよそ9.7×10^9である。
T≧SLI
を満たすか否かによって判定する。T<SLIならば、安全性増加部106は、解読時間TがT≧SLIとなるようにパラメータNを増加させ、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する。
EF:log(SLI)=0.040N−6.2
を計算してパラメータNを導出することにより、新たなパラメータ組PSを生成する。
(7)出力部107
出力部107は、安全性増加部106からパラメータ組PSを受け取って外部へ出力する。
第1のパラメータ変更部108は、第2のパラメータ生成部103または第2のパラメータ変更部109からパラメータ組PSを受け取り、パラメータ組PSの中のパラメータNを増加させる。ここでは、一例として、Nを10増加させるとする。そして、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103へ出力する。
第2のパラメータ変更部109は、入力部101から安全性レベル情報SLIを受け取り、安全性判定部105からパラメータ組PSを受け取り、第2のパラメータ生成部103と同様にして、パラメータ候補集合DSを生成する。第2のパラメータ変更部109は、パラメータ組PSの中のパラメータdgとパラメータ候補集合DSの要素の最大値Mとを比較する。dg<Mであれば、第2のパラメータ変更部109は、パラメータdgを、パラメータ候補集合DSの要素のうち、より大きい値に変更し、変更したパラメータdgに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して安全性判定部105へ出力する。dg≧Mであれば、第2のパラメータ変更部109は、パラメータ組PSを第1パラメータ変更部108へ出力する。
式格納部110は、図3に示すように、予め、格子強度係数GL、解読時間評価式EF、復号エラーが発生しないパラメータの条件式ED、および初期安全性決定式IFを格納している。ここでは、上述のとおり、格子強度係数GLとして、
GL=2.12
解読時間評価式EFとして
EF:log(T)=0.93N−14.2
条件式EDとして、
ED:6d+2df−1<(q/2)
初期安全性決定式IFとして
IF:log(T)=0.2002N−18.884
が、予め与えられているものとする。
以上に述べたパラメータ生成装置1の動作について、図4、図5に示すフローチャートを用いて説明する。
第2のパラメータ生成部103は、DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否かを判別する(ステップS106)。
GL≦SLの場合には(ステップS113でYes)、安全性判定部105は、パラメータ組PSを安全性増加部106へ出力する(ステップS114)。
安全性増加部106は、導出した解読時間Tが、T<SLIを満たすか否かを判断する(S117)。
パラメータNが素数でなければ(ステップS119でNo)、安全性増加部106は、パラメータNを増加させ、増加させたパラメータNが素数となるようにし、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する(ステップS120)。
GL>SLの場合には(ステップS113でNo)、第2のパラメータ変更部109は、入力部101から安全性レベル情報SLIを受け取り、安全性判定部105からパラメータ組PSを受け取り、パラメータ候補集合DSを生成する(ステップS123)。
dg<Mであれば(ステップS124でYes)、第2のパラメータ変更部109は、パラメータdgを、パラメータ候補集合DSの要素のうち、より大きい値に変更し、変更したパラメータdgに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成し、パラメータ組PSを安全性判定部105へ出力する(ステップS125)。その後、処理をステップS112へ移す。
以下に、実施の形態1におけるパラメータ生成装置1の全体の動作について説明する。
まず、第1のパラメータ生成部102が、安全性レベル情報SLIに応じた十分大きい値である、パラメータNを選んでいる(ステップS102)。
従来の技術では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できなかった。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができなかった。
本発明の実施の形態2に係るパラメータ変換装置2について、実施の形態1に係るパラメータ生成装置1との差異点を中心に説明する。
最初に、図6を用いて本実施の形態の概要を説明する。
このパラメータ変換装置2は、実施の形態1におけるパラメータ生成装置1を変形して構成したパラメータ変換装置である。パラメータ変換装置2は、NTRU暗号のパラメータ組IPSを入力としたとき、パラメータ組IPSを、総当りの探索による解読とLLLアルゴリズムによる解読とに対し、入力された安全性レベル情報SLIを達成し、かつ復号エラーが発生しないNTRU暗号のパラメータ組PSへ変換して出力する点が、パラメータ生成装置1と異なる。
パラメータ変換装置2は、図6に示すように、入力部101bと、第2のパラメータ生成部103bと、第3のパラメータ生成部104bと、安全性判定部105と、安全性増加部106と、出力部107と、第1のパラメータ変更部108と、第2のパラメータ変更部109と、式格納部110とを備える。
(1)入力部101b
入力部101bは、外部から安全性レベル情報SLIとNTRU暗号のパラメータ組IPSを受け取り、安全性レベル情報SLIを第2のパラメータ生成部103bと安全性増加部106と第2のパラメータ変更部109とに出力する。また、入力部101bは、パラメータ組IPSをパラメータ組PSとして第3のパラメータ生成部104bへ出力する。
第2のパラメータ生成部103bは、第1のパラメータ変更部108からパラメータ組PSを受け取り、入力部101bから安全性レベル情報SLIを受け取る。そして、第2のパラメータ生成部103bは、第2のパラメータ生成部103と同様にして、パラメータ候補集合DSを生成する。そして、第2のパラメータ生成部103bは、第2のパラメータ生成部103と同様にして、パラメータ候補集合DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否か(例えば、要素数が3以上か否か)を判別し、不十分であれば、パラメータ組PSを第1パラメータ変更部108へ出力する。不十分でなければ、第2のパラメータ生成部103bは、パラメータdf、dg、dを、パラメータ候補集合DSから選び、選んだパラメータdf、dg、dに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成してパラメータ組PSを第3パラメータ生成部104bへ出力する。
第3のパラメータ生成部104bは、入力部101bまたは第2のパラメータ生成部103bからパラメータ組PSを受け取り、式格納部110から復号エラーが発生しないパラメータの条件式EDを読み取る。そして、第3のパラメータ生成部104bは、第3のパラメータ生成部104と同様にして、パラメータ組PSの中のパラメータdf、dg、dに対し、条件式EDを満たし、かつ、パラメータqが2の冪となるような最小のqをパラメータqとして選ぶ。そして、第3のパラメータ生成部104bは、選んだパラメータqに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成し、パラメータ組PSを安全性判定部105へ出力する。
以上に述べたパラメータ変換装置2の動作について、図7、図8に示すフローチャートを用いて説明する。
第2のパラメータ生成部103bは、パラメータ候補集合DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否かを判別する(ステップS206)。
GL≦SLであれば(ステップS213でYes)、安全性判定部105は、パラメータ組PSを安全性増加部106へ出力する(ステップS214)。
安全性増加部106は、導出した解読時間Tが、T<SLIを満たすか否かを判断する(ステップS217)。
パラメータNが素数でなければ(ステップS219でNo)、安全性増加部106は、パラメータNを増加させ、増加させたパラメータNが素数となるようにし、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する(ステップS220)。
GL>SLの場合には(ステップS213でNo)、第2のパラメータ変更部109は、入力部101bから安全性レベル情報SLIを受け取り、安全性判定部105からパラメータ組PSを受け取り、パラメータ候補集合DSを生成する(ステップS223)。
dg<Mであれば(ステップS224でYes)、第2のパラメータ変更部109は、パラメータdgを、パラメータ候補集合DSの要素のうち、より大きい値に変更し、変更したパラメータdgに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成し、パラメータ組PSを安全性判定部105へ出力する(ステップS225)。その後、処理をステップS212へ移す。
以下に、実施の形態2におけるパラメータ変換装置2の全体の動作について説明する。
まず、入力部101bが、入力されたNTRU暗号のパラメータ組IPSをパラメータ組PSとして第3のパラメータ生成部104bに出力している(ステップS201)。
従来の技術では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できなかった。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができなかった。
本発明に係る実施の形態3としての暗号システム3について説明する。
<暗号システム3の構成>
この暗号システム3は、図11に示すように、暗号装置31、復号装置32、および通信路33から構成され、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成された、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを利用して、暗号化通信を行うシステムである。
暗号装置31は、平文多項式mを暗号化し、暗号文多項式cを生成する装置であり、図12に示すように、パラメータ記憶部311、公開鍵記憶部312、および暗号化部313を備える。
パラメータ記憶部311は、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたNTRU暗号のパラメータである、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdg、パラメータdを、予め記憶している。
公開鍵記憶部312は、予め復号装置32の公開鍵多項式hを取得し、記憶している。
この公開鍵多項式hは、パラメータNに対し、(N−1)次元以下の多項式で表される多項式である。
暗号化部313は、パラメータ記憶部311からパラメータN、パラメータp、パラメータq、パラメータdを受け取り、公開鍵記憶部312から、公開鍵多項式hを受け取り、外部から、パラメータNに対し、(N−1)次元以下の多項式で表される平文多項式mを受け取る。
復号装置32は、暗号文多項式cを復号化し、復号文多項式m’を計算する装置であり、図13に示すように、パラメータ記憶部321、鍵生成部322、秘密鍵記憶部323、復号化部324とを備える。
パラメータ記憶部321は、暗号装置31のパラメータ記憶部311が記憶するNTRU暗号のパラメータと同じNTRU暗号のパラメータを記憶している。
鍵生成部322は、パラメータ記憶部321からパラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを受け取り、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを用いて、(N−1)次元以下の多項式で表される秘密鍵多項式f、および公開鍵多項式hを生成する。なお、この秘密鍵多項式fおよび公開鍵多項式hの生成方法は、非特許文献2に記載されているため、ここでは説明を省略する。
秘密鍵記憶部323は、予め復号装置32の秘密鍵多項式fを記憶している。
この秘密鍵多項式fは、パラメータNに対し、(N−1)次元以下の多項式で表される多項式である。
復号化部324は、パラメータ記憶部321から、パラメータN、パラメータp、パラメータqを受け取り、秘密鍵記憶部323から、秘密鍵多項式fを受け取り、通信路33を介して暗号装置31から暗号文多項式cを受け取る。
<暗号システム3の動作>
以上に述べた暗号システム3の動作について説明する。図14は、暗号システム3の動作を示すフローチャートである。
暗号装置31の暗号化部313は、パラメータ記憶部311からパラメータN、パラメータp、パラメータq、パラメータdを受け取り、公開鍵記憶部312から、公開鍵多項式hを受け取り、外部から、パラメータNに対し、(N−1)次元以下の多項式で表される平文多項式mを受け取る(ステップS304)。
復号装置32の復号化部324は、パラメータ記憶部321から、パラメータN、パラメータp、パラメータqを受け取り、秘密鍵記憶部323から、秘密鍵多項式fを受け取り、通信路33を介して暗号装置31から暗号文多項式cを受け取る(ステップS307)。
まず、復号装置32は、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたNTRU暗号のパラメータを用いて、秘密鍵多項式f、公開鍵多項式hを生成している(ステップS302)。
従来の技術では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できなかった。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができなかった。
本発明の実施の形態4に係る暗号システム4について説明する。
<暗号システム4の構成>
暗号システム4は、図15に示すように、暗号装置41、復号装置42および通信路33、43を備えている。
暗号装置41は、平文多項式mを暗号化し、暗号文多項式cを生成する装置であり、図16に示すように、パラメータ生成装置1、暗号化部313および公開鍵記憶部411を備えている。
パラメータ生成装置1は、実施の形態1で説明したパラメータ生成装置1と同様の構成を有し、暗号化部313は、実施の形態3で説明した暗号化部313と同様の構成を有する。このため、そられの詳細な説明はここでは繰返さない。
公開鍵記憶部411は、復号装置42の公開鍵多項式hを受信し、記憶する記憶部である。
通信路43は、暗号装置41と復号装置42との間で、パラメータ組PSを送受信するために用いられるセキュアな通信路である。
復号装置42は、暗号文多項式cを復号化し、復号文多項式m’を計算する装置であり、図17に示すように、パラメータ受信部421、鍵生成部422、秘密鍵記憶部323および復号化部324を備えている。
パラメータ受信部421は、暗号装置41のパラメータ生成装置1が生成するNTRU暗号のパラメータを通信路43を介して受信する処理部である。
鍵生成部422は、実施の形態3で説明した鍵生成部322の構成に加え、生成した公開鍵多項式hを、通信路33を介して暗号装置41に送信する処理部である。
秘密鍵記憶部323および復号化部324は、実施の形態1と同様の構成を有する。このため、その詳細な説明は、ここでは繰返さない。
以上に述べた暗号システム4の動作について説明する。図18は、暗号システム4の動作を示すフローチャートである。
暗号装置41の暗号化部313は、パラメータ生成装置1からパラメータN、パラメータp、パラメータq、パラメータdを受け取り、公開鍵記憶部411から、公開鍵多項式hを受け取り、外部から、パラメータNに対し、(N−1)次元以下の多項式で表される平文多項式mを受け取る(ステップS405)。
復号装置42の復号化部324は、パラメータ受信部421から、パラメータN、パラメータp、パラメータqを受け取り、秘密鍵記憶部323から、秘密鍵多項式fを受け取り、通信路33を介して暗号装置41から暗号文多項式cを受け取る(ステップS408)。
本実施の形態によると、実施の形態3に係る暗号システム3と異なり、予め作成されたパラメータをパラメータ記憶部311、421に記憶しておくのではなく、暗号装置41のパラメータ生成装置1が動的に生成したパラメータを用いて、平文多項式mの暗号化処理および暗号文多項式cの復号化処理を行なうようにしている。このため、パラメータを定期的に変化させることができ、暗号化通信の安全性を高めることが可能になる。
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において種々なる態様で実施し得るものである。以下のような場合も本発明に含まれる。
(2)第1のパラメータ生成部102におけるパラメータNの選択方法は、この方法に限定されず、Nが十分大きくとれる方法であれば任意の方法でよい。例えば、F(x)=10・log(x)等の単調増加関数Fに対し、N=F(SLI)からパラメータNを選択してもよい。また、例えば、パラメータNは固定値であってもよい。
6d+2df−1<128
という関係式を満たし、かつdg>dとなるようにパラメータdf、dg、dを選び、パラメータ組PSの中のパラメータq、df、dg、dを生成してもよい。
ED:2・k・d+2df−1<q/2
とすれば、同様の効果が得られる。
ED:6d+2df−1<q/2
とすれば、同様の効果が得られる。
このとき、多項式r×gを考えると、その係数の最大値は、高々2dである(最小値も、せいぜい−2dである。)。
p(0)=2、p(1)=1、p(i)=0 (i>1)
であるので、
(p×(r×g))(k)
=p(0)・(r×g)(k)+p(1)・(r×g)(k−1)+
...+p(N−1)・(r×g)(k−(N−1)(mod N))
=(r×g)(k)+2・(r×g)(k−1)
である。
ED:6d+2df−1<q/2
を導くことができる。
(15)実施の形態4に示した暗号システム4の暗号装置41において、パラメータ生成装置1の代わりに、パラメータ生成装置1で生成されるのと同様のパラメータを受信するパラメータ受信装置を設けるようにしてもよい。
2 パラメータ変換装置
3,4 暗号システム
31,41 暗号装置
32,42 復号装置
33,43 通信路
101,101b 入力部
102 第1のパラメータ生成部
103,103b 第2のパラメータ生成部
104,104b 第3のパラメータ生成部
105 安全性判定部
106 安全性増加部
107 出力部
108 第1のパラメータ変更部
109 第2のパラメータ変更部
110 式格納部
311,321 パラメータ記憶部
312,411 公開鍵記憶部
313 暗号化部
322,422 鍵生成部
323 秘密鍵記憶部
324 復号化部
421 パラメータ受信部
Claims (37)
- 復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成するパラメータ生成装置であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない出力パラメータを生成するエラー非発生出力パラメータ生成部を備える
ことを特徴とするパラメータ生成装置。 - 前記エラー非発生出力パラメータ生成部は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成する出力パラメータ生成部とを備える
ことを特徴とする請求項1に記載のパラメータ生成装置。 - 前記仮パラメータ生成部は、外部から入力されたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する
ことを特徴とする請求項2に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、前記格子強度係数に基づく安全性決定情報と第三者による暗号解読に対する安全性を示す安全性レベル情報とに基づいて、前記仮パラメータ組から前記出力パラメータを生成する
ことを特徴とする請求項2または3に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、前記安全性決定情報を保持する安全性決定情報保持手段を備え、前記安全性決定情報は、外部より与えられる
ことを特徴とする請求項4に記載のパラメータ生成装置。 - 前記仮パラメータ組および前記出力パラメータは、NTRU暗号における次元N、非負整数p、非負整数q、秘密鍵多項式fにおける係数の値が1となる係数の数を規定する非負整数df、公開鍵多項式を生成するときに用いるランダム多項式gの係数の値が1となる係数の数を規定する非負整数dg、および平文を暗号化する時に用いる乱数多項式rの係数の値が1となる係数の数を規定する非負整数dの組から構成される
ことを特徴とする請求項2〜5のいずれか1項に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、さらに、前記格子強度係数に基づいて、前記格子強度係数格納手段に格納された前記安全性決定情報よりいずれか1つを選択する安全性決定情報選択手段を備える
ことを特徴とする請求項6に記載のパラメータ生成装置。 - 前記仮パラメータ生成部は、前記安全性レベル情報と前記次元Nに基づいて前記仮パラメータ組に含まれる前記非負整数df、前記非負整数dg、前記非負整数dを生成する
ことを特徴とする請求項6または7に記載のパラメータ生成装置。 - 前記仮パラメータ生成部は、前記エラー条件情報に基づいて前記仮パラメータ組に含まれる前記非負整数qを生成する
ことを特徴とする請求項6から8のいずれか1項に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、前記安全性レベル情報と前記安全性決定情報に基づいて前記出力パラメータ組に含まれる前記次元Nを生成する
ことを特徴とする請求項6から9のいずれか1項に記載のパラメータ生成装置。 - 前記エラー条件情報は、復号エラーが発生しないための条件を表す条件式である
ことを特徴とする請求項1から10のいずれか1項に記載のパラメータ生成装置。 - 前記エラー条件情報は、前記非負整数p、前記非負整数q、前記非負整数d、前記非負整数dfに対し、復号エラーが発生しないための条件を表す条件式
2・p・d+2d・f−1<q/2
である
ことを特徴とする請求項1から11のいずれか1項に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、1つ以上の格子強度係数と安全性決定情報の組を格納する格子強度係数格納手段を備え、
前記格子強度係数と安全性決定情報は、外部から与えられる
ことを特徴とする請求項4から12のいずれか1項に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、さらに、前記格子強度係数に基づく前記安全性決定情報から、前記安全性決定情報を選択する安全性決定情報選択手段を備える
ことを特徴とする請求項13に記載のパラメータ生成装置。 - 前記出力パラメータ生成部は、
前記格子強度係数と前記安全性決定情報とに基づいて、前記仮パラメータ組を変更するか否かを判定する変更判定手段と、
前記変更判定手段が前記仮パラメータ組を変更すると判断したとき、前記仮パラメータ組から変更仮パラメータ組を生成する仮パラメータ組変更手段と、
前記安全性レベル情報に基づいて前記変更仮パラメータ組から前記出力パラメータを生成する生成手段とを備える
ことを特徴とする請求項13に記載のパラメータ生成装置。 - 前記仮パラメータ変更手段は、前記仮パラメータ組に含まれる前記非負整数dgを変更して前記変更仮パラメータ組を生成する
ことを特徴とする請求項15に記載のパラメータ生成装置。 - 前記NTRU暗号は、
加算、減算および乗算が定義されたN次元配列の集合である環Rに対して、前記環Rのイデアルpおよびqを選択する選択ステップと、
前記環Rの元fおよびgを生成し、f(mod q)の逆数である元Fqと、f(mod p)の逆数である元Fpとを生成する生成ステップと、
前記元gと、前記元Fqの積とmod qで合同である元hとを公開鍵として生成する公開鍵生成ステップと、
前記元fおよび前記元Fpを得ることのできる情報(情報は、f、Fpの両方にかかる)を秘密鍵として生成する秘密鍵生成ステップと、
前記公開鍵および前記環Rからランダムに選択した元iを使用して、前記平文を暗号化して前記暗号文を生成する暗号化ステップと、
前記秘密鍵を使用して前記暗号文を復号化して前記復号文を生成する復号化ステップとを含む方法により平文の暗号化および暗号文の復号化が行なわれる暗号方式である
ことを特徴とする請求項1〜16のいずれか1項に記載のパラメータ生成装置。 - 平文をNTRU暗号で暗号化して暗号文を生成する暗号システムであって、
請求項1〜17のいずれか1項に記載のパラメータ生成装置と、
前記パラメータ生成装置で生成された出力パラメータに基づいて公開鍵を生成する公開鍵生成手段と、
前記公開鍵に基づいて、平文を暗号化する暗号化手段とを備える
ことを特徴とする暗号システム。 - 暗号文をNTRU暗号で復号化して復号文を生成する復号システムであって、
請求項1〜17のいずれか1項に記載のパラメータ生成装置と、
前記パラメータ生成装置で生成された出力パラメータに基づいて秘密鍵を生成する秘密鍵生成手段と、
前記秘密鍵に基づいて、暗号文を復号化する復号化手段とを備える
ことを特徴とする復号システム。 - NTRU暗号を用いた暗号システムであって、
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の暗号鍵と復号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置と、
前記暗号文を復号した復号文を生成する復号装置とを備え、
前記パラメータ生成装置は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵と前記復号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ生成装置が出力した出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備え、
前記復号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする、暗号システム。 - NTRU暗号を用いた暗号化システムであって、
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の暗号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置とを備え、
前記パラメータ生成装置は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備える
ことを特徴とする暗号化システム。 - 平文をNTRU暗号で暗号化して暗号文を生成する暗号装置であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力する出力パラメータ生成部と、
前記出力パラメータを復号装置へ送信するパラメータ送信部と、
前記復号装置から前記出力パラメータに基づいて生成されたNTRU暗号の暗号鍵を受信する暗号鍵受信部と、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して前記暗号文を生成する暗号文生成部とを備える
ことを特徴とする暗号装置。 - 平文をNTRU暗号で暗号化して暗号文を生成する暗号装置であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて生成される、復号エラーが発生しない出力パラメータを受信するパラメータ受信手段と、
前記パラメータ受信手段で受信された出力パラメータに基づいて公開鍵を生成する公開鍵生成手段と、
前記公開鍵に基づいて、平文を暗号化する暗号化手段とを備える
ことを特徴とする暗号装置。 - 平文をNTRU暗号で暗号化した暗号文を生成する暗号化方法であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の暗号鍵を生成するステップと、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して暗号文を生成するステップとを含む
ことを特徴とする暗号化方法。 - 平文をNTRU暗号で暗号化した暗号文を生成するプログラムであって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の暗号鍵を生成するステップと、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して暗号文を生成するステップとを、コンピュータに実行させる
ことを特徴とするプログラム。 - NTRU暗号を用いた復号化システムであって、
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の復号鍵を生成して出力する鍵生成装置と、
暗号文をNTRU暗号で復号した復号文を生成する復号装置とから構成される復号化システムであって、
前記パラメータ生成装置は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記復号鍵を生成し出力する生成鍵出力部を備え、
前記復号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする復号化システム。 - 暗号装置から受信した暗号文をNTRU暗号で復号した復号文を生成する復号装置であって、
前記暗号装置から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを受信するパラメータ受信部と、
前記出力パラメータを入力としてNTRU暗号の暗号鍵と復号鍵を生成し出力する生成鍵出力部と、
前記暗号鍵を前記暗号装置へ送信する暗号鍵送信部と、
前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して前記復号文を生成する復号文生成部とを備える
ことを特徴とする復号装置。 - 暗号文をNTRU暗号で復号した復号文を生成する復号化方法であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の復号鍵を生成するステップと、
前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して復号文を生成するステップとを含む
ことを特徴とする復号化方法。 - 暗号文をNTRU暗号で復号した復号文を生成するプログラムであって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の復号鍵を生成するステップと、
前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して復号文を生成するステップとを、コンピュータに実行させる
ことを特徴とするプログラム。 - NTRU暗号を用いた暗号化システムであって、
外部から入力されたNTRU暗号のパラメータ組である入力パラメータを、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータに変換して出力するパラメータ変換装置と、
NTRU暗号の暗号鍵と復号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置と、
前記暗号文を復号した復号文を生成する復号装置とを備え、
前記パラメータ変換装置は、
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ変換装置が出力した前記出力パラメータを入力として前記暗号鍵と前記復号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ変換装置が出力した出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備え、
前記復号装置は、
前記パラメータ変換装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする暗号システム。 - NTRU暗号を用いた暗号化システムであって、
外部から入力されたNTRU暗号のパラメータ組である入力パラメータから、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の暗号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置とを備え、
前記パラメータ生成装置は、
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報とに基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記暗号鍵とを入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備える
ことを特徴とする暗号化システム。 - 平文をNTRU暗号で暗号化した暗号文を生成する暗号装置であって、
予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報とに基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力する出力パラメータ生成部と、
前記出力パラメータを復号装置へ送信するパラメータ送信部と、
前記復号装置から前記出力パラメータに基づいて生成されたNTRU暗号の暗号鍵を受信する暗号鍵受信部と、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して前記暗号文を生成する暗号文生成部とを備える
ことを特徴とする暗号装置。 - 平文をNTRU暗号で暗号化した暗号文を生成する暗号化方法であって、
予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の暗号鍵を生成するステップと、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して暗号文を生成するステップとを含む
ことを特徴とする暗号化方法。 - 平文をNTRU暗号で暗号化した暗号文を生成するプログラムであって、
予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の暗号鍵を生成するステップと、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して暗号文を生成するステップとを、コンピュータに実行させる
ことを特徴とするプログラム。 - NTRU暗号を用いた復号化システムであって、
外部から入力されたNTRU暗号のパラメータ組である入力パラメータから、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の復号鍵を生成して出力する鍵生成装置と、
暗号文をNTRU暗号で復号した復号文を生成する復号装置とを備え、
前記パラメータ生成装置は、
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記復号鍵を生成し出力する生成鍵出力部を備え、
前記復号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする復号化システム。 - 暗号文をNTRU暗号で復号した復号文を生成する復号化方法であって、
予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の復号鍵を生成するステップと、
前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して復号文を生成するステップとを含む
ことを特徴とする復号化方法。 - 暗号文をNTRU暗号で復号した復号文を生成するプログラムであって、
予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記出力パラメータに基づいてNTRU暗号の復号鍵を生成するステップと、
前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して復号文を生成するステップとを、コンピュータに実行させる
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004118772A JP4567364B2 (ja) | 2003-04-24 | 2004-04-14 | パラメータ生成装置、暗号化システム、復号化システム、暗号装置、暗号化方法、復号化方法、およびプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119973 | 2003-04-24 | ||
JP2004118772A JP4567364B2 (ja) | 2003-04-24 | 2004-04-14 | パラメータ生成装置、暗号化システム、復号化システム、暗号装置、暗号化方法、復号化方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004341502A true JP2004341502A (ja) | 2004-12-02 |
JP4567364B2 JP4567364B2 (ja) | 2010-10-20 |
Family
ID=33543211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004118772A Expired - Lifetime JP4567364B2 (ja) | 2003-04-24 | 2004-04-14 | パラメータ生成装置、暗号化システム、復号化システム、暗号装置、暗号化方法、復号化方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4567364B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109379A1 (ja) * | 2004-05-12 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | 暗号システム、暗号装置、復号装置、プログラムおよび集積回路 |
JP2013156348A (ja) * | 2012-01-27 | 2013-08-15 | Fujitsu Ltd | 暗号鍵生成方法、暗号鍵生成装置および暗号鍵生成プログラム |
JPWO2021029173A1 (ja) * | 2019-08-09 | 2021-02-18 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998008323A1 (en) * | 1996-08-19 | 1998-02-26 | Ntru Cryptosystems, Inc. | Public key cryptosystem method and apparatus |
JP2003124927A (ja) * | 2001-10-15 | 2003-04-25 | Sony Corp | 相互認証システム及び相互認証方法、相互認証装置、並びに記憶媒体 |
JP2003195755A (ja) * | 2001-10-19 | 2003-07-09 | Matsushita Electric Ind Co Ltd | 配列出力装置、配列出力方法、暗号化装置、および復号化装置 |
-
2004
- 2004-04-14 JP JP2004118772A patent/JP4567364B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998008323A1 (en) * | 1996-08-19 | 1998-02-26 | Ntru Cryptosystems, Inc. | Public key cryptosystem method and apparatus |
JP2003124927A (ja) * | 2001-10-15 | 2003-04-25 | Sony Corp | 相互認証システム及び相互認証方法、相互認証装置、並びに記憶媒体 |
JP2003195755A (ja) * | 2001-10-19 | 2003-07-09 | Matsushita Electric Ind Co Ltd | 配列出力装置、配列出力方法、暗号化装置、および復号化装置 |
Non-Patent Citations (1)
Title |
---|
JOSEPH H. SILVERMAN, NTRU CRYPTOSYSTEMS TECHNICAL REPORT, vol. Report#11, Version2, JPN7010001706, 15 March 2001 (2001-03-15), pages 1 - 6, ISSN: 0001670868 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109379A1 (ja) * | 2004-05-12 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | 暗号システム、暗号装置、復号装置、プログラムおよび集積回路 |
US7773746B2 (en) | 2004-05-12 | 2010-08-10 | Panasonic Corporation | Encryption system, encryption device, decryption device, program, and integrated circuit |
JP2013156348A (ja) * | 2012-01-27 | 2013-08-15 | Fujitsu Ltd | 暗号鍵生成方法、暗号鍵生成装置および暗号鍵生成プログラム |
JPWO2021029173A1 (ja) * | 2019-08-09 | 2021-02-18 | ||
WO2021029173A1 (ja) * | 2019-08-09 | 2021-02-18 | 株式会社村田製作所 | 通信システム |
Also Published As
Publication number | Publication date |
---|---|
JP4567364B2 (ja) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4786531B2 (ja) | 暗号システム、暗号装置、復号装置、プログラムおよび集積回路 | |
KR101024768B1 (ko) | 파라미터 생성 장치, 암호 시스템, 복호 시스템, 암호장치, 복호 장치, 암호화 방법, 복호화 방법, 및 그프로그램 | |
JP4544538B2 (ja) | 署名生成装置、鍵生成装置及び署名生成方法 | |
KR101795771B1 (ko) | 정수 기반 준동형 암호 기법에서 압축 암복호화를 제공하는 시스템 및 방법 | |
JP4620669B2 (ja) | 署名生成装置、署名検証装置、それらの方法、および集積回路 | |
EP2154816A1 (en) | Key generating apparatus, encrypting apparatus and decrypting apparatus | |
JP2011147074A (ja) | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 | |
JP2010049215A (ja) | パラメータ生成装置、暗号処理システム、方法およびプログラム | |
JP2007507742A (ja) | 情報伝達システム、暗号装置及び復号装置 | |
EP1873964A1 (en) | Signature creation device, and signature verification device | |
JP2009116183A (ja) | 暗号装置、復号装置、鍵生成装置及びプログラム | |
JP2011227193A (ja) | 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体 | |
JP4567364B2 (ja) | パラメータ生成装置、暗号化システム、復号化システム、暗号装置、暗号化方法、復号化方法、およびプログラム | |
JP2011150006A (ja) | 暗号化システム、公開鍵暗号化方法、鍵生成装置、計算機および公開鍵秘密鍵生成プログラム | |
JP7443217B2 (ja) | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム | |
US20060171531A1 (en) | Padding application method ensuring security of cryptosystem and encryptor/decryptor | |
JP5297918B2 (ja) | 暗号化数値二進変換システム及び方法とプログラム | |
Reddy et al. | Analysis and performance characteristics of cryptosystem using image files | |
Atea et al. | PMRSA: Designing an Efficient and Secure Public-Key Similar to RSA Based on Polynomial Ring | |
JP5912281B2 (ja) | 復号結果検証装置、方法、システム及びプログラム | |
Knezevic | Generating Prime Numbers Using Genetic Algorithms. | |
JP2005321719A (ja) | 通信システム、復号装置、復元装置、鍵生成装置及び通信方法 | |
Verkhovsky | Double-Moduli Gaussian Encryption/Decryption with Primary Residues and Secret Controls | |
Jaber et al. | Efficient elliptic curve cryptography encryption framework for cloud computing | |
JP2006337867A (ja) | 暗号通信方法および暗号通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100623 |
|
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: 20100713 |
|
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: 20100805 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4567364 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |