JP2000516733A - 公開鍵暗号システム方法および装置 - Google Patents

公開鍵暗号システム方法および装置

Info

Publication number
JP2000516733A
JP2000516733A JP10511051A JP51105198A JP2000516733A JP 2000516733 A JP2000516733 A JP 2000516733A JP 10511051 A JP10511051 A JP 10511051A JP 51105198 A JP51105198 A JP 51105198A JP 2000516733 A JP2000516733 A JP 2000516733A
Authority
JP
Japan
Prior art keywords
message
mod
integer
ideal
ring
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
Application number
JP10511051A
Other languages
English (en)
Other versions
JP4068664B2 (ja
Inventor
ジェフリー ホフスタイン
ジル パイファー
ジョセフ エイチ. シルヴァーマン
Original Assignee
エヌティーアールユー クリプトシステムズ,インコーポレーテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by エヌティーアールユー クリプトシステムズ,インコーポレーテッド filed Critical エヌティーアールユー クリプトシステムズ,インコーポレーテッド
Publication of JP2000516733A publication Critical patent/JP2000516733A/ja
Application granted granted Critical
Publication of JP4068664B2 publication Critical patent/JP4068664B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 この公開鍵暗号システム符号化技法は、2つの数を法とする多項式代数および整約に基づく混合システムを使用し、それに対して、復号技法は、妥当性が基本確率理論に依存する非混合システムを使用する。デジタル・メッセージを符号化し復号する方法は、環Rのイデアルpおよびqを選択するステップ(305)と、環Rの要素fおよびgを生成するステップ(325)と、F sub q、すなわち、f(mod q)の逆数を生成するステップと、F sub p、すなわちf(mod p)の逆数を生成するステップ(340)と、gおよびF sub qを使用して導出することのできる積と、qを法として合同であるhを含む公開鍵を作成するステップ(350)と、fおよびF sub pを導出することのできる専用鍵を作成するステップと、公開鍵およびランダム要素を使用してメッセージを符号化することによって符号化メッセージを作成するステップと、専用鍵を使用して符号化メッセージを復号することによって復号メッセージを作成するステップとを含む。

Description

【発明の詳細な説明】 公開鍵暗号システム方法および装置 関連出願 本出願は、1996年8月19日に出願された米国仮特許出願第60/024 133号の優先権を主張するものであり、この仮特許出願は引用によって本明細 書に組み込まれる。 発明の分野 本発明は、情報の符号化および復号に関し、詳細には、プロセッサ・システム によってデジタル・メッセージを暗号化し復号する公開鍵暗号システムに関する 。 発明の背景 2つの当事者、たとえば、2つのコンピュータの間でデータを安全に交換する には暗号化が必要である。現在使用されている一般的な暗号化方法には、専用鍵 暗号化と公開鍵暗号化の2つがある。専用鍵暗号化では、2つの当事者が符号化 および復号に使用される鍵を秘密裏に交換する。専用鍵暗号システムの広く使用 されている例にはDES、すなわちデータ暗号化標準がある。このようなシステ ムは非常に高速であり、かつ非常に安全であるが、2つの当事者が鍵を秘密裏に 交換しなければならないという欠点を有する。 公開鍵暗号システムは、各当事者が復号プロセスのセキュリティを損なわずに 暗号化プロセスを公開することのできるシステムである。この暗号化プロセスは 一般に落とし戸関数と呼ばれている。公開鍵暗号システムは、一般に専用鍵暗号 システムよりも低速であるが、クレジット・カード番号など少量のデータを送信 するために使 用され、また、専用鍵暗号化に使用される専用鍵を送信するためにも使用される 。 従来、公開鍵暗号システムには様々な落とし戸関数が提案され実施されている 。 公開鍵暗号システムを作成するために使用されているある種類の落とし戸関数 では、ある群のべき乗が使用され、すなわち、ある群の要素が取り出され、群演 算を使用してその要素のべき乗が反復的に求められる。最も頻繁に選択される群 は、大きな素数pおよびqのpqを法とする乗法群である。ただし、楕円曲線、 アーベル多様体、場合によっては非可換行列群など他の群も提案されている。し かし、この種の落とし戸関数は、それぞれ100桁程度の大きな素数を必要とし 、鍵の作成が面倒であり、暗号化および復号に使用されるべき乗プロセスは多数 の計算を必要とし、Nビットからなるメッセージを暗号化し復号するには百桁の 数の多数の乗算とN3個程度の演算を必要とする。 公開鍵暗号システムを作成するために使用されている第2の種類の落とし戸関 数は、群中のどの数が平方であるか、すなわち通常は、大きな素数pおよびqの pqを法とする乗法群を判定するのが困難であることに基づく。第1の種類の場 合と同様に、鍵作成が面倒であり、符号化および復号に多数の計算が必要であり 、Nビットからなるメッセージを符号化し復号するにはN3個程度の演算が必要 である。 第3の種類の落とし戸関数では、群中で離散対数問題が使用され、一般には、 大きな素数pを法とする乗法群または楕円曲線が使用される。この場合も、素数 pが少なくとも150桁を必要とし、p−1が大きな素因数を必要とするので、 鍵作成は面倒である。このよ うなシステムはべき乗を使用し、したがってこの場合も、Nビットからなるメッ セージを符号化し復号するにはN3個程度の演算を必要とする。 公開鍵暗号システムを作成するために使用されている第4の種類の落とし戸関 数は、ナップサック問題または部分集合和問題に基づく。このような関数は、部 分群、通常は、加算される正の整数の部分群を使用する。この種の多くの公開鍵 暗号システムは、格子整約技法を使用して破られており、したがって、もはや安 全なシステムとはみなされていない。 公開鍵暗号システムを作成するために使用されている第5の種類の落とし戸関 数は、誤り訂正符号、特にゴッパ符号に基づく。このような暗号システムは、有 限体、一般には2つの要素を含む有限体上で線形代数を使用する。このような暗 号システムに対する線形代数アタックがあり、したがって、安全な暗号システム の鍵は400000ビット程度の大きな矩形行列である。これは大部分の応用分 野で大きすぎる。 公開鍵暗号システムを作成するために使用されている第6の種類の落とし戸関 数は、大きな次元Nの大きな格子で極めて短い基本ベクトルを見つけることが困 難であることに基づく。このようなシステムの鍵は、N2ビット程度の長さを有 し、これは多くの応用分野では大きすぎる。また、このような格子整約公開鍵暗 号システムは非常に新しく、したがって、そのセキュリティは完全には分析され ていない。 したがって、大部分のユーザは、比較的短く容易に作成される鍵を比較的高速 の暗号化プロセスおよび復号プロセスと組み合わせる公開鍵暗号システムを有す ることが望ましいと考えている。 本発明の目的は、鍵が比較的短く、かつ容易に作成され、符号化プロセスおよ び復号プロセスを高速に実行することのできる公開鍵暗号化システムを提供する ことである。本発明の目的は、比較的低いメモリ要件を有し、かつセキュリティ ・レベル、鍵長、符号化・復号速度、メモリ要件、帯域幅をかなり柔軟に兼ね合 わせることを可能にする様々なパラメータに依存する公開鍵暗号化システムを提 供することである。 発明の概要 本発明は、鍵長が他の一般的な公開鍵暗号システムの鍵長に匹敵する鍵を、ベ クトルの大きな集合からほぼ無作為に選択することを可能にし、適切な(たとえ ば、現状では=280)セキュリティ・レベルを備え、最も一般に使用されている 公開鍵暗号システム、すなわち前述のべき乗暗号システムよりも1桁ないし2桁 程度高速の符号化プロセスおよび復号プロセスを提供する。 本発明の公開鍵暗号システムの実施形態の符号化技法は、2つの数pおよびq を法とする多項式代数および整約に基づく混合システムを使用し、それに対して 復号技法は、妥当性が基本確率理論に依存する非混合システムを使用する。本発 明の公開鍵暗号システムのセキュリティは、多項式混合システムとpおよびqを 法とする規約化の独立性との相互作用によってもたらされる。セキュリティは、 実験によって観測されるように、たいていの格子では、最も短いベクトルよりも わずかに長いに過ぎない多数のベクトルがある場合に最も短いベクトルを見つけ ることが非常に困難であることにも依存する。 本発明の実施形態は、環Rのイデアルpおよびqを選択するステップと、環R の要素fおよびgを生成するステップと、要素Fq、 すなわちf(mod q)の逆数を生成し、Fp、すなわちf(mod p)の 逆数を生成するステップと、gおよびFqを使用して得ることのできる積とmo d qで合同であるhを含む公開鍵を生成するステップと、fおよびFpを得る ことのできる専用鍵を生成するステップと、公開鍵およびランダム要素φを使用 してメッセージmを符号化することによって符号化メッセージeを生成するステ ップと、専用鍵を使用して符号化メッセージeを復号することによって復号メッ セージを生成するステップとを含む、デジタル・メッセージmを符号化し復号す る方法の形態である。 本発明の他の特徴および利点は、以下の詳細な説明と添付の図面から容易に明 らかになろう。 図面の簡単な説明 図1は、本発明の実施形態を実施する際に使用することのできるシステムのブ ロック図である。 図2は、この流れ図で引用された補助流れ図と共に、本発明の実施形態を実施 する際に使用することのできる公開鍵暗号化システムの流れ図である。 図3は、公開鍵および専用鍵を生成するための、本発明の実施形態によるルー チンの流れ図である。 図4は、公開鍵を使用してメッセージを符号化するための、本発明の実施形態 による流れ図である。 図5は、専用鍵を使用して符号化メッセージを復号するための、本発明の実施 形態による流れ図である。 図6は、公開鍵および専用鍵を生成する、本発明の他の実施形態によるルーチ ンの流れ図である。 図7は、公開鍵を使用してメッセージを符号化するための、本発 明の他の実施形態による流れ図である。 図8は、専用鍵を使用して符号化メッセージを復号するための、本発明の他の 実施形態による流れ図である。 詳細な説明 図1は、本発明の実施形態を実施する際に使用できるシステムのブロック図で ある。2つのプロセッサ・ベース・サブシステム105および155は、セキュ リティの保障されないチャネル50、たとえば電話やインターネット通信チャネ ルなどの有線通信チャネルまたは無線通信チャネルを介して通信するように示さ れている。サブシステム105はプロセッサ110を含み、サブシステム155 はプロセッサ160を含む。プロセッサ110および160とそれに関連する回 路を後述のようにプログラムすると、これらを使用して本発明の実施形態を実装 し、本発明の方法の実施形態を実現することができる。プロセッサ110および 160はそれぞれ、任意の適切なプロセッサ、たとえば電子デジタル・プロセッ サまたはマイクロプロセッサでよい。任意の汎用プロセッサまたは特殊目的プロ セッサ、あるいは本明細書に記載した機能を電子的または光学的に、あるいは他 の手段によって実行することのできる他の機械または回路を使用できることが理 解されよう。プロセッサはたとえば、Intel Pentiumプロセッサで よい。サブシステム105は通常、メモリ123、クロック・タイミング回路1 21、入出力機能118、モニタ125を含み、これらはすべて従来型の種類の ものでよい。入力には、103で示したキーボード入力を含めることができる。 通信はトランシーバ135を介して行われ、トランシーバ135は、モデム、ま たは信号を伝達する任意の適切な装置を備えることができる。 この例示的な実施形態のサブシステム155は、サブシステム105と同様な 構成を有することができる。プロセッサ160は、関連する入出力回路164、 メモリ168、クロック・タイミング回路173、モニタ176を有する。入力 にはキーボード155が含まれる。サブシステム155と外部との通信はトラン シーバ162を介して行われ、この場合も、トランシーバ162はモデム、また は信号を伝達する任意の適切な装置を備えることができる。 本発明の公開鍵暗号システム実施形態の符号化技法は、2つの数pおよびqを 法とする多項式代数および整約に基づく混合システムを使用し、それに対して復 号技法は、妥当性が基本確率理論に依存する非混合システムを使用する。[多項 式が順序係数の好都合な表現(いくつかの係数がゼロであってよい、N個の順序 係数を有するN−1次の多項式)であり、プロセッサが、指定された演算を係数 に対して実行することが理解されよう。]本発明の公開鍵暗号システムのセキュ リティは、多項式混合システムとpおよびqを法とする規約化の独立性との相互 作用によってもたらされる。セキュリティは、実験によって観測されるように、 たいていの格子では、最も短いベクトルよりもわずかに長いに過ぎない多数のベ クトルがある場合に最も短いベクトルを見つけることが非常に困難であることに も依存する。 本発明の暗号システムは、M.Blum他著「An Efficient Probabilistic Public -Key Encryption Scheme Which Hides All Partial Information」(Advanccs in Cryptology:Procccdings of CRYPTO 84,Lecture Notes in Computcr Science、 第196巻、Springer-Vcrlag、1985年、289ページないし299ページ) およびs.Goldwasser他著「Probabilistic Encryption」J.Computer and System s Science 28(1984年)、270ページないし299ページ)に記載された確率 暗号システムの一般的な枠組みに適合する。このことは、暗号化がランダム要素 を含み、したがって各メッセージが多数の可能な暗号化を有することを意味する 。符号化および復号ならびに鍵作成は、本発明の技法を使用して比較的高速にか つ容易に行われ、長さNのメッセージ・ブロックを符号化または復号するのに必 要な演算はO(N2)個であり、したがって、RSAで必要とされるO(N3)個 の演算よりもかなり高速である。鍵長はO(N)であり、R.J.McEliece著「A Pu blic-Key Cryptosystem Based On Algebraic Coding Thcory」(JPL Pasadena,DS N Progress Reports 42-44(1978年)、114ページないし116ページ)お よびO.Goldreich等著「Public-Key Cryptosystems From Lattice Reduction Pr oblems」(MIT-Laboratory for Computer Science再版、1996年11月)に記 載されたような他の「高速」公開鍵システムで必要とされるO(N2)鍵長に匹 敵する。 本発明の暗号システムの実施形態は、4つの整数パラメータ(N、K、p、q )と、整数係数を有するN−1次多項式の3つの集合Lq、Lφ、Lmとに依存す る。この実施形態は、環R=Z[X]/(XN−1)で働く。要素F∈Rは多項 式またはベクトルとして書かれる。 星印「*」はRの乗算を示す。この星印乗算は巡回畳み込み積、すなわち次式の F*G=Hとして明示的に与えられる。 (たとえば)qを法とする乗算を実行する際、係数はqを法として整約される。 詳細は、付録1を参照されたい。 以下に公開鍵暗号システムの発明による実施形態の例を示す。例示を容易にす るために非常に小さな数が使用されており、したがって、この例は暗号に関して 安全ではない。例と共に、二重括弧([[ ]])内のマテリアルとして、現在の条 件の下で暗号に関して安全な実際的な暗号システムを形成する動作パラメータに ついて説明する。特定のセキュリティ・レベルを達成する動作パラメータの詳細 な議論は付録1に記載されている。付録1には、本発明の暗号システムの実施形 態の、様々なアタック・タイプに対する耐性についても記載されている。 本発明の実施形態で使用される対象はN−1次の多項式である。 a1N-1+a2N-2+...+aN-1x+aN 上式で、係数a1,...,aNは整数である。本発明の「星印」乗算では、xNが1で 置き換えられ、xN+1がXで置き換えられ、xN-2がx2で置き換えられ、以下同 様である。[多項式をN組の数 [a1,a2,...,aN] で表すこともできる。このような場合、星印積を畳み込み積とも呼ぶ。Nの値が 大きい場合、実行するステップがN2個ではなくNlogN個程度である高速フ ーリエ変換法を使用して畳み込み積をより高速に計算することができる。]たと えば、N=5とし、2つの例示的な多項式を用いた場合、星印乗算は以下の数式 を与える。 (x4+2x2-3x+2)*(2x4+3x3+5x-1) =2x8+3x7+4x6+5x5-6x4+16x3-17x2+13x-2 =2x3+3x2+4x+5x-6x4+16x3-17x2+13x-2 =-6x4+18x3-14x2+17x+3 [[安全なシステムはたとえば、N=167またはN=263を使用することがで きる]][この実施形態は、xN−1のすべての倍数からなるイデアルを法とする 整数係数を含む多項式の環を使用する。より一般的には、異なるイデアルを法と する多項式を使用することができる。さらに一般的には、他の何らかの環Rを使 用することができる。環およびイデアルの詳細については、たとえば、I.N.Hers tein著「Topics in Algebra」を参照することができる。 この実施形態の他の態様では、イデアルqなどの整数を法として多項式の係数 が整約される。このことは基本的に、各係数をqで除し、係数をその剰余で置き 換えることを意味する。たとえば、q=128であり、ある係数が2377であ る場合、2377を128で除すると18であり、剰余が73であるので、この 係数は73で置き換えられる。しかし、「対称剰余」を使用した方が容易である 。このことは、剰余が0ないしq/2である場合、係数はそのままであるが、q /2ないしqである場合は係数からqが減じられることを意味する。したがって 、q=128に対称剰余を使用する場合、−55=73−128であるので23 77は−55で置き換えられる。 この剰余プロセスが実行されていることを示すには、3重等号(≡)を符号「 mod q」と共に使用する。以下に、2つの多項式の星印乗算を5を法とする 規約化と組み合わせる例を示す。答えには対称剰余が使用される。 (x4+2x2-3x+2)*(2x4+3x3+5x-1)=-6x4+18x3-14x2+17x+3 ≡-x4-2x3+x2+2x-2(mod5) 本発明の実施形態によって(かつ例示を容易にするために、上記で指摘した小 さな数を用いて)公開鍵暗号システムを作成する際、 第1のステップは整数パラメータN、K、p、qを選択することである。以下に 例を示す。 N=5、K=1、p=3、q=128 [[安全なシステムはたとえば、N=167、K=6、p=3、q=216=65 536を使用することができる]]好ましくは、pとqは互いに素であり、すな わち、1よりも大きな共通因子を有さない。イデアルpとイデアルqを互いに素 にすることが望ましいことについては付録1に記載されている。以下のように、 多項式のいくつかの集合が選択される。 Lg={係数が−2、−1、0、1、2である多項式} Lφ={2つの−1、2つの1、1つの0を係数として有する多項式} Lm={係数が−1、0、1である多項式} [[安全なシステムはたとえば、以下の集合を使用することができる。 Lg={係数が−177ないし177である多項式} Lφ={係数が40個の1、40個の−1、残りの0である多項式} Lm={係数が−3ないし3である多項式} (注:多項式はN−1次を有し、したがって、この例の安全なパラメータの場合 、多項式は166次を有する。さらに、符号化されている実際のメッセージmの 係数をp、すなわちこの例ではp=3で除すると、このメッセージは剰余で構成 される)]]。 集合Lgは、暗号システムの鍵を作成するために使用され、集合Lφはメッセ ージを符号化するために使用され、集合Lmは、可能なメッセージの集合である 。たとえば、 2x4-x3+x-2は集合Lgに存在し、 x4-x3-x2+1は集合Lφに存在する。 鍵作成者Danは、この例の鍵作成を実施するとき、集合Lgから2つの多項式 fおよびgを選択する。この簡略化された例ではK=1であり、したがって1つ の多項式gのみが存在する。Danが次式を選択するものと仮定する。 f=x4-x3+2x2-2x+1 g=x4-x3+x2-2x+2 [[安全なシステムはたとえば、K+1個の多項式f,g1,...,gK∈LgをK= 6と共に使用することができる。]] 本発明の要件は、fが、qを法とする逆数とpを法とする逆数を有さなければ ならないことである。このことは、次式が成立するように多項式FqおよびFpが 存在しなければならないことを意味する。 Fq *f≡1(mod q)および Fp *f≡1(mod p) 周知のユークリッド・アルゴリズムを使用してFqおよびFpを算出することがで きる。たとえば、本明細書の付録IIを参照することができる。(いくつかのf が逆数を有さないことがある。この場合、Danは最初に戻り、別のfを選択す る。)上記の例fでは、次式が成立する。 Fq=103x4+29x3+116x2+79x+58 Fp=2x4+2x これがfの正しいFqであることを検査するには、以下の乗算を行うことができ る。 Fq*f=(103x4+29x3+116x2+79x+58)*(x4-x3+2x2-2x+1) =256x4+256x-127 ≡1(mod 128) 同様に、Fpが正しいことを検査するには、以下の乗算を行うことができる。 Fp *f=(2x4+2x)*(x4-x3+2x2-2x+1) =6x3-6x2+6x-2 ≡1(mod3) これで、鍵作成者Danが自分の公開鍵、すなわち、次式によって与えられる 多項式hを作成する準備が完了した。 h≡Fq *g(mod q) [[安全なシステムは、次式によって与えられるK個の多項式h1,...,hKを使用 することができる。]] hi≡Fq *gi(mod q)、i=1,2,...,K、K=6 この例では続いて、Danが次式を計算する。 Fq *g=(103x4+29x3+116x2+79x+58)*(x4-x3+x2-2x+2) =243x4-50x3+58x2+232x-98 ≡-13x4-50x3+58x2-24x+30(mod128) Danの公開鍵は以下の多項式である。 h=-13x4-50x3+58x2-24x+30 Danの専用鍵は多項式対(f,Fp)である。原則的に、Fpは常にfから計算 することができるので、多項式f自体が専用鍵として働くことができる。しかし 、実際には、Danはおそらく、Fpを事前に算出し保存しておく必要がある。 この例の次の部分における専用鍵による符号化について説明する。符号化側C athyがDanの公開鍵hを使用してDanにメッセージを送信する必要があ ると仮定する。Cathyは可能なメッセージの集合Lmからあるメッセージを 選ぶ。たとえば、Cath yが以下のメッセージを送信すると仮定する。 m=x4-x3+x2+1 Cathyは、このメッセージを符号化するとき、集合Lφから無作為に多項式 φを選択する。たとえば、Cathyは次式を選択する。 φ=-x4+x3-x2+1 Cathyは、無作為に選択したこの多項式φ、Danの公開鍵h(ならびにp およびq、すなわち、公開鍵の一部)、Cathyの平文メッセージを使用し、 以下の公式を使用して符号化メッセージeを作成する。 e≡pφ*h+m(mod q) [[安全なシステムはK個の公開鍵h1,...,hKを、安全な例についてのK=6と 共に使用することができる。Cathyは、メッセージを符号化するときに、集 合LφからK個の多項式φ1,...,φKを無作為に選択し、次いでe≡pφ1 *h1+pφ2 * h2+...+pφK *hK+m(mod q)を計算することによって符号化メッセージeを作成 することができる。]]別法として、hがpFq *g(mod q)と等しくされ、その場合 、公式e≡φ*h+m(mod q)を使用してメッセージを符号化することができる。この 例では、Cathyは以下の計算を行う。 pφ*h+m=3(-x4+x3-x2+1)*(-13x4-50x3+58x2-24x+30) +(x4-x3+x2+1) =-374x4+50x3+196x2-357x+487 ≡10x4+50x3-60x2+27x-25(mod128) したがって、Cathyの符号化メッセージは以下の多項式であり、 e=10x4+50x3-60x2+27x-25 Cathyはこの符号化メッセージをDanに送信する。 この例の次の部分における専用鍵を使用した復号について説明する。Danは 、メッセージeを復号するためにまず、専用鍵fを使用して以下の多項式を計算 する。 a≡f*e(mod q) 使用中の例では、Danは以下の計算を行う。 f*e=(x4-x3+2x2-2x+1)*(10x4+50x3-60x2+27x-25) =-262x4+259x3-124x2-13x+142 ≡-6x4+3x3+4x2-13x+14(mod128) したがって、多項式aは次式で表される。 a= -6x4+3x3+4x2-13x+14 次に、DanはFp、すなわち自分の専用鍵の他方の半分を使用して以下の計算 を行う。 Fp *a(mod p) この結果が復号メッセージである。したがって、この例では、Danは以下の計 算を行う。 Fp *a=(2x4+2x)*(-6x4+3x3+4x2-13x+14) =34x4-4x3-20x2+36x-38 ≡x4-x3+x2+1(mod3) この復号がなぜ有効であるかの詳細な説明については、付録Iを参照することが できる。 本発明の他の実施形態では、環は行列の環である。たとえば、環 R=(整数 係数を有するM×M個の行列の環)を使用することができる。 Rの要素を以下に示す。 上式で係数aijは整数である。加算および乗算は、行列に対して通常行われる加 算および乗算であり、このプロセッサが行列のメンバーを、従来型の方式で記億 され処理される数として扱えることが理解されよう。N=M2である場合、Rの 行列はN個の係数を有する。互いに素な整数pとqが選択される。 この場合、Danは、専用鍵を作成するために、RからK+2個の行列を選択 する。これらの行列を f, g,w1,w2,...,wK と呼ぶ。これらの行列は、f, g,w1,...,wKがかなり小さな係数を有し、 あらゆるw1が次式を満たすという特性を有するべきである。 wi≡0 (mod p) (言い換えれば、あらゆるwiのあらゆる係数がpの倍数である。)Danは、 自分の鍵を作成するときに、pおよびqを法とするfおよびgの逆数を見つける 必要がある。したがって、Danは、次式を満たすR内の行列Fp、Fq、Gp、 Gqを見つける。 fFp≡I(mod p) fFq≡I(mod q) gGp≡I(mod p) gGq≡I(mod q) 上式で、IはM×M識別行列である。一般に、これを実行するのは容易であり、 何らかの理由で1つの逆数が存在しない場合でも、Danは新しいfまたはgを 選択するだけでよい。 Danの公開鍵は、以下の条件によって決定されるK個の行列(h1,h2,... ,hK)の並びである。 hi≡Fqiq(mod q)(i=1,2,...,K) (wiがpを法とするゼロと合同であることに留意されたい。)Danの専用鍵 は4つの行列(f,g,Fp,Gp)である。原則的に、fおよびgのみを専用鍵 として使用できるが、実際にはFp、Gpを事前に計算し記憶しておいた方が効率 的である。 この行列の例の符号化について次に説明する。Cathyがメッセージmを符 号化する必要があるものと仮定する。メッセージmは、pを法とする係数を有す る行列である。Cathyは、自分のメッセージを符号化するために、ある条件 を満たすいくつかの整数φ1,...,φKを無作為に選択する。たとえば、これらの 整数としては、和φ1+...+φKが所定の値dと等しい非負整数を選択すること ができる。(φiが通常の整数であり、行列ではないことに留意されたい。同様 に、φiは、識別行列の倍数とみなすことができ、したがって環Rのあらゆる要 素と交換することができる。) Cathyは、自分のφiを選択した後、以下の規則によって符号化メッセー ジeを作成する。 e≡φ1h12h2+...+φKhK+m(mod q) 次に、この行列の例の復号について説明する。Danが符号化メッセージeを 受信しており、それを解読する必要があるものと仮定する。Danはまず、次式 を満たす行列aを計算する。 a≡feg(mod q) Danは、通常どおり、−q/2ないしq/2(すなわち、ゼロ対称係数)や0 ないしq−1など、ある限られた範囲内でaの係数を選択する。 パラメータが適切に選択される場合、行列aは以下の和に丁度等しくなる。 a=φ1w12w2+...φKwK+fmg (これは常に、qを法として真であるが、重要な点は、qが十分大きい場合に、 上式が、qを法とする場合だけではなく厳密な等式になることである。)Dan の次のステップは、たとえば次式のように、pを法としてaを整約することであ る。 b≡a(mod p) wiのすべての係数をpで除することができるので、これは、以下のことを意味 する。 b≡fmg(mod p) 最後に、Danは以下の計算を行い、 FpbGp(mod p) 最初のメッセージmを再生する。 前述のM×M行列の実施形態は優れた動作時間を有する。符号化は、加算しか 必要とせず、M2個程度の演算を実行する。復号はM×M行列の2回の行列乗算 を必要とし、したがって、M3個の演算を実行する。メッセージ長はM2程度であ り、したがって、Nが固有メッセージ長(すなわち、N=M2)を示す場合、行 列実施形態は、符号化にはO(N)個のステップを必要とし、復号にはO(N3/ 2 )個のステップを必要とする。これに対して、多項式実施形態は、符号化にO (N2)個のステップを必要とし、復号にO(N2)個のステップを必要とし、R SA公開鍵システムは、符号化にO(N3)個のステップを必要とし復号にO( N3)個のステップを必要とする。 予備的な分析により、次元がN2+N(またはそれ以上)である 格子を使用する必要があるのは、行列実施形態に対する固有格予アタックだけで あることがわかっている。これは、多項式実施形態を解読するために使用される 2N次元格子に対する著しいセキュリティの向上である。 暴力的(または潜在的なmeet−in−the−middle)アタックを 回避するには、φiのサンプル空間をかなり大きくし、たとえば2100ないし220 0 にする必要がある。しかし、こうするのは困難である。たとえば、φiが、和d を有する非負の値として選択された場合、サンプル空間は、 個の要素を有する。したがって、たとえばK=15およびd=1024を選択し た場合、2103.8個の要素を有するサンプル空間が得られる。 公開鍵サイズはKM2log2(g)ビットであり、専用鍵サイズは2M2lo g2(pq)ビットである。これらは共に実際的なサイズである。 図2は、公開鍵暗号化システムと共に使用できる基本手順を示し、本発明の実 施形態による特徴を説明する参照される他の流れ図によって示されるルーチンを 指す。ブロック210は、公開鍵情報および専用鍵情報の生成と、公開鍵の「公 開」を表す。本発明の実施形態のルーチンについて図3の流れ図に関して説明す る。この例では、この演算がプロセッサ・システム105で実行されるものと仮 定することができる。公開鍵情報は、公開することができ、すなわち、公衆の任 意のメンバー、または専用鍵保持者が暗号化メッセージを受信する必要のある所 望の群に利用させることができる。通常、 必ずしも必要ではないが、公開鍵保持者およびその公開鍵のディレクトリが維持 されている中央公開鍵ライブラリ施設またはウェブサイトで公開鍵を利用可能に することができる。この例では、プロセッサ・システム155のユーザがプロセ ッサ・システム105のユーザに秘密のメッセージを送信する必要があり、プロ セッサ・システム155のユーザがプロセッサ・システム150のユーザの公開 済みの公開鍵を知っているものと仮定する。 ブロック220は、所期のメッセージ受信側の公開鍵を使用して平文メッセー ジを符号化するためにメッセージ送信側(すなわち、この例ではプロセッサ・シ ステム155のユーザ)によって使用することのできるルーチンを表す。本発明 の実施形態によるこのルーチンについては、図4の流れ図に関して説明する。こ の場合、暗号化メッセージはチャネル50(図1)を介して送信される。 図2のブロック260は、暗号化メッセージを復号して平文メッセージを再生 するルーチンを表す。この例では、この機能は、専用鍵情報を使用するプロセッ サ・システム105のユーザによって実行される。本発明の実施形態の復号ルー チンについては図5の流れ図に関して説明する。 次に、図3を参照すると、全体的に図2のブロック210で表された、公開鍵 および専用鍵を生成するルーチンの流れ図が示されている。このルーチンはこの 例では、プロセッサ・システム105のプロセッサ110をプログラムするため に使用することができる。ブロック305は、整数パラメータN、p、qの選択 を表す。前述のように、Nは、生成される多項式fおよびgiの次数を決定し、 pおよびqはそれぞれ、星印積を生成する際に使用される2つのイデアルである 。ブロック315はK、すなわち使用される多項式gi の数を表す。上記の簡略化された例では、Kは1であり、例示的で比較的安全 な特定のシステムがK=6を使用できることに留意されたい。次に、ブロック3 25は無作為な多項式f、g1、g2...gKの選択を表す。係数はたとえば、乱数 発生装置を使用して選択することができ、乱数発生装置は、利用可能なハードウ ェアまたはソフトウェアを使用して周知の方法で実装することができる。この実 施形態では、各プロセッサ・システムが乱数発生装置を備え、乱数発生装置は図 1ではそれぞれ、ブロック130および185で指定されている。 ブロック340は、選択済みの多項式fの逆数FqおよびFpが存在する場合に 、それらの逆数を前述のように求めるためにユークリッド・アルゴリズムを応用 することを表す。Fp、Fqが存在しない場合、再びブロック325に入り、新し い多項式fが選択される。ループ330は、定義済みの逆数を算出できる多項式 が選択されるまで継続する。[所与の多項式について逆数が存在する確率は比較 的高く、したがって一般に、この条件が満たされるまでにループ330を横断す る回数は比較的少ないことが予期される。]次いで、ブロック350に入る。こ のブロックは前述のように、 h=Fq *g(mod q) による公開鍵hの計算を表す。[K>1の場合、i=1,2,...,Kについて公 開鍵構成要素hiがある。]ブロック360で表されるように、専用鍵は多項式 f、FPとして保持され、この場合、ブロック370で表されるように、公開鍵 を公開することができる。 図4は、平文メッセージmの符号化を実施するようにプロセッサ・システム1 55(図1)のプロセッサ160などのプロセッサをプログラムするルーチンの 、図2のブロック240によって一般 的に表される流れ図である。符号化されるメッセージが入力され(ブロック42 0)、ランダム多項式φが選択される(ブロック430)。[K>1の場合、K個 の無作為多項式φ1,φ2,...,φKが選択される。]この多項式は、前述のように 集合Lφの多項式でよく、ランダム係数は、任意のハードウェア手段またはソフ トウェア手段、たとえば、乱数発生装置185によって選択することができる。 次いで、符号化メッセージeを次式のように算出することができる(ブロック4 50)。 e=pφ*h+m(mod q) 上記で指摘したように、Kが1よりも大きい場合、符号化メッセージはe≡pφ1 * h1+pφ2 *h2+....+pφK *hK+m(mod q)になる。この符号化メッセージは、チャネル 50を介して鍵保持者、すなわち、この例ではプロセッサ・システム105のユ ーザに送信する(ブロック460)ことができる。 図5は、図2で全体的にブロック260によって表された、暗号化メッセージ を復号する本発明の実施形態によるルーチンの流れ図である。ブロック530は 暗号化メッセージeの受信を表す。定義済みの多項式fおよびFpと整数N、p 、qとを含む保持されている専用鍵情報が取り出される(ブロック550)。次に 、ブロック570は次式の計算を表している。 a≡f*e(mod q) 次いで、本明細書ではm’として指定された復号メッセージを次式のように算出 することができる(ブロック580)。 m’≡Fp *a(mod p) 図6、図7、図8は、前述の行列実施形態に関する流れ図である。図6は、全 体的に図2のブロック210によって表された、公開鍵 および専用鍵を生成するルーチンの流れ図である。前述のように、このルーチン をこの例で使用して、プロセッサ・システム105のプロセッサ110をプログ ラムすることができる。ブロック605は、整数パラメータN、p、qの選択を 表し、Nは行列係数の数であり、pおよびqは互いに素な整数である。ブロック 615はKの選択を表し、Kを選択することによって行列の数が決定される。次 に、ブロック625はランダム行列f,g,w1,w2,...,wKの選択と、w1, w2,...,wKがすべて、pを法として0と合同であるという要件とを表す。この 場合も、この目的のために乱数発生装置130(図1)を使用することができる 。 ブロック640は、定義済みの行列Fp、Fq、Gp、Gqの決定を表す。これら の行列が存在しない場合、再びブロック625に入り、新しい行列fおよびgが 選択される。ループ630は、定義済みの逆数を算出できる行列が選択されるま で継続する。次いで、ブロック650に入る。このブロックは、公開鍵、すなわ ち、以下の条件によって決定されるK個の行列(h1,h2,...,hK)のリストの 算出を表す。 hi≡FqwiGq(mod q)(i=1,2,...,K) ブロック660で表されているように、専用鍵は行列(f,g,Fp,Gp)とし て保持され、その場合、ブロック670で表したように公開鍵を公開することが できる。 図7は、この行列実施形態の技法を使用して平文メッセージmの符号化を実施 するようにプロセッサ・システム155(図1)のプロセッサ160などのプロ セッサをプログラムする、全体的に図2のブロック240で表されたルーチンの 流れ図である。符号化されるメッセージが入力され(ブロック720)、ランダム 整数φ1, φ2,...,φKが選択される(ブロック730)。これらの整数は乱数発生装置18 5(図1)によって選択することができる。次いで、符号化メッセージeを次式 のように算出することができる(ブロック750)。 e≡φ1h12h2+...+φkhk+m(mod q) この符号化メッセージは、チャネル50を介して鍵保持者、すなわち、この例で はプロセッサ・システム105のユーザに送信することができる(ブロック76 0)。 図8は、図2で全体的にブロック260によって表された、この行列実施形態 によって暗号化メッセージを復号するルーチンの流れ図である。ブロック830 は暗号化メッセージeの受信を表す。定義済みの多項式F、g、Fp、Gpと整数 N、p、qとを含む保持されている専用鍵情報が取り出される(ブロック850) 。次に、ブロック870は次式の計算を表している。 a≡feg(mod q) 次に、aは、次式のように、pを法としてbに整約される(ブロック880)。 b≡a(mod p) 次いで、次式のように復号メッセージが算出される(ブロック890)。 m’≡FpbGp(mod p) 特定の好ましい実施形態を参照して本発明を説明したが、当業者には本発明の 趣旨および範囲内の変形形態が企図されよう。たとえば、公開鍵または専用鍵を 任意の適切な媒体、たとえば「スマート・カード」上に記憶し、符号化および/ または復号を実行できるマイクロプロセッサをこのスマート・カードに備え、そ れによって 暗号化メッセージをスマート・カードヘ伝達し、かつ/あるいはスマート・カー ドから伝達することができることが理解されよう。 NTRU:環ベースの公開鍵暗号システム JEFFREY HOFFSTEIN、JILL PIPHER、JOSEPH H.SILVERMAN 要約 NTRU、すなわち新規の公開鍵暗号システムについて説明する。NTR Uは、鍵がかなり短く容易に作成されること、高速であること、およびメモリ要 件が低いことを特徴とする。NTRUの符号化および復号は、基本確率理論に基 づくクラスタ化原則と組み合わされた、多項式代数によって提案されている混合 システムを使用する。NTRU暗号システムのセキュリティは、多項式混合シス テムと、互いに素な2つの整数pおよびqを法とする整約の独立性との相互作用 によってもたらされる。 目次 0.はじめに 1.NTRUアルゴリズムの説明 2.パラメータの選択 3.セキュリティ分析 4.実施にあたって考慮すべき点 5.NTRUの適度なセキュリティ・パラメータ 6.他のPKCSとの比較 付録A.基本補題 §0.はじめに DiffeおよびHellman[4]が、どのようにすれば1方向関数を使 用して効率的で計算コストの低い公開鍵暗号を作成で きるかについて説明して以来、このようなシステムの作成にかなりの関心が払わ れている。現在の所、最も広く使用されている公開鍵システムはRSAである。 RSAは、1978年にRivest、Shamir,Adelmanによって 作成されたものであり[10]、大きな数を因数分解することが困難であること に基づく。他のシステムには、誤り補正符号に依存するMcElieceシステ ム[9]と、格子整約問題の難点に基づくGoldreich、Goldwas ser、Halevi[5]の最近のシステムが含まれる。 この論文では、新規の公開鍵暗号システムについて説明する。この暗号システ ムをNTRUシステムと呼ぶ。符号化手順では、多項式代数と2つの数pおよび qを法とする整約に基づく混合システムを使用し、これに対して、復号手順では 、妥当性が基本確率理論に依存する非混合システムを使用する。NTRU公開鍵 暗号システムのセキュリティは、多項式混合システムと、互いに素な2つの整数 pおよびqを法とする整約の独立性との相互作用によってもたらされる。セキュ リティは、(実験によって観測されるように)、たいていの格子では、(適度に 短いベクトルではなく)極めて短いベクトルを見つけることが困難であることに も依存する。 この論文で発表する内容は、すでに広く配布されているが未公表の前刷り[7 ]とは2つの主要な点で異なる。第1に、より良好な動作特性を有するシステム を生成するために使用できる新しいパラメータKを導入した。第2に、主として 、eメールを介してDonCoppersmith、Johan Hastad 、Adi Shamirから頂いた多数のコメントと最近の論文[3]中の多数 のコメントに基づいて、格子ベースのアタックの分析を展開し明確 化した。この機会を利用して、この研究に関心を抱き援助していただいた上記の 各氏に対して謝意を表したい。 NTRUは、[1]および[6]に記載されたように確率暗号システムの一般 的な枠組みに適合する。このことは、暗号化がランダム要素を含み、したがって 各メッセージが多数の可能な暗号化を有することを意味する。NTRUを用いた 符号化および復号は極めて高速であり、鍵の作成は高速で容易である。詳細は第 4章および第5章を参照されたいが、NTRUでは、長さNのメッセージ・ブロ ックを符号化または復号するのに必要な演算がO(N2)個であり、RSAで必 要とされるO(N3)個の演算よりもかなり高速であることに留意されたい。さ らに、NTRU鍵長はO(N)であり、[9,5]など他の「高速」公開鍵で必 要とされるO(N2)鍵長に匹敵する。 §1 NTRUアルゴリズムの説明 §1.1 表記法 NTRU暗号システムは、4つの整数パラメータ(N、K、p、q)と、整数 係数を有するN−1次多項式の3つの集合Lg、Lφ、Lmに依存する。環R=Z [X]/(XN−1)を使用する。要素F∈Rを多項式またはベクトルとして書 く。 して明示的に与えられる。 (たとえば)qを法とする乗算を行う際、qを法として係数を整約 する。 かし、NTRUによる典型的な積の場合、FとGのうちの一方が小 一方、Nが大きいとみなされる場合は、高速フーリエ変換を使用し §1.2 鍵の作成 NTRU鍵を作成する場合、Danは、K+1個の多項式f,g1,...,gK∈ Lgを無作為に選択する。多項式fは、qおよびpを法とする逆数を有するとい う追加の要件を満たさなければならない。パラメータが適切に選択される場合、 これはfの大部分の選択肢について真であり、これらの逆数の実際の計算は、修 正されたユークリッド・アルゴリズムを使用して容易に行うことができる。これ らの逆数をFqおよびFpによって示す。 Danは次に、以下の数量を計算する。 Danの公開鍵は、以下に示す多項式の並びである。 (h1,h2,...,hK) Danの専用鍵は単一の多項式fである。ただし、実際には、DanはFpを記 憶する必要がある。 §1.3 符号化 Cathy(符号化側)がDan(復号側)にメッセージを送信する必要があ るものと仮定する。Cathyはまず、1組の平文Lmからメッセージmを選択 する。次に、CathyはK個の多項式φ1,...,φK∈Lφを無作為に選択し、 Danの公開鍵(h1,...,hK )を使用して以下の計算を行う。 これが、CathyがDanに送信する符号化メッセージである。 §1.4 復号 DanがCathyからメッセージeを受信しており、自分の専用鍵fを使用 してこのメッセージを復号するものと仮定する。これを効率的に行うために、D anは第1.1節で説明した多項式Fを事前に計算しておくべきである。 eを復号するために、Danはまず以下の計算を行う。 この場合、Danは−q/2ないしq/2の間隔でaの係数を選択する。次に、 Danは、aを整数係数を有する多項式とみなして、以下の計算を行うことによ ってメッセージを再生する。 注 パラメータ値が適切である場合、この復号手順によって最初のメッセージが 再生される確率は極めて高い。しかし、ある種のパラメータ選択肢では、復号が 失敗することがあり、したがっておそらく、各メッセージ・ブロックにいくつか の検査ビットを含めるべきである。復号が失敗する通常の原因は、メッセージの センタリングが不適切であることである。この場合、Danは、わずかに異なる 間隔、たとえばxがある小さな(正または負の)値である場合の− 選択することによってメッセージを回復することができる。xのどの値も機能し ない場合には、間隔障害があり、メッセージを容易に復号することはできない。 パラメータ値が適切に選択される場合に は、間隔障害が起こることはまれであり、したがって、実際上間隔障害を無視す ることができる。 §1.5 なぜ復号が機能するか Danが計算した多項式aは以下の数式を満たす。 この最後の多項式について検討する。 パラメータの選択が適切である場台は、(ほぼ常に)すべての係数が−q/2と q/2の間に位置し、したがって、qを法として係数が整約される場合でもこの 多項式は変化しない。このことは、Da 整約するときに、以下の多項式を厳密に再生することを意味する。 p)が与えられ、Fpによる乗算によってメッセージm(modp)が取り込ま れる。 §2 パラメータの選択 §2.1 表記およびノルム推定 要素F∈Rの幅を次式のように定義する。我々の表記が示すように、これは、R上の一種のL∞ノルムである。同様に、次 式によってR上の対称L2を定義する。 前提 任意のε>0について、ε、N、Kに応じて定数c1、c2>0があり、し たがって、無作為に選択された多項式F1,...,FK、G1,...,GKERについて、 これらの多項式が次式を満たす確率は1−εよりも大きくなる。 もちろん、この前提は、比c2/c1が小さなεに対して非常に大きい場合には 、実際的な観点から無用である。しかし、NおよびKが適度に大きな値を有し、 εの値が非常に小さい場合でも、定数c1、c2が極端な値を有することはないこ とが判明している。このことは、実験によって多数の状況で検証されており、こ の論文において理論的な証拠の概要を示す。 §2.2 サンプル空間 典型的なサンプル空間の例として以下のものを使用する。 Lg={g∈R:gは−(r−1)ないし(r−1)/2の係数を有する} Lφ={φER:φは、1に等しいd個の係数と、−1に等しいd個の係数を有 し、残りは0である} Lm={m∈R:mは−(s−1)ないし(s−1)/2の係数を有する} 後で、セキュリティを達成するためにr、d、sが満たさなければならない様々 な制約があることが理解されよう。また、あらゆるφするために、Lg、Lφ、Lmの要素の平均L2ノルムをLg、Lφ、Lmと書くこ とにする。 う。この仮定によって、可能な格子アタックを分析すると共に、そのようなアタ ックを有効でなくすことが容易になる。一例として、 る。したがって、無作為にmの係数にpを加算し、mの係数からpを減算するこ とによって、mに含まれる固有mod p情報の「密度を高くする」必要がある 。 §2.3 復号基準 る場合、Danは符号化メッセージmを復号することができる。上記の前提の不 等式(3)を使用して(Kの代わりにK+1を用い、εとして十分に小さな値を 選択する)以下の推定を行うことができる。 したがって、(確率1−εで)復号を行うために、Danは、以下の復号制約を 満たずパラメータを選択する必要がある。 c2pLgφ(K+1)<q (4) §3 セキュリティ分析 §3.1 Meet−in−the−middleアタック 説明を簡単にするために(かつアタッカを助けるために)、K= d q)として表されるものと仮定する。Andrew Odlyzkoは、φ に対して使用することのできるmeet−in−the−middleアタック があると指摘しており、専用鍵fにも同様なアタックが適用されると考えられる 。簡単に言えば、fをf= 数がほぼ同じ値を有するような(f1、f2)を見つける。したがって、(たとえ ば)280のセキュリティ・レベルを得るには、約2160個の要素を含む集合から f、g、φを選択しなければならない。 §3.2 多重送信アタック やはり説明を簡単にするために、K=1と仮定する。Cathyが、同じ公開 鍵と異なるランダムφを使用して単一のメッセージmを数回にわたって送信する 場合、アタッカBettyは、メッセージの大部分を再生できると考えられる。 簡単に言えば、Cathy q)を計算し、それによってφi−φl(mod q)を再生することができる。 しかし、φの係数は非常に小さいので、Bettyはφilのみを再生し、こ れからφlの多数の係数を再生する。rが適度なサイズ(たとえば、4または5 )である場合でも、Bettyは、brute forceによってすべての可 能性を試験 するのに十分なφlを再生し、それによってmを再生する。したがって、基本メ ッセージの他の何らかのスクランブリングを行わずに多重送信を行うことは好ま しくない。Bettyが単一のメッセージをこのように復号する場合でも、この 情報は、他のメッセージを復号するうえで助けとならないことに留意されたい。 §3.3 格子ベースのアタック まず格子整約に関するいくつかの語について説明する。格子整約の目標は、所 与の格子M内の1つまたは複数の「小さな」ベクトルを見つけることである。理 論的には、M内の最小のベクトルはしらみつぶし的探索によって見つけることが できるが、実際には、Mの次元が大きい場合、これは不可能である。Schno rr[11、12]およびその他によって様々な改良を施されたLenstra −Lenstra−Lovasz[8]のLLLアルゴリズムでは、多項式時間 でMの最小ベクトルが見つかるが、次元の大きな(たとえば、≧100)たいて いの格子では、最小ベクトルは見つからず、最小のLLL判定可能ベクトルと実 際の最小ベクトルとの間のギャップは次元と共に指数関数的に増加するようであ る。格子アタックに対するNTRUのセキュリティについて説明するために、大 きな次元の格子に関する以下の3つの仮説を考える。 (H1)たいていの格子Mでは、Mの最小非ゼロ・ベクトルの長さσ(M)は次 式を満たす。 したがって、v∈Mが次式を満たす場合、 vはほぼ同じ長さの指数関数的に多数のベクトルに隠される。(H2)格子Mが 、(H1)によって説明した予期される最短ベクトルよりも小さなベクトルwを 有するが、他の場合には「ランダムな」格子であるものと仮定する。wが次式を 満たす場合、 格子整約によってwが見つかる可能性は非常に低い。 (H3)(H2)の状況であると仮定する。この場合、格子整約方法によって算出 される最小非ゼロ・ベクトルvLLLはほぼ確実に次式を満たす。 |vLLL|≧Κdim(M)|w| 注 仮説(H2)および(H3)に現われる格子整約定数kは、実験および経験に よって決定しなければならない。これは、RSAPKCSを用いた場合と同様で あり、セキュリティは、積pqを因数分解する現在の機能の推定に依存する。こ れは、[5]に記載されたPKCSにより類似しており、PKCSのセキュリテ ィは、格子の小さな(ほぼ直交化された)基を見つけるのが困難なことに直接関 連している。次元の大きな(≧100)格子を用いた実験によって、Κ=1.51/100 を使用できることがわかっている。(たとえば、[11]および[12] を参照されたい。)因数分解が進むにつれて、RSA PKCSで大きな素数を 使用することが必要になり、したがって、格子の整約が進むにつれて、より小さ な値のkとそれに対応するより大きなパラメータをNTRUで使用することが必 要になるのは間違いない。また、700よりも大きな次元の格子については仮説 (H2)および(H3)を仮定するだけでよい。このような高次元の格子では、場 合によってはSchnorrのブ ロック整約改良を含むLLLアルゴリズムでも長時間を必要とする。次元が約3 00の格子について仮説(H2)および(H3)を仮定する場合、ずっと優れた動 作特性を有するNTRUパラメータを選択することができる。 §3.3.1 鍵fに対する小格子アタック まず、恐らく最も自然な格子から始め、すなわち、任意の1つの 小さなベクトルfを探索する。これを行うには、hi=[hil,...,hiN]とし、 以下の行列の列によって生成される格子Mを検討する。将来の表記に関する都合上、この行列を次式のように書く。 アタックを最適化するためにアタッカによって数量λが選択される。 Mは次式を満たすと考えられる。 dim(M)=2NおよびDisc(M)=λNN 考慮すべき2つの問題がある。第1の問題は、Mに短いベクトルとして埋め込 まれる実際の鍵fである。Mが以下の目標ベクトルを含み、 vtarg0=[λfN,...,λfl,gil,...,giN] Vtargがわかることによってfを再生できることに留意されたい。しかし、vt argの長さを次式のように算出することができる。 仮説(H1)によれば、|vtarg2が以下の不等式を満たす場合、fはアタック を受けても安全である。 言い換えれば、次式が成立する必要がある。 アタッカは左辺を最小化したいので、アタッカの視点からの最適なλはλ=1( 補題A.1参照)である。したがって、次式が成立する場合は安全である。 考慮すべき第2の点は、M内の他のある小さなベクトルによって、アタッカが メッセージを復号できるかどうかである。したがって、 g’(mod q)が共に小さいという特性を有する。しかし、アタッカが以下 の計算を行った場合、 qを法とする小さな係数を有するのは、j=iを含む項だけである。したがって 、単一のhiを小さくするf’は復号鍵としては働かない。このことは、すべて のhjを同時に検討していることを示し、 したがって次の格子に進む。 §3.3. 2 鍵fに対する大格子アタック アタッカは、1つのhiのみを使用するのではなく、hiのある部分集合を使用 して格子を形成することができる。アタッカが、hl,...,hk(1≦k≦K)を 使用し、以下の行列の列によって生成される格子Mを形成するものと仮定する。 (前の節の略号を使用している)この格子は次式を満たす。 dim(M)=(k+1)NおよびDisc(M)=λNkN この格子は、(自明のショートハンドを使用する)目標ベクトルを含む。 vtarg={λf,g1,g2,...,gk} (より厳密に言えば、fの座標を反転する必要がある。)この目標ベクトルは以 下の長さを有する。 仮説(H2)によれば、vtargの長さが次式を満たしているかぎり、格子整約で はvtargを見つけることはできない。 したがって、次式が成立する場合にはアタックを受けても安全であ る。 前述のように、アタッカはλを選択して左辺を最小化する。この場合も、λ= 1の場合に最小値が得られ(補題A.1参照)、したがって、次式が成立するか ぎり仮説(H2)の下で実際の鍵は安全である。 §3.3.3 スプリアス鍵fに対する大格子アタック アタッカは、真の鍵fを探索するのではなく、復号鍵として働く他の何らかの 鍵Fを見つけることを試みることがある。F自体と各 さくしなければならない。話を厳密にするために、アタッカがFを見つけ次式を 計算するものと仮定する。 次式の幅(Lノルム)が一般に、 あるラッピング係数Wについて少なくともWqであることを知る必要がある(シス テムが安全であるにはWをどのくらい大きくしなければならないかの問題につい ては第4章で論じる)。 アタッカは、スプリアス鍵Fを見つけるために、第3.3.2節で説明した格 子Mを取り出し、格子整約技法を使用して小さなベクトルvLLLを見つける。M 内の最小非ゼロ・ベクトルはベクトルvtarg={λf,gl,...,gΚ}であり、 したがって、仮説(H3)によれば次式が成立する。 |vLLL2≧k( Κ+1)N|vtarg2 LLL=[λF,G1,G2,...,GK]とすると、次式が成立することがわかる。 格子整約によって得られるベクトルvLLLは、サイズが多少とも無作為に分散 する成分を有する。特に、すべての長さ|λF|2,|G12,...,|GΚ2が ほぼ同じであり、したがって、(ほぼ)次式が得られる。 |λF|2,|G12,...,|GΚ|2≧k( Κ+1)Ng 一方、これと(3)を使用して以下の推定を行うことができる。 したがって、ラッピング係数Wを用いた場合、パラメータとして次式を満たすパ ラメータが選択されるかぎり、スプリアス鍵を得ることはできない。 Wq≦cl(K+1)Lφg( Κ+1)N (7) (これを復号不等式(4)と比較することができる) §3.3.4 個々のメッセージに対する大格子アタック 考慮しなければならない他の種類の格子アタックがある。アタッカは、あらゆ るメッセージを復号する鍵を探索するのではなく、個々のメッセージを探索する 格子を構築することができる。以下の格子について考える。この格子は第3.3 .2節で使用した格子に類似している。以下の行列の列によって生成される格子 をMとする。 この格子は次式を満たし、 dim(M)=(K+1)NおよびDisc(M)=λKNN 以下のベクトルを含む(自明の表記を使用する)。 [λφ1,λφ2,...,λφK,e−m] この格子がこのベクトルを含むのは、符号化メッセージeが以下の規則に従って 作成されたからである。 e−m(mod q)の係数が小さくないので(8)が短いベクトルになる可 能性が低いことは明らかである。しかし、アタッカはeの値を知っており、した がって、既知の非格子ベクトル[0,0,...,0,e]に近いベクトルをMで探 索することができる。探索中の格子ベクトルおよび既知の非格子ベクトルからの 距離は、以下のベクトルの長さである。 vtarg=[λφ1,λφ2,...,λφK,−m] これは、非斉次格子問題の例である。非斉次問題は斉次問題よりもいくらか難し くなる傾向があるが、重大な誤りを犯すのを回避するために、アタッカが非斉次 問題を斉次問題を解くのとまったく同じ程度に解くことができると仮定する。し たがって、アタッカが以下の長さのベクトルを見つけられるかどうかを調べる必 要がある。 (あらゆるm∈LmおよびあらゆるφE∈Lφについて|m|2=p |φ|2であることを想起されたい)仮説(H2)によれば、次式が成立する場合 、 あるいは言い換えれば、次式が成立する場合には、アタックは失敗する。 アタッカは、λ=p(補題A.1参照)を使用することによって左辺を最小化し 、したがって、次式が成立する場合、アタックは失敗する。 この数式は、これによって補われる(6)と比較することができる。 §3.3.5 格子アタック・パラメータ制約の要約 本節の前の部分では、様々な格子アタックについて説明し、これらのアタック が成功するのを妨げる、パラメータに対する制約を考案した。すべての制約を満 たすパラメータの選択肢が存在するかどうかという問題が残っている。読者に好 都合なように、本節のすべての不等式を、真の鍵fの所有者がメッセージを復号 する場合に必要な基本不等式(4)と共にリストする。 任意の固定値c1、c2、p、Lφ>0であり、p、k、W>1である場合、これ らの不等式には常に解N、k、Lg、qが存在すると考えられる。次に、解を求 める際に助けとなるいくつかの注意事項について述べる。 まず、これらの不等式を様々な方法で組み合わせる。まず、(4)と(7)を 組み合わせると(ある代数計算の後で)次式が与えられる。 (基本的に)c1、c2、kを自由に選択することはできず、Wが所望のセキュリ ティ・レベルに応じて5と10の間で選択されることに留意されたい。これによ って、通常はかなり小さなpが選択される。この場合の重要な点は、(10)が (K+1)Nの下限を与え、これを超えるとほとんど制御できなくなることであ る。 次に、(4)と(5)を組み合わせると次式が得られる。 qを選択する際にいくらか融通を利かせるには、Lgの値として、指定されたこ の下限よりも(たとえば)1.5倍ないし2倍大きな値を選択するとよい。 たとえば、LφおよびLgが第2.2節で説明したような値であ 分のg∈Lgは所望のLgに非常に近いL2ノルムを有する。さらに、Lgから要素 を選択するのは符号作成者のDanだけであり、このような選択は1度行うだけ でよいので、Danが、ほぼLgのノルムを有するLgで必要なK+1個の多項式 を見つけるのは難しいことではない。長さの制約がある場合でも、実際にはrN が少なくとも2500になる傾向があるので、Lg内のそのような多項式の数はアタ ッカがしらみつぶし的探索を介して検査できるよりもはるかに多い。 §4 実施にあたって考慮すべき点 §4.1 セキュリティ係数およびラッピング係数 アタッカが、格子整約によって生成されたスプリアス鍵を使用するときにどの 程度のラッピングを期待できるかを、ラッピング係数Wが制御することを想起さ れたい。Wが小さすぎ、たとえばW=1.5である場合、アタッカは多数の(場 合によっては最も多くの)係数を回復することができる。これは、これらの値が 平均の周りに集中する傾向があるからである。厳密には、アタッカはN個の未知 の係数に関して(たとえば)0.95N個の一次方程式を再生し、この場合、暴 力的探索によってアタックが終了する。 CoppersmithおよびShamir[3]は、Wがこれよりも大きな ビットであり、たとえばW=2.5である場合でも、アタッカはクラスタ化によ り、N個の未知の係数について約0.67N個の一次方程式を得ることができる と考えた。CoppersmithおよびShamirは次いで、アタッカが2 つの独立のスプリアス鍵を構築し適用した場合、システムの解を求めるのに十分 な数の独立の等式を得ることができると考えている。Coppersmithお よびShamirはさらに、W=4である場合、いくつかの短いベクトルを使用 し、ある種の誤り補正技法を使用することによって、アタックを成功させること ができるが、Wが10程度である場合には、この種のアタックは成功しないと述 べている。詳細については[3]を参照されたい。 これらのことに基づいて、ラッピング係数W=10を使用してサンプル動作パ ラメータを構築する。 §4.2 サンプル動作パラメータ この節では、第3節の仮説の下で安全であるNTRU PKCSの2組の使用 可能なパラメータを考案する。これらのパラメータ集合によってかなり高度なメ ッセージ拡張が行われ、したがって、メッセージ拡張を管理可能な2対1に低減 するNTRUの2段階バージョンに関する以下の第4.3節を参照されたい。 まず、実験による証拠によって得られた3つの値と、スプリアス鍵アタックを 妨げるのに十分なラッピングが確保されるように選択された第4の値から始める 。 1およびc2の値は所望の範囲の広範囲な数値試験によって決定されているが、 これらの値を確率的に正当化するにはどうすべきかについてかなり良好な考え方 がある。上記の第4.1節でラッピング係数W=10について論じた。最後に、 第3.3節の注で格子整約定数κの選択について論じた。ただし、格子整約技法 の将来の改良に備えるために、セキュリティを意識するユーザはこの代わりにκ =1.31/100を選択し、他のパラメータをわずかに変更することができる。 まず選択肢p=2について考える。第3.3.5節の不等式(10)によって 、次式を選択する必要があることがわかる。 (K+1)N≧1009.79 したがって、以下の値を選択する。 N=167およびK=6 (Nと(N−1)2が共に素数であると好都合である。ただし、これは必要なこ とではない)。この選択によって、残りの係数を選択するための十分な許容差が 与えられる。 Lφを第2.2節と同様に選択し、d=20とし、したがって、 これはmeet−in−the−middleアタックに対する十 これらの選択肢を(11)に代入すると、Lg>414.07が与えられる。い くらかの許容差を与えるためにγ=167を選択する。これによって、Lgの期 待値は622.98に等しくなる。最後に、第3.3.5節の5つの基本不等式 により、qが次式を満たさなければならないことがわかる。 213.6924<q≦max{214.2766,214.7278,214.6238,252.481} (もちろん、第3.3.5節の不等式(6k)は実際には、各1≦k≦6ごとに 1つの6つの不等式である。)したがって、q=214−1=16383を選択す ることができる。(gcd(p,q)=1が必要であることに留意されたい。) 簡単に言えば、第3.3節の仮説を仮定した場合、以下のパラメータによって安 全なNTRUPKCSが与えられる。 N=167,k=6,q=16383=214-1,p=2,r=167,d=20,s=3 この場合、第2.2節で説明したように、Lφ、Lg、Lmが選択 される。これらのパラメータでは以下の値が得られる。 公開鍵長=Nklog2q=14028ビット 専用鍵長=Nlog2pr=1400ビット メッセージ拡張=logq/logp=14対1 同様な分析を使用して、より大きな値のpを有する第2の1組の安全なNTR Uパラメータを構築する。すべての演算が216よりも小さな数に対して行われ、 qが2のべき乗であり、したがって、剰余を含むqによる除算が簡単なシフト演 算になるので、これらのパラメータは既存のマイクロプロセッサにうまく適合す るように思われる。以下の値を選択する。 N=167,K=6,q=216,p=3,r=354,d=40,s=7 これらのパラメータは#Lφ=167!/40!・40!・87! 公開鍵長=NKlog2q=16032ビット 専用鍵長=Nlog2pr=1678ビット メッセージ拡張=logq/logp=10.1対1 §4.3 2段階NTRUおよび改良型メッセージ拡張 第4.2節に示したサンプル・パラメータのNTRU PKCSはかなり大き なメッセージ拡張を有する。この拡張を減少する1つの方法は、より大きな値の pを使用することであるが、この場合、(K+1)Nの値が著しく大きくなり、 そのため両方の鍵サイズが大きくなり計算効率が低下する。 メッセージ拡張を減少する他の方法は、実際のメッセージを符号化するための 1種のワンタイム・パッドとして各NTRUメッセージを使用することである。 NTRUのこの2段階バージョンでは、符号化側のCathyがランダム多項式 m∈Lmを選択し、これに 対して、Cathyの実際の平文メッセージMとしては、qを法とする任意の多 項式が許容される。Cathyは、メッセージを符号化するために、以下の2つ の等式を計算する。 符号化メッセージは対(e,E)である。 復号プロセスは前述のプロセスと類似しているが、1つの余分のステップを含 む。したがって、復号側のDanは、第1.4節で説明した手順に従って多項式 mを計算する。Danは次いで、次式を計算することによってメッセージを再生 する。 平文メッセージMの長さがNlog2qビットであり、それに対して符号化メッ セージ(e,E)の長さが2Nlog2qビットであり、したがってメッセージ 拡張は2対1に減少すると考えられる。 別の点について述べる。Cathyは同じ多項式および法を使用してmとMの 両方を符号化している。これによってセキュリティが損なわれることは考えられ ないが、セキュリティを強化した場合、 H+M(mod Q)を計算することができる。 §4.4 理論上の動作仕様 この節では、NTRU PKCSの理論上の動作特性について考える。4つの 整数パラメータ(N、K、p、q)と、第2.2節で説明したように、それぞれ 、整数r、d、sによって決定される、3つの集合Lg、Lφ、Lmと、実験的に 決定される定数c1、c2、kと、ラッピング定数Wがある。セキュリティを保証 するには、こ れらのパラメータとして、第3.3.5節にリストした不等式を満たすパラメー タを選択しなければならない。以下の表は、これらのパラメータで表したNTR U PKCS動作特性を要約したものである。 *厳密には、4KN2回の加算と、KN回の、剰余を含むqによる除算 第4.4節で説明した2段階NTRUについては以下の項目が異なる。 §4.5 実施上の他の考慮すべき点 NTRUを実施する際に考慮すべき他のいくつかの因子について簡単に述べる 。 (1)gcd(q,p)=1であることが重要である。基本的にN TRUはこの要件がなくても働くが、実際には、gcd(q,p)>1である場 合、セキュリティが低下する。極端な範囲では、p|qである場合、(exer cise)符号化メッセージeはe≡m(mod p)を満たし、NTRUのセ キュリティは完全に失われる。 (2)大部分のfがpおよびqを法とする逆数を有することが望ましい。という のは、そうでない場合、鍵の作成が困難になるからである。第1の要件はgcd (f(1),pq)=1であるが、これが、ある選択されたfに対して無効であっ た場合、符号作成者はこの代わりにたとえば、f(X)+1またはf(X)−1 を使用することができる。gcd(f(1),pq)=1と仮定すると、Nとして 素数を選択し、pおよびqを除する各素数Pについて、(Z/NZ)*中のPの オーダーを大きくし、たとえばN−1または(N−1)/2にした場合、ほぼす べてのf、が必要な逆数を有する。たとえば、これは、(N−1)/2自体が素 である(すなわち、NがSophie Germain素数である)場合は確実 に真である。このような素数の例には107および167が含まれる。 §5 NTRUの適度なセキュリティ・パラメータ 現実には、高速および/または低メモリ要件が重要であり、適度なセキュリテ ィ・レベルが受け入れられる多数の状況がある。この場合、実際の格子整約方法 [11、12]はCPUを酷使し、そればかりでなく、次元200ないし300 の格子に対して格子整約を実行するのに長いコンピュータ時間を必要とする。も ちろん、この場合の「長い」は相対的な語であるが、300次元格子整約を実行 して1セントの数分の1に相当するコストを削減しても恐らく無効であり、現行 の方法を使用してこのような格子整約を短時間(たと えば2、3分間)で実行すると(完全に実現不能ではない場合)コストが非常に 高くなることは確実である。したがって、大次元格子アタックを可能にする必要 のある状況で使用できる1組のNTRUパラメータを作成すると有効である。 格子アタックによってもたらされるパラメータ制約をなくした場合、残るのは 以下の復号制約と、 c2pLgφ(K+1)<q (4) f、g、φの探索空間が暴力的(多分meet−in−the−middle) アタックを防止するほど大きいという条件だけである。話を簡単にするために、 K=1を選択する。f、g、φがすべて、集合Lφ、すなわち、d個の係数が1 に等しく、d個の係数が−1に等しく、他のN−2d個の係数が0に等しい多項 式の集合に含まれるものとみなす。(厳密には、fはpおよびqを法として可逆 である必要があるので、fを余分の1つの係数を有するものとみなすが、これは 後に続く分析にほとんど影響を与えず、したがってこれを無視することにする。 )c2=0.24を通常どおりに使用すると、復号制約は単に次式のようになる 。 q>2pd (4) 他の制約を次式に示す。 上式で、σは必要なセキュリティ・レベルである。適度なセキュリティの処理系 の場合、セキュリティ・レベルは約240でほぼ十分 以下の表は、NTRUの適度なセキュリティの処理系の受け入れられる動作パ ラメータを示す。セキュリティを評価する際、利用可 能な格子アタックが次元2Nの格子を使用することに留意されたい。また、qの リストされた値は最小許容値であるが、gcd(p,q)を満たす、これよりも いくらか大きなqも受け入れられることに留意されたい。特に、q=64を選択 することによってとりわけ高速な処理系を使用することができる。 最後に、鍵サイズが非常に小さくなると考えられる。 公開鍵:Nlog2(q)ビット 専用鍵:2Nlog2(p)ビット たとえば、(N,d,p,q)=(167,7,3,64)は、それぞれ長さ1 002ビットおよび530ビットの公開鍵および専用鍵を含むシステムを形成す る。 §6 他のPKCSとの比較 現在、因数分解の難点に基づくRivest、Shamir、Adelman (RSA[10])のシステム、誤り補正符号に基づくMcEliece[9] のシステム、ほぼV直交化された短い基を格子内で見つけることが困難であるこ とに基づくGoldreich、Goldwasser、Halevi(GGH [5])の最近のシステムを含め、いくつかの公開鍵暗号システムが文献に記載 されている。 NTRUシステムは、環R内の星印乗算を(特殊な種類の)行列の乗算として 公式化することができ、次いで、システムでの符号化を行列乗算E=AX+Y( Aは公開鍵である)として書くことができるという点で、McElieceのシ ステムと共通するいくつかの特徴を有する。2つのシステムの間の小さな違いは 、NTRU符号化では、Yがメッセージであり、Xがランダム・ベクトルである が、McElieceシステムではこれらの割当てが逆になることである。しか し、実際の違いは、復号を可能にする基本トラップドアである。McEliec eシステムの場合、行列Aが誤り補正(ゴッパ)符号に関連付けされ、ランダム 寄与がゴッパ符号によって「補正される」ほど小さいために復号が作用する。N TRUの場合、行列Aは巡回行列であり、復号は、Aの、特殊な形式を有する2 つの行列の積へ分解と、mod qからmod pへのリフティングに依存する 。 我々の知るかぎりでは、NTRUシステムにはRSAシステムとの共通点がほ とんどない。同様に、NTRUシステムは格子整約アタックを防止するようにセ ットアップしなければならないが、その基本復号方法は、復号が短い格子基の知 識に基づいて行われるGGHシステムとはかなり異なるものである。なお、GG Hは実際には、McElieceシステムに類似している。これは、どちらの場 合でも、小さなランダム寄与を認識してなくすことによって復号が実行されるか らである。これに対して、NTRUは、可分性(すなわち、合同)を考慮するこ とによってずっと大きなランダム寄与をなくす。 以下の表は、RSA暗号システム、McEliece暗号システ ム、GGH暗号システム、NTRU暗号システムのいくつかの理論的動作特性を 比較したものである。それぞれの場合において、数Nは固有セキュリティ/メッ セージ長パラメータを表す。 付録A.基本補題 以下の結果は格子アタックを最適化するうえで有用である。補題A.1.α+ β=1を有するすべてのA、B、α、βについて、 が成立し、x=βB/αAで下限が生じる。 証明 f(x)=Axα+Bx- βとする。この場合、f’(x)=αAxα-1 −βBx- β-1=xβ+1(αAx−βB)である。したがって、絶対最小値はx =βB/αAで生じる。(x→0+およびx→∞のときにf(x)→∞であるこ とに留意されたい。)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パイファー ジル アメリカ合衆国,ロード アイランド 02860,ポータケット,レスター ウェイ, 3番地 (72)発明者 シルヴァーマン ジョセフ エイチ. アメリカ合衆国,マサチューセッツ 02192,ニーダム,ノース ヒル アヴェ ニュー,57番地

