JPH09509748A - 非決定論的公開キー暗号化システム - Google Patents

非決定論的公開キー暗号化システム

Info

Publication number
JPH09509748A
JPH09509748A JP7515543A JP51554395A JPH09509748A JP H09509748 A JPH09509748 A JP H09509748A JP 7515543 A JP7515543 A JP 7515543A JP 51554395 A JP51554395 A JP 51554395A JP H09509748 A JPH09509748 A JP H09509748A
Authority
JP
Japan
Prior art keywords
message
key
generator
binary
random
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
JP7515543A
Other languages
English (en)
Other versions
JP3339688B2 (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 JPH09509748A publication Critical patent/JPH09509748A/ja
Application granted granted Critical
Publication of JP3339688B2 publication Critical patent/JP3339688B2/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Lock And Its Accessories (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 有限場における累乗に等価的な数学的演算を用いて、プライベートキーから公開キーを発生する非決定論的公開キー暗号システムである。従って、侵入者は有限場の対数を計算しなければならない。暗号化を行うにはランダム初期化キー(R)を発生する。このランダム初期化キー(R)は疑似ランダム二進ミクスチャー発生器に対する初期値(K)を発生するよう、メッセージの受信者の公開キー(E)を累乗(1)し、更に初期の公知の発生器のステート(a0)を累乗することにより、オープンキー(Q)を計算(2)するのに使用される。初期値Kからミクスチャー発生器をクロック制御し、出力キーストリームと平文Pとを組み合わせることにより平文Pから暗号文Cを発生する。送信前に暗号文にオープンキー(Q)を添える。暗号解読を行うにはオープンキー(Q)を抽出し、これをメッセージ受信者のプライベートキー(D)で累乗して、ミクスチャー発生器の初期値をセットするのに使用される(K)を計算する。ミクスチャー発生器をクロック制御し、その出力キーストリームと暗号文(C)とを組み合わせ、平文(P)を発生する。本発明は特殊用途のハードウェアまたは汎用プロセッサ用のソフトウェアで実現できる。

Description

【発明の詳細な説明】 非決定論的公開キー暗号化システム 技術分野 本発明は暗号システムに関し、特に計算上安全な公開キー暗号化システムおよ びデジタルサイン(認証)システムを実現するための方法および手段に関するが 、これらに限定されるものではない。 背景技術 最近の通信システムの設計において、データの安全性(セキュリティ)は次第 に重要な事柄となっている。オブザーバー(すなわち侵入者)に対して通信中の メッセージが無意味に見えるよう、メッセージをスクランブルまたはコード化す る試みとして、これまで暗号化システムが考案されている。暗号化システムの多 くはキーのアイデアを利用しており、まず通信しようとするメッセージを発信者 がこのキーでコード化し、メッセージの受信者がこのキーを用いてこれをデコー ドするようになっている。このタイプの従来の暗号化システムでは、メッセージ の予定する受取人がメッセージを解読する前に、メッセージの発信者が予定する 受信者にまず暗号解読キーを送らなければならないという欠点がある。更に暗号 化キーを変えるにはこれに対応して暗号解読キーも変えなければならず、この暗 号解読キーを予定する受信者に送信しなければならない。受信者へのキーの送信 時にはオブザーバーすなわち侵入者がこのキーを見つけるという危険が常にある 。 このように、キーを交換し合わなければならないという問題を克服するため、 公開キー暗号化システムが開発された。このタイプのシステムは、1976年に ジフィエおよびヘルマン両氏によって提案されたものであり、このシステムでは 通信システムへの各加入者は2つのキー、すなわち通信システムのすべての加入 者が公に利用できるようにされている公開キーと、各加入者自らが維持するプラ イベートキーを有する。各加入者のプライベートキーは(選択またはランダム選 択)のいずれかにより決定され、プライベートキーから公開キーが発生されるよ うになっている。プライベートキーは符号化キー(E)と考えることができるが 、 プライベートキーは暗号解読キー(D)と考えることができる。 公開キー暗号化システムはキーの間に存在する数学的関係が、一方向関数とな っていることが多い。すなわち公開キーはプライベートキーより比較的容易に発 生できるが、公開キーからプライベートキーを決定することは計算的に不可能で ある(すなわち計算的リソースの数が多数である場合に、プライベートキーの決 定は恐らく一生かかってもできないことであろう)。 加入者Aが公開キー暗号化システム内の加入者BへメッセージMを送信できる ようにするため、ユーザーAは、まず公開利用可能なレジスタすなわちファイル からユーザーBの公開キーを得て、これを利用してメッセージMを暗号化する。 暗号文CはメッセージMを暗号化した結果であり、ユーザーBへ送信され、ユー ザーBは自分のプライベートキーを用いて暗号文Cを変換し、メッセージMを得 る。 メッセージMの発見を望み、公開キーを知っており、恐らく暗号システムに完 全な知識をも有するオブザーバーすなわち侵入者にとって、公知のキーからプラ イベートキー(暗号解読キー)を決定しなければならない。先に述べたように、 このシステムはこのような演算が極端に実行困難であるという事実に基づいてい る。他方、侵入者は何も得ることができず、侵入した暗号化メッセージとメッセ ージ言語の統計的性質の限られた知識しか有することができない。 リベスト外に付与された米国特許第4,405,829号には、公開キー暗号化システ ムの一例が開示されている。ここに開示されている一方向関数は極めて大きい数 の因数分解は極めて困難であるという事実を活用するものである。しかしながら このシステムは、大きな(例えば512ビットの)整数の広範な乗算が必要であ り、これは極めて低速なプロセスとなるという欠点がある。このシステムの別の 欠点としては、使用される暗号化方法は完全に決定論的であるということである 。すなわち、同一の受信者に同一のメッセージを後で送信した場合、同一の暗号 文が発生され、これにより侵入者すなわち盗聴者が送信中のメッセージトラフィ ックから重要な情報を得ることが可能となる。別の欠点としては、工学上の妥協 、すなわち速度と安全性の妥協を図ることができず、一方、種々のタイプの暗号 システム、例えば極端に高速で適度な安全性を備えた暗号システム、または適度 に 高速で安全性の高いシステムを設計できるという利点がある。更に別の欠点とし ては、汎用デジタルコンピュータと異なり極めて高速の特殊用電子デバイスを使 って実現すると、このシステムは大きくなって扱いにくいことが挙げられる。 安全な通信システムの別の好ましい性質としては、メッセージの発信者として 表示された加入者がメッセージの真の発信者であるということを最終的に証明で きることが挙げられる。これがいわゆるサインおよび認証の問題である。 ヘルマン外に付与された米国特許第4,200,770号には、提案された公開キー発 送システムの従来の例が開示されている。しかしながら、この提案されたシステ ムは真の公開キー暗号化システムというよりも、むしろキー交換システムである 。ヘルマンおよびジフィエは、1979年3月のIEEEの議事録の第67巻第 3号、第401頁に公開された論文「プライバシーおよび認証:暗号化技術入門 」において、デジタルサイン方式も提案している。ここに開示されたサインシス テムでは、メッセージMを加入者Bへ送りたいと望む加入者Aは、まず自分のプ ライベートキーを用いてメッセージ文Mを暗号化し、この結果をユーザーBの公 開キーを用いて、この結果を暗号化し、ユーザーBへ送信する暗号文Cを発生す る。次にユーザーBは、自分のプライベートキーを利用してユーザーBの公開キ ーによる更なる変換によってメッセージ文Mが発生されるようなフォームへ暗号 文を変換する。一連のステップ後、メッセージが再現される場合、メッセージは ユーザーAから来たものに違いないことが判る。 このシステムの1つの欠点は、発信者および受信者の双方が暗号化プロセスを 2回実行しなければならず、プロセスの速度に悪影響が及ぶ。別の欠点としては 、メッセージの暗号解読をするため発信者の公開キーを知る必要があり、このこ とは公開キーファイルへのアクセスの需要が大きくなることが挙げられる。更に 別の欠点としては、古いキーを無効とした後でも古い公開キーを維持し、識別す る必要があり得ることによって、公開キーファイルの管理の問題が複雑となるこ とが挙げられる。更に別の欠点としては、プライバシーおよび認証の双方での役 割を果たすのに公開キーファイルが必要であるということが挙げられるが、一方 、これら全く異なる機能を達成するのに必要な情報を別々に管理できるという利 点もある。 発明の開示 従って、本発明の目的は上記欠点を克服するか、または少なくとも業界に有効 な選択案を提供する、完全な公開キー暗号化システムを提供することにある。 従って1つの特徴によれば、本発明は、メッセージ発信者がメッセージ受信者 に固有の公知のキーを使って平文メッセージPを暗号化し、メッセージ受信者が 公開キーを発生した秘密のプライベートキーを使用して暗号化メッセージを暗号 解読する公開キー暗号システムにおいて、 (1)複数の二進数D1〜nを含むプライベートキー(D)を選択し、 (2)前記数D1〜nの各々に対してプライベートキーD1〜nによって得られた 対応する数に等しい数のクロックパルスまたはステート変化の後に所定の公知の 初期ステートから疑似ランダム二進数発生器のステートを発生し、公開キー(E )の成分として計算された二進ステートE1〜nの各々を提供することによりプラ イベートキーを用いて(先に記載した)累乗により公開キー(E)を計算し、 (3)メッセージ発信者が、 (a)一組の二進数R1〜nを含むランダム初期化キー(R)を発生し、数 R1〜nの各々に対してランダム初期化キーR1〜nによって示された対応する数に 等しい数のクロックパルスまたはステート変化の後に、所定の公知の初期ステー トから疑似ランダム二進数発生器のステートを計算し、オープンキーQの成分と して計算された二進数ステートQ1〜nを提供することにより、累乗によりオープ ンキーQを計算し、 (b)公開キーEの成分をランダム初期化キーRの成分により累乗し、前 記数E1〜nおよびR1〜nの各々に対し、工程(2)に記載の方法を対応する二進 数R1〜nに等しい回数だけ適用することによって生じた疑似ランダム二進数発生 器のステートを計算することにより、発生器初期化ステートK1〜nを発生し、 (c)第1ミクスチャー発生器を形成するように出力が組み合わされてい る一組(n)の疑似ランダム二進数発生器に初期値K1〜nをロードし、 (d)キーストリームシリアル出力を得るように、ミクスチャー発生器を クロックし、その出力と二進平文メッセージとを組み合わせ、暗号化されたビッ トストリームを発生し、 (e)オープンキーQと共に暗号化されたビットストリームをメッセージ 受信者に送信し、 (4)メッセージ受信者が、 (a)メッセージストリームからオープンキーQを抽出し、 (b)ステップ(3)(a)に記載の方法を対応する二進数D1〜nに等し い回数だけ適用することにより得られる疑似ランダム二進数発生器のステートを 、前記数Q1〜nおよびD1〜nの各々に対して計算することにより、発生器初期化 ステートK1〜nを発生するようにオープンキーQをプライベートキーDで累乗し 、 (c)ミクスチャー発生器を形成するように出力が組み合わされた第2の 組(n)の疑似ランダム二進数発生器に発生器初期化ステートK1〜nをロードし 、 (d)キーストリームシリアル出力を得るようにミクスチャー発生器をク ロック制御し、この出力と受信した暗号化ビットストリームとを組み合わせて発 信者の平文メッセージを発生することを特徴とする、公開キー暗号システムから 成る。 第2の特徴によれば、本発明は、複数の二進数D1〜nを含むプライベートキー (D)を選択し、前記数D1〜nの各々に対しプライベートキーD1〜nによって示 された対応する数に等しい数のクロックパルスまたはステート変化の後に、所定 の初期ステートから疑似ランダム二進数発生器のステートを計算し、計算された 二進ステートE1〜nの各々を公開キーEの成分として提供することにより、プラ イベートキーを使用して公開キー(E)を累乗する、公開キー暗号システム用の 暗号化装置であって、 一組の二進数R1〜nを備えたランダム初期化キー(R)を発生するための手段 と、 前記数R1〜nの各々に対しランダム初期化キーR1〜nによって示された対応す る数に等しい数のクロックパルスまたはステート変換の後に、所定の初期ステー トから疑似ランダム二進数発生器のステートを計算し、計算された二進ステート Q1〜nの各々をオープンキーQの成分として提供することにより、各番号を使っ て初期値を累乗するための手段と、 前記数E1〜nおよびR1〜nの各々に対し、公開キーEを累乗するのに使用され る 方法を対応する二進数R1〜nに等しい回数だけ適用することによって生じる疑似 ランダム二進数発生器のステートを計算することにより、発生器の初期化ステー トK1〜nを発生するよう、公開キーEの成分をランダム初期化キーRの成分で累 乗するための手段と、 ミクスチャー発生器の出力を形成するように出力が組み合わされた一組(n) の疑似ランダム二進数発生器を含むミクスチャー発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜nに等しい初期値をロードす る手段と、 キーストリームシリアル出力を得るようにミクスチャー発生器をクロック化す る手段と、 平文メッセージを受信し、ミクスチャー発生器の出力と二進平文メッセージと を組み合わせ、暗号化されたビットストリームを発生する手段と、 オープンキーQと共に暗号化されたビットストリームをメッセージ受信者に送 信するための手段とを備えた、公開キー暗号システムのための暗号化装置から成 る。 第3の特徴によれば、本発明は、複数の二進数D1〜nを含むプライベートキー (D)を選択し、前記数D1〜nの各々に対しプライベートキーD1〜nによって示 された対応する数に等しい数のクロックパルスまたはステート変化の後に、所定 の初期ステートから疑似ランダム二進数発生器のステートを計算し、計算した二 進ステートE1〜nの各々を公開キー(E)の成分として提供することにより、プ ライベートキーを使用して公開キー(E)を累乗し、 メッセージ発信者が、 (1)一組の二進数R1〜nを含むランダム初期化キー(R)を選択し、前記数 R1〜nの各々に対しランダム初期化キーR1〜nによって示された対応する数に等 しい数のクロックパルスまたはステート変化の後に、所定の公知の初期ステート から疑似ランダム二進数発生器のステートを計算し、オープンキーQの成分とし て計算された二進数ステートQ1〜nを提供することにより、各数を使って初期化 ステートを累乗し、 (2)公開キーEの成分をランダム初期化キーRの成分により累乗し、プライ ベートキーを用いて公開キーを累乗すると先に定義した方法を、対応する二進数 R1〜nに等しい回数だけ適用することによって生じる疑似ランダム二進数発生器 のステートを前記数E1〜nおよびR1〜nの各々に対して計算することにより、発 生器初期化ステートK1〜nを発生し、 (3)第1ミクスチャー発生器を形成するように出力が組み合わされている疑 似ランダム二進数発生器の組(n)に初期値K1〜nをロードし、 (4)キーストリームシリアル出力を得るように、第1ミクスチャー発生器を クロックし、この出力と二進平文メッセージとを組み合わせて暗号化されたビッ トストリーム暗号文Cを発生し、 (5)オープンキーQとともに、暗号化されたビットストリームをメッセージ 受信者に送信するような方法に従って平文メッセージを暗号化し、 暗号解読装置が、 暗号化されたビットストリームからオープンキーQを抽出するための手段と、 前記数Q1〜nおよびD1〜nの各々に対し、オープンキー(Q)を発生するよう 上記記載の方法を対応する二進数D1〜nに等しい回数だけ適用することにより生 じた疑似ランダム二進数発生器のステートを計算することにより、発生器の初期 化ステートK1〜nを発生するようプライベートキーDの成分によりオープンキー Qの成分を累乗するための手段と、 ミクスチャー発生器を形成するよう出力が組み合わされた一組(n)の疑似ラ ンダム二進数発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜nに等しい初期値をロードす る手段と、 キーストリームシリアル出力を得るよう、ミクスチャー発生器をクロック制御 するための手段と、 この出力と受信された暗号文とを組み合わせて平文メッセージを発生するため の手段とを備えた、公開キー暗号システムのための暗号解読装置から成る。 第4の特徴によれば、本発明は、メッセージ発信者がメッセージにサイン情報 を添え、公衆が検査できるようにオープンにされたサインアーカイブに発信者の 名前と共に対応する認証情報を登録し、メッセージ証明者がメッセージおよびそ のサイン情報、更に公共サインアーカイブからの認証情報を得て、これらを使っ て前記サイン情報によって識別された発信者によりメッセージが送られたもので あるかどうかを確認する、公開キー認証システムにおいて、 (1)メッセージ発信者が、 (a)複数の二進数S1〜nから成るランダムデジタルサイン(S)を選択 し、 (b)前記数S1〜nの各々に対しランダムデジタルサインS1〜nによって 示された対応する数に等しい数のクロックパルスまたはステート変化の後に、所 定の初期ステートから疑似ランダム二進数発生器のステートを計算し、計算され た二進ステートV1〜nの各々を証明キーVの成分として提供することにより、証 明キーVを累乗し、 (c)工程(b)において計算された証明キーVがまだ登録されたもので ないかどうか確認するよう前記サインアーカイブをチェックし、先に登録された ものであれば工程(a)、(b)を繰り返し、 (d)一組(n)の疑似ランダム二進数発生器のうちの各々に対して、送 信されたメッセージを含むビットシーケンスを前記ランダム二進数発生器に対応 する法で割ることによって得られる剰余を計算し、かかる各剰余C1〜nを一般化 された周期的冗長性チック(CRC)値Cの成分として提供することにより、C RC値Cを計算し、 (e)合計C+S(モジュロ2)を計算し、公共サインアーカイブ内にメ ッセージ送信者の名前でこの合計および証明キーVを登録し、 (f)Sを送信メッセージに添え、 (2)メッセージ証明者が、 (a)メッセージから複数の二進数S1〜nを備えたデジタルサイン(S) を抽出し、 (b)前記数S1〜nの各々に対して、受信したメッセージを含むビットシ ーケンスを疑似ランダム二進数発生器に対応する法で割ることによって得られる 剰余を計算し、かかる各剰余C1〜nを一般化された周期的冗長性チェック(CR C)値Cの成分として提供することにより、CRC値Cを計算し、 (c)前記数S1〜nの各々に対し工程(1)(b)に記載された方法によ り前記各数S1〜nを使用して対応する疑似ランダム二進数発生器の所定初期値を 累乗することにより証明キーVを計算し、 (d)合計C+S(モジュロ2)を計算し、 (e)値C+S(モジュロ2)と工程(c)および(d)で計算されたV が一致する認証情報を探すよう、メッセージのうちの前記サイン情報によって識 別される発信者の名前で公共サインアーカイブをサーチし、 (f)工程(E)におけるサーチが成功した場合、メッセージを正しいも のと認め、または工程(e)におけるサーチが成功しなかった場合、メッセージ を偽物として拒否することを特徴とする、公開キー認証システムから成る。 第5の特徴によれば、本発明は、メッセージ認証者が複数の二進数D1〜nを含 むプライベートキーDを選択し、前記数D1〜nの各々に対しプライベートキーD1〜n によって示された対応する数に等しい数のクロックパルスまたはステート変 化の後に、所定初期ステートから疑似ランダム二進数発生器のステートを計算し 、計算した二進ステートE1〜nの各々を公開キーEの成分として提供することに より、プライベートキーを用いて公開キーEを累乗し、公開キーを公衆の検査が できるようにし、メッセージ発信人が前記メッセージ認証者と共に固有の認証情 報を登録し、メッセージにサイン情報を添え、メッセージ証明者がメッセージを 得て、メッセージのための一般化されたCRC値を計算し、メッセージサイン情 報、一般化されたCRC値および発信者の名前またはその他の識別情報をメッセ ージ認定者へ送り、前記メッセージ認証者が前記一般化されたCRC値、前記メ ッセージサイン情報および前記登録された認証情報を使用して、メッセージが前 記認証情報によって識別された発信者によって送信されたものであるかどうかを 確認する、公開キー認証システムにおいて、 (1)メッセージ発信者が、 (a)複数の二進数から成る認証パスワード(P)を選択し、 (b)認証パスワードPを登録し、発信者の名前または他の識別情報に対 応させ、Pが他人によって登録されていないかどうかを確認することを前記サイ ン認証者に求め、Pがすでに登録されていると通知を受けた場合、工程(a)を 繰り返し、 (c)一組(n)の疑似ランダム二進数発生器の各1つに対し、送信メッ セージを含むビットシーケンスを前記疑似ランダム二進数発生器に対応する法で 割ることにより得られた剰余を計算し、かかる各剰余C1〜nを一般化された周期 的冗長性チェック(CRC)値CMとして提供することにより、一般化されたC RC値CMを計算し、 (d)一般化されたCRC値CMを認証パスワードPに添えることにより 中間サイン情報を計算し、 (e)(i)一組の二進数R1〜nを含むランダム初期化キー(R)を選択 し、前記数R1〜nの各々に対し、ランダム初期化キーR1〜nによって示される数 のクロックパルスまたはステート変化の後に所定の初期値から疑似ランダム二進 数発生器のステートを計算し、計算された二進ステートQ1〜nの各々を提供して 、オープンキーQを発生することにより各数を用いて初期値を累乗し、 (ii)前記数E1〜nおよびR1〜nの各々に対しプライベートキー を用いて公開キーを累乗すると先に記載した方法を、対応する二進数R1〜nに等 しい回数だけ適用することによって生じる疑似ランダム二進数発生器のステート を計算することにより、発生器の初期化ステートK1〜nを発生するよう、サイン 認証公開キーEの成分をランダム初期化キーRの成分で累乗し、 (iii)ミクスチャー発生器を形成するように出力が組み合わさ れた一組(n)の疑似ランダム二進数発生器に初期値K1〜nをロードし、 (iv)キーストリームシリアル出力を得るようにミクスチャー発 生器をクロック制御し、この出力と前記中間サイン情報とを組み合わせ、暗号化 された中間サイン情報を発生し、 (v)該暗号化された中間サイン情報を前記オープンキーQに添え てメッセージサイン情報SP,Mを発生することによってサイン認証公開キーEを 使って工程(d)で計算された中間サイン情報を暗号化することによりメッセー ジサイン情報SP,Mを計算し、 (f)該メッセージサイン情報SP,Mをメッセージに添え、更に発信者の 名前またはその他の識別情報をメッセージに添え、 (2)メッセージ証明者が、 (a)メッセージからメッセージサイン情報(SP,M)および発信者の名 前または他の識別情報を抽出し、 (b)工程(1)(c)に記載された方法によりメッセージに対する一般 (c)該メッセージサイン情報、発信者の名前、または他の識別情報およ セージサイン情報SP,M内の暗号化された認証パスワードPおよび一般化された を求め、 (3)メッセージ認証者が、 (a)(i)メッセージサイン情報からオープンキーQを抽出し、 (ii)前記数Q1〜nおよびD1〜nの各々に対し工程(1)(e) (i)に記載された方法を対応する二進数D1〜nに等しい回数だけ適用すること によって得られる疑似ランダム二進数発生器のステートを計算することにより、 発生器の初期化ステートK1〜nを発生するよう、オープンキーQをプライベート キーDで累乗し、 (iii)ミクスチャー発生器を形成するように出力が組み合わさ れた第2の組(n)の疑似ランダム二進数発生器に発生器の初期化ステートK1 〜n をロードし、 (iv)キーストリームシリアル出力を得るようにミクスチャー発 生器をクロック制御し、この出力とメッセージサイン情報とを組み合わせて工程 (1)(d)で計算された中間サイン情報PおよびCを再現することにより、プ ライベートキーDを用いてメッセージサイン情報SP,Mを暗号解読し、 (b)前記中間サイン情報に含まれたPの値と、工程(2)(c)で送ら れた名前または他の識別情報に対応して登録された認証パスワードとを比較し、 (c)前記中間サイン情報に含まれたCMの値と、工程(2)(c)で送 (d)工程(c)および(d)における双方の比較に成功した場合、メッ セージが正しいものであることをメッセージ証明者に確認し、いずれかの比較に 失敗した場合、偽物としてメッセージを拒否することを特徴とする、公開キー認 証システムから成る。 第6の特徴によれば、本発明は、 (1)ユーザーがある時間tにおけるステートが複数の座標(Xt1、Xt2、.. ....、Xtn)によって示された点X1として表示できる電子ポインタデバイスを 操作する工程と、 (2)複数の時間t=1、2、....、nにおける前記入力デバイスのステート を表示する点X1を測定する工程と、 (3)前記時間のサブセットに対応する、上記のように測定された点のサブセ ットを選択する工程と、 (4)このように選択された点すべての座標の数値関数を計算する工程と、 (5)このように計算された数値関数の値を示す複数の二進数として、所望の 乱数を得る工程とを備えた、乱数を発生するための方法から成る。 第7の特徴によれば、本発明は、一連の部分Ciを含む暗号化されたビットス トリームCを発生するよう、各部分Piが多数のバイトniを示す一連の部分P1 、...、PNを備えた二進情報Pとシリアルキーストリーム出力とを組み合わせる 方法であって、 (1)シリアルキーストリーム出力の複数のバイトを使用してバイト1、.... 、niの疑似ランダム順列Tを発生する工程と、 (2)中間部分Iiを形成するよう、順列Tに従って部分Pi内のバイトniの 相対位置を順列する工程と、 (3)中間部分Iiの各バイトBに対し、 (a)1バイト以上のシリアルキーストリーム出力を発生し、 (b)バイトBをバイトBおよびシリアルキーストリーム出力のうちの前 記発生されたバイトに応じた値に置換することにより、暗号化されたビットスト リームのうちのi番目の部分Ciを形成する工程とを備えた、シリアルキースト リーム出力と二進情報Pとを組み合わせる方法から成る。 第8の特徴によれば、本発明は、一連の部分Piを含む二進情報Pを再現する よう、各部分Ciが多数のバイトniを含む一連の部分C1、....、CNを含む暗号 化されたビットストリームCとシリアルキーストリーム出力とを組み合わせる方 法であって、 各連続する部分Ciに対し、 (1)複数のバイトのシリアルキーストリーム出力を使用して数1、....、ni の疑似ランダム順列Tを発生する工程と、 (2)部分Ciの各バイトBに対して、 (a)1以上のバイトのシリアルキーストリーム出力を発生し、 (b)バイトBを、バイトBおよびシリアルキーストリーム出力の前記発 生されたバイトに応じた値で置換することにより、中間部分Iiを形成する工程 と、 (3)前記二進情報のi番目の部分Piを形成するよう、順列Tに従って中間 部分Ii内のバイトの相対位置を順列する工程とを備えた、シリアルキーストリ ーム出力と暗号化されたビットストリームとを組み合わせる方法から成る。 図面の簡単な説明 第1図は、本発明を実施するのに利用できるMLSRG成分発生器を備えたミ クスチャー発生器の図である。 第2図は、第1図のミクスチャー発生器、すなわちジェフ(Geffe)タイプの 発生器の好ましい実現例の図である。 第3図は、第2図に示されたシフトレジスタの構成例の図である。 第4図は、暗号化装置のハードウェアの実現例のブロック図である。 第5図は、暗号解読器のハードウェアの実現例のブロック図である。 発明を実施するための最良の態様 次の説明は、本発明の好ましい実施例を開示するものであり、そのいくつかの 変形例も述べている。本文献における記載は、デジタルコンピュータにおいてソ フトウェアで本発明を実現するという観点からのものであるが、特殊用の電子ハ ードウェア構成部品を用いて全システムのすべてまたは一部を実現することも可 能であると理解すべきである。かかる成分構成部品としては論理素子、例えばL SIメモリ、シフトレジスタ、フィールドプログラマブルゲートアレイ(FPG A)およびディスクリートロジックがあるが、これらのみに限定されるものでは ない。 1.本発明の分類 時々、非対称キーシステムと称される公開キー暗号システムの分類方法は、プ ライベートキー/公開キーのペアに関連する一方向関数のタイプに従うものであ り、特に一方向関数を反転するため、(すなわち公開キーからプライベートキー を推定するため)解くことが必要な数学的問題に従っている。かかる3つの問題 は、これまで提案された実質的にすべての公開キーシステムから生じるものであ る。すなわち素因数分解、離散的対数およびナップサック(knapsacks)の問題 が生じている。例えば、最も知られている公開キーアルゴリズム、すなわちRS Aは、大きな整数の素因数分解が困難なことに基づく方法である。真の公開キー 暗号システムというよりもむしろ、公開キー配送システムであるジフィエ−ヘル マン方法は、エルガマル(El Gamal)公開キー暗号システムのような離 散的対数問題に基づくものである。 本システムは数学的な用語では、離散的対数問題に基づくものである。このこ とは、本システムでは有限体における累乗法に数学的に等価的な演算を用いてプ ライベートキーから公開キーを計算することを意味する。従って、公開キーから プライベートキーを計算する意図でこのシステムを破壊するには、侵入者は有限 体に対する対数を計算しなければならない。計算上の効率、簡潔性およびスピー ドのみならず、安全性の理由から、本システムの機素となる有限体はガロア体G F[2P]であり、更にpは2P−1が大きな素数(メルセンヌ素数)となるよう に選択したものである。後に理解できるように、このシステムは2つ以上のかか る体に対する累乗を実施するものである。 暗号化システムを分類する別の方法は、決定論的であるかまたは非決定論的で あるかどうかに関連する。非決定論的暗号システムに最初に言及したものは、カ ールニコライによると考えられる。名称は多数の方法で多少正確に記載できるが 、非決定論的暗号システムの性質の1つは、同じキーを2回以上、所定の平文を 暗号化するのに用いた場合でも、これから得られる暗号文は非システマティック に、理想的には真にランダムに異なるというのが、非決定論的暗号システムの特 徴の 1つである。本システムは非決定論的暗号システムである。 平文を暗号文に変換する際、暗号システムは元の平文の長さを増減したり、ま たはそのままにしておくことができる。本システムは暗号文に短いヘッダーブロ ックを添えることを除き、平文と全く同じ長さの暗号文を発生する。このヘッダ ーブロックの長さは特定の実現例に体して選択されたパラメータに応じて決まる が、一般に64〜256バイトの長さとなる。そのフォーマットは重要ではない 。 2.ミクスチャー発生器 本発明の中心となる構成要素は、独立した同一分布ランダム変数のミクスチャ ー(混合数)の確率理論から得られる概念との類似により、ここでミクスチャー 発生器と称する新しいタイプの疑似ランダム二進キーストリーム発生器である。 混合数発生器は単一の疑似ランダム二進数発生器、例えば最大期間リニアシフト レジスタ発生器(MLSRG)または最大期間乗算的合同発生器(MCG)から 成り、これら発生器の出力すなわちステートは他の成分疑似ランダム二進数発生 器の組のうちの1つの構成要素(項)をメモリレス状に連続的に選択するのに使 用される。第1図はミクスチャー発生器を示し、ここではミキサー発生器Gmは 最大期間リニアシフトレジスタとなっており、このレジスタの時間Tにおける最 後の3つのステージは時間Tにおいて出力を使用すべき他の8つのMLSRG( G0、....、Gi、....、G7)の1つを選択するのに使用される。ミキサー発生 器Gmのクロックレートは成分発生器Giのクロックレートの3倍とみなすことが できる。図2に示されるより簡単な例は、この特殊なケースであり、ジェフ発生 器として知られるものである。第2図において、ミキサー発生器Gmの最後のス テージは時間Tにおけるミキサー出力が1である場合には、頂部の発生器Gtの 出力を選択し、Tにおけるミキサー出力が0である場合には、底部の発生器Gb の出力を選択する。より詳細には、このような構成の具体例としては、ミキサー 発生器が(原始)生成三項式1+x38+x89を備えた89のステージを有し、頂 部の発生器が(原始)生成三項式1+x30+x127を備えた127のステージを 有し、底部の発生器が(原始)生成三項式1+x168+x521を備えた521のス テージを有するような場合である。より小さい(および安全性の低い)場合は3 つの発生器がそれぞれの三項式1+x13+x87、1+x38+x89および 1+x30+x127に対応する例である。成分発生器としてMLSRGを使用する 場合、生成多項式が原始多項式となるような発生器を使用することが重要である 。更に、かかる発生器は素数の数のステージを有し、それらの時間長さがメルセ ンヌ素数となるような性質を有することができる。 本明細書の残りの部分では、記号p(x)をMLSRGに対応する生成多項式 を表示するのに使用する。 本明細書で定義するミクスチャー発生器は必ずしもMLSRGまたはMCG成 分から成る成分発生器に限定する必要はない。むしろ、ミキサーを含む構成部品 はミクスチャー発生器自体でもよいし、または好ましい統計的、すなわち暗号特 性を備えた他のタイプの非線形発生器でもよい。 ミクスチャー発生器はディスクリート論理回路またはカスタム集積回路のいず れかを使用する極めて高速の特殊用ハードウェアで実現するか、または汎用コン ピュータでソフトウェアによりシミュレートすることができる。 ミキサー発生器は、ミキサーおよび他の成分発生器の特殊ステートから開始す る有限ステートデバイスであるので、このミキサー発生器は周期的二進シーケン ス(すなわち永続的に繰り返される0と1のシーケンス)を発生するのに使用で きる。発生器のステートはその成分の各々の各ステージのステートを特定する二 進値の組により記述される。 ミキサー発生器の構造の利点としては、それらの期間が極めて長く、極めて複 雑であり、0と1の分布のバランスが良好にとれており、連続する出力に実質的 に相関性がないということが挙げられる。これらの出力はN個の要素の分散およ び実行上の統計の点で優れた統計的性質を有する。数学的に実証できるこれら性 質もあれば、(例えばχ二乗分布または実行テストを使用することにより)既に 実証されている性質もある。 周期的二進シーケンスはある種のMLSRGによって発生でき、暗号用のシー ケンスの適性を評価する際の臨界ファクターの1つは、このシーケンスを発生す るのに必要な最短線形フィードバックシフトレジスタの長さにある。ミクスチャ ー発生器の構成の大きな利点としては、ミキサーおよび成分発生器の長さに応じ てその長さを正しく特徴づけることが容易となることが多いこと、および発生器 の複雑さの良好な目安となる長さ、従って暗号用の有効性が極めて高いというこ とが挙げられる。 次に、図2に示されたジェフタイプのミクスチャー発生器を参照して本発明の 暗号システムにおけるミクスチャー発生器の使用法について説明する。まず、ミ キサー、頂部発生器および底部発生器を形成するMLSRGにおけるステージの 数をnm、ntおよびnbとそれぞれ表示し、それぞれの発生器の初期ステート( 時間T=0における)をそれぞれam0、at0およびab0と表示する。ここで、便 宜上これら初期ステートの各々は固定されており、公知であるとする。本発明の 変形例としてはユーザーの特定グループのメンバー間で安全かつ認証されたメッ セージ送信を可能にするように、この特定グループだけにしか知られていないキ ーの一部として初期ステートを使用することが考えられる。 nm=87、nt=89およびnb=127を備えたこのタイプのミクスチャー 発生器を使用するパソコンでのファイル暗号化により適性な安全レベルを備えた 極端に高速のシステムが得られる。nm=89、nt=127およびnb=521 と選択することにより、パソコンでもより安全性の高いシステムが得られる。後 者の3つの数はいずれもメルセンヌ素数を生じるものである。 ジェフタイプの発生器の時間(すなわち発生器の出力が繰り返した後のクロッ る最も短い等価的線形シフトレジスタにおけるステージ数で示される発生器の複 雑度は、nmt+(1+nm)nbで計算できる。類似の結果により、より複雑な ミクスチャー発生器を分析することもできる。 3.一方向関数を実現するためのミクスチャー発生器の使用 ミクスチャー発生器によって発生される極めて長い二進シーケンスは多くの有 効な性質を有する。出力ストリームおよびその内部ステートのシーケンスを得る のに、実際に発生器を作動させる、すなわちクロック制御することが可能である 。発生器の時間はかなり長いので、どれだけ速く発生器をクロック制御しても、 妥当な時間内にすべての出力ストリームのうちの一部のセグメントしか発生でき ない。上記例の発生器より小さい発生器でも、時間長さは2303の大きさとなる 。 ミクスチャー発生器を使用すれば公知の開始ステートから開始して特定の回数 (どれだけの多くの回数でも)だけ、個々の成分をクロック制御した場合の最終 内部ステートがどのステートになるかを高速かつ効率的に計算することが可能で ある。 しかしながら、逆の問いに対して計算で答えることはできない。すなわち、各 成分に対し最終ステートが判っていても公知の開始ステートから初めてかかる最 終ステートに達するのに、各成分に対しどれだけの回数クロック制御することが 必要であるかを決定するのは極めて困難である。この問いへの解答は、いわゆる 離散的対数問題の解答方法にほとんど等しい。かかる問題を解くための公知の最 良のアルゴリズムはD・コッパースミスによる方法であり、この方法は極めて効 率的である。想像可能なコンピュータでこのアルゴリズムを実行するのに要する 時間は極めて正確に予想できる。最も長い成分発生器が長さ127である場合、 極めて高速のコンピュータで最も適度な時間長さで必要な計算を実施することが 実際的であるが、最も長い成分発生器長さが500以上の場合には当てはまらな い。利用可能な計算能力に関する最も最適な予想のもとでも、かかる問題を解く ことは計算的に不可能なままになっている。更に、発生器の長さを適当に選択す ることによる解答を得るうえの困難さを正確に処理できる。500よりもかなり 長い長さを備えた成分を含むミクスチャー発生器は実現するのに効率的であり、 実際的である。 4.プライベートキーおよび公開キー 本システムではプライベートキーはミキサー発生器の成分をクロック制御する と仮定される任意の回数を指定する(二進)数の組に等価的である。これらの数 は、各成分の周期的出力ストリーム内での(クロック数を単位として測定される )距離として解釈できる。 プライベートキーに対応する公開キーは、プライベートキーの対応する部分に よって示される回数だけ各成分をクロック制御すべき場合に生じるミクスチャー 発生器の最終ステートである。 このシステムにおいて使用されるプライベートキーと公開キーのペアと、他の ほとんどのシステムで使用されるプライベートキーと公開キーのペアとの間には 大きな違いがある。他の多くのシステムでは、特定の条件と制限に従ってキーの ペアを同時に自動的に発生しなければならない。RPKシステムではプライベー トキーの選択は完全に自由で制限されていない。このプライベートキーは、所望 すれば指定されるよりもユーザーによって任意に選択できる。このことは、大き な実用的な利点であるばかりでなく、RPKシステムと他の特許された技術との 間の主要な違いも構成する。 図示されているジェフ発生器と関連させてプライベートキーの選択のためにユ を選択するものとする。ここで、これら範囲の各各は上記限界値を含むが、厳密 には範囲の大きい端部(二進ですべて1の値)は周期に等しいので、排除しなけ ればならないことに留意されたい。ユーザーAに対する公開キーは、Dm、Dtお よびDbクロックサイクル(シフト)の後にそれぞれ3つの成分発生器のステー トEm、Et、Ebを含む。ミクスチャー発生器、すなわちN個の成分発生器に対 してプライベートキーおよび公開キーは3個でなくN個の成分ステートを有する 。 プライベートキーまたは公開キーを形成するのに必要なビット数はnm+nt+ nbとなり、この値は1つの例に対して使用される、より小さいほうのジェフ構 造の場合には303であり、大きいほうの例に対する構造の場合では737であ ることに留意されたい。これらのビット数と広く使用されているDESの従来の 暗号化アルゴリズムで使用される56キービットとを比較することができる。 本発明の理解を完全にし、かつその理解を助けるため、所定のプライベートキ ーから公開キーを計算するための効率的な方法について次のとおり説明するが、 このような説明は当業者には明らかであろう。これら方法の基礎となる数学上の 理由から、所定のプライベートキーから公開キーを決定する方法を累乗法と称す ることが適当である。 ミクスチャー発生器の将来のステートを計算するための方法が必要であること は明らかである。この理由は、かかる発生器の時間が極めて長いことを考慮すれ ば、必要なステート数の一部より多くを発生するのに充分長くこれら発生器を実 際に作動させることは不可能であるからである。線形フィードバックシフト(M LSRG)レジスタ発生器の将来のステートを計算するための極めてコンパクト で効率的な方法が存在しており、この方法は、レジスタのステージの内容(すな わちそのステート)を1つの中間的x内の多項式の係数として解釈することに基 づいている。レジスタはn個のステージを有するので、ステージの内容はxの級 式は次数がnである先に述べた生成多項式p(x)と異なることに留意されたい 。発生器のステージに0からn−1までの番号をつけ直すと便利である。ここで 、ステージ0は中間発生器のタップの直後のステージに対応するので、ステージ (n−1)は発生器の中間にあるフィードバックタップを備えたステージを示す 。次に発生器の最終(出力)ステージには(n−m−1)の番号が付けられ、先 と同じようにmは生成多項式p(x)の中間項の指数を示す。 このような解釈を用いることにより、発生器のクロック制御から得られるステ ートが単一項xから成る多項式とそのステートを表示する多項式とを乗算した値 に等しいことを証明できる。このような証明は、まずモジュロ2(すなわち1+ 1=0等)で係数に対するすべての演算を実行し、次に次数がn以上である場合 の多項式の積が生成多項式p(x)の積モジュロを意味すると理解することによ り行うべきである。この最後の説明はn以上の次数の多項式は、この多項式をp (x)で除算した後の結果となるような残りと置換すべきであることを意味して いる。多項式の加算、乗算および除算は、通常の代数の規則に従うが、この場合 における係数に対する演算をモジュロ2(XORに等価的)で行うことは例外と する。 多項式をモジュロp(x)で乗算するこのようなアイデアを1つのステップと 考え、発生器の初期ステートa0を0番号のついたステージにおける単一の1を 備えたステートであるとみなせば、発生器を時間Dだけ進める(すなわち発生器 をD回クロック制御する)方法は、積1・x・x・x・....・xを計算すること p(x)を計算する効率的な方法では二進級数1,x,x2,x4,x8,…… −、x2k、……、x2n-1(すべてモジュロp(x)である)を示す(n−1)個 の多項式をあらかじめ計算し、作表し、次にDの二進表示内の1のビットに対応 する多項式を共に乗算(再び各時間ごとにモジュロp(x)を行う)することが 行われる。 多項式をモジュロp(x)で乗算するこのような概念的方法は、実際にはシフ トレジスタ自体を使って極めて簡単かつ効率的に実行できる。実際にはめんどう な乗算は不要である。 これを説明するため、発生器を1回クロック制御することは、その内容に対応 する多項式をxで乗算することに等しいので、すなわち発生器をj回クロック制 対応するステートを(例えばレジスタに)セーブし、対応する係数モジュロ2( すなわちXOR演算)するだけで任意の多項式の乗算を行う。このような方法に より、モジュロp(x)の積を小さくする際の多項式の除算をする別個の方法が 不要となる。すべての方法を極めて短時間で行うための特殊な回路またはチップ を設計することは、簡単なことであり、所望する場合にはソフトウェアで容易に エミュレートできる。 5.暗号化 上記のようにユーザーAのためのプライベートキーDは3つの番号(Dm、Dt 、Db)から成るが、ユーザーAの公開キーEは3つの番号(Em、Et、Eb)か ら成り、これら番号は公知であり、おそらく公共の住所録ファイルに記載されて おり、時間0における所定の公知の初期ステートa0=(am0、at0、ab0)か らスタートした時間Dm、DtおよびDbにおける対応する発生器のステーとを示 す。多項式の表示における包括的なMLSRGに対する時間およびステートを表 示するのにDおよびEを等価的に使用することにより、初期ステートが0次の多 項式1に対応すると仮定したE−xDmod p(x)を有する。 暗号化すべき平文メッセージPは、まずデータ圧縮することが好ましい。この データ圧縮は、周知の技術であり、データ送信コストおよび/または記憶スペー スを低減するのに有効であるのみならず、基礎となるメッセージの冗長性も低下 する。これにより、暗号解読に失敗する可能性が増し、更に送信の誤りまたは暗 号文の故意の変更(だまし)のいずれかから生じる誤りの伝搬も増やす。 (Aのプライベートキーを使用する)ユーザーAにしか解読できないよう、平 文メッセージPを暗号化するため、別のユーザーBは、まずPの暗号化中に限り 使用すべきランダム初期化キーR=(Rm、Rt、Rb)を発生する。Rは成分発 生器に対する指数を表示するという点でDに類似しており、Rの3つの成分はD と同じ範囲内になければならない。ユーザーBはプライベートキーDから公開キ ーEを計算するのと同じように、RからQ=(Qm、Qt、Qb)を計算する。す なわちQは初期ステートa0からスタートし、時間Rにおける成分発生器のステ ートを示す。 ユーザーBは次に、送信すべき、すなわちクリアに記憶すべき(すなわち暗号 化すべき)暗号文のメッセージヘッダー内のQを含める。このQには通信用に有 効な他の情報も含むことができる。例えば、特定のアプリケーションではメッセ ージヘッダー内にアドレス指定情報、周期的冗長性チェック(CRC)バイトま たは他の誤り訂正データを含むことができる。 実際の暗号化方法を続けるには、ユーザーBは次に成分発生器にE(ユーザー Aの公開キー)から成る初期ステートをロードし、次に、Rを指数とみなすAの 公開キーAを累乗することにより、同じランダム初期化キーR=(Rm、Rt、Rb )を使って最終ステートK=(Km、Kt、Kb)を計算する。多項式表示 t、bである。ユーザーBはプライベートキーから公開キーを計算したのと同じ ようにミクスチャー発生器の成分シフトレジスタを使用しAの公開キーの乗算に より二進の級数E2k(k=0、1、....、n−1)の積を計算する。 ここで、ユーザーBはKを計算するにあたりランダム初期化キーRおよびユー ザーAの公開キーEの双方を使用するだけでなく、初期ステートa0の公に利用 可能な知識および基礎となるミクスチャー発生器の構造も使用することに留意さ れたい。総合的な計算は、成分発生器のステートを2回(すなわちQの計算に1 回、更にKの計算に1回)進めるのに必要な単なる多項式を累乗することとなる 。ユーザーBはDを知ることなくKを計算できたという事実にかかわらず、現在 の暗号化システムの目的のためのKの本質的な性質は、Kが発生器をまずDだけ 進 め、次にこの結果をRで累乗することによって得られるステート(すなわちRに 等しい時間をDで乗算した値だけ発生器を進めた場合の結果となる)を示すとい うことである。 ステートKは暗号文を発生し始める際に使用される最終発生器初期ステートと して使用される。ユーザーBはステートKから開始したミクスチャー発生器をク ロック制御(作動)することによって得られたキーストリームを使用し、これを 演算し、これと平文ビットストリームPとを組み合わせることにより暗号文Cの 本文を発生する。このような組み合わせ方法は、反転可能でなければならず(す なわちKおよびCが示された場合、平文Pを再現できなければならず)、種々の 方法で実行できる。最も簡単な想像できる組み合わせ方法は、平文とキーストリ ームとをビットごとに単にXOR(排他的OR)演算することであるが、この方 法は、使用した場合、深刻な暗号の欠陥を有する。 単純な組み合わせ方法は多数可能である。例えば2つのブロックのビットを0 〜2L−1の範囲内にある整数として解釈し、対応する暗号文ブロックをそれら の積と定義することにより、固定された数LのキーストリームビットをL個の平 分ビットと組み合わせるようなブロック暗号化システムを考えることができる。 このシステムによって、周知のエルガマルの公開キー暗号システムに多少類似し た暗号化システムが得られる。不幸なことに、この方法は平文の長さの2倍の暗 号文を発生する。 本システムにおける好ましい組み合わせ方法は、準ブロック状の暗号を発生す る方法である。古典的な暗号用語では、このアルゴリズムのこの部分は疑似ラン ダム転置暗号と組み合わされた実行キー暗号とを比較できる。このアイデアは、 キーストリームの一部(すなわち発生器の出力)を平文ブロックのバイト(また は個々のビット)の疑似ランダム順列を発生する手段として利用することにより 、まず中間暗号文ブロックを作成することである。次に中間暗号文ブロックとキ ーストリームのその後の部分とをOR演算によりビットごとに、またはルックア ップテーブルを用いた置換を実行することによりバイトごとに組み合わせる。こ のような方法は、平文の長さと同じ長さの暗号文本文を発生する。(最終部分ブ ロックに合わせるため、平文長さがブロックサイズの整数倍になっていない場合 に は若干異なる取り扱いが必要である。) 明らかな改良方法として、上記疑似ランダム転置方法(順列)と置換方法とを 交互に実施することにより、この組み合わせ方法をカスケード状に実行する方法 がある。 好ましい組み合わせ方法に関連する性能上の欠点は、必要な発生器の出力の量 が増すことにすぎない。しかしながら、ミクスチャー発生器は極めて高速に作動 するので、極端に早い暗号化ビットレートを必要とするようなアプリケーション を除けば、大きな問題は生じにくい。更に、最大の可能な安全度を得るためには 、重要なことではないが、単一のランダム初期化キーRで暗号化された平文の最 大長さを制限することをアドバイスできる。極めて長い平文は受け入れ可能なサ イズの一連のセグメントに単に分解できるので、このことは大きな制約とはなら ない。 種々の目的を達成するため、キーストリームと平文とを組み合わせるより複雑 な方法として、暗号ブロックチェイン接続のような公知の技術の変形例がある。 1つの変形例では、まず平文を固定サイズのブロックに分解し、このブロックに 付加的タイミング、認証または誤り訂正情報を加えることができる。次に、各平 文ブロックをキーストリームの次のブロックと組み合わせる前に、先の暗号文ブ ロックとXOR演算する。 RPKシステムをソフトウェアで実現する際には一度にミクスチャー発生器の 8ビット(またはそれ以上)をクロックすることは困難なことではなく、したが って全組み合わせ方法を実行できることに注目することは有効である。この方法 は、受け入れ不能な複雑でないハードウェアでも実行できる。 要約すれば、暗号化方法は次のステップを実行する。すなわち、これらステッ プのすべてはミクスチャー発生器およびその成分を用いて実行される。 まず、ランダム初期化キーRを発生し、これを使って基底ステートを累乗し、 よって暗号文の本文に先行するヘッダー内に含まれる公開キーQを発生する。 再びRを使用して公開キーEを累乗し、最終(内部)発生器の初期化ステート Kを発生する。 ステートKから開始し、ミクスチャー発生器を作動させ、キーストリーム出力 を得て、このキーストリーム出力と平文Pとを組み合わせ、暗号文Cの本文を得 る。 ここで、Rは同じ公開キーを用いて再び同一の平文を暗号化する場合でもRは ランダムに選択されるので、第2暗号文は第1暗号文とランダムに異なることと なり、公開キーQおよび暗号文本体の双方でも最終(内部)発生器の初期化ステ ートは異なることとなる。 6.キーストリームと平文との組み合わせ 次に、上記進歩した多数の方法を含む新規な好ましい組み合わせ方法について 説明する。次に、平文が8ビットバイトのシーケンスとして表示されるものとし 、用語「現在のCRC値」は開始点から始まり、平文内の特定バイト位置まで続 く平文部分に対応する32ビットのCCITT周期的冗長性チェック値を意味す るものとする。しかしながら、この用語は他のタイプのCRCまたはメッセージ ダイジェスト計算または本明細書で後に述べるタイプの一般化されたCRCも等 しく意味すると解すべきである。更に、バッファの内容として表示される適度に 大きい「チャンク」内で組み合わせのために平文を処理することが好ましいと考 える。かかる一般的なチャンクのサイズは、2000〜4000バイトの大きさ である。最後に、用語「休止を繰り返しながら進むキーストリーム」とは、1つ 以上の成分発生器のクロック制御がステートに従属するように改善されたミクス チャー発生器の出力を意味するものとする。これを行う簡単な方法は、発生器の ステージの特定の組みのステートを検出し、ステートがある基準に従う場合、発 生器の出力を廃棄する(すなわち別の時間で発生器をクロック制御する)ことで ある。例えば成分の4つのステージの特定の組がすべて1を含む稼働かを検出し 、この場合、この成分を余分な時間でクロック制御することができる。この方法 は、キーストリーム発生器の非線形性、従って複雑さを更に増すことがよく知ら れている。 一般的な組み合わせ方法は次のとおりである。まず現在のチャンクの端部をと おして平文の現在のCRC値を計算する。次に、休止を繰り返しながら進むキー ストリームの一部を使用して現在のチャンク内のバイトの疑似ランダム順列を発 生し、順列データと、休止を繰り返しながら進むキーストリームのその後に続く バイトとをXOR演算する。最後に休止を繰り返しながら進むキーストリームを 現在のCRC値に応じたバイト数だけクロック制御し、こうして発生したバイト を廃棄する。廃棄するバイト数は、例えば、現在のCRC値の単なる低次のバイ トの数値で示すことができる。このような最終工程によりチャンクと組み合わせ るのに使用されるキーストリーム部分がチャンク前の初期発生器のステートおよ び全平文の双方に応じ、よって、あるタイプの暗号ブロックチェイン接続として 見ることができるようになる。また、この最終工程は暗号文内の単一ビットの変 化、すなわち送信エラーにより、解読された文のうちのその後のチャンク内に平 均50%のエラーのカスケードを生じさせることもできる。 チャンク内でデータを疑似ランダム状に順列する方法は、効率上の要因によっ て決まることができるように変えることができる。1つの経済的な方法として、 チャンクサイズが256の倍数でない場合、256バイトのブロックより短い端 部ブロックが続く可能性のあるチャンクを256バイトブロックのシーケンスと 見る方法がある。証明するように、127の休止を繰り返しながら進むキースト リームバイトを用いてすべての256バイトブロックに対して使用すべき1つの 疑似ランダムスワップテーブルを発生し、更に、より少ない付加的な数の休止を 繰り返しながら進むキーストリームバイトを使用して、必要な場合により短い端 部ブロックに対して使用すべき1つのより小さい疑似ランダムスワップテーブル を発生することができる。256バイトのブロックのケースに対しては、かかる 疑似ランダムスワップテーブルは0〜255の範囲内の異なる整数の128の対 (i、j)の組を発生する。スワップテーブルを使用するには、テーブル内の各 (i、j)に対しブロック内のバイトiとjの位置とを交換するだけでよい。こ の方法の重要な特徴は、本質的に自己反転可能であること、すなわち同じ順列を 2回目に実行すると、元のバイトの順序が再現できるということである。ブロッ クサイズnが偶数である場合、かかるスワップテーブルの可能な総数は次の式に よって示されると指摘することは興味のあることである。 サイズnのスワップテーブルを発生するための、特に簡単なアルゴリズムは、 Cプログラム言語で書かれた次の一部の文で簡単に記載できる。 上記コードにおいて、関数STUT_clock8 () は、休止を繰り返しな がら進むキーストリームの次のバイトを戻す。これが実行された後、table [] アレイは0〜n−1の整数の連続する疑似ランダムペアのシーケンスを含む 。(nが奇数である場合、最終テーブルエントリーはスワップされないバイト位 置を示す。) 計算上のオーバーヘッドの最適な増加量が受け入れ可能であれば、256バイ トブロックごとに異なる疑似ランダムスワップテーブルを使用する上記方法の、 多少複雑な変形例が可能である。いずれのケースでも、各メッセージに対しキー ストリームの異なる(更にランダムに選択された)部分が使用されるので、各暗 号化されたメッセージに対して使用される実際の順列は異なることを強調するこ とには意味がある。 最後に、この方法は上記組み合わせ方法の一部を構成するものではないので、 有効化および認証化の問題を強調するこの方法の別の特徴について指摘する。暗 号方法の終了時には全平文に対するCRCの値を利用できるので、この値を平文 に添え、これを暗号化するか、またはこの値の暗号化された変形例を所望する場 合、メッセージのヘッダーに挿入することは比較的簡単なことである。送信中に このメッセージが変わったかどうかを検出するよう、この結果生じた情報を暗号 解読中に使用できる。CRCまたは一般化されたCRC以外の概略的対策をここ で使用することができ、特定の安全条件はリベストMD4アルゴリズムまたはN IST安全ハッシュアルゴリズムのような別の方法を使用できることを示唆でき る。 次は、チャンクサイズを(簡略化のため4バイトしかないと考えた好ましい組 み合わせ技術の一例である。 平文チャンク「ABCD」(この16進表示は41 42 43 44)であ る。 休止を繰り返しながら進むキーストリーム出力(16進):37 04 FF B0 55である。 暗号化: 1.平文チャンクに対するCCITT CRC32の値を計算する。この値は DB 17 20 A5(16進表示)に変わる。 2.休止を繰り返しながら進むキーストリームの第1バイトを使用して、疑似 ランダムスワップテーブルを発生する(文内のC言語フラグメントによって示さ れた方法を適用する)。 a)テーブルを0123に初期化する。 b)第1の休止を繰り返しながら進むキーストリームバイト37、モジュロ 3は1であるので、テーブル内の要素1および2を順列し、0213のテーブル を発生する。 c)この結果生じるスワップテーブルはペア(0、2)および(1、3)を 含む。 3.0番目と2番目のバイトをスワップし、次に1番目と3番目のバイトをス ワップすることにより、バイトABCDを順列し、CDABを発生する。この1 6進表示は43 44 41 42である。これが順列されたチャンクとなる。 4.順列されたチャンクを、その後に続く休止を繰り返しながら進むキースト リームバイトとバイトごとにXOR演算する。43と04のXOR演算は47で あり、44とFFのXOR演算はBBであり、41とB0のXOR演算はF1で あり、42と55のXOR演算は37であるので、暗号文は(16進の)バイト シーケンス47 BB F1 37から成る。 5.CCITT CRC32の値の最終バイトはA5となり、これは10進の 165に等しいので、次に次のチャンクを暗号化する前に休止を繰り返しながら 進むキーストリームのうちの165バイトを発生し、廃棄する。 7.暗号解読 受信した暗号文を解読するため、ユーザーAは、まずQD(ここで、その指数 は受信者のプライベートキーDである)に対応する発生器のステートを計算する ため、メッセージヘッダー内に含まれる公開キーQによって示されたステートを 使用する。QをDで累乗するこの方法は、暗号化中にEをRで累乗するのに使用 される同じ種類の方法を使用して行われる。この結果生じる発生器のステートは Kであると考えられる。その理由は、Qは基底ステートa0からスタートした時 間R後の発生器のステートを示し、時間R・D後のステートは先に述べたように ちょうどKであるからである。多項式表示では、この事実は次のように表示でき る。 このことは、受信者が暗号化のため発生されたランダム初期化キーRを知る必 要なくKを計算できたことを意味している。次にユーザーAは、最終初期化ステ ートKからスタートしてミクスチャー発生器を作動し(すなわち連続ステートを 通過するように発生器をクロック制御し)、暗号化中に実行された組み合わせプ ロセスを反転(すなわちアンドゥー)するのに必要なキーストリームビットを得 る。ミクスチャー発生器は暗号化および暗号解読の双方のためにステートKから スタートされるので、キーストリーム出力は双方のケースで同一となる。 暗号化のために使用される組み合わせ方法が、単なる平文とキーストリームと のXOR演算を実行するとした場合、この結果生じる暗号文と同じキーストリー ムを再びXOR演算すれば平文が再現されることになる。先に述べた好ましい組 み合わせ方法では、各連続するブロックに対し逆の順序で疑似ランダム転置およ び置換演算を反転し、平文から暗号文を再現することが容易である。 先に述べた好ましい組み合わせ方法に関する、暗号解読に必要な特定のステッ プは次のとおりである。 1.プライベートキーを使用し、平文のヘッダーに含まれる公開キーQを累乗 し、最終初期化キーKを計算する。これを行うための方法は、暗号化中に公開キ ーをランダム初期化キーで累乗するのに使用した方法と同じである。次に、ミク スチャー発生器のステートはKで与えられる。 2.暗号文本体の各ブロックに対し、ミクスチャー発生器を作動させ、キース トリーム出力の一部を得てこれを使用し、疑似ランダム順列テーブルを発生する 。 3.次にミクスチャージェネレータを作動し、別のキー出力を得てこれと暗号 文ブロックとをビットごとにXOR演算するか、またはルックアップテーブルを 使用してバイトごとにこれらを組み合わせ、中間文ブロックを発生する。このス テップは暗号化中に実行された置換プロセスを逆に進むものである。 4.先に作成された順列テーブルによって定義された疑似ランダム順列を適用 する。このステップは暗号化中に実行された転置方法を逆に進むもので、元の平 文のブロックを発生する。 先に述べた好ましい組み合わせ方法では、反転の若干より複雑な方法が必要で ある。発生器を初期化するのにとられるステップは、単に組み合わされた暗号文 の解読のためのステップと同じである。しかしながら、組み合わせ方法をアンド ゥーする方法では、まずチャンクごとに休止を繰り返しながら進むキーストリー ムの等価的部分を使用し暗号化方法において平文に対して適用される順列を反転 するのに必要な方法に対応する代表的チャンクの代表的疑似ランダム順列を発生 するステップを実行する。次に、現在の暗号文チャンクと休止を繰り返しながら 進むキーストリームのその後の連続するバイトとをXOR演算する。これにより 、平文の、解読されているが疑似ランダム順列バージョンが発生する。第3に、 代表的チャンクに適用された同じ順列を平文の順列バージョンに適用し、平文を 再現する。最後に、現在のチャンクの終了部までの解読文の現在のCRC値を計 算し、現在のCRC値に応じたバイト数だけ休止を繰り返しながら進むキースト リームをクロック制御する。チャンクの各256バイトブロックのバイトの順序 を再び決めるのに、疑似ランダムスワップテーブルを用いて疑似ランダム順列を 適用した先の例では、キーストリームと暗号文とをXOR演算する前に同じスワ ップテーブルが発生される。次に、その結果生じる、解読されているがまだ順列 状態にある平文に対して、自己反転性であるスワップテーブルを使用し、平文を 再現する。 次は、好ましい組み合わせ技術の先の例に対応する好ましい分離技術の一例で ある。 暗号文47 BB F1 37の暗号解読 1.正しい暗号解読キー(プライベートキー)が入手可能であると仮定すれば 、休止を繰り返しながら進むキーストリームバイトのシーケンスは、暗号化に使 用されたシーケンス37 04 FF B0 55と同一となる。 2.第1の休止を繰り返しながら進むキーストリームバイトを用いて暗号化方 法と同じように疑似ランダムスワップテーブルを発生する。 3.スワッピング前に暗号文と休止を繰り返しながら進むキーストリームの連 続するバイトとをXOR演算する。47 XOR 04=43、 BB XOR FF=44、F1 XOR B0=41、 37 XOR 55=42となる 。従って、中間暗号文は43 44 41 42となる。 4.まず中間暗号文の0番目のバイトと2番目のバイトをスワッピング化、次 に1番目のバイトと3番目のバイトをスワッピングする(41 42 43 4 4)ことによりスワップテーブルを適用する。 5.この結果は41 42 43 44となり、これはASCIIストリング ABCD、すなわち正確に暗号解読された平文の16進表示である。 6.この点までの平文に対するCRC321を計算する。以前と同じように、 最終バイトはA5であり、以前と同じように次のチャンクを暗号解読する前に休 止を繰り返しながら進むキーストリームの次の165バイトを発生し、廃棄する 。 8.ハードウェアの実現 本システムは、ソフトウェアでの実現が容易であるが、顕著な利点の1つとし て、極めて高速の特殊用ハードウェアでも実現できるということが挙げられる。 超大規模集積回路技術は極めて急速に進歩しているので、特定の実現例の詳細は すぐに時代遅れとなってしまう。しかしながら、かかる実現の相対的な容易性ま たは困難性および達成可能な速度に展望を与えるような既製の構成部品が存在し てる。例えばカナダの会社であるニューブリッジマイクロシステムズ社によって 製造されているCA34C168キー管理プロセッサのようなGF[2n]のよ うな累乗を実行する特殊チップも存在している。このチップは16メガまで作動 し、フィールドGF[2593]のような累乗を行うTTLコンパチCMOSデバ イスである。このチップのスループットは毎秒300Kビットである。このフィ ールドは、本システムに対しては必ずしも理想的でないが、これらの仕様は、公 開キー、オープンキーおよび最終発生器初期化キーを計算できるレートのあるア イデアを提供するものである。上記会社は20Kビット/秒で真のランダムビッ トストリームを発生するRBG1210ランダムビット発生器を製造しており、 かかるデバイスは本発明で必要なランダム初期化キーRを発生するのに適してい る。極めて高速で作動できる極長シフトレジスタおよびディスクリートのロジッ クゲートも既製品として入手でき、カスタムチップとなるように容易に集積化で き、またはフィールドプログラマブルゲートアレイとして実現できる。 第4図は、暗号化装置のハードウェアによる実現例を示しており、一方、第5 図は暗号解読方法のハードウェアによる実現例を示しており、いずれもハードウ ェアで先に述べた機能を実行している。 9.サインおよび認証 先の方法の主要で、かつ重要な変形例は、受信し、解読した平文が特定のソー ス(すなわちユーザーB)から発信されたものであり、偽造されたものでないこ とを暗号メッセージの受信者(本明細書の用語例ではユーザーA)が確認できる ようにすることにある。この条件は、オリジナルなものを証明し、他の誰かがサ インを偽造できないように、何人もサインと公に入手可能な情報とを比較できる ような性質を備えたサインをメッセージに添えることができるようにすることで ある。この条件は、新しいメッセージまたは偽のメッセージのためのサインを発 生するよう、先のメッセージのサインを使用することができないようにしなけれ ばならないことも意味していると解すべきである。従って、かかるデジタルサイ ンはメッセージに依存したものであることが重要である。 ここで、公開キー暗号システムの基礎となる、まだ明瞭に述べられていない仮 定とは、(アドレスおよびそれらの公開キーのリストを含む)公開ファイルが不 正な変更に対して安全でなければならないことを明示することである。このよう なケースでない場合、侵入者は他人の公開キーを自分のキーとを交換し、不正が 発覚するまで犠牲者の安全性を危うくすることができる。かかる不正な扱いに対 するかかる公開ファイルの安全性は、通常はパスワードシステムまたはコールバ ック方法およびときどきは物理的手段によって得られている。 ここで、サインコミュニケーションを望む個人が登録した適当な情報を保持す る安全な公共のサインアーカイブ(文書館)が存在し、このアーカイブは誰でも 調査のために利用できるが、正当な加入者以外の者が変える恐れがないように、 安全になっていると仮定する。更に、このアーカイブの安全性は、加入者が自分 のファイルに付加的サイン情報を添付できるが、システム管理者が変更の記録と 追跡をできるようにする適当な監査トレールから離れることなく、現在の情報を 変更したり削除することができないと仮定する。また、かかる予防手段は従来の 種々のサンプルサインの周りにめぐらした予防手段から過度に異なるものではな いことに言及したい。 公共サインアーカイブは暗号システム用の公開キー情報を含むアーカイブと同 じようにできるが、2つのファイルは異なるファンクションおよび恐らく異なる 法的ステータスを有することに留意したい。変更およびアクセスのコストと頻度 も異なる構造と異なる管理条件を有することができ、これら2つの公にアクセス 可能なファイルを分離することが望ましいことが示唆される。 バックグラウンドとして、メッセージのためのCRC(周期冗長性チェック) の値の概念を要約する。CRC値はファイルおよび通信の完全性のインディケー タとして共通に使用されており、種々の国際的規格(例えばCCITT規格)が 存在している。1つのメッセージのCRC値は、一般に16または32ビット長 であり、メッセージ文内のわずかな変化、ひずみまたは誤りが完全に異なるCR C値を生じさせるようにメッセージから計算される。この計算方法は、本質的に は特定CRC生成多項式によりメッセージ多項式(その係数はメッセージのビッ トである)を分割するのに(ハードウェアまたはソフトウェアで実現された)シ フトレジスタ発生器を使用するものである。このCRC値は、CRC生成多項式 の剰余モジュロの係数を示す。32ビットのCCITT規格の場合では生成多項 式は次のとおりである。 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2 +x+1 本認証方法はCRC概念を利用するものである。特に、本明細書に述べた例の ミクスチャー(ジェフ)発生器の場合、メッセージMに対しCM=(CMm、CMt 、CMb)を定義でき、これら3つの成分の各々はメッセージ文を対応する生成多 項式p(x)で割ることにより得られた発生器のステートを示す。割り算を実行 するのにシフトレジスタを利用する方法は他の文献に良好に記載されているので 、この方法については本明細書では説明しない。CMはp(x)の倍数までのメ ッセージ自体にほぼ等価的な値を示す。 このようなバックグラウンドにおいて、安全な認証方法は次のとおりである。 通信システムへの各加入者は、加入者に固有で、かつ公共サインアーカイブまた は他のメッセージ認証機関に登録された認証パスワードPの排他的知識を有する と仮定する。公共サインアーカイブすなわち認証機関は、本発明の要旨である公 開キー暗号システムを参照しながら先に定義された対応する公開キーESと共に 、自分のプライベートキーDSを所有する。ユーザーBがユーザーAに送信する メッセージMにサインしたい場合、ユーザーBは一般化されたCRC値CMを計 算し、自分の認証パスワードPBにCMを添え、公共サインアーカイブの公開キー ESを使用してペア(PB、CM)を暗号化することにより、サインSMを形成する 。加入者は次にメッセージにこのサインSMを添える。 メッセージの受信者または第三者がサインSMの正当性を証明したい場合、受 インSMおよびユーザーBを識別する名前または他の情報と共にこれを認証のた めの公共サインアーカイブすなわち認証機関へ送る。公共サインアーカイブまた は認証機関はプライベートキーDSを使用してそのサインを解読し、その内部に とユーザーBに対し登録された認証パスワードとを比較する。これらの双方が一 致すれば、公共サインアーカイブはサインをユーザーBによるメッセージMの正 当なサインとしてサインを有効にする。 メッセージの真のサイン者しかサインSMを発生できないことは、上記記載よ り理解できよう。そのようにサインをするには、ユーザーBの認証パスワードと メッセージの一般化されたCRC値の双方の知識が必要であるからである。暗号 化された一般的CRC値は、これに対応するメッセージの1つの一致するので、 別のメッセージにサインしようとするため有効なサインを偽造する試みは成功し ない。この方法の利点は、メッセージをサインするたびに公共認証アーカイブに 付加的情報を挿入する必要がないことである。 次に、公開キー認証システムの別の好ましい実施例について説明する。ユーザ ーBがユーザーAへ送るメッセージMにサインしたい場合、乱数SMm、SMtおよ を計算する。次にユーザーBは公共サインアーカイブに自分の名前でペア(CM +SM、VM)を登録し、メッセージヘッダーにSMを添えることによりメッセー ジにサインをする。既に公共サインアーカイブにVmが登録済みであれば、ユー ザーBは固有のVmが決定されるまで新しいSmおよび対応するVmを計算してこ のプロセスを繰り返す。(すなわち公共サインアーカイブには、まだ未登録であ る。) 上記方法が正当なサインを保証するため、最初にメッセージを所有し、公共サ 計算し、SMを加え、その結果が公共サインアーカイブ内に集められた値と一致 mod p(x)を計算し、これが公共サインアーカイブ内の値と一致するか どうか実証することも可能である。しかしながら、本発明の基礎となる暗号化方 法は(後述するように)適度に安全であると仮定すれば、ユーザー以外の者がこ れら条件に合致するサインSMを判断することはできない。他の認証方法で共通 するように、同じCRC値と共に偽のメッセージを発生する可能性は、特定のメ ッセージ構造、すなわちプロトコルを主張することによって妨げることができる が、本方法が3つ以上の異なる多項式を利用することにより、かかる予防策はほ とんど不要となる。 10.成分発生器としての乗法的合同発生器 いわゆる乗法的合同発生器(MCG)、すなわちレーマー発生器は、疑似乱数 発生器としてコンピュータシステムで広く使用されている。このタイプの発生器 の最も簡単な変形例では、式xn=cxn-1(mod q)を使用して番号のシー ケンスを発生する。ここで、qは素数であり、cは2とcが単位の素原子根(p rimitive noot of unity)となるように選択された(q −1)との間の一定の整数である。開始値すなわちシードx0は任意に選択され る。例えば、qは231−1となるように選択されることが多く、この231−1は 適当なメルセンヌ素数であり、cは整数524287として選択できる。この結 果生じる1と(q−1)との間の整数のシーケンスは、2者の二進表示が全部0 または全部1となる場合を除き、すべて31ビットの整数の順列となる期間(q −1)を有する。 これらシーケンスは計算が迅速かつ容易であり、妥当な長さとなるという魅力 的な性質を有するが、(非線形にシャッフルされていない場合)疑似乱数発生器 として使用した場合、統計的な性質がよくないということが長く知られており、 D・ヌース(D.Knuth)は暗号化技術においてキーストリーム発生器としての不 適性に関する詳細な分析を発表している。しかしながら、これらの弱点は、これ まで述べ、高度な非線形の構造を有するタイプのミクスチャー発生器における成 分発生器としての有効性を必ずしも損なうものではない。 法qが2n−1の形態をしたメルセンヌ素数となるようにMCGを選択すると 仮定すれば、発生器の出力はnビットのブロックで発生する。これらブロックは 下位ビットでスタートするビットストリームとして見ることができる。MCGを 特定ビット数だけクロック制御すること、すなわち進めることは、必要なブロッ クを得るのに適当な数の整数の累乗と乗算モジュロqを実施し、次にブロック内 の正しいビット位置を選択することによって達成される。従って、このタイプの 成分発生器に対しては、整数の乗算モジュロ2n−1は多項式の乗算モジュロp (x)と置き換わる。この方法は、これと共に大きな整数に対する演算を実行し なければならないが、特にqがメルセンヌ素数である場合、このように演算を適 当に効率的に実行する方法が存在している。 ミキサー発生器としてMCGを使用することは、発生器内のいくつかの固定さ れたビット位置の内容によって示された二進ステートを使用し、残りを廃棄する ことにより(すなわち出力が選択される発生器とn倍のレートでMCGをクロッ ク制御することにより)、またはMCGビットストリーム出力内の連続するビッ トのグループを使用することにより、達成できる。後者の方法の一例は、MCG をミキサーとして使用し、他の8個の発生器(それらの構造はここでは無関係で ある)のうちから選択する図1に示された例に類似している。この選択を行うの にMCGから生じるビットの全ストリームを一度に3ビットずつ使用できる。 11.暗号化技術の安全性(セキュリティ) 次にプライベートキーから公開キーへの変換によって得られる安全レベルおよ び発生器のキーストリーム出力と平文との単純なXOR組み合わせから得られる 暗号文の性質の双方について一般的に説明する。 プライベートキーに対する、いわゆる「選択された平文への侵入」の条件に関 して、ここに提案するシステムの安全レベルは、対応する公開キーが知られ、侵 入者が暗号システムの完全な知識を有し、この知識を用いて、選択されたプライ ベートキーに対応する公開キーを発生できる場合のプライベートキーを発見する 上での計算上の困難性に直接対応している。例えば第2図に示されるような発生 器の構造を仮定した場合、3つの成分MLSRGの各々の出力をGF(2P)と して知られる次数2Pの有限場の要素として数学的に見ることができる。各メッ セージに対し、異なるランダム初期化キーRが選択されるので、与えられたプラ イベートキーに対応する公開キーを発生するのに発生器を進める作動は、GF (2P)を累乗することに数学的に等価的であるとみなすことができ、公開キー からプライベートキーを探す反転問題はGF(2P)に対する対数を計算するこ とに数学的に等価的である。従って、ここに提案されたシステムのこの部分の計 算上の安全性のレベルは、GF(2P)に対する対数を計算する困難性に匹敵す る。1970年の終わりに、これを行うための最良の公知のアルゴリズムは、次 数2P/2での演算を必要としていたが、この分野のより最近の進歩により、現在 とが判っている(ここで、cは約1.4または1.5に経験的に概算された小さ い定数である)。p=127となるように(1、30、127)MLSRGを使 用する場合、これら2つの量を比較すると、第1の場合の約63の指数と第2の 場合の約26または27との差異が判る。このことは、最初は不可能であったG F(2127)の対数を計算することは、現在では適度に困難なことにすぎず、最 新のメインフレームコンピュータで数時間を要するにすぎないことを意味してい る。第2図に示されたジェフ構造で長さ87、89および127の3つのMLS RGを使用した、本明細書の最初で示した小さい例に関して、これら数字は計算 上の適度なレベルが得られることを意味している。 89、127および521のMLSRG長さを備え、同じジェフ発生器構造を 使用する示唆されたより大きい例では、ここに提案する公開キーシステムはパソ コンでも容易に実現できるが、その計算上の安全性の例はより高いものである。 長さ521の最長の発生器だけを検討すると、上記数字はGF(2521)に対す る対数を計算するのに必要な演算数は、最適に近いと考えられる現在知られてい る最良のアルゴリズムを使用した場合、約250の大きさとなる。現在のコンピュ ータの大きさが数桁改善されると仮定しても、これら状況では提案された公開キ ーシステムは計算上安全である。すなわち計算リソースと無関係に、すべての利 用可能な情報から未知のプライベートキーを計算することは不可能である。更に 、暗号化および解読に必要な計算力を最適に増加し、付加的キー長さの結果とし て公開キーファイルに過度の負担をかけることなく、更に大きい成分発生器を使 用することができ、この結果、システムの安全性を任意のレベルまで高めること ができる。 シフトレジスタ発生器の代わりに乗法的合同発生器を使用することにより、離 散的対数の問題の計算上の困難性が増し、よって暗号化方法の安全性が高まる傾 向がある。これはGP(2P)に対してでなく、qが素数である場GF(q)に 対して対数を計算しなければならないからであり、この場合に対する現在知られ ている最良のアルゴリズムは効率が悪く、法qがメルセンヌ素数2P−1である である場合、大まかに言って約240〜1012回の演算となり、これはGF(2P )の場合よりも数千倍多い。 次に、キーストリーム発生器および先に述べた組み合わせ方法に対する選択さ れた平文の侵入への観点から、システムの安全性について検討する。このタイプ の侵入は、暗号解読者がすべての公開キーにアクセスし、解読者が平文と暗号文 のメッセージの対応する対を発生するのに使用できるキーストリーム発生器(本 例ではミクスチャー発生器)へ直接アクセスすることを含む完全な暗号システム を入手している場合の侵入である。このような状況は、暗号解読者が発生器の任 意の初期ステートから開始してキーストリーム出力から選択した長さの任意の数 のサブシーケンスを検討できることを意味している。ここで、ミクスチャー発生 器の時間長さは極めて長い(説明したジェフ構造の最初のものに対してでも230 3 )ことに留意されたい。 キーストリームのうちの多数のかかる部分(サーチフラグメント)を発生し、 これらの各々と未知の暗号文とのスライド相関化を実行することにより、暗号解 読者は統計的解析により検出できるオーバーラップを発見しようとする。検出可 能なオーバーラップの可能性はメッセージの長さと発生器が作動できる速度に依 存するが、確率論的解析はオーバーラップする可能性は極めて小さいと示す。例 えば発生器が毎秒1000ギガビット(毎秒240ビット)でクロック制御でき、 平文長さが平均1ギガビット(230ビット)であり、わずか210ビット(1キロ ビット)長さのサーチフラグメントを使用するスライド相関器により、サーチフ ラグメントとのオーバーラップを瞬間的(すなわち0時間ないに)有効に検出で きると仮定しても、より小さいジェフタイプの発生器の場合、特定の暗号文を探 すのに予想される時間は2240秒もの大きさとなる。 確率論的解析も同じ仮定をした場合、ランダムに選択された初期化キーに対応 するメッセージに対するオーバーラップの可能性は無視できるものであり、よっ てこの方法(いわゆる共通誕生日問題)に基づく公知の平文への侵入も徒労に終 わることを示している。更に、未知の暗号文に対応する平文の部分が暗号解読者 により知られている(または推定できる)と仮定した場合でも、かかる既知の部 分の長さが発生器の複雑さすなわち図示されたジェフタイプの発生器よりも小型 のものでも58193の複雑さを越えない限り、(実行キー暗号化器の解答と同 じように)キーストリームを拡張し、平文の残りの部分を解くことができない。 このような離間した偶然性は単一ランダム初期化キーにより暗号化すべき平部分 の最大長さを制限し、必要な場合、より長いメッセージをセグメント状に分ける ことによって解決できるが、その結果生じる性能上の欠点に鑑み、安全性の向上 を評価すべきである。 解読者が出力キーストリームと成分発生器との間の相関性を発見しようとする 、より簡単な形態の相関性への侵入は、数学的な文献に記載されいるが、成分発 生器の時間が極めて長く、その自動相関化およびクロス相関化の性質が優れてい るので、本システムでは効率的でない。 12.小さい例 暗号化用には有効ではないが、明確にするため、ここに提案するシステムの作 動を示すため、小さい例を含める。この例は、第2図に示されたジェフ構造のM LSRG成分を使用するものである。第3図には個々の発生器が示されており、 そのステージ数は所定ステージに対応するxの級数を示す。 これら3つの発生器のための生成多項式p(x)はそれぞれ次のとおりである 。 1+x+x2,1+x+x3,1+x3+x5 これら3つの発生器の全出力ストリーム(すなわちフル時間)は、次のとおり である。 ミキサー:101 頂部:100101 底部:00100001011101100011111001101 上記表1は、これら発生器に対するステートの全シーケンスおよびそれに対応 する多項式の定数(すなわちxの適当な級数に合わせるよう番号をつけ直したス テージを備えたステート)を示している。しかしながら、関係する発生器の大き さは実際的な意味で表1の計算を不可能にするものであり、ここには単なる図解 のために含めたものであることを強調したい。表の列をソートすると、対数モジ ュロ生成多項式の表が有効に得られる。 ここで、初期ステートは次のように示される。 第3図に示されたステージ番号を検討すると、これらステートの各々は次の多 項式に対応することが判る。 これら3つの成分発生器の各々に対し、xの二進級数に対応する多項式係数は 、下記の表2に示されるように容易に計算される(モジュロp(x))。これら 級数に対応するステートはこれらビットを適当に回転するだけで(すなわち番号 をつけ直すだけで)得られることを強調したい。 D=(3、6、24)なるプライベートキーを選択すると、表2を広範に使用 することにより、次のように対応する公開キーを計算する。 a)Dm=3(二進で11)であるので、まず多項式x2に対応するステート 11をミキサー発生器にロードし、次にこのミキサー発生器を1回クロックし、 xを乗算することによりx3=x21を計算すると、ステート01が得られる。 これは次の式を与える。 b)Dt=6(二進で110)であるので、まず多項式x4に対応するステー ト110(多項式の係数011)を頂部発生器にロードし、次にこれを2回クロ ックし、x2を乗算することによりx6=x42を計算すると、ステート011が 得られる。すなわちこれにより次の式が得られる。 c)Db=24(二進で11000)であるので、x24=x16・x8を計算す ればよい。これは第2の因数x8が2つ以上の0でない係数を備えた多項式に対 応するので、先のケースよりも若干複雑である。表2からx8=0.1+1. x+0x2+1.x3+1.x4(すなわち多項式係数は01011)であるので 、x16に対応するステート10001を3回発生器にロードし、このクロックを 1回、3回および4回それぞれクロックし、x,x3およびx4を乗算し(その理 由は、これらはx8における0でない係数を備えたxの係数であるからである) 、次に対応する係数モジュロ2を加える。この結果生じるこれら3つのステート は次のとおりとなる。 11000,11110,11111 これら対応する係数モジュロ2を加えると、11001の最終ステートが得ら れる。すなわち、これにより次の式が得られる。 他のあるユーザーが文字AA(その二進数によるASCII表示は01000 001 01000001である)の平文を暗号化することによりメッセージを 送りたいと仮定する。発信者は、まずランダム初期化キーRを発生する。これを 行う種々の手段は可能であり、例えば雑音ダイオードを利用する方法がある。 ここで、RはR=(2、3、7)として発生されたものと仮定する。 発信者の最初の作業はQを計算することである。この作業はDからEを計算す るように行われ、以前と同じように表2を活用する。 d)Qmはステート11として表のx2ラインから直接呼び出すことができる 。 e)x3=x2xを計算することによりQtを得る。x2に対応する頂部発生器 のステートは010であり、これら内容を発生器にロードし、発生器を1回クロ ックしてxを乗算すると、ステート101が得られる。 f)Qbを計算するため、表2を使用して底部発生器に対するx7=x42x を計算する。これら級数の最後の2つは、1つの0でない係数しか含んでいない ので、底部発生器に01000(x4に対応するステート)を ロードし、発生器を2回クロックし、最後に1回クロックすることは容易である 。この結果得られるステートは10101となる。 よって、メッセージヘッダーは次のようにQを含む(付加的メッセージ固有の 情報も含むことができる)。 次のステップはKを計算することである。これは、同様な乗算方法により行う が、今回は公開キーEの成分に対応する多項式をRで示される級数で累乗するこ とにより行う。 g)まずEmに対応する多項式を級数Rm=2で累乗することによってKm の級数に累乗される1は1となるのと同じように、計算は不要である。従って、 KmはEmと同じであり、ステート01に対応する。このような状況は実際には決 して予想できないものである。このような状況は、Dmをミキサー発生器の時間 長さに等しい3と選択することによって生じる。システムを実現する際、Dまた はRに対する明らかに良好でない選択をすることは、簡単に拒否される。 h)次に、Etを級数Rt=3で累乗する。これを計算するにはxでなくてEt の二進級数をリストアップする表2に類似する表を作成する必要がある。本 多項式1+x2に対応するステート011であるので、頂部発生器にこのステー トをロードし、これを2回クロックし、100を得て、次にこれら値のモジュロ を再び使用してこの値にEtを乗算する。この乗算が発生器に111をロードし 、これを2回クロックして001を得て、これらのモジュロ2の係数を加え、最 後にKtに対する110を得ることによって行う。 るので、Eb2=10110、Eb3=01011およびEb4=00101( これらは発生器をクロックすることによって得られる)のモジュロ2の合 してのKbが得られる。 従って、ステートKは次の式で示される。 j)これらステートからスタートする3つの発生器からの出力ストリームは 次のとおりとなる。 ミキサー:101101101101101101.... 頂部:011100101110010111001.... 底部:1011000111110011010010000101011.. k)この結果得られるミクスチャー(キーストリーム)の最初の16ビット は次のようになる。 0011001111100001.... 1)このストリームと平文との排他的ORを計算すると次の暗号文が得られ る。 0111001010100000 m)この暗号化方法はQの成分をプライベートキーDによって示される級数 で累乗することによってKを計算することに始まる。この累乗方法は既に上記ス テップg)、h)およびi)で示された方法に完全に類似する方法である。簡単 に述べれば、 およびステート111および011にそれぞれ対応する最後の2つの因数を得る ので、 11110および01100に対応する後者の2つの因数を計算する。これによ り次の結果が得られる。 n)(予想するように)ステートKはメッセージの発信者によって計算され るステートと同じであるので、このステートからミクスチャー発生器をスタート することにより、上記ステップj)およびk)に示されているのと同じキースト リーム出力が発生し、このキーストリーム出力は暗号文とXOR演算され、平文 を再現できる。 13.ランダム化およびキー管理の問題 本方法は、現在のシステムと比較するとかなり多い総数のキービットを使用す る。例えば米国データ暗号化規格(DES)は、キーのために56ビットを使用 しているが、上記例で使用したジェフタイプの発生器は、成分発生器の長さの合 計に等しい87+89+127=303のキービット、または89+127+5 21=737のキービットを使用する。これら長いキーは高いレベルの安全性を 提供するが、特殊なキー管理技術の利点が得られるようにするには、これらの長 さは充分に長い。 まず、より素朴な形態の暗号分析侵入から保護するため、容易に思い出すか、 またはシステム的に発生されるパターンよりもすべての暗号化キーを最良にラン ダムに選択する。真のランダムビットストリームを発生するための周知のハード ウェア手段、例えばノイズ発生ダイオードが存在している。別の方法としては、 生物学的測定方法を使用することである。今日では、実質的にすべてのパソコン でマイクロ秒分解能のハードウェアが存在しているので、この例は連続する非同 期的な、人により発生される事象、例えばキーストロークの間の時間間隔を広く することである。かかる期間の長さの下位の桁は許容可能なランダムな性質を有 する。いずれの場合でも、かかるキーをシステマティックに、または繰り返して 使用することは、システムの安全性にシビアに妥協することとなるので、できる だけ真にランダムに、本発明におけるランダム初期化キーRを選択する試みが重 要である。本発明は、多次元(例えば2次元)のコンピュータ入力装置、例えば ペン、描画パッド、マウスまたは他のポインティングデバイスまたはタッチスク リーンとともに、別の生物学的測定技術を使用することが考えられる。ユーザー にランダムなパターンを描くことが求められ、一方発生されたパターンの種々の 可能性のある属性を使用して適度にランダムな入力を得ることができる。例えば 、マウスが利用できる場合、マウスの特定時間におけるマウスの座標を表示する 数字の下位ビットを適当なものとすることができる。これと異なり、特定時間に おけるマウスの速度または特定タイプのマウスの事象、またはマウスがトレース するパラメータ曲線の空間的性質(例えば曲率)を使用することができる。 好ましい実施例としては、この目的のためにコンピュータディスプレイスクリ ーンにディスプレイされるウィンドーのエリア内で多少ランダムにマウスポイン タを動かす(すなわちそれを振ったり、それで描く)ことをユーザーに要求でき る。連続する時間におけるコンピュータの作動環境によって検出されるマウスポ インタの位置のxおよびy座標を適当な下図のマウスの運動が生じるまで16ビ ットの2進数の連続するペアとして記録できる。これらポイントの、例えば最初 の25%と最後の25%を十分にランダムでないものとして廃棄でき、他の残り のすべての16ビット座標値の下位の4ビットを抽出し、連結し、所望の乱数を 形成できる。 ハードウェアおよびソフトウェアの急な変化により測定中の属性のランダム性 が破壊されないように保証するための注意が必要である。例えばマイクロソフト のウィンドウズが作動する環境では、外部事情、例えばマウスまたはキーボード の事象に利用できるタイミング分解能はわずか50ミリ秒であるので、第2事象 のタイミングは極めて非ランダムとなり得る。更に、かかる侵入は安全性への深 刻な脅威となり得るので、システムのタイミング情報またはマウス事象処理とイ ンターフェースする試みを保護しなければならない。 コンピュータシステムで一般に使用されているほとんどの疑似乱数発生器はこ れらのニーズには適当ではないが、本明細書に述べたミクスチャー発生器のキー ストリーム出力は優れたランダムな性質を有し、ここで検討している妥協方法を 提供するものである。特に、真にランダムなソースから各成分発生器内に適当な 数のステートを初期化し、発生器を短い(すなわち1000クロックサイクルの )間、作動または進める場合、その結果生じる最終発生器のステートは真にラン ダムなステートからは統計学的に区別できないものとなる。この方法をキーハッ シング(混信)方法と称す。ここに説明した発生器の複雑性が高いことより、こ のことはこれまで説明した他の手段、例えばいわゆるカウンターモードでDES チップまたはアルゴリズムを使用するようなことに対する妥当な代替案が提供さ れる。 暗号化キーの記憶および管理は解決しなければならないが、公開キーシステム は従来のプライベートキーシステムよりもその安全性に対する要因に依存する率 は本来的に低い。コンピュータまたはデータ記憶システム内の何らかの場所にプ ライベートキーを記憶する場合、物理的安全性が重要な問題となる。あるアプリ ケーションでは暗号化機器またはコンピュータの電磁気放射を考慮しなければな らない。ポータブルなメディア、例えば磁気的または光学的にエンコードされた カードにコンパクトに記憶することは可能であるが、人の記憶だけにしか存在し ないようなデータ(例えばパスワード)からキーを構成するか、またはこれより 容易に発生できるようにコストまたは他の要因が支配できる従来のアルファニュ ーメリック記号は1つの文字につきわずか5〜6ビットの情報しか提供せず、代 表的なパスワードは8〜10文字以下に制限されているので、このようにわずか 50〜60のキービットしか供給できない。 本発明は、パスワードから得られるキービットによりミクスチャー発生器の成 分発生器の限られた数のステージを初期化し、上記方法をまね、ランダムキーを シミュレートするように何時間もの間発生器を作動または進めることを考えるも のである。かかるシステムは、暗号解読によるキークラスターの攻撃を受け易い が、初期化、すなわちハッシング段階において使用されるクロックサイクルの数 を拡張し、(発生器の急速な進行を禁止し、よってトライアルキーを発生できる レートを制限するよう)中断を繰り返しながら進むような非線形を導入すること により、安全性を高めることができる。 産業上の利用性 本発明の暗号化システムは、真の公開キーシステムから得られる利点を備えた 安全な通信が求められるようなほとんどの領域で用途がある。非制限的例として は次のものがある。 (1)インターネットのような公共的ネットワークを通してクレジットカード の番号すなわち認証を含む個人または財務情報を安全に転送すること。 (2)インターネットを含む現在のコンピュータネットワークまたは交換回線 を通して安全な音声通信の送信をし、かかる通信のプライバシーを保証すること 。 この用途では、シークレットキーに先に接触または予めアレンジする必要なく 、リアルタイムでデジタル化された、および/または圧縮された音声データを暗 号化できる。 (3)インターネットを含むコンピュータネットワークまたは公衆交換回線の いずれかを通した電子メールまたはファクシミリ通信のプライバシーを保証する こと。 利点 ・公知の暗号解析が困難なこと 本アルゴリズムの暗号解析に成功することの困難度を定量的に評価できる。ア プリケーションの予定する分野に応じてシステムパラメータを直接的に選択する ことにより、この困難度を任意のレベルに合わせることが可能である。 ・高速性 本アルゴリズムは、ソフトウェアで実現するにせよ、またはハードウェアで実 現するにせよ、次の作業をできるだけ迅速に達成可能とするものである。 a)任意に選択されたプライベートキーから公開キーを発生すること。 b)任意の平文ビットストリームを暗号化すること。 c)暗号化された暗号文を解読すること。 ・高い安全性 本システムは最新の暗号規格および方法に関し、高度に複雑な最新の暗号解読 のおそれに対し、極めて高い安全性を提供できる。 ・暗号文の最小長さ 送信時の非効率性を防止するため、本システムは長さが平文の長さにほぼ等し い暗号文を発生する。 ・非決定論的であること 同じ公開キーを用いて2回以上同じ平文を暗号化することがシステムに求めら れている場合でも、この結果生じる各暗号文は、コードブックの収集を防止し、 他の暗号解読の攻撃を失敗させるため、非システマティックな態様で、他の暗号 文と異なる。 ・実現が簡単で、かつ効率的であること このシステムを実現するのに必要な不可欠な計算は、計算機器に対する要求を 最小にしながらハードウェアまたはソフトウェアで達成することができる。これ により、埋め込みシステム、注文すなわち専用ハードウェア、またはスマートカ ードのみならず、広範に入手できるプロセッサ上で走るソフトウェアでの実現を 容易にするものである。
【手続補正書】特許法第184条の8 【提出日】1995年6月27日 【補正内容】 2.前記ミクスチャー発生器が一組(n)の最大期間線形シフトレジスタまた は乗法的合同発生器を備え、組内の1つの発生器が前記キーストリームシリアル 出力を発生するようクロック制御されるたびに、組のうちの残り(n−1)の発 生器のうちの1つの出力を疑似ランダムに選択するようになっている、請求項1 記載の公開キー暗号システム。 15.公開キ一暗号システムで使用するのに適したミクスチャー発生器であっ て、 一組(n)の最大期間線形シフトレジスタまたは乗法的合同発生器と、 ミクスチャー発生器の出力を発生するよう、前記発生器のn−1個のうちの1 つから出力を選択するための手段と、 n番目の発生器のうちの複数(m)の最後のステージの出力をデコードするた めのデコード手段とを備え、 該デコード手段の出力が、使用する特定の発生器の出力の選択を決定するよう 、前記選択手段を制御するミクスチャー発生器。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI H04L 9/32 9570−5J H04L 9/00 675B (31)優先権主張番号 260712 (32)優先日 1994年6月9日 (33)優先権主張国 ニュー・ジーランド(NZ) (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ),AM, AT,AU,BB,BG,BR,BY,CA,CH,C N,CZ,DE,DK,EE,ES,FI,GB,GE ,HU,JP,KE,KG,KP,KR,KZ,LK, LR,LT,LU,LV,MD,MG,MN,MW,N L,NO,NZ,PL,PT,RO,RU,SD,SE ,SI,SK,TJ,TT,UA,US,UZ,VN 【要約の続き】 る。本発明は特殊用途のハードウェアまたは汎用プロセ ッサ用のソフトウェアで実現できる。

