JP3339688B2 - 非決定論的ミクスチャー発生器ストリーム暗号化システム - Google Patents

非決定論的ミクスチャー発生器ストリーム暗号化システム

Info

Publication number
JP3339688B2
JP3339688B2 JP51554395A JP51554395A JP3339688B2 JP 3339688 B2 JP3339688 B2 JP 3339688B2 JP 51554395 A JP51554395 A JP 51554395A JP 51554395 A JP51554395 A JP 51554395A JP 3339688 B2 JP3339688 B2 JP 3339688B2
Authority
JP
Japan
Prior art keywords
key
generator
binary
state
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.)
Expired - Fee Related
Application number
JP51554395A
Other languages
English (en)
Other versions
JPH09509748A (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

Description

【発明の詳細な説明】 技術分野 本発明は暗号システムに関し、特に計算上安全な公開
キー暗号化システムおよびデジタルサイン(認証)シス
テムを実現するための方法および手段に関するが、これ
らに限定されるものではない。
背景技術 最近の通信システムの設計において、データの安全性
(セキュリティ)は次第に重要な事柄となっている。オ
ブザーバー(すなわち侵入者)に対して通信中のメッセ
ージが無意味に見えるよう、メッセージをスクランブル
またはコード化する試みとして、これまで暗号化システ
ムが考案されている。暗号化システムの多くはキーのア
イデアを利用しており、まず通信しようとするメッセー
ジを発信者がこのキーでコード化し、メッセージの受信
者がこのキーを用いてこれをデコードするようになって
いる。このタイプの従来の暗号化システムでは、メッセ
ージの予定する受取人がメッセージを解読する前に、メ
ッセージの発信者が予定する受信者にまず暗号解読キー
を送らなければならないという欠点がある。更に暗号化
キーを変えるにはこれに対応して暗号解読キーも変えな
ければならず、この暗号解読キーを予定する受信者に送
信しなければならない。受信者へのキーの送信時にはオ
ブサーバーすなわち侵入者がこのキーを見つけるという
危険が常にある。
このように、キーを交換し合わなければならないとい
う問題を克服するため、公開キー暗号化システムが開発
された。このタイプのシステムは、1976年にジフィエお
よびヘルマン両氏によって提案されたものであり、この
システムでは通信システムへの各加入者は2つのキー、
すなわち通信システムのすべての加入者が公に利用でき
るようにされている公開キーと、各加入者自らが維持す
るプライベートキーを有する。各加入者のプライベート
キーは(選択またはランダム選択)のいずれかにより決
定され、プライベートキーから公開キーが発生されるよ
うになっている。プライベートキーは符号化キー(E)
と考えることができるが、プライベートキーは暗号解読
キー(D)と考えることができる。
公開キー暗号化システムはキーの間に存在する数学的
関係が、一方向関数となっていることが多い。すなわち
公開キーはプライベートキーより比較的容易に発生でき
るが、公開キーからプライベートキーを決定することは
計算的に不可能である(すなわち計算的リソースの数が
多数である場合に、プライベートキーの決定は恐らく一
生かかってもできないことであろう)。
加入者Aが公開キー暗号化システム内の加入者Bへメ
ッセージMを送信できるようにするため、ユーザーA
は、まず公開利用可能なレジスタすなわちファイルから
ユーザーBの公開キーを得て、これを利用してメッセー
ジMを暗号化する。暗号文CはメッセージMを暗号化し
た結果であり、ユーザーBへ送信され、ユーザーBは自
分のプライベートキーを用いて暗号文Cを変換し、メッ
セージMを得る。
メッセージMの発見を望み、公開キーを知っており、
恐らく暗号システムに完全な知識をも有するオブザーバ
ーすなわち侵入者にとって、公知のキーからプライベー
トキー(暗号解読キー)を決定しなければならない。先
に述べたように、このシステムはこのような演算が極端
に実行困難であるという事実に基づいている。他方、侵
入者は何も得ることができず、侵入した暗号化メッセー
ジとメッセージ言語の統計的性質の限られた知識しか有
することができない。
リベスト外に付与された米国特許第4,405,829号に
は、公開キー暗号化システムの一例が開示されている。
ここに開示されている一方向関数は極めて大きい数の因
数分解は極めて困難であるという事実を活用するもので
ある。しかしながらこのシステムは、大きな(例えば51
2ビットの)整数の広範な乗算が必要であり、これは極
めて低速なプロセスとなるという欠点がある。このシス
テムの別の欠点としては、使用される暗号化方法は完全
に決定論的であるということである。すなわち、同一の
受信者に同一のメッセージを後で送信した場合、同一の
暗号文が発生され、これにより侵入者すなわち盗聴者が
送信中のメッセージトラフィックから重要な情報を得る
ことが可能である。別の欠点としては、工学上の妥協、
すなわち速度と安全性の妥協を図ることができず、一
方、種々のタイプの暗号システム、例えば極端に高速で
適度な安全性を備えた暗号システム、または適度に高速
で安全性の高いシステムを設計できるという利点があ
る。更に別の欠点としては、汎用デジタルコンピュータ
と異なり極めて高速の特殊用電子デバイスを使って実現
すると、このシステムは大きくなって扱いにくいことが
挙げられる。
安全な通信システムの別の好ましい性質としては、メ
ッセージの発信者として表示された加入者がメッセージ
の真の発信者であるということを最終的に証明できるこ
とが挙げられる。これがいわゆるサインおよび認証の問
題である。
ヘルマン外に付与された米国特許第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の各々に対してプライベートキー
1〜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)に記載の方法を対応する二進数R
1〜nに等しい回数だけ適用することによって生じた疑
似ランダム二進数発生器のステートを計算することによ
り、発生器初期化ステートK1〜nを発生し、 (c)第1ミクスチャー発生器を形成するように出力
が組み合わされている一組(n)の疑似ランダム二進数
発生器に初期値K1〜nをロードし、 (d)キーストリームシリアル出力を得るように、ミ
クスチャー発生器をクロックし、その出力と二進平文メ
ッセージとを組み合わせ、暗号化されたビットストリー
ムを発生し、 (e)オープンキーQと共に暗号化されたビットスト
リームをメッセージ受信者に送信し、 (4)メッセージ受信者が、 (a)メッセージストリームからオープンキーQを抽
出し、 (b)ステップ(3)(a)に記載の方法を対応する
二進数D1〜nに等しい回数だけ適用することにより得
られる疑似ランダム二進数発生器のステートを、前記数
1〜nおよびD1〜nの各々に対して計算することに
より、発生器初期化ステートK1〜nを発生するように
オープンキーQをプライベートキーDで累乗し、 (c)ミクスチャー発生器を形成するように出力が組
み合わされた第2の組(n)の疑似ランダム二進数発生
器に発生器初期化ステートK1〜nをロードし、 (d)キーストリームシリアル出力を得るようにミク
スチャー発生器をクロック制御し、この出力と受信した
暗号化ビットストリームとを組み合わせて発信者の平文
メッセージを発生することを特徴とする、公開キー暗号
システムから成る。
第2の特徴によれば、本発明は、複数の二進数D
1〜nを含むプライベートキー(D)を選択し、前記数
1〜nの各々に対しプライベートキーD1〜nによっ
て示された対応する数に等しい数のクロックパルスまた
はステート変化の後に、所定の初期ステートから疑似ラ
ンダム二進数発生器のステートを計算し、計算された二
進ステートE1〜nの各々を公開キーEの成分として提
供することにより、プライベートキーを使用して公開キ
ー(E)を累乗する、公開キー暗号システム用の暗号化
装置であって、 一組の二進数1〜nを備えたランダム初期化キー
(R)を発生するための手段と、 前記数R1〜nの各々に対しランダム初期化キーR
1〜nによって示された対応する数に等しい数のクロッ
クパルスまたはステート変換の後に、所定の初期ステー
トから疑似ランダム二進数発生器のステートを計算し、
計算された二進ステートQ1〜nの各々をオープンキー
Qの成分として提供することにより、各番号を使って初
期値を累乗するための手段と、 前記数E1〜nおよびR1〜nの各々に対し、公開キ
ーEを累乗するのに使用される方法を対応する二進数R
1〜nに等しい回数だけ適用することによって生じる疑
似ランダム二進数発生器のステートを計算することによ
り、発生器の初期化ステートK1〜nを発生するよう、
公開キーEの成分をランダム初期化キーRの成分で累乗
するための手段と、 ミクスチャー発生器の出力を形成するように出力が組
み合わされた一組(n)の疑似ランダム二進数発生器を
含むミクスチャー発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜n
に等しい初期値をロードする手段と、 キーストリームシリアル出力を得るようにミクスチャ
ー発生器をクロック化する手段と、 平文メッセージを受信し、ミクスチャー発生器の出力
と二進平文メッセージとを組み合わせ、暗号化されたビ
ットストリームを発生する手段と、 オープンキーQと共に暗号化されたビットストリーム
をメッセージ受信者に送信するための手段とを備えた、
公開キー暗号システムのための暗号化装置から成る。
第3の特徴によれば、本発明は、複数の二進数D
1〜nを含むプライベートキー(D)を選択し、前記数
1〜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およびR
1〜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
に等しい初期値をロードする手段と、 キーストリームシリアル出力を得るよう、ミクスチャ
ー発生器をクロック制御するための手段と、 この出力と受信された暗号文とを組み合わせて平文メ
ッセージを発生するための手段とを備えた、公開キー暗
号システムのための暗号解読装置から成る。
図面の簡単な説明 第1図は、本発明を実施するのに利用できるMLSRG成
分発生器を備えたミクスチャー発生器の図である。
第2図は、第1図のミクスチャー発生器、すなわちジ
ェフ(Geffe)タイプの発生器の好ましい実現例の図で
ある。
第3図は、第2図に示されたシフトレジスタの構成例
の図である。
第4図は、暗号化装置のハードウェアの実現例のブロ
ック図である。
第5図は、暗号解読器のハードウェアの実現例のブロ
ック図である。
発明を実施するための最良の態様 次の説明は、本発明の好ましい実施例を開示するもの
であり、そのいくつかの変形例も述べている。本文献に
おける記載は、デジタルコンピュータにおいてソフトウ
ェアで本発明を実現するという観点からのものである
が、特殊用の電子ハードウェア構成部品を用いて全シス
テムのすべてまたは一部を実現することも可能であると
理解すべきである。かかる成分構成部品としては論理素
子、例えばLSIメモリ、シフトレジスタ、フィールドプ
ログラマブルゲートアレイ(FPGA)およびディスクリー
トロジックがあるが、これらのみに限定されるものでは
ない。
1.本発明の分類 時々、非対称キーシステムと称される公開キー暗号シ
ステムの分類方法は、プライベートキー/公開キーのペ
アに関連する一方向関数のタイプに従うものであり、特
に一方向関数を反転するため、(すなわち公開キーから
プライベートキーを推定するため)解くことが必要な数
学的問題に従っている。かかる3つの問題は、これまで
提案された実質的にすべての公開キーシステムから生じ
るものである。すなわち素因数分解、離散的対数および
ナップサック(knapsacks)の問題が生じている。例え
ば、最も知られている公開キーアルゴリズム、すなわち
RSAは、大きな整数の素因数分解が困難なことに基づく
方法である。真の公開キー暗号システムというよりもむ
しろ、公開キー配送システムであるジフィエ−ヘルマン
方法は、エルガマル(El Gamal)公開キー暗号システ
ムのような離散的対数問題に基づくものである。
本システムは数学的な用語では、離散的対数問題に基
づくものである。このことは、本システムでは有限体に
おける累乗法に数学的に等価的な演算を用いてプライベ
ートキーから公開キーを計算することを意味する。従っ
て、公開キーからプライベートキーを計算する意図でこ
のシステムを破壊するには、侵入者は有限体に対する対
数を計算しなければならない。計算上の効率、簡潔性お
よびスピードのみならず、安全性の理由から、本システ
ムの基礎となる有限体はガロア体GF[2p]であり、更に
pは2p−1が大きな素数(メルセンヌ素数)となるよう
に選択したものである。後に理解できるように、このシ
ステムは2つ以上のかかる体に対する累乗を実施するも
のである。
暗号化システムを分類する別の方法は、決定論的であ
るかまたは非決定論的であるかどうかに関連する。非決
定論的暗号システムに最初に言及したものは、カールニ
コライによると考えられる。名称は多数の方法で多少正
確に記載できるが、非決定論的暗号システムの性質の1
つは、同じキーを2回以上、所定の平文を暗号化するの
に用いた場合でも、これから得られる暗号文は非システ
マティックに、理想的には真にランダムに異なるという
のが、非決定論的暗号システムの特徴の1つである。本
システムは非決定論的暗号システムである。
平文を暗号文に変換する際、暗号システムは元の平文
の長さを増減したり、またはそのままにしておくことが
できる。本システムは暗号文に短いヘッダーブロックを
添えることを除き、平文と全く同じ長さの暗号文を発生
する。このヘッダーブロックの長さは特定の実現例に体
して選択されたパラメータに応じて決まるが、一般に64
〜256バイトの長さとなる。そのフォーマットは重要で
はない。
2.ミクスチャー発生器 本発明の中心となる構成要素は、独立した同一分布ラ
ンダム変数のミクスチャー(混合数)の確立理論から得
られる概念との類似により、ここでミクスチャー発生器
と称する新しいタイプの疑似ランダム二進キーストリー
ム発生器である。混合数発生器は単一の疑似ランダム二
進数発生器、例えば最大期間リニアシフトレジスタ発生
器(MLSRG)または最大期間乗算的合同発生器(MCG)か
ら成り、これら発生器の出力すなわちステートは他の成
分疑似ランダム二進数発生器の組のうちの1つの構成要
素(項)をメモリレス状に連続的に選択するのに使用さ
れる。第1図はミクスチャー発生器を示し、ここではミ
キサー発生器Gmは最大期間リニアシフトレジスタとなっ
ており、このレジスタの時間Tにおける最後の3つのス
テージは時間Tにおいて出力を使用すべき他の8つのML
SRG(G0、....、Gi、....、G7)の1つを選択するのに
使用される。ミキサー発生器Gmのクロックレートは成分
発生器Giのクロックレートの3倍とみなすことができ
る。図2に示されるより簡単な例は、この特殊なケース
であり、ジェフ発生器として知られるものである。第2
図において、ミキサー発生器Gmの最後のステージは時間
Tにおけるミキサー出力が1である場合には、頂部の発
生器Giの出力を選択し、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に
対応する生成多項式を表示するのに使用する。
本明細書で定義するミクスチャー発生器は必ずしもML
SRGまたは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つの数はいずれもメルセンヌ素
数を生じるものである。
ジェフタイプの発生器の時間(すなわち発生器の出力
が繰り返した後のクロックサイクル数)は、成分発生器
の時間の積、すなわち となることを数学的に証明できる。同じ出力シーケンス
を発生できる最も短い等価的線形シフトレジスタにおけ
るステージ数で示される発生器の複雑度は、nmnt+(1
+nm)nbで計算できる。類似の結果により、より複雑な
ミクスチャー発生器を分析することもできる。
3.一方向関数を実現するためのミクスチャー発生器の使
用 ミクスチャー発生器によって発生される極めて長い二
進シーケンスは多くの有効な性質を有する。出力ストリ
ームおよびその内部ステートのシーケンスを得るのに、
実際に発生器を作動させる、すなわちクロック制御する
ことが可能である。発生器の時間はかなり長いので、ど
れだけ速く発生器をクロック制御しても、妥当な時間内
にすべての出力ストリームのうちの一部のセグメントし
か発生できない。上記例の発生器より小さい発生器で
も、時間長さは2303の大きさとなる。
ミクスチャー発生器を使用すれば公知の開始ステート
から開始して特定の回数(どれだけの多くの回数でも)
だけ、個々の成分をクロック制御した場合の最終内部ス
テートがどのステートになるかを高速かつ効率的に計算
することが可能である。
しかしながら、逆の問いに対して計算で答えることは
できない。すなわち、各成分に対し最終ステートが判っ
ていても公知の開始ステートから初めてかかる最終ステ
ートに達するのに、各成分に対しどれだけの回数クロッ
ク制御することが必要であるかを決定するのは極めて困
難である。この問いへの解答は、いわゆる離散的対数問
題の解答方法にほとんど等しい。かかる問題を解くため
の公知の最良のアルゴリズムはD・コッパースミスによ
る方法であり、この方法は極めて効率的である。想像可
能なコンピュータでこのアルゴリズムを実行するのに要
する時間は極めて正確に予想できる。最も長い成分発生
器が長さ127である場合、極めて高速のコンピュータで
最も適度な時間長さで必要な計算を実施することが実際
的であるが、最も長い成分発生器長さが500以上の場合
には当てはまらない。利用可能な計算能力に関する最も
最適な予想のもとでも、かかる問題を解くことは計算的
に不可能なままになっている。更に、発生器の長さを適
当に選択することによる解答を得るうえの困難さを正確
に処理できる。500よりもかなり長い長さを備えた成分
を含むミクスチャー発生器は実現するのに効率的であ
り、実際的である。
4.プライベートキーおよび公開キー 本システムではプライベートキーはミキサー発生器の
成分をクロック制御すると仮定される任意の回数を指定
する(二進)数の組に等価的である。これらの数は、各
成分の周期的出力ストリーム内での(クロック数を単位
として測定される)距離として解釈できる。
プライベートキーに対応する公開キーは、プライベー
トキーの対応する部分によって示される回数だけ各成分
をクロック制御すべき場合に生じるミクスチャー発生器
の最終ステートである。
このシステムにおいて使用されるプライベートキーと
公開キーのペアと、他のほとんどのシステムで使用され
るプライベートキーと公開キーのペアとの間には大きな
違いがある。他の多くのシステムでは、特定の条件と制
限に従ってキーのペアを同時に自動的に発生しなければ
ならない。RPKシステムではプライベートキーの選択は
完全に自由で制限されていない。このプライベートキー
は、所望すれば指定されるよりもユーザーによって任意
に選択できる。このことは、大きな実用的な利点である
ばかりでなく、RPKシステムと他の特許された技術との
間の主要な違いも構成する。
図示されているジェフ発生器と関連させてプライベー
トキーの選択のためにユーザーAは3つの数Dm、Dt、Db
(ここでDmの範囲内にあり、Dtの範囲内にあり、Dbの範囲内にある)を選択するものとする。ここで、これ
ら範囲の各各は上記限界値を含むが、厳密には範囲の大
きい端部(二進ですべて1の値)は周期に等しいので、
排除しなければならないことに留意されたい。ユーザー
Aに対する公開キーは、Dm、DtおよびDbクロックサイク
ル(シフト)の後にそれぞれ3つの成分発生器のステー
トEm、Et、Ebを含む。ミクスチャー発生器、すなわちN
個の成分発生器に対してプライベートキーおよび公開キ
ーは3個でなくN個の成分ステートを有する。
プライベートキーまたは公開キーを形成するのに必要
なビット数はnm+nt+nbとなり、この値は1つの例に対
して使用される、より小さいほうのジェフ構造の場合に
は303であり、大きいほうの例に対する構造の場合では7
37であることに留意されたい。これらのビット数と広く
使用されているDESの従来の暗号化アルゴリズムで使用
される56キービットとを比較することができる。
本発明の理解を完全にし、かつその理解を助けるた
め、所定のプライベートキーから公開キーを計算するた
めの効率的な方法について次のとおり説明するが、この
ような説明は当業者には明らかであろう。これら方法の
基礎となる数学上の理由から、所定のプライベートキー
から公開キーを決定する方法を累乗法と称することが適
当である。
ミクスチャー発生器の将来のステートを計算するため
の方法が必要であることは明らかである。この理由は、
かかる発生器の時間が極めて長いことを考慮すれば、必
要なステート数の一部より多くを発生するのに充分長く
これら発生器を実際に作動させることは不可能であるか
らである。線形フィードバックシフト(MLSRG)レジス
タ発生器の将来のステートを計算するための極めてコン
パクトで効率的な方法が存在しており、この方法は、レ
ジスタのステージの内容(すなわちそのステート)を1
つの中間的x内の多項式の係数として解釈することに基
づいている。レジスタはn個のステージを有するので、
ステージの内容はxの級数の係数、すなわち1,x,
x2,....xn-1を表すことができる。かかる多項式は次数
が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を計算することに等しい。こ
こで、因数xはD回を示す。この結果得られる積は、xD
モジュロp(x)と表示できる。このようにDを指数と
して使用することはxDモジュロp(x)を計算する効率
的な方法では二進級数1,x,x2,x4,x8,……−、x2k、…
…、x2n-1(すべてモジュロp(x)である)を示す
(n−1)個の多項式をあらかじめ計算し、作表し、次
にDの二進表示内の1のビットに対応する多項式を共に
乗算(再び各時間ごとにモジュロp(x)を行う)する
ことが行われる。
多項式をモジュロp(x)で乗算するこのような概念
的方法は、実際にはシフトレジスタ自体を使って極めて
簡単かつ効率的に実行できる。実際にはめんどうな乗算
は不要である。
これを説明するため、発生器を1回クロック制御する
ことは、その内容に対応する多項式をxで乗算すること
に等しいので、すなわち発生器をj回クロック制御する
ことによりx1だけ乗算することができると考える。かか
る中間的倍数に対応するステートを(例えばレジスタ
に)セーブし、対応する係数モジュロ2(すなわちXOR
演算)するだけで任意の多項式の乗算を行う。このよう
な方法により、モジュロp(x)の積を小さくする際の
多項式の除算をする別個の方法が不要となる。すべての
方法を極めて短時間で行うための特殊な回路またはチッ
プを設計することは、簡単なことであり、所望する場合
にはソフトウェアで容易にエミュレートできる。
5.暗号化 上記のようにユーザーAのためのプライベートキーD
は3つの番号(Dm、Dt、Db)から成るが、ユーザーAの
公開キーEは3つの番号(Em、Et、Eb)から成り、これ
ら番号は公知であり、おそらく公共の住所録ファイルに
記載されており、時間0における所定の公知の初期ステ
ートa0=(am0、at0、ab0)からスタートした時間Dm、D
tおよび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)を計算する。多項式表示ではこれを と記載することができる。ここでj=n、t、bであ
る。ユーザーBはプライベートキーから公開キーを計算
したのと同じようにミクスチャー発生器の成分シフトレ
ジスタを使用しAの公開キーの乗算により二進の級数E
2k(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バイトのブロック
より短い端部ブロックが続く可能性のあるチャンクを25
6バイトブロックのシーケンスと見る方法がある。証明
するように、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
アルゴリズムまたはNIST安全ハッシュアルゴリズムのよ
うな別の方法を使用できることを示唆できる。
次は、チャンクサイズを(簡略化のため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を発生する。この16進表示は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であるからである。多項式表示では、こ
の事実は次のように表示できる。
ER=(xD=K=(xR=QD このことは、受信者が暗号化のため発生されたランダ
ム初期化キーRを知る必要なくKを計算できたことを意
味している。次にユーザーAは、最終初期化ステートK
からスタートしてミクスチャー発生器を作動し(すなわ
ち連続ステートを通過するように発生器をクロック制御
し)、暗号化中に実行された組み合わせプロセスを反転
(すなわちアンドゥー)するのに必要なキーストリーム
ビットを得る。ミクスチャー発生器は暗号化および暗号
解読の双方のためにステートKからスタートされるの
で、キーストリーム出力は双方のケースで同一となる。
暗号化のために使用される組み合わせ方法が、単なる
平文とキーストリームとのXOR演算を実行するとした場
合、この結果生じる暗号文と同じキーストリームを再び
XOR演算すれば平文が再現されることになる。先に述べ
た好ましい組み合わせ方法では、各連続するブロックに
対し逆の順序で疑似ランダム転置および置換演算を反転
し、平文から暗号文を再現することが容易である。
先に述べた好ましい組み合わせ方法に関する、暗号解
読に必要な特定のステップは次のとおりである。
1.プライベートキーを使用し、平文のヘッダーに含まれ
る公開キーQを累乗し、最終初期化キーKを計算する。
これを行うための方法は、暗号化中に公開キーをランダ
ム初期化キーで累乗するのに使用した方法と同じであ
る。次に、ミクスチャー発生器のステートはKで与えら
れる。
2.暗号文本体の各ブロックに対し、ミクスチャー発生器
を作動させ、キーストリーム出力の一部を得てこれを使
用し、疑似ランダム順列テーブルを発生する。
3.次にミクスチャージェネレータを作動し、別のキー出
力を得てこれと暗号文ブロックとをビットごとにXOR演
算するか、またはルックアップテーブルを使用してバイ
トごとにこれらを組み合わせ、中間文ブロックを発生す
る。このステップは暗号化中に実行された置換プロセス
を逆に進むものである。
4.先に作成された順列テーブルによって定義された疑似
ランダム順列を適用する。このステップは暗号化中に実
行された転置方法を逆に進むもので、元の平文のブロッ
クを発生する。
先に述べた好ましい組み合わせ方法では、反転の若干
より複雑な方法が必要である。発生器を初期化するのに
とられるステップは、単に組み合わされた暗号文の解読
のためのステップと同じである。しかしながら、組み合
わせ方法をアンドゥーする方法では、まずチャンクごと
に休止を繰り返しながら進むキーストリームの等価的部
分を使用し暗号化方法において平文に対して適用される
順列を反転するのに必要な方法に対応する代表的チャン
クの代表的疑似ランダム順列を発生するステップを実行
する。次に、現在の暗号文チャンクと休止を繰り返しな
がら進むキーストリームのその後の連続するバイトとを
XOR演算する。これにより、平文の、解読されているが
疑似ランダム順列バージョンが発生する。第3に、代表
的チャンクに適用された同じ順列を平文の順列バージョ
ンに適用し、平文を再現する。最後に、現在のチャンク
の終了部までの解読文の現在のCRC値を計算し、現在のC
RC値に応じたバイト数だけ休止を繰り返しながら進むキ
ーストリームをクロック制御する。チャンクの各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、3
7 XOR 55=42となる。従って、中間暗号文は43 44
41 42となる。
4.まず中間暗号文の0番目のバイトと2番目のバイトを
スワッピングし、次に1番目のバイトと3番目のバイト
をスワッピングする(41 42 43 44)ことによりスワ
ップテーブルを適用する。
5.この結果は41 42 43 44となり、これはASCIIスト
リングABCD、すなわち正確に暗号解読された平文の16進
表示である。
6.この点までの平文に対するCRC321を計算する。以前と
同じように、最終バイトはA5であり、以前と同じように
次のチャンクを暗号解読する前に休止を繰り返しながら
進むキーストリームの次の165バイトを発生し、廃棄す
る。
8.ハードウェアの実現 本システムは、ソフトウェアでの実現が容易である
が、顕著な利点の1つとして、極めて高速の特殊用ハー
ドウェアでも実現できるということが挙げられる。超大
規模集積回路技術は極めて急速に進歩しているので、特
定の実現例の詳細はすぐに時代遅れとなってしまう。し
かしながら、かかる実現の相対的な容易性または困難性
および達成可能な速度に展望を与えるような既製の構成
部品が存在してる。例えばカナダの会社であるニューブ
リッジマイクロシステムズ社によって製造されているCA
34C168キー管理プロセッサのようなGF[2n]のような累
乗を実行する特殊チップも存在している。このチップは
16メガまで作動し、フィールドGF[2593]のような累乗
を行うTTLコンパチCMOSデバイスである。このチップの
スループットは毎秒300Kビットである。このフィールド
は、本システムに対しては必ずしも理想的でないが、こ
れらの仕様は、公開キー、オープンキーおよび最終発生
器初期化キーを計算できるレートのあるアイデアを提供
するものである。上記会社は20Kビット/秒で真のラン
ダムビットストリームを発生するRBG1210ランダムビッ
ト発生器を製造しており、かかるデバイスは本発明で必
要なランダム初期化キーRを発生するのに適している。
極めて高速で作動できる極長シフトレジスタおよびディ
スクリートのロジックゲートも既製品として入手でき、
カスタムチップとなるように容易に集積化でき、または
フィールドプログラマブルゲートアレイとして実現でき
る。
第4図は、暗号化装置のハードウェアによる実現例を
示しており、一方、第5図は暗号解読方法のハードウェ
アによる実現例を示しており、いずれもハードウェアで
先に述べた機能を実行している。
9.サインおよび認証 先の方法の主要で、かつ重要な変形例は、受信し、解
読した平文が特定のソース(すなわちユーザーB)から
発信されたものであり、偽造されたものでないことを暗
号メッセージの受信者(本明細書の用語例ではユーザー
A)が確認できるようにすることにある。この条件は、
オリジナルなものを証明し、他の誰かがサインを偽造で
きないように、何人もサインと公に入手可能な情報とを
比較できるような性質を備えたサインをメッセージに添
えることができるようにすることである。この条件は、
新しいメッセージまたは偽のメッセージのためのサイン
を発生するよう、先のメッセージのサインを使用するこ
とができないようにしなければならないことも意味して
いると解すべきである。従って、かかるデジタルサイン
はメッセージに依存したものであることが重要である。
ここで、公開キー暗号システムの基礎となる、まだ明
瞭に述べられていない仮定とは、(アドレスおよびそれ
らの公開キーのリストを含む)公開ファイルが不正な変
更に対して安全でなければならないことを明示すること
である。このようなケースでない場合、侵入者は他人の
公開キーを自分のキーとを交換し、不正が発覚するまで
犠牲者の安全性を危うくすることができる。かかる不正
な扱いに対するかかる公開ファイルの安全性は、通常は
パスワードシステムまたはコールバック方法およびとき
どきは物理的手段によって得られている。
ここで、サインコミュニケーションを望む個人が登録
した適当な情報を保持する安全な公共のサインアーカイ
ブ(文書館)が存在し、このアーカイブは誰でも調査の
ために利用できるが、正当な加入者以外の者が変える恐
れがないように、安全になっていると仮定する。更に、
このアーカイブの安全性は、加入者が自分のファイルに
付加的サイン情報を添付できるが、システム管理者が変
更の記録と追跡をできるようにする適当な監査トレール
から離れることなく、現在の情報を変更したり削除する
ことができないと仮定する。また、かかる予防手段は従
来の種々のサンプルサインの周りにめぐらした予防手段
から過度に異なるものではないことに言及したい。
公共サインアーカイブは暗号システム用の公開キー情
報を含むアーカイブと同じようにできるが、2つのファ
イルは異なるファンクションおよび恐らく異なる法的ス
テータスを有することに留意したい。変更およびアクセ
スのコストと頻度も異なる構造と異なる管理条件を有す
ることができ、これら2つの公にアクセス可能なファイ
ルを分離することが望ましいことが示唆される。
バックグラウンドとして、メッセージのためのCRC
(周期冗長性チェック)の値の概念を要約する。CRC値
はファイルおよび通信の完全性のインディケータとして
共通に使用されており、種々の国際的規格(例えばCCIT
T規格)が存在している。1つのメッセージのCRC値は、
一般に16または32ビット長であり、メッセージ文内のわ
ずかな変化、ひずみまたは誤りが完全に異なるCRC値を
生じさせるようにメッセージから計算される。この計算
方法は、本質的には特定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の正当性
を証明したい場合、受信者は実際のメッセージに対する
一般化されたCRC値▲C ▼を計算し、これをサインS
MおよびユーザーBを識別する名前または他の情報と共
にこれを認証のための公共サインアーカイブすなわち認
証機関へ送る。公共サインアーカイブまたは認証機関は
プライベートキーDSを使用してそのサインを解読し、そ
の内部に含まれる一般化されたCRC値と▲C ▼の値
とを比較し、含まれていたパスワードとユーザーBに対
し登録された認証パスワードとを比較する。これらの双
方が一致すれば、公共サインアーカイブはサインをユー
ザーBによるメッセージMの正当なサインとしてサイン
を有効にする。
メッセージの真のサイン者しかサインSMを発生できな
いことは、上記記載より理解できよう。そのようにサイ
ンをするには、ユーザーBの認証パスワードとメッセー
ジの一般化されたCRC値の双方の知識が必要であるから
である。暗号化された一般的CRC値は、これに対応する
メッセージの1つの一致するので、別のメッセージにサ
インしようとするため有効なサインを偽造する試みは成
功しない。この方法の利点は、メッセージをサインする
たびに公共認証アーカイブに付加的情報を挿入する必要
がないことである。
次に、公開キー認証システムの別の好ましい実施例に
ついて説明する。ユーザーBがユーザーAへ送るメッセ
ージMにサインしたい場合、乱数SMm、SMtおよびSMb
発生し、成分発生器ごとにCM+SMおよび を計算する。次にユーザーBは公共サインアーカイブに
自分の名前でペア(CM+SM、VM)を登録し、メッセージ
ヘッダーにSMを添えることによりメッセージにサインを
する。既に公共サインアーカイブにVmが登録済みであれ
ば、ユーザーBは固有のVmが決定されるまで新しいSm
よび対応するVmを計算してこのプロセスを繰り返す。
(すなわち公共サインアーカイブには、まだ未登録であ
る。) 上記方法が正当なサインを保証するため、最初にメッ
セージを所有し、公共サインアーカイブに検査を依頼で
きる者が真のメッセージに対するCRC値▲C ▼を計
算し、SMを加え、その結果が公共サインアーカイブ内に
集められた値と一致するかどうか証明することができる
ように監視する。更に誰もが を計算し、これが公共サインアーカイブ内の値と一致す
るかどうか実証することも可能である。しかしながら、
本発明の基礎となる暗号化方法は(後述するように)適
度に安全であると仮定すれば、ユーザー以外の者がこれ
ら条件に合致するサインSMを判断することはできない。
他の認証方法で共通するように、同じCRC値と共に偽の
メッセージを発生する可能性は、特定のメッセージ構
造、すなわちプロトコルを主張することによって妨げる
ことができるが、本方法が3つ以上の異なる多項式を利
用することにより、かかる予防策はほとんと不要とな
る。
10.成分発生器としての乗法的合同発生器 いわゆる乗法的合同発生器(MCG)、すなわちレーマ
ー発生器は、疑似乱数発生器としてコンピュータシステ
ムで広く使用されている。このタイプの発生器の最も簡
単な変形例では、式xn=cxn-1(mod q)を使用して番
号のシーケンスを発生する。ここで、qは素数であり、
cは2とcが単位の素原子根(primitive noot of u
nity)となるように選択された(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との差異が判
る。このことは、最初は不可能であったGF(2127)の対
数を計算することは、現在では適度に困難なことにすぎ
ず、最新のメインフレームコンピュータで数時間を要す
るにすぎないことを意味している。第2図に示されたジ
ェフ構造で長さ87、89および127の3つのMLSRGを使用し
た、本明細書の最初で示した小さい例に関して、これら
数字は計算上の適度なレベルが得られることを意味して
いる。
89、127および521のMLSRG長さを備え、同じジェフ発
生器構造を使用する示唆されたより大きい例では、ここ
に提案する公開キーシステムはパソコンでも容易に実現
できるが、その計算上の安全性の例はより高いものであ
る。長さ521の最長の発生器だけを検討すると、上記数
字はGF(2521)に対する対数を計算するのに必要な演算
数は、最近に近いと考えられる現在知られている最良の
アルゴリズムを使用した場合、約250の大きさとなる。
現在のコンピュータの大きさが数桁改善されると仮定し
ても、これら状況では提案された公開キーシステムは計
算上安全である。すなわち計算リソースと無関係に、す
べての利用可能な情報から未知のプライベートキーを計
算することは不可能である。更に、暗号化および解読に
必要な計算力を最適に増加し、付加的キー長さの結果と
して公開キーファイルに過度の負担をかけることなく、
更に大きい成分発生器を使用することができ、この結
果、システムの安全性を任意のレベルまで高めることが
できる。
シフトレジスタ発生器の代わりに乗法的合同発生器を
使用することにより、離散的対数の問題の計算上の困難
性が増し、よって暗号化方法の安全性が高まる傾向があ
る。これはGP(2P)に対してでなく、qが素数である場
合GF(q)に対して対数を計算しなければならないから
であり、この場合に対する現在知られている最良のアル
ゴリズムは効率が悪く、法qがメルセンヌ素数2P−1で
ある場合、次数 の演算が必要である。例えばこの演算は、q=127であ
る場合、大まかに言って約240〜1012回の演算となり、
これはGF(2p)の場合よりも数千倍多い。
次に、キーストリーム発生器および先に述べた組み合
わせ方法に対する選択された平文の侵入への観点から、
システムの安全性について検討する。このタイプの侵入
は、暗号解読者がすべての公開キーにアクセスし、解読
者が平文と暗号文のメッセージの対応する対を発生する
のに使用できるキーストリーム発生器(本例ではミクス
チャー発生器)へ直接アクセスすることを含む完全な暗
号システムを入手している場合の侵入である。このよう
な状況は、暗号解読者が発生器の任意の初期ステートか
ら開始してキーストリーム出力から選択した長さの任意
の数のサブシーケンスを検討できることを意味してい
る。ここで、ミクスチャー発生器の長さは極めて長い
(説明したジェフ構造の最初のものに対してでも2303
ことに留意されたい。
キーストリームのうちの多数のかかる部分(サーチフ
ラグメント)を発生し、これらの各々と未知の暗号文と
のスライド相関化を実行することにより、暗号解読者は
統計的解析により検出できるオーバーラップを発見しよ
うとする。検出可能なオーバーラップの可能性はメッセ
ージの長さと発生器が作動できる速度に依存するが、確
率論的解析はオーバーラップする可能性は極めて小さい
と示す。例えば発生器が毎秒1000ギガビット(毎秒240
ビット)でクロック制御でき、平文長さが平均1ギガビ
ット(230ビット)であり、わずか210ビット(1キロビ
ット)長さのサーチフラグメントを使用するスライド相
関器により、サーチフラグメントとのオーバーラップを
瞬間的(すなわち0時間ないに)有効に検出できると仮
定しても、より小さいジェフタイプの発生器の場合、特
定の暗号文を探すのに予想される時間は2240秒もの大き
さとなる。
確率論的解析も同じ仮定をした場合、ランダムに選択
された初期化キーに対応するメッセージに対するオーバ
ーラップの可能性は無視できるものであり、よってこの
方法(いわゆる共通誕生日問題)に基づく公知の平文へ
の侵入も徒労に終わることを示している。更に、未知の
暗号文に対応する平文の部分が暗号解読者により知られ
ている(または推定できる)と仮定した場合でも、かか
る既知の部分の長さが発生器の複雑さすなわち図示され
たジェフタイプの発生器よりも小型のものでも58193の
複雑さを越えない限り、(実行キー暗号化器の解答と同
じように)キーストリームを拡張し、平文の残りの部分
を解くことができない。このような離間した偶然性は単
一ランダム初期化キーにより暗号化すべき平部分の最大
長さを制限し、必要な場合、より長いメッセージをセグ
メント状に分けることによって解決できるが、その結果
生じる性能上の欠点に鑑み、安全性の向上を評価すべき
である。
解読者が出力キーストリームと成分発生器との間の相
関性を発見しようとする、より簡単な形態の相関性への
侵入は、数学的な文献に記載されいるが、成分発生器の
時間が極めて長く、その自動相関化およびクロス相関化
の性質が優れているので、本システムでは効率的でな
い。
12.小さい例 暗号化用には有効ではないが、明確にするため、ここ
に提案するシステムの作動を示すため、小さい例を含め
る。この例は、第2図に示されたジェフ構造のMLSRG成
分を使用するものである。第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=x2x1を計算すると、ステート01が得られる。
これは次の式を与える。
b)Dt=6(二進で110)であるので、まず多項式x4
対応するステート110(多項式の係数011)を頂部発生器
にロードし、次にこれを2回クロックし、x2を乗算する
ことによりx6=x4x2を計算すると、ステート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
表示は01000001 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=x4x2xを計算する。これら級数の最後の2つ
は、1つの0でない係数しか含んでいないので、底部発
生器に01000(x4に対応するステート)をロードし、発
生器を2回クロックし、最後に1回クロックすることは
容易である。この結果得られるステートは10101とな
る。
よって、メッセージヘッダーは次のようにQを含む
(付加的メッセージ固有の情報も含むことができる)。
次のステップはKを計算することである。これは、同
様な乗算方法により行うが、今回は公開キーEの成分に
対応する多項式をRで示される級数で累乗することによ
り行う。
g)まずEmに対応する多項式を級数Rm=2で累乗するこ
とによってKmを得る。本例ではEmは0次の多項式 であるので、任意の級数に累乗される1は1となるのと
同じように、計算は不要である。従って、KmはEmと同じ
であり、ステート01に対応する。このような状況は実際
には決して予想できないものである。このような状況
は、Dmをミキサー発生器の時間長さに等しい3と選択す
ることによって生じる。システムを実現する際、Dまた
はRに対する明らかに良好でない選択をすることは、簡
単に拒否される。
h)次に、Etを級数Rt=3で累乗する。これを計算する
にはxでなくてEtの二進級数をリストアップする表2に
類似する表を作成する必要がある。本例のためには であるので、E2 tを計算するだけでよい。Etは多項式1
+x2に対応するステート011であるので、頂部発生器に
このステートをロードし、これを2回クロックし、100
を得て、次にこれら値のモジュロ2の対応する係数を加
え、E2 tに対応するステート111を得る。次に、発生器を
再び使用してこの値にEtを乗算する。この乗算が発生器
に111をロードし、これを2回クロックして001を得て、
これらのモジュロ2の係数を加え、最後にKtに対する11
0を得ることによって行う。
i)Kbを計算するため、Ebを級数Rb=7で累乗する。ま
た、E4 bおよびE2 bを得るには表2に類似する表を作成す
る必要があるので、 を計算する。Eb=11001=x2+x3+x4を得るので、Ebx2
=10110、Ebx3=01011およびEbx4=00101(これらは発
生器をクロックすることによって得られる)のモジュロ
2の合計としてE2 bを得るので、これによりx3+x4に対
応する11000が得られる。これを2乗すると、10000とし
てのE4 bが得られ、最後に01101としてのKbが得られる。
従って、ステートKは次の式で示される。
j)これらステートからスタートする3つの発生器から
の出力ストリームは次のとおりとなる。
ミキサー:101101101101101101.... 頂部 :011100101110010111001.... 底部 :1011000111110011010010000101011.. k)この結果得られるミクスチャー(キーストリーム)
の最初の16ビットは次のようになる。
0011001111100001.... l)このストリームと平文との排他的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+521=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回以上同じ平文を暗号化する
ことがシステムに求められている場合でも、この結果生
じる各暗号文は、コードブックの収集を防止し、他の暗
号解読の攻撃を失敗させるため、非システマティックな
態様で、他の暗号文と異なる。
・実現が簡単で、かつ効率的であること このシステムを実現するのに必要な不可欠な計算は、
計算機器に対する要求を最小にしながらハードウェアま
たはソフトウェアで達成することができる。これによ
り、埋め込みシステム、注文すなわち専用ハードウェ
ア、またはスマートカードのみならず、広範に入手でき
るプロセッサ上で走るソフトウェアでの実現を容易にす
るものである。
フロントページの続き (31)優先権主張番号 260712 (32)優先日 平成6年6月9日(1994.6.9) (33)優先権主張国 ニュー・ジーランド(NZ) (56)参考文献 池野信一,小山謙二,“現代暗号理 論”,日本,社団法人電子情報通信学 会,1989年 5月20日,3版,P.67− 76,175−186 Willi Meier,“Corr elation Properties of Combiners with Memory in Stream Ciphers”,Journal o f CRYPTOLOGY,1992年 5 月,p.67−86 (58)調査した分野(Int.Cl.7,DB名) H04L 9/08 H04L 9/24 H04L 9/32 G09C 1/00

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】暗号化装置と暗号解読装置とを有する暗号
    化システムにおいて、前記暗号化装置は前記暗号解読装
    置に固有の公開キーを使って平文メッセージPを暗号化
    し、前記解読装置は公開キーが引き出された秘密のプラ
    イベートキーを使用して暗号化メッセージを暗号解読す
    る、該暗号化システムは更に、 (1)複数の二進数D1〜nを含むプライベートキー
    (D)を選択する手段、 (2)前記数D1〜nの各々に対してプライベートキー
    1〜nによって得られた対応する数に等しい数のクロ
    ックルスまたはステート変化の後に所定の既知の初期ス
    テートから疑似ランダム二進数発生器のステートを計算
    し、公開キー(E)の成分として計算された二進ステー
    トE1〜nの各々を提供することによりプライベートキ
    ーを用いて累乗により公開キー(E)を計算する手段、
    を含み (3)前記暗号化装置は、 (a)一組の二進数R1〜nを含むランダム初期化キー
    (R)を発生する手段、数R1〜nの各々に対してラン
    ダム初期化キーR1〜nによって示された対応する数に
    等しい数のクロックパルスまたはステート変化の後に、
    所定の既知の初期ステートから疑似ランダム二進数発生
    器のステートを計算し、オープンキーQの成分として計
    算された二進ステートQ1〜nを提供することにより、
    累乗によりオープンキーQを計算する手段、 (b)公開キーE1〜nの成分をランダム初期化キーR
    1〜nの成分により累乗し、前記数E1〜nおよびR
    1〜nの各々に対し、前記計算手段(2)の演算から生
    じる疑似ランダム二進数発生器のステートを対応する二
    進数R1〜nに等しい回数だけ計算することにより、発
    生器初期化ステートK1〜nを発生する手段、 (c)第1ミクスチャー発生器を形成するように出力が
    組み合わされている一組(n)の疑似ランダム二進数発
    生器に初期値K1〜nをロードする手段、 (d)キーストリームシリアル出力を得るように、第1
    ミクスチャー発生器をクロックする手段、 (e)前記キーストリーム出力と二進平文メッセージP
    とを組み合わせて暗号化されたビットストリーム暗号文
    Cを発生する手段 (f)暗号文CをオープンキーQに加え、メッセージス
    トリームを発生する手段、 (g)該メッセージを前記暗号解読装置に送信する手
    段、を含み (4)前記暗号解読装置は、 (a)メッセージストリームからオープンキーQを抽出
    する手段、 (b)前記暗号化装置の計算する手段と同様のプロセス
    を対応する二進数D1〜nに等しい回数だけ適用するこ
    とにより得られる疑似ランダム二進数発生器のステート
    を、前記数Q1〜nおよびD1〜nの各々に対して計算
    することにより、発生器初期化ステートK1〜nを引き
    出すようにオープンキーQをプライベートキーDで累乗
    する手段、 (c)ミクスチャー発生器を形成するように出力が組み
    合わされた第2の組(n)の疑似ランダム二進数発生器
    に発生器初期化ステートK1〜nをロードする手段、 (d)キーストリームシリアル出力を得るように前記ミ
    クスチャー発生器をクロック制御し、この出力と受信し
    た暗号化ビットストリームとを組み合わせて前記平文メ
    ッセージを発生する手段、を含んで成る、 前記暗号化システム。
  2. 【請求項2】前記ミクスチャー発生器が一組(n)の最
    大期間線形シフトレジスタ又は乗法合同数発生ルーチン
    発生器を備え、該一組の内の1つの発生器がクロック制
    御されて前記キーストリームシリアル出力を発生するた
    めに該組内の他(n−1)の発生器の出力を疑似ランダ
    ムに選択するようになっている、請求項1記載の暗号化
    システム。
  3. 【請求項3】前記ランダム初期化キーRを発生する手段
    が、 (1)任意時間tにおけるステートが複数の座標
    (Xt1、Xt2、....、Xtn)によって示された点Xtとして
    表示できる電子ポインタデバイスを操作する手段と、 (2)複数の時間t=1、2、....、nにおける前記入
    力デバイスのステートを表示する点Xtを測定する手段
    と、 (3)前記複数の時間のサブセットに対応する前記測定
    された点のサブセットを選択する手段と、 (4)このように選択された点すべての座標の数値関数
    を計算する手段と、 (5)このように計算された数値関数の値を表す複数の
    二進数として、所望の乱数を発生する手段とを備えた、
    請求項1記載の暗号化システム。
  4. 【請求項4】前記暗号文Cを発生するように前記キース
    トリームと二進平文Pの各成分とを組み合わせる前記手
    段が、 (1)シリアルキーストリームの出力の複数のバイトを
    使用して、バイト1、...、niの疑似ランダム順列Tを
    発生する手段と、 (2)中間部分Iiを形成するために順列Tに従って部分
    Pi内にバイトniの相対位置を順列する手段と、 (3)中間部分Iiの各バイトBに対し、 (a)シリアルキーストリーム出力の1つ以上のバイト
    を発生し、 (b)バイトBおよびシリアルキー出力の前記発生され
    た少なくとも1つのバイトに応じた値で該バイトBを置
    換することにより暗号化されたビットストリームのi番
    目の部分Ciを形成する手段とを備える、請求項1〜3の
    いずれかに記載の暗号化システム。
  5. 【請求項5】連続する各部分Piに対して、開始点からPi
    までの二進情報Pのすべての部分に対する累算的な現在
    メッセージダイジェスト値Diを計算する手段と、現在の
    メッセージダイジェスト値Diに依存する数の付加的バイ
    トのシリアルキーストリーム出力を得てこれを廃棄する
    手段を更に含む、請求項4記載の暗号化システム。
  6. 【請求項6】複数の二進数D1〜nを含むプライベート
    キー(D)を選択し、前記数D1〜nの各々に対しプラ
    イベートキーD1〜nによって示された対応する数に等
    しい数のクロックパルスまたはステート変化の後に、所
    定の初期ステートから疑似ランダム二進数発生器のステ
    ートを計算し、計算された二進ステートE1〜nの各々
    を公開キーEの成分として提供することにより、プライ
    ベートキーを使用して公開キー(E)が累乗される、暗
    号化システム用の暗号化装置であって、 一組の二進数R1〜nを備えるランダム初期化キー
    (R)を発生するための手段と、 前記数R1〜nの各々に対しランダム初期化キーR
    1〜nによって示された対応する数に等しい数のクロッ
    クパルスまたはステート変換の後に、所定の既知の初期
    ステートから疑似ランダム二進数発生器のステートを計
    算してオープンキーQの成分として計算された二進ステ
    ートQ1〜nの各々を提供することにより、累乗により
    オープンキーQを計算するための手段と、 前記数E1〜nおよびR1〜nの各々に対し、公開キー
    Eを累乗するのに使用される方法を対応する二進数R
    1〜nに等しい回数だけ適用することによって生じる疑
    似ランダム二進数発生器のステートを計算することによ
    り、発生器の初期化ステートK1〜nを発生するよう、
    公開キーEの成分をランダム初期化キーRの成分で累乗
    するための手段と、 ミクスチャー発生器の出力を形成するように出力が組み
    合わされる一組(n)の疑似ランダム二進数発生器を含
    む該ミクスチャー発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜n
    等しい初期値をロードする手段と、 キーストリームシリアル出力を得るようにミクスチャー
    発生器をクロックする手段と、 平文メッセージを受信し、ミクスチャー発生器の出力と
    二進平文メッセージとを組み合わせ、暗号化されたビッ
    トストリームを発生する手段と、 暗号文CをオープンキーQに加え、メッセージストリー
    ムを発生する手段と、 メッセージストリームをメッセージ受信器に送信するた
    めの手段とを備える、暗号化装置。
  7. 【請求項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の成分
    により累乗し、プライベートキーを用いて公開キーを累
    乗すると先に定義したプロセスを、対応する二進数R
    1〜nに等しい回数だけ適用することによって生じる疑
    似ランダム二進数発生器のステートを前記数E1〜n
    よびR1〜nの各々に対して計算することにより、発生
    器初期化ステートK1〜nを発生する手段、 (3)第1ミクスチャー発生器を形成するように出力が
    組み合わされている疑似ランダム二進数発生器の組
    (n)に初期値K1〜nをロードする手段、 (4)キーストリームシリアル出力を得るために、前記
    ミクスチャー発生器をクロックし、この出力と二進平文
    メッセージとを組み合わせて暗号化されたビットストリ
    ーム暗号文Cを発生する手段、 (5)オープンキーQとともに、暗号化されたビットス
    トリームを暗号解読装置に送信する手段を含み、 該暗号解読装置が、 暗号化されたビットストリームからオープンキーQを抽
    出する手段と、 オープンキーQを得るための、上記記載のプロセスを対
    応する二進数D1〜nに等しい回数だけ適用することに
    より生じる疑似ランダム二進数発生器のステートを前記
    数Q1〜n及びD1〜nの各々に対して計算することに
    より、発生器の初期化ステートK1〜nを発生するよう
    プライベートキーDの成分によりオープンキーQの成分
    を累乗する手段と、 ミクスチャー発生器を形成するよう出力が組み合わされ
    る一組(n)の疑似ランダム二進数発生器と、 前記組(n)の疑似ランダム二進数発生器にK1〜n
    等しい初期値をロードする手段と、 キーストリームシリアル出力を得るために、ミクスチャ
    ー発生器をクロックする手段と、 この出力と受信された暗号文Cとを組み合わせて平文メ
    ッセージPを発生する手段とを備える、暗号化システム
    のための前記暗号解読装置。
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
NZ250475 1993-12-16
NZ25047593 1993-12-16
NZ260712 1994-06-09
NZ26071294 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 JPH09509748A (ja) 1997-09-30
JP3339688B2 true 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) NZ277128A (ja)
WO (1) WO1995015633A1 (ja)