Claims (1)

  1. 【特許請求の範囲】 1.デジタル・メッセージmを符号化し復号する方法であって、 環Rのイデアルpおよびqを選択するステップと、 環Rの要素fおよびgを生成し、f(mod q)の逆数である要素Fqを生 成し、f(mod p)の逆数である要素Fpを生成するステップと、 gおよびFqを使用して得ることのできる積とmod qで合同であるhを含 む公開鍵を生成するステップと、 fおよびFpを得ることのできる専用鍵を生成するステップと、 専用鍵およびランダム要素φを使用してメッセージmを符号化することによっ て符号化メッセージeを生成するステップと、 専用鍵を使用して符号化メッセージeを復号することによって復号メッセージ を生成するステップと を含む方法。 2.前記環Rが環Zを覆うモジュールであることを特徴とする請求の範囲第1項 に記載の方法。 3.Zを覆うRの次元がNであり、Nが1より大きな整数であることを特徴とす る請求の範囲第1項に記載の方法。 4.環Rが、特定の多項式を法とする多項式の環であることを特徴とする請求の 範囲第3項に記載の方法。 5.要素を生成する前記ステップがさらに、g(mod q)の逆 数である要素Gqを生成し、g(mod p)の逆数である要素Gpを生成するス テップを含むことを特徴とする請求の範囲第1項に記載の方法。 6.前記要素Gqが前記公開鍵を得るのに使用され、前記要素Gpが前記専用鍵の 一部であることを特徴とする請求の範囲第5項に記載の方法。 7.前記選択ステップがさらに正の整数Kを選択するステップを含み、前記要素 gがgi(i=1,2,...,K)を含み、前記公開鍵hがhi(i=1,2,...,K )を含むことを特徴とする請求の範囲第1項に記載の方法。 8.前記ランダム要素φがイデアルp中にφi(i=1,2,...,K)を含み、前 記符号化メッセージが、 として生成されることを特徴とする請求の範囲第7項に記載の方法。 9.前記公開鍵および専用鍵がそれぞれ、pとqをふくむことを特徴とする請求 の範囲第1項に記載の方法。 10.前記イデアルpとqが相対的に素な整数によって生成されることを特徴と する請求の範囲第1項に記載の方法。 11.符号化メッセージが、メッセージmと、φおよびhを含む積 との和とmod qで合同であることを特徴とする請求の範囲第10項に記載の 方法。 12.前記整数pとqが等しくなく、pとqがともに1より大きいことを特徴と する請求の範囲第10項に記載の方法。 13.前記符号化メッセージが、あるユーザによってある場所で生成され、前記 ある場所から別の場所に伝送され、前記別の場所であるユーザによって復号され ることを特徴とする請求の範囲第1項に記載の方法。 14.デジタル・メッセージmを符号化し復号する方法であって、 整数pおよびqを選択するステップと、 多項式fおよびgを生成するステップと、 逆数Fqおよび逆数Fpを決定するステップであって、 Fq *f≡1(mod q) Fp *f≡1(mod p) であるステップと、 p、q、hを含む公開鍵を生成するステップであって、 h≡Fq *g(mod q) であるステップと、 fおよびFpを含む専用鍵を生成するステップと、 専用鍵およびランダム要素φを使用してメッセージmを符号化することによっ て符号化メッセージeを生成するステップと、 専用鍵を使用して符号化メッセージeを復号することによって復号メッセージ を生成するステップと を含む方法。 15.前記符号化メッセージeが、 e≡pφ*h+m(mod q) として生成されることを特徴とする請求の範囲第14項に記載の方法。 16.前記復号メッセージが、 a≡f*e(mod q) を計算し、ついで復号メッセージm’を m’≡Fp *a(mod p) として計算することによって生成されることを特徴とする請求の範囲第15項に 記載の方法。 17.多項式fおよびgを生成する前記ステップが、正の整数Kを選択し、K個 の多項式gをg1,g2,...,gkとして生成するステップを含み、前記公開鍵がh1 ,h2,...,hkを含み、 上式で hi≡Fq *i(mod q)、i=1,2,...,K であることを特徴とする請求の範囲第14項に記載の方法。 18.前記符号化メッセージeが、 e≡pφ1 *1+pφ2 *2+...+pφK *K+m(mod q) として生成され、 上式でφ1,φ2,...,φKがK個のランダム多項式であることを特徴とする請求の 範囲第17項に記載の方法。 19.前記符号化メッセージが、あるユーザによってある場所で生成され、前記 ある場所から別の場所に伝送され、前記別の場所であるユーザによって復号され ることを特徴とする請求の範囲第14項に記載の方法。 20.モニック多項式M(X)が選択され、多項式の乗算が、まず多項式の通常 の乗算を行い、次いで結果をM(X)で割り、剰余だけを保持することによって 実施されることを特徴とする請求の範囲第14項に記載の方法。 21.非ゼロの整数Nが選択され、多項式の乗算が、Nを法とする指数を整約す ることによって実施されることを特徴とする請求の範囲第14項に記載の方法。 22.前記多項式f、g、m、φが有界係数をもつように制約されることを特徴 とする請求の範囲第14項に記載の方法。 23.前記整数qが、前記整数pと、前記多項式f、g、m、φの次数と、前記 f、g、m、φの係数に対する前記制約とによって決まる量よりも小さく選ばれ ることを特徴とする請求の範囲第22項に記載の方法。 24.前記整数qが、前記整数pと、前記多項式f、g、m、φの次数と、前記 f、g、m、φの係数に対する前記制約とによって決まる量よりも大きく選ばれ ることを特徴とする請求の範囲第22項 に記載の方法。 25.デジタル・メッセージを符号化し復号する方法であって、 相対的に素な整数pおよびqを選択するステップと、 非ゼロの整数Kを選択するステップと、 整数係数を有し、wi≡0(mod p)(i=1,2,...,K)である行列の環 からK+2個の行列f,g,g1,w2,...,wKを生成するステップと、 前記行列の環から逆行列Fp,Fq,Gp,Gqを生成するステップであって、 fFp≡I(mod p) fFq≡I(mod q) gGp≡I(mod p) gGq≡I(mod q) 上式でIが単位行列であるステップと、 公開鍵をK個の行列(h1,h2,...,hk)のリストとして生成するステップで あって、 hi≡Fqiq(mod q),i=1,2,...,K; であるステップと、 専用鍵を行列(f,g,Fp,Gp)として生成するステップと、 専用鍵およびランダム整数φ1,φ2,...,φKを使用してメッセージmを符号化 することによって符号化メッセージeを e≡φ11+φ22+...+φKK+m(mod q); として生成するステップと、 a≡feg(mod q) および b≡a(mod p) を計算し、ついで復号メッセージm’を m’=FpbGp(mod p) として計算することによって復号メッセージm’を生成するステップと を含む方法。 26.前記符号化メッセージが、あるユーザによってある場所で生成され、前記 ある場所から別の場所に伝送され、前記別の場所であるユーザによって復号され ることを特徴とする請求の範囲第25項に記載の方法。 27.前記行列w1,w2,...,wK,f,g,mが有界係数をもつように制約され 、整数φ1,φ2,...,φKが有界であるように制約されることを特徴とする請求の 範囲第25項に記載の方法。 28.前記整数qが、前記整数pと、前記整数Kと、前記多項式w1,w2,..., wK,f,g,mの次数と、前記多項式w1,w2,...,wK,f,g,mの係数に 対する前記制約と、整数φ1,φ2,...,φKに対する前記制約とによって決まる量 よりも小さく選ばれることを特徴とする請求の範囲第27項に記載の方法。 29.前記整数qが、前記整数pと、前記整数Kと、前記多項式w1,w2,..., wK,f,g,mの次数と、前記多項式w1,w2,...,wK,f,g,mの係数に 対する前記制約と、整数φ1,φ2,...,φKに対する前記制約とによって決まる量 よりも大きく選ばれることを 特徴とする請求の範囲第27項に記載の方法。 30.デジタル・メッセージmを符号化し復号するシステムであって、 イデアルpおよびqを選択する手段と、 環Rの要素fおよびgを生成し、f(mod q)の逆数である要素Fqを生 成し、f(mod p)の逆数である要素Fpを生成する手段と、 gおよびFqを使用して得ることのできる積とmod qで合同であるhを含 む公開鍵を生成する手段と、 fおよびFpを得ることのできる専用鍵を生成する手段と、 専用鍵およびランダム要素φを使用してメッセージmを符号化することによっ て符号化メッセージeを生成する手段と、 専用鍵を使用して符号化メッセージeを復号することによって復号メッセージ を生成する手段と を備えるシステム。 31.前記符号化メッセージが、あるユーザによってある場所で生成され、前記 ある場所から別の場所に伝送され、前記別の場所であるユーザによって復号され ることを特徴とする請求の範囲第30項に記載のシステム。 32.通信システムのユーザ間で情報を通信する方法であって、 リングRと、R中のイデアルPおよびQと、イデアルQを法とする環Rに対す る代表剰余系CQの集合と、イデアルPを法とする環Rに対する代表剰余系CPの 集合とを生成するステップと、 R中の少なくとも2つの専用鍵要素f1,...,fnおよび第1のユーザのイデア ルQの関数として環R中の少なくとも1つの公開鍵要素h1,...,hkを生成する ステップと、 環Rと、イデアルQと、イデアルPと、R中の要素h1,...,hkとの記述を第 1のユーザから第2のユーザに伝送するステップと、 イデアルPおよびQと、公開鍵要素h1,...,hkと、R中の専用メッセージ要 素mと、第2のユーザの少なくとも1つの専用ランダム要素φ1,...,φlとの関 数として環R中の要素eを生成するステップと、 e,f1,...,fnの関数Fを評価するR中の結果Aを計算し、代表剰余系CQの 集合中のAの代表剰余系aを計算し、a,f1,...,fnの関数Gを評価する結果 Bを計算し、代表剰余系Cpの集合中のBの代表剰余系bを計算し、b,f1,..., fnの関数Hを評価する代表剰余系Cpの集合中の結果cを計算することによって 、第1のユーザがメッセージ要素mを決定できるように、要素eを第2のユーザ から第1のユーザに伝送するステップと を含む方法。 33.メッセージ要素mが、mがCPの要素であるという条件を満たすことを特 徴とする請求の範囲第32項に記載の方法。 34.a,b,c,f1,...,fnの関数を計算することによって、第1のユーザ がメッセージ要素mを決定することを特徴とする請求の範囲第32項に記載の方 法。 35.公開鍵要素h1,...,hkが、1とkの間の各iについて要素f1がイデアル Qを法としてR中で積hik+1と合同であるという 条件を満たすことを特徴とする請求の範囲第32項に記載の方法。 36.専用鍵要素f1,...,fk+1が、要素f1,...,fkがイデアルP中にあるとい う条件を満たすことを特徴とする請求の範囲第32項に記載の方法。 37.専用ランダム要素φ1,...,φlがイデアルP中にあることを特徴とする請 求の範囲第32項に記載の方法。 38.公開鍵要素h1,...,hkと、専用ランダム要素φ1,...,φk+1と、専用メッ セージ要素mとの関数として生成される要素eが、イデアルQを法としてφ11 +φ22+,...,+φkk+φk+mと合同であるCQの要素として生成されるこ とを特徴とする請求の範囲第32項に記載の方法。 39.e,f1,...,fnの関数Fを評価する結果Aが積efk+1であることを特徴 とする請求の範囲第32項に記載の方法。 40.a,f1,...,fnの関数Gを評価する結果Bが要素aであることを特徴と する請求の範囲第32項に記載の方法。 41.a,f1,...,fnの関数Hを評価する代表剰余系のCP集合中の結果cが、 cfk+1がイデアルPを法としてbと合同であるという条件を満たすことを特徴 とする請求の範囲第32項に記載の方法。 42.結果cが、代表剰余系CPの集合中のメッセージmの代表剰余系に等しい ことを特徴とする請求の範囲第32項に記載の方法。 43.環Rが、次数Nのモニック多項式M(X)によって生成されるRのイデア ルを法として1つの変数X中の多項式の環であり、RのイデアルQが整数qによ って生成されるイデアルであり、RのイデアルPが整数pによって生成されるイ デアルであり、代表剰余系CQの集合が、次数がせいぜいN−1でqを法とする 代表剰余系の固定した集合中の係数を有するR中の多項式の集合であり、代表剰 余系CPの集合が、次数がせいぜいN−1でpを法とする代表剰余系の固定した 集合中の係数を有するR中の多項式の集合であることを特徴とする請求の範囲第 32項に記載の方法。 44.専用鍵要素f1,...,fn、R中の専用メッセージ要素m、および専用ラン ダム要素φ1,...,φ1が、その係数に対する境界を含むという条件を満たすこと を特徴とする請求の範囲第43項に記載の方法。 45.環Rが非可換体であることを特徴とする請求の範囲第32項に記載の方法 。 46.要素h1,...,hkが、1とKの間の各iについて要素fk+1ik+2がイデ アルQを法としてR中でfiと合同であるという条件に従ってCQ中で生成される ことを特徴とする請求の範囲第32項に記載の方法。 47.専用鍵要素f1,...,fkがイデアルP中にあることを特徴とする請求の範 囲第32項に記載の方法。 48.専用ランダム要素φ1,...,φ2k+1が、要素φ1,...,φkがイデアルP中に あるという条件を満たすことを特徴とする請求の範囲第32項に記載の方法。 49.公開鍵要素h1,...,hkと、専用ランダム要素φ1,...,φ2k+1と、専用メ ッセージ要素mとの関数として生成される要素eが、イデアルQを法としてφ11φk+1+φ22φk+2+,...,+φkkφ2k+φ2k+1+mと合同であるCQの要 素として生成されることを特徴とする請求の範囲第45項に記載の方法。 50.環Rが整数係数をもつ行列の環であり、RのイデアルQが、固定整数qで 割り切れるすべての行列からなるイデアルであり、RのイデアルPが、固定整数 pで割り切れるすべての行列からなるイデアルであり、代表剰余系CQの集合が 、qを法とする代表剰余系の固定した集合中の係数を有するRの要素の集合であ り、代表剰余系CPの集合が、pを法とする代表剰余系の固定した集合中の係数 を有するRの要素の集合であることを特徴とする請求の範囲第32項に記載の方 法。 51.専用鍵要素f1,...,fn、専用メッセージ要素m、および専用ランダム要 素φ1,...,φ1が、その係数に対する境界を含むという条件を満たすことを特徴 とする請求の範囲第50項に記載の方法。 52.専用ランダム要素φ1,...,φ1が、要素φ1,...,φ1が単位行列の定数倍で あるという条件を満たすことを特徴とする請求の範囲第50項に記載の方法。 53.環Rが群Gの群環であり、RのイデアルQが、整数qによって生成される イデアルであり、RのイデアルPが、整数pによって生成されるイデアルであり 、代表剰余系CQの集合が、qを法とする代表剰余系の固定した集合中の係数を 有するRの要素の集合であり、代表剰余系CPの集合が、pを法とする代表剰余 系の固定した集合中の係数を有するRの要素の集合であることを特徴とする請求 の範囲第32項に記載の方法。 54.専用鍵要素f1,...,fn、専用メッセージ要素m、および専用ランダム要 素φ1,...,φ1が、その係数に対する境界を含むという条件を満たすことを特徴 とする請求の範囲第53項に記載の方法。 55.環Rが、二面関係XN=1、Y2=1、XY=YXN-1に従うことを条件と して2つの変数XおよびY中の多項式の非可換環であり、RのイデアルQが整数 qによって生成されるイデアルであり、RのイデアルPが整数pによって生成さ れるイデアルであり、代表剰余系CQの集合が、次数がせいぜいN−1でqを法 とする代表剰余系の集合から選ばれた係数を有する変数XにおけるR中の多項式 の集合であり、代表剰余系CPの集合が、次数がせいぜいN−1でpを法とする 代表剰余系の固定した集合から選ばれた係数を有する変数XにおけるR中の多項 式の集合であることを特徴とする請求の範囲第32項に記載の方法。 56.専用鍵要素f1,...,fn、専用メッセージ要素m、および専用ランダム要 素φ1,...,φlが、その一部が、条件Yψ=ψYを満たすRのすべての要素ψか らなるRの可換部分環RO中にあるという条件を含む諸条件を満たすことを特徴 とする請求の範囲第55項に記載の方法。