Claims (1)

  1. 【特許請求の範囲】 1.メッセージ発信者がメッセージ受信者に固有の公知のキーを使って平文メ ッセージPを暗号化し、メッセージ受信者が公開キーを発生した秘密のプライベ ートキーを使用して暗号化メッセージを暗号解読する公開キー暗号システムにお いて、 (1)複数の二進数D1〜nを含むプライベートキー(D)を選択し、 (2)前記数D1〜nの各々に対してプライベートキーD1〜nによって得られた 対応する数に等しい数のクロックパルスまたはステート変化の後に所定の公知の 初期ステートから疑似ランダム二進数発生器のステートを発生し、公開キー(E )の成分として計算された二進ステートE1〜nの各々を提供することによりプラ イベートキーを用いて(先に記載した)累乗により公開キー(E)を計算し、 (3)メッセージ発信者が、 (a)一組の二進数R1〜nを含むランダム初期化キー(R)を発生し、数 R1〜nの各々に対してランダム初期化キーR1〜nによって示された対応する数に 等しい数のクロックパルスまたはステート変化の後に、所定の公知の初期ステー トから疑似ランダム二進数発生器のステートを計算し、オープンキーQの成分と して計算された二進数ステートO1〜nを提供することにより、累乗によりオープ ンキーQを計算し、 (b)公開キーE1〜nの成分をランダム初期化キーR1〜nの成分により累 乗し、前記数E1〜nおよびR1〜nの各々に対し、工程(2)に記載の方法を対応 する二進数R1〜nに等しい回数だけ適用することによって生じた疑似ランダム二 進数発生器のステートを計算することにより、発生器初期化ステートK1〜nを発 生し、 (c)第1ミクスチャー発生器を形成するように出力が組み合わされてい る一組(n)の疑似ランダム二進数発生器に初期値K1〜nをロードし、 (d)キーストリームシリアル出力を得るように、第1ミクスチャー発生 器をクロックし、 (e)前記キーストリーム出力と二進平文メッセージPとを組み合わせて 暗号化されたビットストリーム暗号文Cを発生し、 (f)暗号文CをオープンキーQに加え、メッセージストリームを発生し 、 (g)メッセージをメッセージ受信者に送信し、 (4)メッセージ受信者が、 (a)メッセージストリームからオープンキーQを抽出し、 (b)ステップ(3)(a)に記載の方法を対応する二進数D1〜nに等し い回数だけ適用することにより得られる疑似ランダム二進数派生機のステートを 、前記数Q1〜nおよびD1〜nの各々に対して計算することにより、発生器初期化 ステートK1〜nを発生するようにオープンキーQをプライベートキーDで累乗し 、 (c)ミクスチャー発生器を形成するように出力が組み合わされた第2の 組(n)の疑似ランダム二進数発生器に発生器初期化ステートK1〜nをロードし 、 (d)キーストリームシリアル出力を得るようにミクスチャー発生器をク ロック制御し、この出力と受信した暗号化ビットストリームとを組み合わせて発 信者の平文メッセージを発生することを特徴とする、公開キー暗号システム。 2.前記ミクスチャー発生器が一組(n)の最大期間線形シフトレジスタ発生 器を備え、すべての発生器がクロック制御される際に前記キーストリームシリア ル出力を発生するよう、組内の1つの発生器が他(n−1)の発生器の出力をメ モリレス状に選択するようになっている、請求項1記載の公開キー暗号システム 。 3.前記ランダム初期化キーRを発生することが、 (1)ある時間tにおけるステートが複数の座標(Xt1、Xt2、....、Xtn) によって示された点Xtとして表示できる電子ポインタデバイスを操作する工程 と、 (2)複数の時間t=1、2、....、nにおける前記入力デバイスのステート を表示する点Xtを測定する工程と、 (3)前記時間のサブセットに対応する、上記のように測定された点のサブセ ットを選択する工程と、 (4)このように選択された点すべての座標の数値関数を計算する工程と、 (5)このように計算された数値関数の値を示す複数の二進数として、所望の 乱数を発生する工程とを備えた、請求項1記載の公開キー暗号システム。 4.前記暗号文Cを発生するように前記キーストリームと二進平文Pとを組み 合わせる工程が、Pの各成分Piに対し、 (1)シリアルキーストリームの出力の複数のバイトを使用して、バイト1、 ...、n の疑似ランダム順列Tを発生する工程と、 (2)中間部分Iiを形成するよう順列Tに従って部分Pi内にバイトniの相 対位置を順列する工程と、 (3)中間部分Iiの各バイトに対し、 (a)シリアルキーストリーム出力の1つ以上のバイトを発生し、 (b)バイトBおよびシリアルキー出力の前記発生されたバイトに応じた 値と置換することにより暗号化されたビットストリームのi番目の部分Ciを形 成する工程とを備えた、請求項1〜3のいずれかに記載の公開キー暗号システム 。 5.連続する各部分Piに対して開始点からPiまで(Piを含む)の二進情報 Pのすべての部分に対する累算的な現在メッセージダイジェスト値Diを計算す る工程と、現在のメッセージダイジェスト値Diに依存する数の付加的バイトの シリアルキーストリーム出力を得てこれを廃棄する工程を更に含む、請求項4記 載の公開キー暗号システム。 6.複数の二進数D1〜nを含むプライベートキー(D)を選択し、前記数D1 〜n の各々に対しプライベートキーD1〜nによって示された対応する数に等しい 数のクロックパルスまたはステート変化の後に、所定の初期ステートから疑似ラ ンダム二進数発生器のステートを計算し、計算された二進ステートE1〜nの各々 を公開キーEの成分として提供することにより、プライベートキーを使用して公 開キー(E)を累乗する、公開キー暗号システム用の暗号化装置であって、 一組の二進数R1〜nを備えたランダム初期化キー(R)を発生するための手段 と、 前記数R1〜nの各々に対しランダム初期化キーR1〜nによって示された対応す る数に等しい数のクロックパルスまたはステート変換の後に、所定の公知の初期 ステートから疑似ランダム二進数発生器のステートを計算することにより、累乗 によりオープンキーQを計算するための手段と、 前記数E1〜nおよびR1〜nの各々に対し、公開キーEを累乗するのに使用され る方法を対応する二進数R1〜nに等しい回数だけ適用することによって生じる疑 似 ランダム二進数発生器のステートを計算することにより、発生器の初期化ステー トK1〜nを発生するよう、公開キーEの成分をランダム初期化キーRの成分で累 乗するための手段と、 ミクスチャー発生器の出力を形成するように出力が組み合わされた一組(n) の疑似ランダム二進数発生器を含むミクスチャー発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜nに等しい初期値をロードす る手段と、 キーストリームシリアル出力を得るようにミクスチャー発生器をクロック化す る手段と、 平文メッセージを受信し、ミクスチャー発生器の出力と二進平文メッセージと を組み合わせ、暗号化されたビットストリームを発生する手段と、 暗号文CをオープンキーQに加え、メッセージストリームを発生する手段と、 メッセージストリームをメッセージ受信者に送信するための手段とを備えた、 公開キー暗号システムのための暗号化装置。 7.複数の二進数D1〜nを含むプライベートキー(D)を選択し、前記数D1 〜n の各々に対しプライベートキーD1〜nによって示された対応する数に等しい 数のクロックパルスまたはステート変化の後に、所定の初期ステートから疑似ラ ンダム二進数発生器のステートを計算し、計算した二進ステートE1〜nの各々を 公開キー(E)の成分として提供することにより、プライベートキーを使用して 公開キー(E)を累乗し、 メッセージ発信者が、 (1)一組の二進数R1〜nを含むランダム初期化キー(R)を発生し、前記数 R1〜nの各々に対しランダム初期化キーR1〜nによって示された対応する数に等 しい数のクロックパルスまたはステート変化の後に、所定の公知の初期ステート から疑似ランダム二進数発生器のステートを計算し、オープンキーQの成分とし て計算された二進数ステートQ1〜nを提供することにより、累乗によりオープン キーQを計算し、 (2)公開キーEの成分をランダム初期化キーRの成分により累乗し、プライ ベートキーを用いて公開キーを累乗すると先に定義した方法を、対応する二進数 R1〜nに等しい回数だけ適用することによって生じる疑似ランダム二進数発生器 のステートを前記数E1〜nおよびR1〜nの各々に対して計算することにより、発 生器初期化ステートK1〜nを発生し、 (3)第1ミクスチャー発生器を形成するように出力が組み合わされている疑 似ランダム二進数発生器の組(n)に初期値K1〜nをロードし、 (4)キーストリームシリアル出力を得るように、第1ミクスチャー発生器を クロックし、この出力と二進平文メッセージとを組み合わせて暗号化されたビッ トストリーム暗号文Cを発生し、 (5)オープンキーQとともに、暗号化されたビットストリームをメッセージ 受信者に送信するような方法に従って平文メッセージを暗号化し、 暗号解読装置が、 暗号化されたビットストリームからオープンキーQを抽出するための手段と、 オープンキーQを発生するよう、上記記載の方法を対応する二進数D1〜nに等 しい回数だけ適用することにより生じた疑似ランダム二進数発生器のステートを 計算することにより、発生器の初期化ステートK1〜nを発生するようプライベー トキーDの成分によりオープンキーQの成分を累乗するための手段と、 ミクスチャー発生器を形成するよう出力が組み合わされた一組(n)の疑似ラ ンダム二進数発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜nに等しい初期値をロードす る手段と、 キーストリームシリアル出力を得るよう、ミクスチャー発生器をクロック制御 するための手段と、 この出力と受信された暗号文Cとを組み合わせて平文メッセージPを発生する ための手段とを備えた、公開キー暗号システムのための暗号解読装置。 8.メッセージ発信者がメッセージにサイン情報を添え、公衆が検査できるよ うにオープンにされたサインアーカイブに発信者の名前と共に対応する認証情報 を登録し、メッセージ証明者がメッセージおよびそのサイン情報、更に公共サイ ンアーカイブからの認証情報を得て、これらを使って前記サイン情報によって識 別された発信者によりメッセージが送られたものであるかどうかを確認する、公 開キー認証システムにおいて、 (1)メッセージ発信者が、 (a)複数の二進数S1〜nから成るランダムデジタルサイン(S)を選択 し、 (b)前記数S1〜nの各々に対しランダムデジタルサイン S1〜nによって示された対応する数に等しい数のクロックパルスまたはステート 変化の後に、所定の初期ステートから疑似ランダム二進数発生器のステートを計 算し、計算された二進ステートV1〜nの各々を証明キーVの成分として提供する ことにより、証明キーVを累乗し、 (c)工程(b)において計算された証明キーVがまだ登録されたもので ないかどうか確認するよう前記サインアーカイブをチェックし、先に登録された ものであれば工程(a)、(b)を繰り返し、 (d)一組(n)の疑似ランダム二進数発生器のうちの各々に対して、送 信されたメッセージを含むビットシーケンスを前記ランダム二進数発生器に対応 する法で割ることによって得られる剰余を計算し、かかる各剰余C1〜nを一般化 された周期的冗長性チェック(CRC)値Cの成分として提供することにより、 CRC値Cを計算し、 (e)合計C+S(モジュロ2)を計算し、公共サインアーカイブ内にメ ッセージ送信者の名前でこの合計および証明キーVを登録し、 (f)Sを送信メッセージに添え、 (2)メッセージ証明者が、 (a)メッセージから複数の二進数S1〜nを備えたデジタルサイン(S) を抽出し、 (b)前記数S1〜nの各々に対して、受信したメッセージを含むビットシ ーケンスを疑似ランダム二進数発生器に対応する法で割ることによって得られる 剰余を計算し、かかる各剰余C1〜nを一般化された周期的冗長性チェック(CR C)値Cの成分として提供することにより、CRC値Cを計算し、 (c)前記数S1〜nの各々に対し工程(1)(b)に記載された方法によ り前記各数S1〜nを使用して対応する疑似ランダム二進数発生器の所定初期値を 累乗することにより証明キーVを計算し、 (d)合計C+S(モジュロ2)を計算し、 (e)値C+S(モジュロ2)と工程(c)および(d)で計算されたV が一致する認証情報を探すよう、メッセージのうちの前記サイン情報によって識 別される発信者の名前で公共サインアーカイブをサーチし、 (f)工程(E)におけるサーチが成功した場合、メッセージを正しいも のと認め、または工程(e)におけるサーチが成功しなかった場合、メッセージ を偽物として拒否することを特徴とする、公開キー認証システム。 9.メッセージ認証者が複数の二進数D1〜nを含むプライベートキーDを選択 し、前記数D1〜nの各々に対しプライベートキーD1〜nによって示された対応す る数に等しい数のクロックパルスまたはステート変化の後に、所定初期ステート から疑似ランダム二進数発生器のステートを計算し、計算した二進ステートE1 〜n の各々を公開キーEの成分として提供することにより、プライベートキーを 用いて公開キーEを累乗し、公開キーを公衆の検査ができるようにし、メッセー ジ発信人が前記メッセージ認証者と共に固有の認証情報を登録し、メッセージに サイン情報を添え、メッセージ証明者がメッセージを得て、メッセージのための 一般化されたCRC値を計算し、メッセージサイン情報、一般化されたCRC値 および発信者の名前またはその他の識別情報をメッセージ認定者へ送り、前記メ ッセージ認証者が前記一般化されたCRC値、前記メッセージサイン情報および 前記登録された認証情報を使用して、メッセージが前記認証情報によって識別さ れた発信者によって送信されたものであるかどうかを確認する、公開キー認証シ ステムにおいて、 (1)メッセージ発信者が、 (a)複数の二進数から成る認証パスワード(P)を選択し、 (b)認証パスワードPを登録し、発信者の名前または他の識別情報に対 応させ、Pが他人によって登録されていないかどうかを確認することを前記サイ ン認証者に求め、Pがすでに登録されていると通知を受けた場合、工程(a)を 繰り返し、 (c)一組(n)の疑似ランダム二進数発生器の各1つに対し、送信メッ セージを含むビットシーケンスを前記疑似ランダム二進数発生器に対応する法で 割ることにより得られた剰余を計算し、かかる各剰余C1〜nを一般化された周期 的冗長性チェック(CRC)値CMとして提供することにより、一般化されたC RC値CMを計算し、 (d)一般化されたCRC値CMを認証パスワードPに添えることにより 中間サイン情報を計算し、 (e)(i)一組の二進数R1〜nを含むランダム初期化キー(R)を選択 し、前記数R1〜nの各々に対し、ランダム初期化キーR1〜nによって示される数 のクロックパルスまたはステート変化の後に所定の初期値から疑似ランダム二進 数発生器のステートを計算し、計算された二進ステートQ1〜nの各々を提供して 、オープンキーQを発生することにより各数を用いて初期値を累乗し、 (ii)前記数E1〜nおよびR1〜nの各々に対しプライベートキー を用いて公開キーを累乗すると先に記載した方法を、対応する二進数R1〜nに等 しい回数だけ適用することによって生じる疑似ランダム二進数発生器のステート を計算することにより、発生器の初期化ステートK1〜nを発生するよう、サイン 認証公開キーEの成分をランダム初期化キーRの成分で累乗し、 (iii)ミクスチャー発生器を形成するように出力が組み合わさ れた一組(n)の疑似ランダム二進数発生器に初期値K1〜nをロードし、 (iv)キーストリームシリアル出力を得るようにミクスチャー発 生器をクロック制御し、この出力と前記中間サイン情報とを組み合わせ、暗号化 された中間サイン情報を発生し、 (v)該暗号化された中間サイン情報を前記オープンキーQに添え てメッセージサイン情報SP,Mを発生することによってサイン認証公開キーEを 使って工程(d)で計算された中間サイン情報を暗号化することによりメッセー ジサイン情報SP,Mを計算し、 (f)該メッセージサイン情報SP,Mをメッセージに添え、更に発信者の 名前またはその他の識別情報をメッセージに添え、 (2)メッセージ証明者が、 (a)メッセージからメッセージサイン情報(SP,M)および発信者の名 前または他の識別情報を抽出し、 (b)工程(1)(c)に記載された方法によりメッセージに対する一般 (c)該メッセージサイン情報、発信者の名前、または他の識別情報およ セージサイン情報SP,M内の暗号化された認証パスワードPおよび一般化された を求め、 (3)メッセージ認証者が、 (a)(i)メッセージサイン情報からオープンキーQを抽出し、 (ii)前記数Q1〜nおよびD1〜nの各々に対し工程(1)(e) (i)に記載された方法を対応する二進数D1〜nに等しい回数だけ適用すること によって得られる疑似ランダム二進数発生器のステートを計算することにより、 発生器の初期化ステートK1〜nを発生するよう、オープンキーQをプライベート キーDで累乗し、 (iii)ミクスチャー発生器を形成するように出力が組み合わさ れた第2の組(n)の疑似ランダム二進数発生器に発生器の初期化ステートK1 〜n をロードし、 (iv)キーストリームシリアル出力を得るようにミクスチャー発 生器をクロック制御し、この出力とメッセージサイン情報とを組み合わせて工程 (1)(d)で計算された中間サイン情報PおよびCを再現することにより、プ ライベートキーDを用いてメッセージサイン情報SP,Mを暗号解読し、 (b)前記中間サイン情報に含まれたPの値と、工程(2)(c)で送ら れた名前または他の識別情報に対応して登録された認証パスワードとを比較し、 (c)前記中間サイン情報に含まれたCMの値と、工程(2)(c)で送 (d)工程(c)および(d)における双方の比較に成功した場合、メッ セージが正しいものであることをメッセージ証明者に確認し、いずれかの比較に 失敗した場合、偽物としてメッセージを拒否することを特徴とする、公開キー認 証システム。 10. (1)ある時間tにおけるステートが複数の座標(Xt1、Xt2、.... 、Xtn)によって示された点Xtとして表示できる電子ポインタデバイスを操作 する工程と、 (2)複数の時間t=1、2、....、nにおける前記入力デバイスのステート を表示する点Xtを測定する工程と、 (3)前記時間のサブセットに対応する、上記のように測定された点のサブセ ットを選択する工程と、 (4)このように選択された点すべての座標の数値関数を計算する工程と、 (5)このように計算された数値関数の値を示す複数の二進数として、所望の 乱数を発生する工程とを備えた、乱数を発生するための方法。 11.一連の部分Ciを含む暗号化されたビットストリームCを発生するよう 、各部分Piが多数のバイトniを示す一連の部分P1、....、PNを備えた二進情 報Pとシリアルキーストリーム出力とを組み合わせる方法であって、 (1)シリアルキーストリーム出力の複数のバイトを使用してバイト1、.... 、niの疑似ランダム順列Tを発生する工程と、 (2)中間部分Iiを形成するよう、順列Tに従って部分Pi内のバイトniの 相対位置を順列する工程と、 (3)中間部分Iiの各バイトBに対し、 (a)1バイト以上のシリアルキーストリーム出力を発生し、 (b)バイトBをバイトBおよびシリアルキーストリーム出力のうちの前 記発生されたバイトに応じた値に置換することにより、暗号化されたビットスト リームのうちのi番目の部分Ciを形成する工程とを備えた、シリアルキースト リーム出力と二進情報Pとを組み合わせる方法。 12.連続する各部分Piに対して、開始点からPiまで(Piを含む)の二進 情報Pのすべての部分に対する累算的な現在メッセージダイジェスト値Diを計 算する工程と、現在のメッセージダイジェスト値Diに依存する数の付加的バイ トのシリアルキーストリーム出力を得てこれを廃棄する工程を更に含む、請求 項11記載の、シリアルキーストリームと二進情報とを組み合わせる方法。 13.一連の部分Piを含む二進情報Pを再現するよう、各部分Ciが多数のバ イトniを含む一連の部分Ci、....、CNを含む暗号化されたビットストリーム Cとシリアルキーストリーム出力とを組み合わせる方法であって、 各連続する部分Ciに対し、 (1)複数のバイトのシリアルキーストリーム出力を使用して数1、....、n の疑似ランダム順列Tを発生する工程と、 (2)部分Ciの各バイトBに対して、 (a)1以上のバイトのシリアルキーストリーム出力を発生し、 (b)バイトBを、バイトBおよびシリアルキーストリーム出力の前記発 生されたバイトに応じた値で置換することにより、中間部分Iiを形成する工程 と、 (3)前記二進情報のi番目の部分Piを形成するよう、順列Tに従って中間 部分Ii内のバイトの相対位置を順列する工程とを備えた、シリアルキーストリ ーム出力と暗号化されたビットストリームとを組み合わせる方法。 14.連続する各部分Piに対して、開始点からPiまで(Piを含む)の二進 情報Pのすべての部分に対する累算的な現在メッセージダイジェスト値Diを計 算する工程と、現在のメッセージダイジェスト値Diに依存する数の付加的バイ トのシリアルキーストリーム出力を得てこれを廃棄する工程を更に含む、請求項 14記載の、シリアルキーストリームと暗号化されたビットストリームとを組み 合わせる方法。 15.公開キー暗号システムで使用するのに適したミクスチャー発生器であっ て、 一組(n)の最大期間線形シフトレジスタ発生器と、 前記n個の発生器をクロック制御するための手段と、 混合されたキーストリームを発生するよう、前記発生器のn−1の出力を逐次 選択するための手段と、 n番目の発生器の複数の最後のm個のステージの出力をデコードするためのデ コード手段とを備え、 該デコード手段の出力が、各クロック期間中に使用する特定の発生器の出力の 選択の際に、前記選択手段を制御するミクスチャー発生器。 16.n=3であり、m=1である、請求項15記載のミクスチャー発生器。
JP51554395A 1993-12-01 1994-12-01 非決定論的ミクスチャー発生器ストリーム暗号化システム Expired - Fee Related JP3339688B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
NZ25033793 1993-12-01
NZ250337 1993-12-01
NZ25047593 1993-12-16
NZ250475 1993-12-16
NZ26071294 1994-06-09
NZ260712 1994-06-09
PCT/NZ1994/000136 WO1995015633A1 (en) 1993-12-01 1994-12-01 A non-deterministic public key encryption system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002037366A Division JP2002314534A (ja) 1993-12-01 2002-02-14 非決定論的ミクスチャー発生器ストリーム暗号化システム

Publications (2)

Publication Number Publication Date
JPH09509748A true JPH09509748A (ja) 1997-09-30
JP3339688B2 JP3339688B2 (ja) 2002-10-28

Family

ID=27353706

Family Applications (3)

Application Number Title Priority Date Filing Date
JP51554395A Expired - Fee Related JP3339688B2 (ja) 1993-12-01 1994-12-01 非決定論的ミクスチャー発生器ストリーム暗号化システム
JP51554395D Expired - Lifetime JP3421950B2 (ja) 1993-12-01 1994-12-01 非決定論的ミクスチャー発生器ストリーム暗号化システム
JP2002037366A Pending JP2002314534A (ja) 1993-12-01 2002-02-14 非決定論的ミクスチャー発生器ストリーム暗号化システム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP51554395D Expired - Lifetime JP3421950B2 (ja) 1993-12-01 1994-12-01 非決定論的ミクスチャー発生器ストリーム暗号化システム
JP2002037366A Pending JP2002314534A (ja) 1993-12-01 2002-02-14 非決定論的ミクスチャー発生器ストリーム暗号化システム