Families Citing this family (122)

* 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.
EP0920753B1 (en) * 1996-08-19 2006-12-13 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
US6580814B1 (en) * 1998-07-31 2003-06-17 International Business Machines Corporation System and method for compressing biometric models
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
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
EP1161811B1 (en) * 1999-03-22 2007-08-29 Agency for Science, Technology and Research Method and apparatus for encrypting and decrypting data
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
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
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
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
AU2001235936A1 (en) * 2000-02-23 2001-09-03 Smart Lite Digital Solutions Inc. Integrated pointing device-smartcard transaction security system
JP2001255814A (ja) * 2000-03-10 2001-09-21 Murata Mach Ltd 復号方法、復号装置、及び復号プログラムの記録媒体
WO2001074005A1 (en) * 2000-03-29 2001-10-04 Hammersmith Wolfgang S 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
US7564970B2 (en) * 2004-08-12 2009-07-21 Cmla, Llc Exponential data transform to enhance security
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
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
JP2004157168A (ja) * 2002-11-01 2004-06-03 Sanyo Electric Co Ltd 乱数生成装置
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
EP1719052B1 (en) * 2004-02-26 2007-08-22 Telecom Italia S.p.A. Method and circuit for generating random numbers, and computerprogram 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
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US8074287B2 (en) * 2004-04-30 2011-12-06 Microsoft Corporation Renewable and individualizable elements of a protected 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
CN102868518A (zh) * 2004-08-12 2013-01-09 Cmla有限公司 为提高安全性的置换数据变换
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
JP4547534B2 (ja) * 2005-04-04 2010-09-22 独立行政法人情報通信研究機構 疑似乱数生成器強度評価装置及び暗号化装置
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
CN101040306B (zh) * 2005-09-09 2012-01-04 三菱电机株式会社 伪随机数生成装置
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
WO2016004185A1 (en) 2014-07-02 2016-01-07 OptCTS, 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
AU2017278253A1 (en) * 2016-06-06 2019-01-24 Agilepq, Inc. Data conversion systems and methods
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
US10361852B2 (en) 2017-03-08 2019-07-23 Bank Of America Corporation Secure verification system
US10425417B2 (en) 2017-03-08 2019-09-24 Bank Of America Corporation Certificate system for verifying authorized and unauthorized secure sessions
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
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Willi Meier,"Correlation Properties of Combiners with Memory in Stream Ciphers",Journal of CRYPTOLOGY,1992年 5月,p.67−86
池野信一,小山謙二,"現代暗号理論",日本,社団法人電子情報通信学会,1989年 5月20日,3版,P.67−76,175−186

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3339688B2 (ja) 非決定論的ミクスチャー発生器ストリーム暗号化システム
KR101267109B1 (ko) 준군을 이용한 암호화 프리미티브, 에러 코딩, 및 의사난수 향상 방법
US6973187B2 (en) Block encryption method and schemes for data confidentiality and integrity protection
EP1834438B1 (en) Cryptography related to keys
KR100994841B1 (ko) 다중키를 이용한 스트림 암호 생성 방법 및 기록 매체
US20100046755A1 (en) Cryptography related to keys with signature
US20140112469A1 (en) Novel encryption processes based upon irrational numbers and devices to accomplish the same
JP2008513811A (ja) 計算変換の方法及びシステム
Bangera et al. Multilayer security using RSA cryptography and dual audio steganography
MAQABLEH Analysis and design security primitives based on chaotic systems for ecommerce
Pandian et al. Dynamic Hash key‐based stream cipher for secure transmission of real time ECG signal
Eastlake 3rd et al. Rfc 4086: randomness requirements for security
Maximov Some words on cryptanalysis of stream ciphers
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
Mani et al. Enhancing security in cryptographic algorithm based on LECCRS
AU750408B2 (en) A method of combining a serial keystream output with binary information
Simmons Symmetric and asymmetric encryption
AU750323B2 (en) A method of generating a key for a public key encryption system
Hamsanandhini et al. Securing Data in the Image Using SHA & ECC
Simmons 10. Symmetric and
Suwais et al. New classification of existing stream ciphers
Meijer et al. Applications to Stream Ciphers
Al-Ismaily Dynamic block encryption with self-authenticating key exchange
Al-Nuamy Enhance LFSR Cipher
Nepal Enhanced Security Encryption for Data Storage Using Multiple Keys

Legal Events

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