JP51105198A 1996-08-19 1997-08-19 公開鍵暗号システム方法および装置 Expired - Fee Related JP4068664B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US2413396P 1996-08-19 1996-08-19
US60/024,133 1996-08-19
PCT/US1997/015826 WO1998008323A1 (en) 1996-08-19 1997-08-19 Public key cryptosystem method and apparatus

Publications (2)

Publication Number Publication Date
JP2000516733A true JP2000516733A (ja) 2000-12-12
JP4068664B2 JP4068664B2 (ja) 2008-03-26

Family

ID=21819032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51105198A Expired - Fee Related JP4068664B2 (ja) 1996-08-19 1997-08-19 公開鍵暗号システム方法および装置

Country Status (10)

Country Link
US (2) US6081597A (ja)
EP (1) EP0920753B1 (ja)
JP (1) JP4068664B2 (ja)
CN (1) CN1172474C (ja)
AU (1) AU716797B2 (ja)
CA (1) CA2263588C (ja)
DE (1) DE69737097T2 (ja)
HK (1) HK1021855A1 (ja)
IL (1) IL128552A (ja)
WO (1) WO1998008323A1 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004051921A1 (ja) * 2002-12-03 2004-06-17 Matsushita Electric Industrial Co., Ltd. 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
WO2005098796A1 (ja) * 2004-03-31 2005-10-20 Nec Corporation 暗号方式の安全性を保証するパディング適用方法
US7155610B2 (en) 2000-12-19 2006-12-26 Matsushita Electric Industrial Co., Ltd. Cryptocommunication system, transmission apparatus, and reception apparatus
JP2008541540A (ja) * 2005-05-04 2008-11-20 ナショナル・ユニバーシティ・オブ・アイルランド・ゴルウェイ 群環におけるゼロ因子および単位を使用することにより、誤り訂正符号および誤り検出符号を生成するための方法および装置
WO2009125537A1 (ja) 2008-04-09 2009-10-15 パナソニック株式会社 署名及び検証方法、署名生成装置並びに署名検証装置
WO2009147788A1 (ja) 2008-06-04 2009-12-10 パナソニック株式会社 暗号化装置及び暗号化システム
US7664260B2 (en) 2005-01-24 2010-02-16 Panasonic Corporation Signature generation device, key generation device, and signature generation method
US7739504B2 (en) 2005-04-18 2010-06-15 Panasonic Corporation Signature generation apparatus and signature verification apparatus
US7773746B2 (en) 2004-05-12 2010-08-10 Panasonic Corporation Encryption system, encryption device, decryption device, program, and integrated circuit
US7792286B2 (en) 2005-04-18 2010-09-07 Panasonic Corporation Signature generation device and signature verification device
JP2010530990A (ja) * 2007-06-22 2010-09-16 サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス) 公開行列に基づき、エラー補正コードのデコーディングを用いて認証を行う方法
US7917764B2 (en) 2005-01-24 2011-03-29 Panasonic Corporation Signature generation device and signature verification device
WO2014007347A1 (ja) 2012-07-05 2014-01-09 株式会社クリプト・ベーシック 共有秘密鍵生成装置、暗号化装置、復号化装置、共有秘密鍵生成方法、暗号化方法、復号化方法、及びプログラム
KR20230082789A (ko) * 2021-12-02 2023-06-09 조선대학교산학협력단 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템에서 사용되는 다항식의 역원을 생성하기 위한 역원 생성 장치 및 방법
KR20230082783A (ko) * 2021-12-02 2023-06-09 조선대학교산학협력단 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US7362775B1 (en) * 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US6205249B1 (en) 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US5889868A (en) 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US7730317B2 (en) 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US6373986B1 (en) * 1998-04-08 2002-04-16 Ncr Corporation Compression of data transmission by use of prime exponents
US6785388B1 (en) * 1998-09-16 2004-08-31 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
US6415032B1 (en) * 1998-12-01 2002-07-02 Xilinx, Inc. Encryption technique using stream cipher and block cipher
US6733998B1 (en) * 1998-12-07 2004-05-11 Sloan-Kettering Institute For Cancer Research Micromonospora echinospora genes coding for biosynthesis of calicheamicin and self-resistance thereto
US6654889B1 (en) 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US6959085B1 (en) 1999-05-03 2005-10-25 Ntru Cryptosystems, Inc. Secure user identification based on ring homomorphisms
WO2000074301A1 (en) * 1999-05-27 2000-12-07 Koninklijke Philips Electronics N.V. Method and apparatus for secure creation of public/private key pairs
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
GB0013356D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd A method of validating an encrypted message
GB0013399D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd Decryption of cipher polynomials
GB0013355D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd Parallel modulo arithmetic using bitwise logical operations
AU2001288234A1 (en) * 2000-08-11 2002-02-25 Storage Technology Corporation Public key generation method and apparatus
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
JP4188571B2 (ja) * 2001-03-30 2008-11-26 株式会社日立製作所 情報処理装置の演算方法および耐タンパ演算攪乱実装方式
JP4053431B2 (ja) * 2001-05-04 2008-02-27 株式会社エヌ・ティ・ティ・ドコモ 環ベースの署名スキーム
EP1796308A3 (en) 2001-05-04 2008-02-20 NTT DoCoMo Inc. Ring-based signature scheme
US8812398B2 (en) * 2001-05-08 2014-08-19 Qualcomm Incorporated Key for a wireless-enabled device
US6510988B1 (en) 2001-05-11 2003-01-28 Eric M. Kraus Identification bracelet
US7136484B1 (en) * 2001-10-01 2006-11-14 Silicon Image, Inc. Cryptosystems using commuting pairs in a monoid
EP2148463A3 (en) * 2001-10-19 2015-04-22 Panasonic Intellectual Property Management Co., Ltd. A numerical array output device, a numerical array output method, an encryption device, and a decryption device
KR100406138B1 (ko) * 2001-11-28 2003-11-14 한국전자통신연구원 엔티알유 암/복호화 장치
EP1451967A1 (en) * 2001-12-07 2004-09-01 NTRU Cryptosystems, Inc. Digital signature and authentication method and apparatus
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US6973579B2 (en) 2002-05-07 2005-12-06 Interdigital Technology Corporation Generation of user equipment identification specific scrambling code for the high speed shared control channel
US7221757B2 (en) * 2002-08-15 2007-05-22 Opentv, Inc. Method and system for accelerated data encryption
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US20040105546A1 (en) * 2002-11-19 2004-06-03 Leon Chernyak Geometry-Based Symmetric Cryptosystem Method
CN1745537B (zh) * 2002-12-03 2010-06-09 松下电器产业株式会社 密钥共享系统、共享密钥生成装置及共享密钥复原装置
US7249254B2 (en) * 2002-12-13 2007-07-24 Certicom Corp. Method and apparatus for protecting NTRU against a timing attack
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7756269B2 (en) * 2003-03-14 2010-07-13 Qualcomm Incorporated Cryptosystem for communication networks
WO2004095771A1 (en) * 2003-04-24 2004-11-04 Matsushita Electric Industrial Co., Ltd. Parameter generation apparatus, encryption system, decryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program thereof
JP4567364B2 (ja) * 2003-04-24 2010-10-20 パナソニック株式会社 パラメータ生成装置、暗号化システム、復号化システム、暗号装置、暗号化方法、復号化方法、およびプログラム
US20060002562A1 (en) * 2003-06-02 2006-01-05 Arkady Berenstein Method and apparatus for geometric key establishment protocols based on topological groups
JP4422981B2 (ja) * 2003-06-12 2010-03-03 パナソニック株式会社 暗号通信システム
KR100561847B1 (ko) * 2003-10-08 2006-03-16 삼성전자주식회사 공개키를 이용한 데이터 암호화 및 복호화 방법
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7752453B2 (en) 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7590236B1 (en) * 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system
US7694152B2 (en) * 2005-02-03 2010-04-06 International Business Machines Corporation Memory controller with performance-modulated security
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8462940B2 (en) * 2006-01-11 2013-06-11 International Business Machines Corporation Public key cryptosystem and associated method utilizing a hard lattice with O(n log n) random bits for security
US7941726B2 (en) * 2006-06-30 2011-05-10 Microsoft Corporation Low dimensional spectral concentration codes and direct list decoding
KR100742093B1 (ko) 2007-05-10 2007-07-24 인하대학교 산학협력단 엔티알유 암호화 및 복호화를 위한 다항식 컨볼루션 연산방법
KR100876442B1 (ko) 2007-12-28 2008-12-29 인하대학교 산학협력단 엔티알유 암호화 및 복호화를 위한 안전한 다항식 컨볼루션연산 방법
KR100875461B1 (ko) 2008-02-27 2008-12-23 인하대학교 산학협력단 전력 분석 공격 방지를 위한 엔티알유 다항식 컨볼루션연산 방법 및 컴퓨터로 읽을 수 있는 기록매체
US20090313171A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Electronic transaction verification
US20100100947A1 (en) * 2008-10-21 2010-04-22 Apple Inc. Scheme for authenticating without password exchange
GB0822870D0 (en) * 2008-12-16 2009-01-21 Hatton Leslie Cryptography
FR2956541B1 (fr) 2010-02-18 2012-03-23 Centre Nat Rech Scient Procede cryptographique de communication d'une information confidentielle.
WO2012057134A1 (ja) * 2010-10-26 2012-05-03 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
ITGE20110091A1 (it) 2011-08-10 2013-02-11 Carlo Pes Metodo di cifratura e decifratura
JP5790287B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
US10148285B1 (en) 2012-07-25 2018-12-04 Erich Schmitt Abstraction and de-abstraction of a digital data stream
EP2873186B1 (en) 2012-07-26 2018-03-07 NDS Limited Method and system for homomorphicly randomizing an input
TWI474189B (zh) * 2012-07-31 2015-02-21 Chunghwa Telecom Co Ltd Automatic file encryption and decryption system
US9634840B2 (en) * 2013-07-23 2017-04-25 Security Innovation Inc. Digital signature technique
US9722798B2 (en) 2014-02-10 2017-08-01 Security Innovation Inc. Digital signature method
US10795858B1 (en) 2014-02-18 2020-10-06 Erich Schmitt Universal abstraction and de-abstraction of a digital data stream
US10546155B2 (en) * 2014-03-31 2020-01-28 Irdeto B.V. Protecting an item of software
CN105337737B (zh) * 2014-07-03 2018-11-20 华为技术有限公司 公钥加密通信方法和装置
JP2018503113A (ja) * 2014-11-27 2018-02-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 難読化された演算を実行するための電子計算装置
NL2013944B1 (en) * 2014-12-09 2016-10-11 Koninklijke Philips Nv Public-key encryption system.
US20160352710A1 (en) 2015-05-31 2016-12-01 Cisco Technology, Inc. Server-assisted secure exponentiation
TWI569166B (zh) * 2016-01-05 2017-02-01 精品科技股份有限公司 資料驗證方法
US10277403B2 (en) 2016-02-25 2019-04-30 Onboard Security, Inc. Digital signature method and apparatus
EP3244567A1 (en) 2016-05-13 2017-11-15 ABB Schweiz AG Encryption for low-end devices through random number generation offloading
EP3364596A1 (en) * 2017-02-15 2018-08-22 Koninklijke Philips N.V. Key exchange devices and method
US10924287B2 (en) * 2017-06-23 2021-02-16 Onboard Security, Inc. Digital signature technique
DE102017117907B4 (de) * 2017-08-07 2023-04-27 Infineon Technologies Ag Durchführen einer kryptografischen Operation
FI128841B (en) * 2018-03-22 2021-01-15 Univ Helsinki Sensor calibration
DE102018108313A1 (de) * 2018-04-09 2019-10-10 Infineon Technologies Ag Verfahren und Verarbeitungsvorrichtung zum Ausführen einer kryptografischen Operation auf Gitterbasis
CN108712256B (zh) * 2018-07-02 2021-10-26 复旦大学 一种基于椭圆曲线子域子码的加密解密算法
CN112715016B (zh) * 2018-07-17 2024-04-09 皇家飞利浦有限公司 密钥封装协议
TWI672932B (zh) * 2018-09-27 2019-09-21 國立交通大學 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統
CN109543421A (zh) * 2018-12-12 2019-03-29 四川大学华西医院 一种基于多项式数论加密算法的医疗信息保护系统及方法
CN111586685B (zh) * 2020-04-26 2022-05-03 重庆邮电大学 一种基于格的匿名漫游认证方法
GB202011415D0 (en) 2020-07-23 2020-09-09 Optalysys Ltd Public-key cryptography methods and/or systems
WO2022266502A1 (en) * 2021-06-19 2022-12-22 Ntt Research, Inc. Broadcast encryption with improved resource utilization
ES2948323A1 (es) * 2022-02-15 2023-09-08 Univ Granada Procedimiento y dispositivo de cifrado/descifrado post-cuántico usando códigos lineales

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
US5054066A (en) * 1988-11-16 1991-10-01 Grumman Corporation Error correcting public key cryptographic method and program
EP0383985A1 (de) * 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US5351297A (en) * 1991-06-28 1994-09-27 Matsushita Electric Industrial Co., Ltd. Method of privacy communication using elliptic curves
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5276737B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5299262A (en) * 1992-08-13 1994-03-29 The United States Of America As Represented By The United States Department Of Energy Method for exponentiating in cryptographic systems
US5375170A (en) * 1992-11-13 1994-12-20 Yeda Research & Development Co., Ltd. Efficient signature scheme based on birational permutations
NL9301348A (nl) * 1993-08-02 1995-03-01 Stefanus Alfonsus Brands Elektronisch betalingssysteem.
EP0639907B1 (en) * 1993-08-17 1999-12-08 R3 Security Engineering AG Digital signature method and key agreement method
NZ336413A (en) * 1993-12-01 2000-01-28 Rpk Nz Ltd Method of generating random numbers by manipulating electronic pointer with coordinates at points corresponding to time instants being used for selection of points subset and computation of number function
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5625692A (en) * 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US5577124A (en) * 1995-03-09 1996-11-19 Arithmetica, Inc. Multi-purpose high speed cryptographically secure sequence generator based on zeta-one-way functions
FR2737370B1 (fr) * 1995-07-27 1997-08-22 Bull Cp8 Procede de communication cryptographique

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155610B2 (en) 2000-12-19 2006-12-26 Matsushita Electric Industrial Co., Ltd. Cryptocommunication system, transmission apparatus, and reception apparatus
WO2004051920A1 (ja) * 2002-12-03 2004-06-17 Matsushita Electric Industrial Co., Ltd. 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
WO2004051921A1 (ja) * 2002-12-03 2004-06-17 Matsushita Electric Industrial Co., Ltd. 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
US7471792B2 (en) 2002-12-03 2008-12-30 Panasonic Corporation Key agreement system, shared-key generation apparatus, and shared-key recovery apparatus
WO2005098796A1 (ja) * 2004-03-31 2005-10-20 Nec Corporation 暗号方式の安全性を保証するパディング適用方法
US7321658B2 (en) 2004-03-31 2008-01-22 Nec Corporation Padding application method ensuring security of cryptosystem and encryptor/decryptor
US7773746B2 (en) 2004-05-12 2010-08-10 Panasonic Corporation Encryption system, encryption device, decryption device, program, and integrated circuit
US7917764B2 (en) 2005-01-24 2011-03-29 Panasonic Corporation Signature generation device and signature verification device
US7664260B2 (en) 2005-01-24 2010-02-16 Panasonic Corporation Signature generation device, key generation device, and signature generation method
US7792286B2 (en) 2005-04-18 2010-09-07 Panasonic Corporation Signature generation device and signature verification device
US7739504B2 (en) 2005-04-18 2010-06-15 Panasonic Corporation Signature generation apparatus and signature verification apparatus
JP2008541540A (ja) * 2005-05-04 2008-11-20 ナショナル・ユニバーシティ・オブ・アイルランド・ゴルウェイ 群環におけるゼロ因子および単位を使用することにより、誤り訂正符号および誤り検出符号を生成するための方法および装置
JP2010530990A (ja) * 2007-06-22 2010-09-16 サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス) 公開行列に基づき、エラー補正コードのデコーディングを用いて認証を行う方法
WO2009125537A1 (ja) 2008-04-09 2009-10-15 パナソニック株式会社 署名及び検証方法、署名生成装置並びに署名検証装置
US8452975B2 (en) 2008-04-09 2013-05-28 Panasonic Corporation Signature and verification method, signature generation device, and signature verification device
WO2009147788A1 (ja) 2008-06-04 2009-12-10 パナソニック株式会社 暗号化装置及び暗号化システム
US8484485B2 (en) 2008-06-04 2013-07-09 Panasonic Corporation Encryption device and encryption system
WO2014007347A1 (ja) 2012-07-05 2014-01-09 株式会社クリプト・ベーシック 共有秘密鍵生成装置、暗号化装置、復号化装置、共有秘密鍵生成方法、暗号化方法、復号化方法、及びプログラム
US9608812B2 (en) 2012-07-05 2017-03-28 Crypto Basic Corporation Common secret key generation device, encryption device, decryption device, common secret key generation method, encryption method, decryption method, and program
KR20230082789A (ko) * 2021-12-02 2023-06-09 조선대학교산학협력단 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템에서 사용되는 다항식의 역원을 생성하기 위한 역원 생성 장치 및 방법
KR20230082783A (ko) * 2021-12-02 2023-06-09 조선대학교산학협력단 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법
KR102595938B1 (ko) * 2021-12-02 2023-10-30 조선대학교산학협력단 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법
KR102600166B1 (ko) * 2021-12-02 2023-11-08 조선대학교산학협력단 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템에서 사용되는 다항식의 역원을 생성하기 위한 역원 생성 장치 및 방법

Also Published As

Publication number Publication date
US6081597A (en) 2000-06-27
DE69737097T2 (de) 2007-07-12
EP0920753B1 (en) 2006-12-13
EP0920753A4 (en) 2004-11-10
CN1172474C (zh) 2004-10-20
CA2263588C (en) 2005-01-18
IL128552A0 (en) 2000-01-31
EP0920753A1 (en) 1999-06-09
US6298137B1 (en) 2001-10-02
CA2263588A1 (en) 1998-02-26
WO1998008323A1 (en) 1998-02-26
AU4582897A (en) 1998-03-06
CN1232588A (zh) 1999-10-20
DE69737097D1 (de) 2007-01-25
IL128552A (en) 2004-06-01
JP4068664B2 (ja) 2008-03-26
HK1021855A1 (en) 2000-07-07
AU716797B2 (en) 2000-03-09

Similar Documents

Publication Publication Date Title
JP4068664B2 (ja) 公開鍵暗号システム方法および装置
Kuznetsov et al. Code-based public-key cryptosystems for the post-quantum period
US5497423A (en) Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
US6259790B1 (en) Secret communication and authentication scheme based on public key cryptosystem using N-adic expansion
US6154541A (en) Method and apparatus for a robust high-speed cryptosystem
US20170324554A1 (en) Public Key Cryptosystem Based On Partitioning Of Galois Field Elements
US5220606A (en) Cryptographic system and method
KR20000071078A (ko) 유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조
US4306111A (en) Simple and effective public-key cryptosystem
US20100020964A1 (en) Key generation method using quadratic-hyperbolic curve group
Zheng et al. Practical approaches to attaining security against adaptively chosen ciphertext attacks
KR100561847B1 (ko) 공개키를 이용한 데이터 암호화 및 복호화 방법
Mohan et al. Homomorphic encryption-state of the art
Augot et al. A public key encryption scheme based on the polynomial reconstruction problem
Hemenway et al. Public-key locally-decodable codes
JP3706398B2 (ja) 楕円曲線による署名、認証及び秘密通信方式
Buchmann et al. Efficiency improvement for NTRU
Jacobson Jr et al. An adaptation of the NICE cryptosystem to real quadratic orders
Téllez et al. Supersingular Isogeny and Ring Learning With Errors-Based Diffie-Hellman Cryptosystems: A Performance and Security Comparison
JPH06282227A (ja) 公開鍵暗号化装置及び公開鍵復号装置
Hemenway et al. Public key encryption which is simultaneously a locally-decodable error-correcting code
Mittal et al. A retrospective study on NTRU cryptosystem
Istambouli Constant Weight Words Compression in the Context of the McEliece Cryptosystem
プラディープ,クマー,ミシラ Faster Secure Matrix Computation over Homomorphic Encryption
Sadiq et al. Enhanced Menezes-Vanestone elliptic curves cryptosystem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071119

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: 20071218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140118

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees