JP2000511649A - 公開鍵暗号方法 - Google Patents

公開鍵暗号方法

Info

Publication number
JP2000511649A
JP2000511649A JP10500255A JP50025598A JP2000511649A JP 2000511649 A JP2000511649 A JP 2000511649A JP 10500255 A JP10500255 A JP 10500255A JP 50025598 A JP50025598 A JP 50025598A JP 2000511649 A JP2000511649 A JP 2000511649A
Authority
JP
Japan
Prior art keywords
value
index
mod
exponent
bits
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.)
Ceased
Application number
JP10500255A
Other languages
English (en)
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 JP2000511649A publication Critical patent/JP2000511649A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 本発明は、値Gk(mod)pを算出する離散対数に基づく公開鍵暗号方法に関するものである。本発明により、乗算回数を減らすために2つの方法が提案され、一方は、値1の少ないビット数であるがシステム全体としてのセキュリティを維持するには十分な長さの「中空の」指数kを生成するものであり、他方は、特定の指数について同一の内積が繰り返されることがないように指数を互いに維持しつつg乗する並列計算を行うものである。本発明は、デジタル署名の生成、認証および暗号化に適用される。

Description

【発明の詳細な説明】 公開鍵暗号方法 本発明は、p法値の計算を行う離散対数に基づいたいわゆる公開鍵のといわれ る暗号方法を目的とするものである。 本発明は、メッセージのデジタルサインの生成,2つの単位(実体)間での認 証あるいはデータの暗号化に用途がある。 このような方法において安全性は、特定の関係、とりわけ離散対数を逆にする という、そこに認められる極端な困難性に基づいている。 この問題点は、以下y=gxmodp(ここで、yはgxをpで除した余りであ ると定義できる)と記述する数学的関係y=gxp法から考えて、p、gおよび yが既知である場合に、xを再認識することにある。この問題は、pのサイズが 512ビットであるかまたはそれを越えると、かつxのサイズが128ビットで あるかまたはそれを越えると、現在の知識では解決することは不可能である。 このようなシステムでは、一般に、モジュールを構成している大きなサイズの 番号pを提供する認証機関が存在する。この認証機関は、gによって得られる全 体、すなわち数字gxmodpの形成された全体のような、ベースとよばれる整 数gも選択するが、この時xは間隔[0,p−1]に属す、すなわち少なくとも 2128の最大サイズの部分集合である。 パラメータpおよびgはいわゆる「公開」であって、すなわち、これらは認証 機関のユーザー全てに対して認証機関によって提供されるものである。 特定の変形例によれば、これらのパラメータは各ユーザーによって個別に選択 され、この場合、公開鍵の完全な一部をなすものである。 暗号システムを用いる場合における主な欠点は、実行されている複雑な計算の ために、比較的多くの計算および記憶手段が必要となるということにある。 事実、値gkmodpの計算とは、乗算モジュールを実現することであるが、 これは計 算時間およびメモリ容量においても費用がかかる。標準的なマイクロプロセッサ しかを用いていない簡単な電子装置では、この種のオペレーションはほとんど実 現できない。 この種の計算専用のプロセッサを有する電子装置に関しては、それでもなお、 中間値を得るのに必要な計算時間およびメモリ容量には制限するのが望ましい。 事実、値gkmodpの計算は、一般に、英語の略語SQM(平方累乗)とし て知られる従来の「累乗」方法によって比較的費用のかかるものであるが、なぜ ならそれが平均3/2Log2(p)乗算と等しい為である。 この方法によれば、kがnビット長である時gのすべてのべき、すなわちすべ ての平方:g0、g1、g2…gnを計算し、次に、これらのべきの間で必要な乗算 を行う。(例えば、g17=g1・g16)。 単純な「平方累乗」方法によれば、単純なgkにもn/2乗算およびn平方が 必要である。 N個の署名を一度に送信しなければならない場合には、Ngkを生成し、した がって並列計算を行う。 並列「平方累乗」方法では、N×n/2乗算およびn平方が必要である。 E.BRICKELLらによって提案された、略語でBGKWと呼ばれる方法 では、累乗方法を用いる場合に乗算回数を減らすことができるが、予め算出され た多数の定数の記憶装置が必要があり、したがって、極めて不利益をもたらすよ うな記憶装置のメモリー容量を備える必要がある。 この方法にN値の並列計算を導入することは、中間値を保持するために多数の レジスタを用いることを示している。 したがって、この方法は、極めて短い時間に多数の署名を生成することが問題 となる状況にある場合には、さらに制約を生じさせるものになる。なぜならこの 場合、並列計算が導入されるからである。 本発明の目的は、これらのすべての欠点を改善することにある。本発明は、す べての暗号システム、特にマイクロプロセッサのチップカードタイプの携帯式装 置による、暗 号的アルゴリズムの実行のために、計算時間とメモリ容量について柔軟で費用の かからない解決策をもたらすものである。 本発明の第1の目的によれば、提案されている暗号方法は、利用されている暗 号スキーム(シュノールまたはE1ギャマル)に従えば計算時間において15〜 40%あるいはそれ以上のゲインが得られるように、乗算モジュールの回数を減 らすことを可能とする。 本発明によれば、乗算回数を減らすために2つの解決策が提案される。一つは 、わずかな1ビットとともにであるが、システムのセキュリティを保護するのに 十分な「中空の」指数kを生成することであり、他方は与えられた指数について 「べき」の計算を行わないように、指数同士を組み合わせることによってべきg の並列計算を行うことである。 本発明は、特に、値gkmodpの計算を導く離散対数に基づく公開鍵暗号方 法を目的としている。ここで、pはモジュールと呼ばれる素数であり、kは通常 nビット長のランダム値であり、gはベースと呼ばれる整数であり、エンティテ ィEが認証および/または署名および/または暗号化のオペレーションを実現し 、この値が介入する別のエンティティとの間での署名の交換を含むものであり、 かかる暗号方法は、 −Nがn+bビットに等しいNビット長のランダム指数kを生成するステップと 、 −この指数のハミング重みCを計算し、この値を予め定められた値hと比較する ステップと、 −ランダム指数値kがC≧hの条件を満たすか否かを確認するステップと、 −ハミング値がhより小さい場合にランダム値kを除去し、この条件を満たすよ うな指数が得られるまで新たな指数を生成することを再び開始するステップと、 −あるいは、逆の場合にはこの値を保持するステップと、 −保持した値から式gkmodpを算出するステップと、 −他のエンティティとの間で電子署名を取り交わす際にかかる式を用いるステッ プと、 を含む。 また、本発明は、以下のような値gkmodの計算を導く離散対数に基づく公 開鍵暗号方法にも関するものである。ここで、pはモジュールと呼ばれる素数で あり、kは通常nビット長のランダム値であり、gはベースと呼ばれる整数であ り、エンティティEが認証および/または署名および/または暗号化のオペレー ションを実現し、このタイプの複数の値が介入する別のエンティティとの間での 署名の交換を含み、かかる暗号方法は、 以下の式 kj=Σaii で表される重みaiのnビットのランダム指数kjの全体を生成するステップと、 −ある指数についてすでに算出されたべきgが、それが介入する別の指数に役立 つように、指数を組み合わせて、g2iの「べき」を並列計算するステップと、 −与えられた各kjについて、まだ計算されていないべきgを計算し、これらの すべての「べき」を再度グループ分けして所望の式gkjmodpを得るステップ と、 −他のエンティティとの間で電子署名を取り交わす際にかかる式を用いるステッ プと、を含む。 本発明の一実施態様によれば、並列計算および再グループ分けのステップは以 下のオペレーション、 −2つごとに指数を組み合わせ、その共通部分を反映する指数kcを得て、得ら れた組み合わせの結果について組み合わせを繰り返すステップと、 −各kc値について、 Gkc=gkcmodp になるように値Gkcを計算するステップと、 −共通の部分をなくし、異なる部分のみを保持するようにこの指数が組み合わせ によって得られた指数kcを指数kjと組み合わせるステップと、 −与えられた指数kjと与えられた指数kcとの間の異なる部分を反映している指 数k’jを定義し、 −値Gk'jを Gk'j=gk'jmodp になるように算出し、 −各繰り返し時に得られた値Gkcの間で乗算を行うことにより式Gkjmodp を求めるステップを含む。 本発明の第2の実施態様によれば、並列計算および再グループ分けのステップ は以下のオペレーション、 −共通の部分を有する指数の可能な組み合わせの部分集合を形成するように指数 を組み合わせるステップと、 −与えられた重みのヌルではないビットが、考慮対象となる組み合わせの同じ重 みのヌルではないビットに対応しているような組み合わせの各部分集合について 共通部分を反映している指数kcを定義し、 −各kc値についてGkc=gkcmodpになるように値Gkcを算出し、 −各指数kjと、これに対してこの指数kjが共通部分をなくして異なる部分のみ を保持するように属する組み合わせの各部分集合について、各々得られた指数kc 全てを組み合わせるステップと、 −与えられた指数kjおよび与えられた指数kcの間の異なる部分を反映している 指数k’jを定義し、 −Gk'j=gk'jmodpになるように値Gk'jを算出し、 -各kjについて値G’kjとGkcとの間で乗算を行うことによって式gkjmodp を求めるステップを含む。 本発明の他の目的によれば、指数間での共通の部分を得られるようにする組み 合わせは、論理和「AND」によって実現される。 本発明の他の目的によれば、異なる部分を得られるようにする組み合わせは、 「排他 的論理和」論理関数によって達成される。 本発明の他の特徴および利点は、添付の図面を参照して説明する例示的かつ非 限定的な実施例による説明を読むことで明らかになろう。 −図1は、本発明を実施するのに適したシステムを示す基本図である。 −図2は、第1の実施例における方法の主なステップを示す機能図である。 −図3は、本発明の第1の実施態様による第2の実施例における方法の主なステ ップを示す機能図である。 −図4は、本発明の第2の実施態様による第2の実施例における方法の主なステ ップを示す機能図である。 図1に、本発明の目的である暗号方法の実施システムの基本図を示す。 このシステムは、少なくとも1つの他のエンティティE2と電子信号を交換し たいと考えているエンティティE1からなる。各エンティティには、中央処理装 置(CPU)11、30と、通信インタフェースと、揮発性メモリ(RAM)1 3、32および/または書き込み不可メモリ(ROM)14、34および/また は書き込み可能なまたは再書き込み可能な不揮発性メモリ(EPROMまたはE EPROM)15、33と、アドレスバス、データバスおよび制御バス16、3 5を備えている。 処理装置および/またはROMは、本発明の目的たる方法において、すなわち 、認証セッションの時、電子署名生成時、あるいは他のエンティティに送られる 電子信号の暗号化時に行われる計算ステップの実施に対応するプログラムまたは 計算リソースを有している。 処理装置またはROMは、モジュールの乗算、加算および減算の実施に必要な リソースを有している。 処理装置および/またはROMは、各暗号化アルゴリズム専用に用いられる暗 号機能とおよびパラメータgおよびpを含んでいる指数kjは、認証機関によっ て再書き込み可能メモリに予め記憶させることができ、あるいは、乱数発生器ま たは秘密乱数ソースkoから順次生成することもできる。さらにエンティティE 1は秘密鍵xを有している。 本発明は、口座上で行われるトランザクションにおいて厳格なセキュリティが 必要と される銀行分野で実施される暗号システムに特に利用される。また、他のエンテ ィティから電子信号形式として送信されるメッセージの送信を認証したい場合に も同様である。さらに、他のエンティティとの信号の交換時にメッセージに署名 する必要がある場合も同様である。 実際、トランザクションを行いたいと思っているエンティティは、例えばチッ プカードなどの集積カードであり、この場合は目的地となるエンティティは銀行 端末などである。 説明の後半は、本発明が離散アルゴリズムに基づく任意の暗号システムに適用 できるという理解できるのでデジタルメッセージへの署名にこの方法を適用する ことについて述べるものである。 本発明による方法は、特にメモリ容量が少ない環境に適している、乗算回数を 大幅に減らす第1の解決策を提案するものである。 この場合、原則は、指数のランダムな性質を当然維持したままで、選択される ハミング重みが可能な限り最も軽いという意味で「中空の」指数kjを生成する ということである。 この目的のために、本発明による方法は、必要に応じて順次指数kjを生成す るか、あるいは交換がなされる前に予め指数kjを生成することにある。この場 合、当然これらの指数は記憶される。生成された指数はnビットの長さではなく n+bビットを超える長さであり、以下において定義する条件を満たす。 n+bの指数kが生成されると、本方法は次にかかる指数のハミング重みC を算出し、続いてこれを予め定めた値hと比較する。 比較結果がC≧hである場合には、指数は保持されエンティティによって利用 されるが、このエンティティは、式gkmodpを算出し、式を例えば署名とし て利用する様なデジタル信号を送信する際にこの式を利用する。 パラメータCが必要な条件を満たさない場合には、対応する指数kは除外さ れ、新たな指数が生成され、この条件を満たす指数kが得られるまで、条件につ いての確認ス テップが再度実行される。 このように、この解決方法では、より小さな指数を用いた場合と全く同じセキ ュリティレベルを保持したままより少ない乗算を行うことを可能にするものであ る。 乗算回数を最大限に減らすことができる特別な実施例においては、c=hが選 択される。 事実、ハミングの重みがhであるn+bビット長(n=log2pの場合)の指数の場 合、つまりこの指数がnビットの場合と同じ結合数を有する場合、次の関係が立 証されなければならない。 2nch n+bと、 (N+b)/2+h≦n (実行する計算数を削減することが出来ることを条件とする。) つまり、2n≦(n+b)!/(n+b-h)!h! および b+2h≦n 決定するbとhの数は与えられた1個のn(たとえばn=160)のこの二重条件 付不等式を解いて求められる。 例証として、本発明による方法の結果と既知の方法とを比較してみた。 n=160ビットのシュノールのアルゴリズムの場合と、n=512ビットのE1ギ ャマル アルゴリズムの場合。これらの結果を下表に示す。 nビットの指数によって覆われた署名空間にかかる応力を、得ることを希望す るセキュリティーのレベルによりα関数によって減少させることが出来る。 よって、パラメータn、h、bは条件(1)を満たす必要がある。 (1)2n-a≦(n+b)!/(n+b−h)!h! この場合、(n+b)ビット長の異なる確率変数から同一の署名を発生させる 可能性を有する。 事実、280は可能な様々なアタックを妨げるのに十分であり、したがってn-α =100は許容出来る値である。 この実行変数は、平方のコスト(計算時)がモジュール乗算のコストよりも少 ないためますます注目に値する。 一般には次のようになる。 計算する平方の数sがs/2≦m≦sで、mが乗算の数である場合、この極端な 二つケースは、m=sとm=2sとなる。 この二つの極端なケースを比較した結果を下表に表す。 シュノールとEIギャマルの図表にこの手順を適用した場合に求められたゲインは 、単純に乗算した乗法と比較した場合も、1次数のコストが乗算コストと同じと 考えられる場合にも、極めて大きい。 別の実施方法によると、この手順はメモリ空間に関し、特に特別な応力のないシ ステムに適用される。 この実施方法においては、次数の計算を一回に限るためにgの異なるべきの並 列計算を行い、同一計算を数回にわたり実行しないように、指数を結合する。 本発明をよりわかりやすくするために、2つのべきの計算方式を説明する。 kj=Σai2iこの場合のkjは乱数として求められた。(つまり、乱数発生器に基づ き生成された)または、 kk=kj=Σbi2i 本手順に従って、kc=Σaibi2iがkjとkkの間の共通部分を反映し、係数aiが1 か0となるように、指数kcを規定するように指数kjとkkを結合する。 指数kcはkjとkkの共有部分に該当する。つまり、 kj=1×210+...+0+1×20と、 kk=1×210+0+0...+1×20 kc=1×210+0+...+1×20 本手順に従って、論理関数ETによって指数kをkcとする。 次に、指数kjと指数kc間の確実な部分を決定する2番目の組み合わせを行う。 同様に、指数kkとkc間の確実な部分も算出する。 次の次数を並列計算する。 gkjmodpとGkkmodpを求めるには、次の演算を実行する。 1)Gkj×Gkcmodp 2)Gkk×Gkcmodp 2つの累乗を与えた上記の例と同様、n乗算ではなく平均して約3n/4の乗算を実 行する。ゲインは25%となる。 本発明による手順は、最大数の指数の組み合わせで広げることが出来る。この ような拡大は、図3と4に示すフローチャートで説明する2つの実行方法に従い導 入することが出来る。 この場合、本発明は特に大量の署名を発生させる必要のある場合に特に適用さ れる。 第一の実行方法により、下表により表される木構造のように2つずつ指数の組 み合わせを行う。 kj a1 a2 a3 a4 kc b1=a1・a2 b2=a3・a4 c1=b1・b2 この組み合わせにより、上記の例と同様、指数kcをkj 0間の共通部分に反映さ せることが出来る。 簡単に記述するためには、指数kjをa1、a2、a3、a4とする。 指数kcをツリーの-1レベルでb1とb2とし、ツリーの-2レベルでc1とする。 a1・a2、a3・a4の組み合わせを論理関数ANDにより実行する。 このように構成されているツリーの各レベルで組み合わせを反復する。ビット の単純な統計分布によりツリー内に進むにつれ乗算回数が減少する。n/3乗算に より実行する計算の成果が減じられる。 上述のように、各レベルでGkcの値が決定される。 この結果、次の式が得られる。 実際、ga1modpはGa1×Gb1modpの関により求められる。またga2modp Ga2×Gb1 ×Gc1modpの関により求められる。 第二の方法によれば、指数を可能なあらゆる組み合わせの部分集合をなすよう に組み合わせるが、すなわち、例えば、指数kj:a,b,cでは、ab,ac,bc,abcの組み 合わせを作る。 つまり論理関数ANDをaとb、aとc,bとc,bとcとa,b,cの間に行うことにより、こ れらの部分集合について共通部分を定められるような組み合わせをつくる。この ようにして累乗指数kcを、各部分集合について定める。 すべてのGkc=gkcmodp値の並列計算ができ、それらのKcは初めのKに対してわず かに1ビットを有し、従って、それらについてのモジュラー変換も早い。 次に、一つの指数と、上述の組み合わせとの間で共通部分をとりのぞくことか らなるまた別の組み合わせをつくる。 これらの組み合わせは論理関数で行う。このようにして次が得られる。 ka=a xor abc xor ac xor ab kb=b xor abc xor ab xor bc kc=C xor abc xor ac xor bc 次にGkj=gxjmodpを求めることができ、このk,jはさらにイニシャルkcよりも1 ビットが少なく、そのモジュラー変更速度はさらに早い。 最後にgkjmodpの式がkjによって得られる。 この第二の実施態様で得られた署名発生Nの場合、演算は、次のように示され る。 n/N二乗+n(2N-1)/N2N+(2N-1-1)乗算 次の表は、掛け算二乗、平行乗算二乗、および本発明のような周知の方法と比 較した場合の結果を示している。 署名Nの発生に適用される場合における与えられた第一の実施態様(木構造分 類)はメモリー容量ではコストが安い。 指数4の二分木については計算に、log2(p)ビットの8つのレジスタが必要と なるの であろう。 与えられた第二の実施態様(N分類)が、計算時間において費用が非常に安い のは、乗算の回数において最適なためである。 3つの指数の場合、計算のためにlog2(p)ビットの8つのレジスタが必要であ ろう。

Claims (1)

  1. 【特許請求の範囲】 1. pはモジュールと呼ばれる素数であり、kはnビットの長さにたいてい等 しい乱数であり、gはベースと呼ばれる整数であるgk(mod)pを算出し、 エンティティEが、かかる値を利用して別のエンティティとの間での署名を交換 することを含む認証および/または署名および/または暗号化オペレーションを 実現する離散対数に基づく公開鍵の暗号方法であって、 −Nビット長(Nはn+bビットに等しい)の乱数指数値kを生成するステップ と、 −前記指数のハミング重みCを計算し、この値を予め固定値hと比較するステッ プと、 −乱数値kが条件:C≧hを満たすか否かを確認するステップと、 −このハミング重みがhより小さい場合に乱数値kを拒否し、この条件を満たす 指数が得られるように新たな乱数を生成するステップと、 −一方、逆の場合にはこの値を保持するステップと、 −保持した値によって式gk(mod)pを算出するステップと、 −他のエンティティとの間で電子署名を取り交わす際にこの式を用いるステップ と、エンティティについて含んでいることを特徴とする公開鍵暗号方法。 2. 満たすべき条件がc=hであることを特徴とする請求項1に記載の方法。 3. pはモジュールと呼ばれる素数であり、kはnビットの長さに等しい乱数 であり、gはベースと呼ばれる整数であるgk(mod)pを算出し、エンティ ティEが、かかる値を利用して別のエンティティとの間での署名を交換すること を含む認証および/または署名および/または暗号化オペレーションを実現する 離散対数に基づく公開鍵の暗号方法であって、 −以下の式 kj=Σaii で表される重みaiのnビットの乱数指数値kjの全体を生成するステップと、 −ある指数について算出されたgの内積が中で機能する他の指数に対して用いら れるように指数と組み合わせて、giの内積を並列計算するステップと、 −与えられた各kjについて、まだ計算されていない内積gを算出し、これらの 内積を再度グループ分けして所望の式gkj(mod)pを得るステップと、 −他のエンティティとの間で電子署名を取り交わす際にかかる式を用いるステッ プと、 を含むことを特徴とする公開鍵暗号方法。 4. 並列計算および再グループ分けするステップが、以下のオペレーションす なわち、 −2ごとに指数を組み合わせ、それらの共通の部分を反映する指数kcを得て、 結果として得られた組み合わせを再度繰り返し、 −各kc値について、 Gkc=gkc(mod)p になるように値Gkcを計算、 −指数kjと、前記指数が属する前記組み合わせによって得られた指数kcとを組 み合わせ、共通の部分をなくして異なる部分のみを保持し、 −与えられた指数kjと与えられた指数kcとの間の異なる部分を反映している指 数k,jを定義し、 値Gk'jを Gk'j=g(mod)p になるように算出し、 −各繰り返し時に得られた値Gkcの間の乗算によって式Gkj(mod)pを求め ることを含むことを特徴とする請求項3に記載の方法。 5. 並列計算および再グループ分けするステップが以下のオペレーションすな わち、 −指数同士を組み合わせ、共通の部分を有する指数の考えられる組み合わせのあ らゆる部分集合を形成し、 −組み合わせの各部分集合について、重みのヌルではないビットが、考えられる 組み合 わせの同じ重みのヌルではないビットに対応している共通の部分を反映している 指数kcを定義し、 −各kc値についてGkc=gkC(mod)pになるように値Gkcを算出し、 −各指数kjと、組み合わせの部分集合について各々得られた全ての指数kcとを 組み合わせ、指数kjが属するこれは共通の部分をなくして異なる部分のみを保 持し、 −与えられた指数kjと与えられた指数kc間の異なる部分を反映している指数k ’jを定義し、 −Gk'j=gk'j(mod)pになるように値Gk'jを算出し、 −各kjについて値G’kjとGkcとの間で乗算を行うことによって式gkj(mo d)pを求めることを含むことを特徴とする請求項3に記載の方法。
JP10500255A 1996-06-05 1996-06-05 公開鍵暗号方法 Ceased JP2000511649A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR1996/000840 WO1997047110A1 (fr) 1996-06-05 1996-06-05 Procede de cryptographie a cle publique

Publications (1)

Publication Number Publication Date
JP2000511649A true JP2000511649A (ja) 2000-09-05

Family

ID=9488451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10500255A Ceased JP2000511649A (ja) 1996-06-05 1996-06-05 公開鍵暗号方法

Country Status (7)

Country Link
US (1) US6459791B1 (ja)
EP (1) EP0909495B1 (ja)
JP (1) JP2000511649A (ja)
CA (1) CA2257907A1 (ja)
DE (1) DE69633253T2 (ja)
ES (1) ES2227595T3 (ja)
WO (1) WO1997047110A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337909B1 (en) * 1996-10-10 2002-01-08 Certicom Corp. Generation of session keys for El Gamal-like protocols from low hamming weight integers
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
CA2329590C (en) * 2000-12-27 2012-06-26 Certicom Corp. Method of public key generation
FR2823327B1 (fr) * 2001-04-09 2003-08-08 Gemplus Card Int Dispositif destine a realiser des calculs d'exponentiation securisee et utilisation d'un tel dispositif
IL159279A0 (en) * 2001-09-13 2004-06-01 Nds Ltd Hacking prevention system
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US7366302B2 (en) * 2003-08-25 2008-04-29 Sony Corporation Apparatus and method for an iterative cryptographic block
US7370202B2 (en) * 2004-11-02 2008-05-06 Voltage Security, Inc. Security device for cryptographic communications
WO2006103851A1 (ja) * 2005-03-28 2006-10-05 Matsushita Electric Industrial Co., Ltd. 冪値生成装置
US8656177B2 (en) * 2008-06-23 2014-02-18 Voltage Security, Inc. Identity-based-encryption system
CN114448611B (zh) * 2020-11-02 2025-07-29 中兴通讯股份有限公司 密钥生成方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204901A (en) * 1991-08-01 1993-04-20 General Electric Company Public key cryptographic mechanism
FR2700430B1 (fr) * 1992-12-30 1995-02-10 Jacques Stern Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
WO1997047110A1 (fr) 1997-12-11
EP0909495A1 (fr) 1999-04-21
CA2257907A1 (fr) 1997-12-11
US6459791B1 (en) 2002-10-01
DE69633253T2 (de) 2005-09-15
ES2227595T3 (es) 2005-04-01
EP0909495B1 (fr) 2004-08-25
DE69633253D1 (de) 2004-09-30

Similar Documents

Publication Publication Date Title
CN104011781B (zh) 信息处理设备、信息处理方法
PUB Digital signature standard (DSS)
JP5328186B2 (ja) データ処理システム及びデータ処理方法
US4736423A (en) Technique for reducing RSA Crypto variable storage
US6704870B2 (en) Digital signatures on a Smartcard
JP4137385B2 (ja) 公開鍵および秘密鍵による暗号化方法
JPS5950068B2 (ja) 公開キ−式の暗号装置
EP1552382A2 (en) Efficient arithmetic in finite fields of odd characteristic on binary hardware
CN111325535A (zh) 基于椭圆曲线偏移的区块链私钥管理方法、系统及存储介质
JP2000511649A (ja) 公開鍵暗号方法
JP2001505325A (ja) タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
JPH10500502A (ja) 離散対数をベースとした公開キーによる暗号化方法
Lu et al. Implementation of fast RSA key generation on smart cards
KR100564599B1 (ko) 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
Eagen $\mu $ Cash: Transparent Anonymous Transactions
Zhang et al. Efficient Noninteractive Polynomial Commitment Scheme in the Discrete Logarithm Setting
CN119834971B (zh) 一种抗量子攻击的密钥生成方法、装置、设备及介质
EP4412151A1 (en) Cryptographic method for demonstrating a vector is binary
Kansal et al. Lattice‐based nominative signature using pseudorandom function
CN112632636B (zh) 一种密文数据比较结果的证明与验证方法及装置
JP4692022B2 (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
Moldovyan et al. Digital signature scheme set in a hidden cyclic group.
Demircioğlu Efficient Multivariate-Based Ring Signature Schemes
Kim et al. Experimenting with non-interactive range proofs based on the strong RSA assumption
JP2003218858A (ja) 署名生成方法及び署名検証方法及び署名生成装置及び署名検証装置及び署名生成プログラム及び署名検証プログラム及び署名生成プログラムを格納した記憶媒体及び署名検証プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20040106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040203