Country Status (6)

Country Link
US (1) US5799088A (ja)
EP (1) EP0734624A4 (ja)
JP (3) JP3339688B2 (ja)
AU (2) AU702766B2 (ja)
NZ (4) NZ336414A (ja)
WO (1) WO1995015633A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040838A1 (ja) * 2002-11-01 2004-05-13 Sanyo Electric Co.,Ltd. 乱数生成装置
JP2006285830A (ja) * 2005-04-04 2006-10-19 National Institute Of Information & Communication Technology 疑似乱数生成器強度評価装置及び暗号化装置
WO2007029330A1 (ja) * 2005-09-09 2007-03-15 Mitsubishi Denki Kabushiki Kaisha 擬似乱数生成装置

Families Citing this family (121)

* 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
NL1000669C2 (nl) * 1995-06-26 1996-12-31 Nederland Ptt Werkwijze en inrichtingen voor het overdragen van data met controle op transmissiefouten.
WO1998008323A1 (en) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
AUPO323496A0 (en) * 1996-10-25 1996-11-21 Monash University Digital message encryption and authentication
GB2319704B (en) * 1996-11-15 2001-07-04 Desktop Guardian Ltd Data encryption technique
US6061741A (en) * 1997-05-28 2000-05-09 International Business Machines Corporation Method and apparatus for synchronization of connectionless applications across a network by using simple encryption tokens
US6424712B2 (en) * 1997-10-17 2002-07-23 Certicom Corp. Accelerated signature verification on an elliptic curve
US6076163A (en) * 1997-10-20 2000-06-13 Rsa Security Inc. Secure user identification based on constrained polynomials
US6122738A (en) * 1998-01-22 2000-09-19 Symantec Corporation Computer file integrity verification
US6128742A (en) * 1998-02-17 2000-10-03 Bea Systems, Inc. Method of authentication based on intersection of password sets
US6118869A (en) * 1998-03-11 2000-09-12 Xilinx, Inc. System and method for PLD bitstream encryption
FI113230B (fi) * 1998-05-15 2004-03-15 Elisa Oyj Menetelmä puhelunohjauksen päivittämiseksi ja tulevien puhelujen ohjaamiseksi
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6580814B1 (en) * 1998-07-31 2003-06-17 International Business Machines Corporation System and method for compressing biometric models
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US20010011349A1 (en) * 1998-09-03 2001-08-02 Greg B. Garrison System and method for encrypting a data session between a client and a server
US6266429B1 (en) * 1998-09-23 2001-07-24 Philips Electronics North America Corporation Method for confirming the integrity of an image transmitted with a loss
US6442626B1 (en) * 1998-12-28 2002-08-27 Siemens Aktiengesellschaft Copy protection system only authorizes the use of data if proper correlation exists between the storage medium and the useful data
WO2000057595A1 (en) * 1999-03-22 2000-09-28 Kent Ridge Digital Labs Method and apparatus for encrypting and decrypting data
US20020019814A1 (en) 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7073063B2 (en) 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US6829708B1 (en) 1999-03-27 2004-12-07 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
US7136838B1 (en) * 1999-03-27 2006-11-14 Microsoft Corporation Digital license and method for obtaining/providing a digital license
US6973444B1 (en) 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
US6272633B1 (en) * 1999-04-14 2001-08-07 General Dynamics Government Systems Corporation Methods and apparatus for transmitting, receiving, and processing secure voice over internet protocol
FR2794592B1 (fr) * 1999-06-04 2001-08-24 France Telecom Generateur de bits pour l'etablissement d'une clef secrete de cryptage et procede correspondant
JP4519963B2 (ja) * 1999-06-21 2010-08-04 富士通株式会社 生体情報の暗号化・復号化方法および装置並びに、生体情報を利用した本人認証システム
US6385739B1 (en) * 1999-07-19 2002-05-07 Tivo Inc. Self-test electronic assembly and test system
US6944762B1 (en) 1999-09-03 2005-09-13 Harbor Payments Corporation System and method for encrypting data messages
US7310735B1 (en) * 1999-10-01 2007-12-18 International Business Machines Corporation Method, system, and program for distributing software between computer systems
AU2000269232A1 (en) 2000-01-14 2001-07-24 Microsoft Corporation Specifying security for an element by assigning a scaled value representative ofthe relative security thereof
WO2001063589A1 (en) * 2000-02-23 2001-08-30 Smart Lite Digital Solutions Ltd. Integrated pointing device-smartcard transaction security system
JP2001255814A (ja) * 2000-03-10 2001-09-21 Murata Mach Ltd 復号方法、復号装置、及び復号プログラムの記録媒体
EP1279249B1 (en) * 2000-03-29 2007-08-01 Vadium Technology Inc. One-time-pad encryption with central key service and keyable characters
US7039615B1 (en) * 2000-09-28 2006-05-02 Microsoft Corporation Retail transactions involving digital content in a digital rights management (DRM) system
US7606492B2 (en) 2000-10-04 2009-10-20 Enablence Usa Fttx Networks Inc. System and method for communicating optical signals upstream and downstream between a data service provider and subscribers
KR100811419B1 (ko) * 2000-12-07 2008-03-07 주식회사 케이티 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법
FR2818471B1 (fr) * 2000-12-18 2003-02-14 Gemplus Card Int Procede d'amelioration de la securite de schemas de chiffrement a clef publique
US20020124177A1 (en) * 2001-01-17 2002-09-05 Harper Travis Kelly Methods for encrypting and decrypting electronically stored medical records and other digital documents for secure storage, retrieval and sharing of such documents
US7194618B1 (en) 2001-03-05 2007-03-20 Suominen Edwin A Encryption and authentication systems and methods
JP2002271320A (ja) * 2001-03-13 2002-09-20 Sony Corp 情報処理装置及び方法、並びに記憶媒体
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7529485B2 (en) 2001-07-05 2009-05-05 Enablence Usa Fttx Networks, Inc. Method and system for supporting multiple services with a subscriber optical interface located outside a subscriber's premises
US20030072059A1 (en) * 2001-07-05 2003-04-17 Wave7 Optics, Inc. System and method for securing a communication channel over an optical network
US7877014B2 (en) 2001-07-05 2011-01-25 Enablence Technologies Inc. Method and system for providing a return path for signals generated by legacy video service terminals in an optical network
US8077861B2 (en) 2004-08-12 2011-12-13 Cmla, Llc Permutation data transform to enhance security
US7577250B2 (en) * 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
US7564970B2 (en) * 2004-08-12 2009-07-21 Cmla, Llc Exponential data transform to enhance security
US7593639B2 (en) 2001-08-03 2009-09-22 Enablence Usa Fttx Networks Inc. Method and system for providing a return path for signals generated by legacy terminals in an optical network
DE10138650A1 (de) * 2001-08-07 2003-02-27 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verschlüsseln eines diskreten Signals sowie Verfahren und Vorrichtung zur Entschlüsselung
US7583897B2 (en) 2002-01-08 2009-09-01 Enablence Usa Fttx Networks Inc. Optical network system and method for supporting upstream signals propagated according to a cable modem protocol
US7228417B2 (en) 2002-02-26 2007-06-05 America Online, Inc. Simple secure login with multiple-authentication providers
US7623786B2 (en) 2002-05-20 2009-11-24 Enablence Usa Fttx Networks, Inc. System and method for communicating optical signals to multiple subscribers having various bandwidth demands connected to the same optical waveguide
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators
US7058260B2 (en) 2002-10-15 2006-06-06 Wave7 Optics, Inc. Reflection suppression for an optical fiber
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7454141B2 (en) 2003-03-14 2008-11-18 Enablence Usa Fttx Networks Inc. Method and system for providing a return path for signals generated by legacy terminals in an optical network
US7930331B2 (en) * 2005-09-26 2011-04-19 Temarylogic Llc Encipherment of digital sequences by reversible transposition methods
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US7797733B1 (en) 2004-01-08 2010-09-14 Symantec Corporation Monitoring and controlling services
WO2005083561A1 (en) * 2004-02-26 2005-09-09 Telecom Italia S.P.A. Method and circuit for generating random numbers, and computer program product therefor
US7337327B1 (en) 2004-03-30 2008-02-26 Symantec Corporation Using mobility tokens to observe malicious mobile code
US7735100B1 (en) 2004-04-22 2010-06-08 Symantec Corporation Regulating remote registry access over a computer network
US8108937B1 (en) 2004-04-26 2012-01-31 Symantec Corporation Robustly regulating access to executable class registry entries
US8074287B2 (en) * 2004-04-30 2011-12-06 Microsoft Corporation Renewable and individualizable elements of a protected environment
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7334163B1 (en) 2004-06-16 2008-02-19 Symantec Corporation Duplicating handles of target processes without having debug privileges
US7571448B1 (en) 2004-07-28 2009-08-04 Symantec Corporation Lightweight hooking mechanism for kernel level operations
KR20130014623A (ko) * 2004-08-12 2013-02-07 씨엠엘에이 엘엘씨 보안성을 향상시키는 순열 데이터 변환
US7599622B2 (en) 2004-08-19 2009-10-06 Enablence Usa Fttx Networks Inc. System and method for communicating optical signals between a data service provider and subscribers
US7509680B1 (en) 2004-09-01 2009-03-24 Symantec Corporation Detecting computer worms as they arrive at local computers through open network shares
US20060044261A1 (en) * 2004-09-02 2006-03-02 Kao-Cheng Hsieh Pointing input device imitating inputting of hotkeys of a keyboard
US7690034B1 (en) 2004-09-10 2010-03-30 Symantec Corporation Using behavior blocking mobility tokens to facilitate distributed worm detection
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US7334722B1 (en) 2005-02-14 2008-02-26 Symantec Corporation Scan-on-read
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US7739505B2 (en) * 2005-04-22 2010-06-15 Microsoft Corporation Linking Diffie Hellman with HFS authentication by using a seed
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7616901B2 (en) 2005-08-10 2009-11-10 Enablence Usa Fttx Networks Inc. Countermeasures for idle pattern SRS interference in ethernet optical network systems
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20070110225A1 (en) * 2005-11-16 2007-05-17 Sub-Crypto Systems, Llc Method and apparatus for efficient encryption
US7848516B2 (en) * 2006-01-20 2010-12-07 Chiou-Haun Lee Diffused symmetric encryption/decryption method with asymmetric keys
FR2897963A1 (fr) * 2006-02-28 2007-08-31 Atmel Corp Procede pour les conjectures de quotient rapide et une manip ulation de congruences
EP1841122A1 (en) * 2006-03-31 2007-10-03 Alain Schumacher Encryption method for highest security applications
US7689547B2 (en) * 2006-09-06 2010-03-30 Microsoft Corporation Encrypted data search
US7925009B2 (en) * 2007-05-25 2011-04-12 Red Hat, Inc. Hybrid data encryption
US8781117B2 (en) 2007-08-29 2014-07-15 Red Hat, Inc. Generating pseudo random bits from polynomials
US8265272B2 (en) * 2007-08-29 2012-09-11 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
US8416947B2 (en) * 2008-02-21 2013-04-09 Red Hat, Inc. Block cipher using multiplication over a finite field of even characteristic
US7945049B2 (en) * 2008-02-28 2011-05-17 Red Hat, Inc. Stream cipher using multiplication over a finite field of even characteristic
FR2931326A1 (fr) * 2008-05-16 2009-11-20 St Microelectronics Rousset Verification d'integrite d'une cle de chiffrement
US8560587B2 (en) * 2008-05-22 2013-10-15 Red Hat, Inc. Non-linear mixing of pseudo-random number generator output
US8588412B2 (en) 2008-05-23 2013-11-19 Red Hat, Inc. Mechanism for generating pseudorandom number sequences
US8358781B2 (en) 2008-11-30 2013-01-22 Red Hat, Inc. Nonlinear feedback mode for block ciphers
JP5323196B2 (ja) * 2009-09-18 2013-10-23 株式会社東芝 演算装置、方法およびプログラム
US8553878B2 (en) * 2010-04-14 2013-10-08 Apple Inc. Data transformation system using cyclic groups
US10523490B2 (en) 2013-08-06 2019-12-31 Agilepq, Inc. Authentication of a subscribed code table user utilizing optimized code table signaling
US9444580B2 (en) 2013-08-06 2016-09-13 OptCTS, Inc. Optimized data transfer utilizing optimized code table signaling
US9455962B2 (en) * 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
US10056919B2 (en) 2014-07-02 2018-08-21 Agilepq, Inc. Data recovery utilizing optimized code table signaling
US9438411B1 (en) * 2015-08-12 2016-09-06 The Boeing Company Method and apparatus for synchronizing digital messages
US10587399B2 (en) 2016-06-06 2020-03-10 Agilepq, Inc. Data conversion systems and methods
US10425417B2 (en) 2017-03-08 2019-09-24 Bank Of America Corporation Certificate system for verifying authorized and unauthorized secure sessions
US10361852B2 (en) 2017-03-08 2019-07-23 Bank Of America Corporation Secure verification system
US10374808B2 (en) 2017-03-08 2019-08-06 Bank Of America Corporation Verification system for creating a secure link
US10432595B2 (en) 2017-03-08 2019-10-01 Bank Of America Corporation Secure session creation system utililizing multiple keys
CN107551698B (zh) * 2017-08-31 2023-08-08 广东美的环境电器制造有限公司 净化器、信息处理方法及计算机存储介质
CN109729052A (zh) * 2017-10-31 2019-05-07 金子光 提高手机一键付款安全的方法
US11379827B2 (en) * 2018-04-17 2022-07-05 Lendoit Technologies Israel Ltd. Smart contract executed within a blockchain
TWI675578B (zh) * 2018-12-06 2019-10-21 新唐科技股份有限公司 加解密系統、加密裝置、解密裝置和加解密方法
US20220085984A1 (en) * 2020-09-14 2022-03-17 Amir Keyvan Khandani Methods and apparatus for randomized encryption, with an associated randomized decryption
JP2022134467A (ja) * 2021-03-03 2022-09-15 Kddi株式会社 秘密値生成装置、鍵交換システム、秘密値生成方法及び秘密値生成プログラム
US12008150B2 (en) 2021-06-24 2024-06-11 International Business Machines Corporation Encrypted data processing design including cleartext register files
US11868275B2 (en) * 2021-06-24 2024-01-09 International Business Machines Corporation Encrypted data processing design including local buffers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1597218A (en) * 1976-12-11 1981-09-03 Nat Res Dev Apparatus for electronic encypherment of digital data
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4933970A (en) * 1988-01-19 1990-06-12 Yeda Research And Development Company Limited Variants of the fiat-shamir identification and signature scheme

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040838A1 (ja) * 2002-11-01 2004-05-13 Sanyo Electric Co.,Ltd. 乱数生成装置
JP2006285830A (ja) * 2005-04-04 2006-10-19 National Institute Of Information & Communication Technology 疑似乱数生成器強度評価装置及び暗号化装置
JP4547534B2 (ja) * 2005-04-04 2010-09-22 独立行政法人情報通信研究機構 疑似乱数生成器強度評価装置及び暗号化装置
WO2007029330A1 (ja) * 2005-09-09 2007-03-15 Mitsubishi Denki Kabushiki Kaisha 擬似乱数生成装置
GB2444567A (en) * 2005-09-09 2008-06-11 Mitsubishi Electric Corp Pseudo random number generation device
GB2444567B (en) * 2005-09-09 2011-01-05 Mitsubishi Electric Corp Pseudo-random number generator
US8443020B2 (en) 2005-09-09 2013-05-14 Mitsubishi Electric Corporation Pseudo random number generator

Also Published As

Publication number Publication date
JP3339688B2 (ja) 2002-10-28
AU702766B2 (en) 1999-03-04
AU1204995A (en) 1995-06-19
NZ336414A (en) 2000-01-28
US5799088A (en) 1998-08-25
EP0734624A1 (en) 1996-10-02
NZ336413A (en) 2000-01-28
JP3421950B2 (ja) 2003-06-30
EP0734624A4 (en) 1999-10-06
NZ329808A (en) 1999-08-30
WO1995015633A1 (en) 1995-06-08
NZ277128A (en) 1998-04-27
AU729638B2 (en) 2001-02-08
JP2002314534A (ja) 2002-10-25
AU1132199A (en) 1999-03-04

Similar Documents

Publication Publication Date Title
JP3339688B2 (ja) 非決定論的ミクスチャー発生器ストリーム暗号化システム
CN110677237B (zh) 一种具有似混沌特性的文件加密方法
KR101205109B1 (ko) 메시지 인증 방법
KR100994841B1 (ko) 다중키를 이용한 스트림 암호 생성 방법 및 기록 매체
Wong et al. Embedding compression in chaos-based cryptography
US20140112469A1 (en) Novel encryption processes based upon irrational numbers and devices to accomplish the same
JP4470135B2 (ja) 擬似乱数生成システム
US20040247116A1 (en) Method of generating a stream cipher using multiple keys
Mani et al. Enhancing security in cryptographic algorithm based on LECCRS
Simmons Symmetric and asymmetric encryption
AU750408B2 (en) A method of combining a serial keystream output with binary information
Younes et al. CeTrivium: A Stream Cipher Based on Cellular Automata for Securing Real-TimeMultimedia Transmission.
AU750323B2 (en) A method of generating a key for a public key encryption system
Rwabutaza A Cryptanalysis Methodology for the Reverse Engineering of Encrypted Information in Images
Wahba Memristive Coupled Neural Network Based Audio Signal Encryption
Al-Nuamy Enhance LFSR Cipher
Brock Linear Feedback Shift Registers and Cyclic Codes in SAGE
Brock Linear Feedback Shift Registers in SAGE
Al-Ismaily Dynamic block encryption with self-authenticating key exchange
Fea Analysis of the Multiple Excess-S Modulo K (MSK) Coding Scheme
Barlow Symmetric encryption with multiple keys: techniques and applications
Çetiner A new irregular clocked linear feedback shift register based stream cipher" go"
Al-Nuamy Enhance LFSR Cipher Louay A. Hussein Al-Nuamy Oman college of Management and Technology Hay Asem, PO Box 680, 320 Barka, Sultanate of Oman
Dawson et al. Evaluation of MULTI-S01 January 17, 2001
Fea Analysis of the Multiple Excess-S K (MSK) Coding Scheme

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees