JP2003519960A - 乗算を用いる暗号アイソレータ - Google Patents

乗算を用いる暗号アイソレータ

Info

Publication number
JP2003519960A
JP2003519960A JP2001550934A JP2001550934A JP2003519960A JP 2003519960 A JP2003519960 A JP 2003519960A JP 2001550934 A JP2001550934 A JP 2001550934A JP 2001550934 A JP2001550934 A JP 2001550934A JP 2003519960 A JP2003519960 A JP 2003519960A
Authority
JP
Japan
Prior art keywords
keystream
partial product
stream cipher
state value
product array
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.)
Pending
Application number
JP2001550934A
Other languages
English (en)
Other versions
JP2003519960A5 (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 JP2003519960A publication Critical patent/JP2003519960A/ja
Publication of JP2003519960A5 publication Critical patent/JP2003519960A5/ja
Pending 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
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 ストリーム暗号の暗号システムは、鍵を受け取り、暗号解読に対して脆弱なキーストリームを提供する擬似ランダム・ビット発生器と、脆弱なキーストリームを、保護されたキーストリームに変換する非線形フィルタ暗号アイソレータとを含む。非線形フィルタ暗号アイソレータは、脆弱なキーストリームに乗算ファンクションを行って下部部分積アレイと上部部分積アレイとを提供する乗算器と、下部部分積アレイと上部部分積アレイとを組み合わせて、保護されたキーストリームを提供する単純非バイアス・オペレーション(SUO)とを含む。例示の暗号化動作では、平文バイナリ・データ・シーケンスと、保護されたキーストリームとを組み合わせ、暗号文バイナリ・データ・シーケンスを提供する。例示の解読動作では、暗号文バイナリ・データ・シーケンスと、保護されたキーストリームとを組み合わせ、平文バイナリ・データ・シーケンスを提供する。

Description

【発明の詳細な説明】
【0001】 発明の分野 本発明は、一般に、暗号システムに関連し、より特定的には、少なくとも1つ
の擬似ランダム数(乱数)発生器(PRNG)およびPRNGの状態を不明瞭に
する後処理暗号アイソレータを用いる秘密鍵ストリーム暗号暗号システムに関連
する。PRNGとアイソレータの組合せは、平文と組み合わせて平文を暗号文に
暗号化し、また、暗号文と組み合わせて暗号文を平文に解読するための、擬似ラ
ンダム・ビット・キーストリームを生成する。
【0002】 発明の背景 暗号システムは、許可された受信側だけが暗号文を変換して元の平文に戻すこ
とができるように、平文を暗号文に変換する暗号法を実施する。暗号化(encryp
tion)または暗号化(enciphering)は、平文を暗号文に変換するプロセスであ
る。解読(decryption)または解読(deciphering)は、暗号文を平文に変換す
るプロセスである。
【0003】 許可されない人物によって平文が容易に暴露されないようにするために、暗号
化鍵と呼ばれるパラメータが暗号システムによって採用される。送信側は所与の
平文を、特定の暗号化鍵によって選択される可能な種々の暗号文に変換する。暗
号文の受信側は、解読(デクリプション)鍵と呼ばれるパラメータを採用して暗
号文を解読する。公開鍵暗号システムでは、暗号化鍵は公開され、解読鍵は秘密
にされる。従って公開鍵暗号システムでは、解読鍵は、暗号化鍵から推定するこ
とが計算上不可能でなければならない。秘密鍵暗号システムでは、通常、送信側
と受信側とが、暗号化と解読の両方に使用される共通の鍵を共有する。このよう
な秘密鍵暗号システムでは、共通鍵は改変可能であり、秘密にしておかなければ
ならない。
【0004】 秘密鍵暗号システムは、通常、ブロック暗号法暗号システムまたはストリーム
暗号法暗号システムとして実施される。ブロック暗号法暗号システムは、平文を
ブロックに分割し、ステートレスの(状態を持たない)変換を用いて各ブロック
を別個に暗号化する。ブロック暗号法暗号システムでは、特定の平文ブロックの
異なるオカレンス(発生セグメント)を暗号化するために1つの固定した共通の
秘密鍵が採用される場合、これらのオカレンスはすべて、対応する同一の暗号文
ブロックに暗号化される。従って、暗号文ブロックのうちの様々なパターンの発
生頻度を分析する暗号分析者からの攻撃を失敗させるために、ブロック・サイズ
を十分に大きく選択することが好ましい。例示的なブロック・サイズは64ビッ
トおよび128ビットである。
【0005】 ストリーム暗号法暗号システムでは、平文は、通常、暗号化が進行するのに伴
って発展するステートフルの(状態を持つ)変換を用いて、ビット単位またはワ
ード単位で暗号化される。平文バイナリ・データ・シーケンスを暗号文バイナリ
・データ・シーケンスとして送信するために暗号化するときに、共通の秘密鍵は
、擬似乱数ジェネレータ(発生器)(PRNG)を制御してキーストリームと呼
ばれる長い2進データ・シーケンスを生み出すパラメータである。ストリーム暗
号法暗号システムは、キーストリームを平文シーケンスと組み合わせる暗号コン
バイナを含む。暗号コンバイナは、通常、ビットに関するモジュロ2加算を行う
排他的OR(XOR)ビットワイズ(bit-wise)論理ゲートを使用して実装され
る。暗号コンバイナは暗号文を生成する。受信側では、共通の秘密鍵が受信側P
RNGを制御して解読キーストリームを生成する。解読キーストリームは、解読
コンバイナと組み合わされて暗号文を解読し、平文を受信側へ提供する。受信側
の解読コンバイナの動作は、送信側の暗号化コンバイナの動作の逆になるはずで
ある。この理由で、最もよくみられるコンバイナの動作は、それ自体の逆である
ビットごとのXORである。
【0006】 ストリーム暗号法暗号システムに伴う問題の1つは、短いランダムな鍵から、
長く、統計的に一様であり、予測不能な2進データ・シーケンスをキーストリー
ム中に生成するのが難しいことである。暗号技術におけるキーストリームでは、
このようなシーケンスが望ましく、それは、そのデータの妥当なセグメントが与
えられ且つ十分なコンピュータ・リソースが与えられる場合に、シーケンスにつ
いて多くのことが知られるのを不可能にするためである。
【0007】 暗号技術的に安全なキーストリームPRNGには、3つの一般的要件がある。
第1に、キーストリームの期間は、送信メッセージの長さに対応するように十分
に大きくなければならない。第2に、キーストリーム出力ビットは生成が容易で
なければならない。第3に、キーストリーム出力ビットは予測が困難でなければ
ならない。例えば、PRNGおよび第1のN個の出力ビット、a(0),a(1
),...,a(N−1)がある場合、シーケンス中の第(N+1)番目のビッ
トa(N)を五分五分よりも高い可能性で予測するのが計算上不可能であるべき
である。言い換えれば、暗号分析者は、キーストリーム出力シーケンスの所与の
部分を提示されても、他の前方ビットまたは後方ビットを生成することが不可能
であるべきである。
【0008】 ストリーム暗号法暗号システム中で採用されるPRNGは、しばしば、フィー
ドバック・シフト・レジスタ(FSR)を採用し、FSRは、N個の記憶エレメ
ントと、シーケンスのそれぞれの新しい要素a(t)を、前に生成された要素a
(t−N),a(t−N+1),...,a(t−1)により表するフィードバ
ック・ファンクションとを備える。FSRの個々の記憶エレメントは段と呼ばれ
、2進信号a(0),a(1),a(2),...,a(N−1)が、キースト
リーム・シーケンスを生成するための初期データとして、段にロードされる。F
SRによって生成されるキーストリーム・シーケンスの期間は、段の数とフィー
ドバック・ファンクションの詳細との両方によって決まる。N段のFSRによっ
て正則ファンクションを用いて生成されるキーストリーム・シーケンスの最大期
間は2Nであり、これは、N段のFSRの可能な状態の数を表す。
【0009】 フィードバック・ファンクションが線形か非線形かに応じて、FSRは、それ
ぞれ、線形フィードバック・シフト・レジスタ(LFSR)または非線形フィー
ドバック・シフト・レジスタ(NLFSR)と呼ばれる。
【0010】 具体的には、LFSRは、ストリーム暗号法暗号システム用に多くのPRNG
で採用される。LFSRフィードバック・ファンクションは、a(t)=cI
(t−1)XORC2a(t−2)XOR...XORcN-1a(t−N+1)X
ORa(t−N)の形をとり、ciは集合{0,1}の要素である。LFSRの
フィードバック・ファンクションは、正式には以下のようなフィードバック多項
式と呼ばれるもので表すことができる。
【0011】 f(x)=1+c1x+c2N-2+...+cN-1N-1+xN 上式で、中間のxは数学的記号としての意味以外の意味はない。このフィード
バック多項式は、キーストリーム出力シーケンスの期間および統計的挙動を決定
する。自明な出力を避けるために、0状態は初期設定から除外すべきである。こ
れにより、LFSRの可能な最大期間は2N−1に制限される。
【0012】 一般に、出力シーケンスに対して可能な最大周期2N−1を生成するには、L
FSRのフィードバック多項式f(x)がプリミティブであるべきである。LF
SRによってプリミティブ・フィードバック多項式を用いて生成されるシーケン
スは、最大長LFSRシーケンス、または単にmシーケンスと呼ばれる。しかし
、mシーケンスは、更なる暗号変換を施さなければキーストリームとして使用す
ることができない。この更なる暗号変換がなければ、N段LFSRの秘密の鍵(
即ち、LFSRの初期状態およびLFSRのフィードバック・ファンクション)
は、出力シーケンスの連続する2Nビットだけから決定することができる。
【0013】 所与の出力シーケンスを生成することになる最短のLFSRのフィードバック
多項式を見つけるための効率的な組立手順が存在する。このようなLFSRの長
さは、シーケンスの線形複雑度と呼ばれる。この結果、暗号システムで採用する
のに適したLFSRは、LFSRが生成するシーケンスの線形複雑度に対し、下
限が鍵に依存しない十分に大きなものであることを保証しなければならない。
【0014】 「既知の平文」の暗号分析攻撃は、既知のまたは推測した平文を暗号文と組み
合わせてキーストリームを回復するものである。2Nのビットを回復することに
より、LFSRの秘密が破壊される。従って、最大長LFSR出力シーケンスは
、更なる暗号変換を施さなければキーストリームとして使用することができない
。この更なる暗号変換を提供する一般的な方法は、LFSR出力の後処理を提供
する暗号アイソレータを追加することである。その他の暗号変換方法には、平文
とキーストリームとの非線形組み合わせ、複数のLFSRの非線形組み合わせ、
およびLFSR(1または複数)のクロック制御が含まれる。具体的には、暗号
アイソレータは、暗号分析による幾つかのタイプの攻撃に対するセキュリティを
提供する。暗号アイソレータは通常、非線形フィルタとして実装される。非線形
フィルタは、非線形関数を使用して、LFSRの幾つかの出力ビットを、他の幾
つかのLFSR出力ビット、前の平文、暗号文、または他のデータと組み合わせ
て、暗号コンバイナへキーストリームを提供する。非線形フィルタは、キースト
リームに更なるセキュリティを提供するための一方向関数であり、これは、暗号
分析者が暗号アイソレータの出力に基づいて暗号アイソレータの入力を判定する
ために遡ろうとすると多大な計算費用がかかるものとすることによって、あるい
は、好ましくは、遡ることを不可能にすることによって、セキュリティを提供す
る。
【0015】 従来の暗号の一方向関数(一方向ファンクション)は、通常、様々な理由で非
常に複雑であり著しく遅い。暗号システムでは、通常、暗号アイソレータが長さ
保存を有することが必要である。長さ保存とは、暗号アイソレータからの出力ビ
ットの数が、暗号アイソレータへの入力ビットの数と等しいことを意味する。
【0016】 また、暗号システムでは、通常、暗号アイソレータ一方向関数が暗号アイソレ
ータの出力に殆ど又はまったくバイアスを付加しないことも必要である。暗号ア
イソレータの出力においてバイアスがないということは、暗号アイソレータへの
入力が均一に分布する場合にその出力が均一又はほぼ均一に分布することを意味
する。
【0017】 暗号アイソレータ一方向関数に関するもう1つの望ましい特性は、拡散または
アバランシェである。拡散またはアバランシェの特性は、暗号アイソレータ一方
向関数からの各出力ビットが、暗号アイソレータへの各入力ビットの関数である
ことを必要とする。長さ保存を達成し、出力ビットに殆ど又は全くバイアスを追
加せず、更に完全またはほぼ完全な拡散をもたらす従来の暗号アイソレータは、
実施するには非常に複雑であり、その結果、ハードウェア・リソースまたはソフ
トウェア実行時間の点で非常に高価であり、非常に遅いレートで出力ビットを生
成する。
【0018】 前述の理由で、かつ本明細書の好ましい実施形態の説明の章でより詳細に提示
する他の理由で、長さ保存を行い、バイアスがほとんどなく、完全またはほぼ完
全な拡散を有する擬似ランダム・ビット・キーストリームを生成するPRNG暗
号アイソレータを含むストリーム暗号法暗号システムであって、暗号アイソレー
タが従来の暗号アイソレータほど複雑でなく従来の暗号アイソレータよりも高速
で動作する、ストリーム暗号法暗号システムが望まれている。
【0019】 発明の概要 本発明は、ストリーム暗号の暗号システムを提供し、このストリーム暗号の暗
号システムは、鍵を受け取り、脆弱なキーストリームを提供する擬似乱数発生器
(PRNG)と、脆弱なキーストリームを、保護されたキーストリームへと変換
する非線形フィルタ暗号アイソレータとを含む。非線形フィルタ暗号アイソレー
タは、PRNGの脆弱なキーストリームに乗算ファンクションを行い、下部部分
積アレイと上部部分積アレイとを有する部分積アレイを提供する乗算器と、下部
部分積アレイと上部部分積アレイとを組み合わせて、保護されたキーストリーム
を提供する単純非バイアス・オペレーション(simple unbiased
operation)(SUO)とを含む。乗算ファンクションとSUOとの
組み合わせは一方向である。
【0020】 一実施形態において、擬似ランダム・ビット発生器は、鍵に応答して脆弱なキ
ーストリームを提供する線形フィードバック・シフト・レジスタ(LFSR)を
含む。
【0021】 一実施形態において、ストリーム暗号の暗号システムは、第1バイナリ・デー
タ・シーケンスと保護されたキーストリームとを組み合わせて、第2バイナリ・
データ・シーケンスを提供する暗号コンバイナを含む 暗号化オペレーションにおいて、暗号コンバイナは、暗号化コンバイナであり
、第1バイナリ・データ・シーケンスは平文バイナリ・データ・シーケンスであ
り、第2バイナリ・データ・シーケンスは暗号文バイナリ・データ・シーケンス
である。解読(暗号解読)オペレーションにおいて、暗号コンバイナは、解読コ
ンバイナであり、第1バイナリ・データ・シーケンスは暗号文バイナリ・データ
・シーケンスであり、第2バイナリ・データ・シーケンスは平文バイナリ・デー
タ・シーケンスである。
【0022】 一実施形態において、非線形フィルタ暗号アイソレータは、また、乗算器へ状
態値を提供する状態ファンクションを更に含み、乗算器は、脆弱なキーストリー
ムと状態値とを乗算して部分積アレイを提供する。
【0023】 一実施形態において、SUOは、一般に使用可能な二項演算(ダイアド演算)
(即ち、まさに2つの入力にファンクションを行うオペレーション)の1つでり
、その演算は、加算、減算、排他的OR、排他的NORなどであり、この二項演
算は、2つの同じサイズにされた入力を、バイアスを付加せずに、同じサイズの
1つの出力へと組み合わせる(即ち、入力が均一に分布されている場合、出力は
均一に分布される)。一実施形態において、SUOはルックアップ・テーブルを
用いて行われる。乗算オペレーションとSUOとの組み合わせは、逆にできるフ
ァンクションではない。一実施形態において、非線形フィルタ暗号アイソレータ
は、SUOを、それぞれの乗算の後に種々のSUOのグループから選択するもの
であり、種々のSUOには、加算オペレーション、減算オペレーション、排他的
ORオペレーション、排他的NORオペレーションなどが含まれる。一実施形態
において、この選択は擬似ランダム的である。一実施形態において、この選択は
決定論的である。
【0024】 乗算とSUOとの組み合わせは、平均の出力の頻度の3倍までの頻度となり得
る1つの出力値を除いては、小さなバイアスのみを生み出す。この値は、入力の
うちの一方が0であるときに生成される。生成される値はSUOによって決まり
、例えば、排他的ORは0を生成し、排他的NORはすべて1のビット・ベクト
ルを生成する。一実施形態では、非線形フィルタ暗号アイソレータは、発生する
可能性がより高い出力があるかどうかキーストリームをテストし、見つかった場
合、非線形フィルタ暗号アイソレータは、その発生する可能性がより高い出力を
、入力や入力の何らかの関数などのような、バイアスされていない値で置き換え
る。
【0025】 一実施形態では、状態ファンクションがPRNG出力データを受け取り、前の
状態値とPRNG出力データとを1の補数の加算を用いて組み合わせて、次の状
態値を提供する。状態値は、乗算への入力として使用される。一実施形態では、
初期設定ベクトルが状態ファンクションに提供されて、状態値が0でない値に初
期設定されるが、この値は、1の補数の演算を用いるので非0のままとなる。一
実施形態では、乗算への入力は両方とも、非0値に初期設定された1の補数のラ
ンニング合計(running sum)である。
【0026】 一実施形態では、状態ファンクションが部分積アレイを受け取り、部分積アレ
イに対してファンクションを実施して状態値を提供する。一実施形態では、非線
形フィルタ暗号アイソレータはPRNG出力データを第1部分と第2部分とに分
割し、乗算ファンクションは第1部分と第2部分とを乗算することを含む。
【0027】 本発明によるストリーム暗号の暗号システムは、乗算ファンクションを有する
非線形フィルタ暗号アイソレータを備え、この非線形フィルタ暗号アイソレータ
は、バイアスが少なく、完全な拡散を有し、オプションで長さ保存も有する擬似
ランダム・ビット・キーストリームを生成する。更に、本発明による乗算ファン
クションを有する非線形フィルタ暗号アイソレータは、従来の暗号アイソレータ
ほど複雑でなく、同等のセキュリティを備える従来の暗号アイソレータよりも速
いレートで動作する。
【0028】 好ましい実施形態の説明 以下の好ましい実施形態の詳細な説明では、本明細書の一部をなす添付の図面
を参照するが、これらの図面には、本発明を実施することのできる具体的な実施
形態が例として示してある。本発明の範囲を逸脱することなく、その他の実施形
態を利用することもでき、構造上または論理上の変更を加えることもできること
を理解されたい。従って、以下の詳細な説明は限定的な意味で考えるべきではな
く、本発明の範囲は特許請求の範囲によって定義する。
【0029】 図1の20に、本発明による秘密鍵ストリーム暗号法暗号システムをブロック
図の形で一般的に示す。ストリーム暗号法暗号システム20は、コンピュータ・
システムなどの送信側22と、コンピュータ・システムなどの受信側42を含む
【0030】 送信側22は、保護されたキーストリーム発生器(保護キーストリーム発生器
)25および暗号化コンバイナ26を備える。保護キーストリーム発生器25は
、擬似乱数発生器(PRNG)24を備える。保護キーストリーム発生器25は
、保護キーストリーム発生器25を制御する秘密鍵32を受け取って、暗号化コ
ンバイナ26へ提供される暗号化保護キーストリーム28を生成する。図1に示
す実施形態では、保護キーストリーム発生器25に初期設定ベクトル34が提供
され、複数のメッセージに対して保護キーストリーム発生器25を制御するため
に同じ秘密鍵32を使用した場合でも、暗号化保護キーストリーム28が同じに
ならないようにする。初期設定ベクトル34は、真の乱数(ランダム数)として
実施され、暗号化されるあらゆるメッセージが僅かに異なることを確実なものと
する。
【0031】 暗号化コンバイナ26には平文30も提供される。平文30は2進(バイナリ
)データ・シーケンスである。暗号化コンバイナ26は、平文30と暗号化保護
キーストリーム28とを組み合わせて暗号文36を形成するが、この暗号文もま
た2進データ・シーケンスである。一実施形態では、暗号化コンバイナ26は、
ビットごとのモジュロ2加算を行う排他的論理和(XOR)ビットワイズ論理ゲ
ートとして実現される。
【0032】 受信側42は、保護キーストリーム発生器45および解読コンバイナ46を備
える。保護キーストリーム発生器45はPRNG44を備える。保護キーストリ
ーム発生器45は秘密鍵32’を受け取るが、これは秘密鍵32と同じ秘密鍵で
ある。保護キーストリーム発生器45は、秘密鍵32’によって制御されて、解
読コンバイナ46へ提供される解読保護キーストリーム48を生成する。図1に
示す実施形態では、初期設定ベクトル34と同じ初期設定ベクトルである初期設
定ベクトル34’が保護キーストリーム発生器45へ提供されて、解読保護キー
ストリーム48が、所与の秘密鍵32/32’および初期設定ベクトル34/3
4’に関して暗号化保護キーストリーム28と同一であることを保証する。
【0033】 解読コンバイナ46は、暗号文36を受け取り、暗号文36を解読保護キース
トリーム48と組み合わせて平文30’を生成する。平文30’は平文30と実
質的な一致する2進データ・シーケンスである。解読コンバイナ46は、暗号化
コンバイナ26のコンバイナ動作を逆にしたコンバイナ動作を有するべきであり
、従って、暗号化保護キーストリーム28を使用して平文30を暗号化して暗号
文36を形成することができ、暗号化保護キーストリーム28と同一の解読保護
キーストリーム48を使用して暗号文36を解読して平文30’を形成すること
ができる。この理由で、最もよくみられる暗号コンバイナ動作はビットごとのX
ORであり、これは暗号化と解読の両方のコンバイナ動作に用いることができる
【0034】 本明細書における発明の背景の章で述べたように、PRNG24および44は
、暗号技術的に安全なキーストリーム28および48を生成するために、以下の
ような一般特性を有するべきである。第1に、キーストリームの期間は送信メッ
セージの長さに対応するように十分に大きくなければならない。第2に、キース
トリーム出力ビットは生成が容易でなければならない。第3に、キーストリーム
出力ビットは予測が困難でなければならない。
【0035】 図1の暗号システム20の送信側22または受信側42を、図2にブロック図
の形で一般的に示すが、この図には、保護キーストリーム発生器25/45およ
びPRNG24/44をより詳細に示してある。この実施形態のPRNG24/
44は、線形フィードバック・シフト・レジスタ(LFSR)100を備える。
LFSR100は、N個の記憶エレメント102と、シーケンスのそれぞれの新
しい要素a(t)を以前に生成された要素a(t−N),a(t−N+1),.
..,a(t−1)で表す線形フィードバック・ファンクション104とを含む
。LFSR記憶エレメント102は段と呼ばれ、2進信号a(0),a(1),
a(2),...,a(N−1)が、キーストリーム・シーケンスを生成するた
めの初期データとして段にロードされる。
【0036】 LFSR記憶エレメント102は、ワード長Mであるw個のLFSRワードに
分割される。これらをLFSR0,LFSR1,...,LFSR(w−1)と
して表す。LFSR0は、その最下位ビット(LSB)に0のビットを含む。な
ぜなら、LFSR100は、よい統計を提供するようにプリミティブであり且つ
縮小できない線形フィードバック・ファンクション104で表されるフィードバ
ック多項式f(x)を有さなければならないからである。従って、記憶エレメン
トNの数は8の倍数にはならない。各ワード長Mが32ビットの場合、Nおよび
wの適した例示的なサイズは、N=127およびw=4、N=159およびw=
5である。
【0037】 LFSR100の出力に後処理を施すことにより、暗号分析者による幾つかの
タイプの攻撃に対するセキュリティが提供される。図2に示す実施形態では、L
FSR100からの出力は最上位ワードのLFSR(w−1)から提供され、こ
れを無防備な(脆弱な)キーストリーム108と呼ぶ。他の実施形態では、脆弱
なキーストリーム(脆弱キーストリーム)108は、特定のLFSR100の特
性に応じて、他のLFSRワード(即ちLFSR0,LFSR1,...,LF
SR(w−2))のうちの選択された1つから得られる。
【0038】 脆弱キーストリーム108は非線形フィルタ110へ提供される。非線形フィ
ルタ110は状態を有し、脆弱キーストリーム108から更に保護キーストリー
ム28/48を分離する暗号アイソレータとして機能する。非線形フィルタ11
0の状態は、初期設定ベクトル34で初期設定される。非線形フィルタ110は
、脆弱キーストリーム108に対して非線形一方向関数を実施して、向上したセ
キュリティを有するキーストリーム28/48を暗号コンバイナ26/46へ提
供する。例えば、非線形フィルタ110から提供される一方向関数は、暗号分析
者による平文攻撃を防止する。暗号分析者による平文攻撃は、特定の平文を知る
かまたは推測し、キーストリームに関する情報をもたらす関連する暗号文を観察
し、次いで、逆向きの作業を行ってLFSRの秘密の鍵(即ち、LFSRの初期
状態およびLFSRのフィードバック関数)を判定することによって行われる。
LFSRは線形なので、十分な平文が暗号分析者に知られれば、初期状態および
線形フィードバック関数を突き止めることは可能である。非線形フィルタ110
は一方向関数であり、これにより、その出力に基づいてその入力を決定するため
に遡ろうとすることには多大な計算費用がかかるものとなり、あるいは、好まし
くは、遡ることが不可能になる。
【0039】 図3に、本発明による非線形フィルタ暗号アイソレータ110の一実施形態を
ブロック図の形で一般的に示す。本発明による非線形フィルタ暗号アイソレータ
110は、その一方向関数に乗算オペレーション(演算)を含む。非線形フィル
タ暗号アイソレータ110は、乗算器200、状態ファンクション(関数)20
2、および単純非バイアス・オペレーション(SUO)204を含む。脆弱キー
ストリーム108は、乗算器200への一方の入力として提供され、また、状態
ファンクション202への入力として提供され得る。
【0040】 状態ファンクション202は、初期設定ベクトル34で初期設定され、ライン
208上に状態値を提供する。一実施形態では、状態ファンクション202は、
前の状態値と脆弱キーストリーム108の値とに対して1の補数の加算演算を行
って、ライン208に状態値を提供する。この実施形態では、初期設定ベクトル
34が初期状態値を提供する。いずれの場合でも、状態ファンクション202は
、その2つのオペランド(即ち、前の状態値と脆弱キーストリーム108の値)
のうちの一方が0でないことを保証して、ライン208上の次の状態値が常に非
0であることを確実なものとしなければならない。状態ファンクション202が
1の補数の加算演算である場合、ライン208上の状態値は、入力の一方が非0
ある限り決して0を生じることはない。従って、初期設定ベクトル34は状態値
を非0値に初期設定し、状態値が非0となると、1の補数の加算演算によって状
態は非0にとどまる。
【0041】 乗算器200は、脆弱キーストリーム108とライン208上に提供された状
態値とに対して2進乗算演算を行って、ライン210上に部分積アレイを提供す
る。ライン210上の部分積アレイは、下半分の部分積アレイ210aと上半分
の部分積アレイ210bに分離され、これらは両方ともSUO204へ提供され
る。SUO204は、一般的に利用可能なバイアスされていない二項演算のうち
の1つなどを用いて、下半分の部分積アレイ210aを上半分の部分積アレイ2
10bとを組み合わせ、保護キーストリーム28/48を提供する。本明細書で
は、二項演算は、厳密に2つの入力に対して関数を実施する演算として定義する
。一般的に利用可能なバイアスされていない二項演算には、加算、減算、XOR
、およびXNORが含まれるが、これらに限定されるものではない。1の補数ま
たは2の補数の加算および減算を、SUO204に用いることができる。SUO
204が減算演算である場合、下半分の部分積アレイ210aを上半分の部分積
アレイ210bから減算することができ、あるいは上半分の部分積アレイ210
bを下半分の部分積アレイ210aから減算することができる。一実施形態では
、SUO204はルックアップ・テーブル中で実施される。
【0042】 一実施形態では、選択された脆弱キーストリーム108の値をライン208上
の状態値で乗算する代わりに、脆弱キーストリーム108の値を2つの半部に分
離し、この2つの半部を共に乗算する。別の一実施形態では、状態ファンクショ
ン202が、ライン210上の前の部分積アレイに対して何らかの関数を実施す
る。状態ファンクション202は、この変更された部分積の値をライン208上
に状態値として提供し、これが脆弱キーストリーム108の値と乗算される。
【0043】 一実施形態では、状態ファンクション202は平文30を受け取り、平文30
に対して関数を実施して、ライン208上に状態値を提供する。別の実施形態で
は、状態ファンクション202は暗号文36を受け取り、暗号文36に対して関
数を実施して、ライン208上に状態値を提供する。一実施形態では、状態ファ
ンクション202は、少なくとも2つの従属状態関数の組み合わせである。
【0044】 乗算とSUOの組合せは、平均の出力の頻度の3倍までの頻度となり得る1つ
の出力値を除いては、小さなバイアスのみを生み出す。この値は、乗算入力のう
ちの一方が0であるときに生成される。バイアスの量および生成される値は、S
UOによって決まる。例えば、排他的ORは0値を生成し、排他的NORはすべ
て1のビット・ベクトルを生成する。一実施形態では、非線形フィルタ暗号アイ
ソレータ110は、発生する可能性がより高い出力があるかどうかについてキー
ストリームをテストし、見つかったとき、非線形フィルタ暗号アイソレータ11
0は、発生する可能性がより高いその出力を、適切に分布したデータのソースの
バイアスされていない関数により生成された非バイアス値で置き換える。一実施
形態では、適切に分布したデータのソースは、脆弱キーストリームである。一実
施形態では、非線形フィルタ暗号アイソレータ110は、バイアスされた保護キ
ーストリームを他のランダム・データと組み合わせて、バイアスされていない保
護キーストリームを生成する。一実施形態では、非線形フィルタ暗号アイソレー
タ110は、バイアスされた保護キーストリームを、脆弱キーストリームからの
データと組み合わせる。別の実施形態では、SUOは、下部の部分積アレイから
上部の部分積アレイを減算し、この演算で借りが生成される場合は、その結果を
1で増分する。これは、モジュロ2N+1を乗算することに等しい。バイアスを
除去する方法の中で、モジュロ2N+1の方法は、大きな残余バイアスを残すの
で、最も望ましくない。別の実施形態では、乗算器へのPRNG入力が0でない
ことが保証され(例えばPRNGが、乗算されるワード・サイズよりも大きくな
いLFSRを備えるか、またはこのようなLFSRと他の何らかの擬似ランダム
・データとの1の補数の合計であるLFSRを備える場合)、そして、状態入力
もまた、1の補数の合計なので、決して0ではない。別の実施形態では、乗算へ
の入力は両方とも、0でない値に初期設定された1の補数のランニング合計であ
る。
【0045】 代替実施形態では、非線形フィルタ暗号アイソレータ110は、各乗算の後に
様々なSUOの中から選択することによって、更に暗号分離をもたらす。一実施
形態では、この選択は擬似ランダム的である。一実施形態では、この選択は決定
論的である。
【0046】 SUO204は、下半分の部分積アレイ210aと上半分の部分積アレイ21
0bとを二項演算で組み合わせねばならず、これにより、乗算器200の乗算演
算とSUO204の選択されたSUOとの組み合わせは不可逆(即ち一方向関数
)になる。
【0047】 図4Aと4Bには共になり、乗算器200の演算およびSUO204の一例を
示す。この場合、例として、ビット「abcdef」を有する、脆弱キーストリ
ーム108の選択された6ビットのLFSRと、ビット「uvwxyz」を有す
る状態値208とが共に乗算されて、下半分の部分積アレイ210aと上半分の
部分積アレイ210bとが得られる。部分積アレイ210の2ビット組み合わせ
はそれぞれ、脆弱キーストリーム108の選択されたLFSRワードの1ビット
と、状態値208の対応する1ビットとの論理ANDを表す。これは、符号なし
乗算の通常の挙動である。
【0048】 図4Bを参照すると、上半分の部分積アレイ210bが下半分の部分積アレイ
210aの下にシフトされて、対応する6つの列が形成されている。これらを2
20a、220b、220c、220d、220e、220fで示す。これは、
SUOによって自然に生成される値の構成を表す。図4Bに示すように、各カラ
ム220は、脆弱キーストリーム108中の選択されたLFSRワードおよび状
態値208からのあらゆる入力ビットを含むが、各ビットは各カラム220で一
度のみ現れる。SUO204は、各カラム220a〜fを組み合わせて、保護キ
ーストリーム28の対応出力ビット28a、28b、28c、28d、28e、
28fを形成する。各入力ビットは各カラム220中で一度現れるので、保護キ
ーストリーム28の各出力ビット28a〜fは各入力ビットの関数である。桁上
げまたは借りを無視すると、各ビットは、各出力ビットに影響を及ぼす可能性を
50%有する(即ち、ビットが1と対になる可能性が50%である)。従って、
桁上げまたは借りの動作によって保護キーストリーム28が更に不明瞭になる前
に、完全非線形性と呼ばれる望ましい暗号特性を有する一方向関数を用いて、各
出力ビット28a〜fが生成される。完全非線形性とは、いずれかの入力ビット
が変化する場合に、非線形ブール関数の出力が変化する可能性が50%であるこ
とを意味する。
【0049】 状態ファンクション入力が脆弱キーストリーム108と保護キーストリーム2
8のいずれかである実施形態の場合、乗算器200の乗算演算と、状態ファンク
ション/値と、SUO204との組み合わせが、長さ保存(出力ビットの数が入
力ビットの数と同じ)を獲得する。また、乗算を用いる非線形フィルタ暗号アイ
ソレータ110は、完全な拡散も獲得する。なぜなら、保護キーストリーム28
の各出力ビットが、脆弱キーストリーム108および状態値208からの乗算オ
ペランドの全入力ビットの関数であるからである。更に、何れかの好ましいバイ
アス抑制方法が用いられるときは、乗算器200およびSUO204によって加
えられるバイアスはほとんどない。
【0050】 暗号アイソレータ用の従来の非常に複雑で遅い一方向関数の何れのものも、本
発明による乗算およびSUOを用いる非線形フィルタ暗号アイソレータ110に
よって達成されるように2つの演算だけで完全な拡散を獲得することはない。更
に、近年のマイクロプロセッサは高速乗算器を備えており、これらにより、乗算
演算およびSUOを用いる非線形フィルタ暗号アイソレータ110は、従来の暗
号アイソレータ用一方向関数よりもはるかに高速になる。更に、本発明による非
線形フィルタ暗号アイソレータ110用の乗算一方向関数は、長さ保存を達成し
、キーストリーム出力へのバイアスをほとんど加えず、完全な拡散を達成する。
【0051】 本発明による暗号システムの前述の実施形態に関し、様々な実施形態のうちで
好ましい実施形態は、使用される際の特定の暗号システムの特性と、暗号システ
ム設計者によって望まれる非線形フィルタ暗号アイソレータの特性と、設計者の
手近にあるリソースと、設計者が各特性に対して支払う意思のある代価とに依存
する。
【0052】 本明細書では、好ましい実施形態を記述する目的で具体的な実施形態について
図示および記述したが、本発明の範囲を逸脱することなく、図示および記述した
具体的な実施形態に代えて、同じ目的を達成するように意図された様々な代替の
および/または等価な実装形態を用いることもできることは、当業者には理解さ
れるであろう。本発明を非常に多様な実施形態で実施できることは、化学、機械
、電子機械、電気、コンピュータの分野の当業者なら容易に理解するであろう。
本出願は、本明細書で論じた好ましい実施形態の何れの適応形または変形も網羅
するものとする。従って、本発明は明らかに、特許請求の範囲およびその均等物
によってのみ限定されるものとする。
【図面の簡単な説明】
【図1】 図1は、本発明に従った秘密鍵ストリーム暗号の暗号システムのブロック図で
ある。
【図2】 図2は、図1の暗号システムの送信側または受信側のブロック図であり、擬似
ランダム・ビット発生器が詳細に示されている。
【図3】 図3は、図2の擬似ランダム・ビット発生器で使用するための本発明に従った
乗算オペレーションを用いる非線形フィルタ暗号アイソレータのブロック図であ
る。
【図4】 図4Aおよび4Bは、図3の非線形フィルタ暗号アイソレータのための本発明
に従った乗算オペレーションおよび対応するSUOの例を示す図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,CA,C H,CN,CR,CU,CZ,DE,DK,DM,EE ,ES,FI,GB,GD,GE,GH,GM,HR, HU,ID,IL,IN,IS,JP,KE,KG,K P,KR,KZ,LC,LK,LR,LS,LT,LU ,LV,MA,MD,MG,MK,MN,MW,MX, NO,NZ,PL,PT,RO,RU,SD,SE,S G,SI,SK,SL,TJ,TM,TR,TT,TZ ,UA,UG,UZ,VN,YU,ZA,ZW

Claims (51)

    【特許請求の範囲】
  1. 【請求項1】 ストリーム暗号の暗号システムであって、 鍵を受け取り、脆弱なキーストリームを提供する擬似乱数発生器(PRNG)
    と、 前記脆弱なキーストリームを、保護されたキーストリームへと変換する非線形
    フィルタ暗号アイソレータと を備え、該非線形フィルタ暗号アイソレータが、 前記脆弱なキーストリームに乗算ファンクションを行い、下部部分積アレ
    イと上部部分積アレイとを有する部分積アレイを提供する乗算器と、 前記下部部分積アレイと前記上部部分積アレイとを組み合わせ、前記保護
    されたキーストリームを提供する単純非バイアス・オペレーション(SUO)と
    を含み、前記乗算ファンクションと前記SUOとの組み合わせは一方向である、 ストリーム暗号の暗号システム。
  2. 【請求項2】 請求項1に記載のストリーム暗号の暗号システムであって、
    第1バイナリ・データ・シーケンスと前記保護されたキーストリームとを組み合
    わせ、第2バイナリ・データ・シーケンスを提供する暗号コンバイナを更に備え
    るストリーム暗号の暗号システム。
  3. 【請求項3】 請求項2に記載のストリーム暗号の暗号システムであって、
    前記暗号コンバイナは、暗号化コンバイナであり、前記第1バイナリ・データ・
    シーケンスは平文バイナリ・データ・シーケンスであり、前記第2バイナリ・デ
    ータ・シーケンスは暗号文バイナリ・データ・シーケンスである、ストリーム暗
    号の暗号システム。
  4. 【請求項4】 請求項2に記載のストリーム暗号の暗号システムであって、
    前記暗号コンバイナは、解読コンバイナであり、前記第1バイナリ・データ・シ
    ーケンスは暗号文バイナリ・データ・シーケンスであり、前記第2バイナリ・デ
    ータ・シーケンスは平文バイナリ・データ・シーケンスである、ストリーム暗号
    の暗号システム。
  5. 【請求項5】 請求項1に記載のストリーム暗号の暗号システムであって、
    前記PRNGは、前記鍵に応答して前記脆弱なキーストリームを提供する線形フ
    ィードバック・シフト・レジスタ(LFSR)を含む、ストリーム暗号の暗号シ
    ステム。
  6. 【請求項6】 請求項1に記載のストリーム暗号の暗号システムであって、
    前記非線形フィルタ暗号アイソレータは、前記乗算器へ状態値を提供する状態フ
    ァンクションを更に含み、前記乗算器は前記脆弱なキーストリームと前記状態値
    とを乗算して前記部分積アレイを提供する、ストリーム暗号の暗号システム。
  7. 【請求項7】 請求項1に記載のストリーム暗号の暗号システムであって、
    前記非線形フィルタ暗号アイソレータが、複数の状態ファンクションおよび対応
    する状態値を含む、ストリーム暗号の暗号システム。
  8. 【請求項8】 請求項7に記載のストリーム暗号の暗号システムであって、
    前記乗算への各入力は、非零値に初期設定されて、1の補数の加算により更新さ
    れる状態変数である、ストリーム暗号の暗号システム。
  9. 【請求項9】 請求項1に記載のストリーム暗号の暗号システムであって、
    前記SUOは二項演算であり、この二項演算は、同じサイズにされた入力を、バ
    イアスを付加せずに、該入力と同じサイズの出力へと組み合わせる、ストリーム
    暗号の暗号システム。
  10. 【請求項10】 請求項1に記載のストリーム暗号の暗号システムであって
    、前記SUOはルックアップ・テーブルを用いて行われる、ストリーム暗号の暗
    号システム。
  11. 【請求項11】 請求項4に記載のストリーム暗号の暗号システムであって
    、前記非線形フィルタ暗号アイソレータは、前記SUOを、それぞれの乗算の後
    にSUOのグループから選択する、ストリーム暗号の暗号システム。
  12. 【請求項12】 請求項に11記載のストリーム暗号の暗号システムであっ
    て、前記非線形フィルタ暗号アイソレータは、前記SUOを前記SUOのグルー
    プから擬似ランダム的に選択する、ストリーム暗号の暗号システム。
  13. 【請求項13】 請求項11に記載のストリーム暗号の暗号システムであっ
    て、前記非線形フィルタ暗号アイソレータは、前記SUOを前記SUOのグルー
    プから決定論的に選択する、ストリーム暗号の暗号システム。
  14. 【請求項14】 請求項1に記載のストリーム暗号の暗号システムであって
    、前記非線形フィルタ暗号アイソレータは、平均頻度よりも多く発生する傾向の
    ある出力に関して前記キーストリームをテストし、見つけた場合、前記非線形フ
    ィルタ暗号アイソレータは、多く発生する傾向のある前記出力を、適切に分配さ
    れるデータのソースのバイアスしていないファンクションと置換する、ストリー
    ム暗号の暗号システム。
  15. 【請求項15】 請求項14に記載のストリーム暗号の暗号システムであっ
    て、前記適切に分配されるデータの前記ソースは、前記脆弱なキーストリームで
    ある、ストリーム暗号の暗号システム。
  16. 【請求項16】 請求項14に記載のストリーム暗号の暗号システムであっ
    て、前記非線形フィルタ暗号アイソレータは、前記バイアスされた保護されたキ
    ーストリームと他のランダム・データとを組み合わせ、バイアスされていない保
    護されたキーストリームを生成する、ストリーム暗号の暗号システム。
  17. 【請求項17】 請求項16に記載のストリーム暗号の暗号システムであっ
    て、前記非線形フィルタ暗号アイソレータは、前記バイアスされた保護されたキ
    ーストリームと、前記脆弱なキーストリームからのデータとを組み合わせる、ス
    トリーム暗号の暗号システム。
  18. 【請求項18】 請求項6に記載のストリーム暗号の暗号システムであって
    、前記状態ファンクションは、前記脆弱なキーストリームを受け取り、前の前記
    状態値と前記脆弱なキーストリームとを組み合わせて次の前記状態値を生成する
    、ストリーム暗号の暗号システム。
  19. 【請求項19】 請求項18に記載のストリーム暗号の暗号システムであっ
    て、前記状態ファンクションは、前の前記状態値と前記脆弱なキーストリームと
    を1の補数の演算を用いて組み合わせる、ストリーム暗号の暗号システム。
  20. 【請求項20】 請求項19に記載のストリーム暗号の暗号システムであっ
    て、前記状態ファンクションへ初期設定ベクトルが提供され、前記状態値を非零
    値に初期設定する、ストリーム暗号の暗号システム。
  21. 【請求項21】 請求項6に記載のストリーム暗号の暗号システムであって
    、前記状態ファンクションは、前記部分積アレイを受け取り、前記部分積アレイ
    にファンクションを行って前記状態値を提供する、ストリーム暗号の暗号システ
    ム。
  22. 【請求項22】 請求項6に記載のストリーム暗号の暗号システムであって
    、前記状態ファンクションは、平文を受け取り、前記平文にファンクションを行
    って前記状態値を提供する、ストリーム暗号の暗号システム。
  23. 【請求項23】 請求項22に記載のストリーム暗号の暗号システムであっ
    て、前記状態ファンクションは暗号文を受け取り、前記暗号文にファンクション
    を行って前記状態値を提供する、ストリーム暗号の暗号システム。
  24. 【請求項24】 請求項6に記載のストリーム暗号の暗号システムであって
    、前記状態ファンクションは、少なくとも2つの従属状態ファンクションの組み
    合わせである、ストリーム暗号の暗号システム。
  25. 【請求項25】 請求項1に記載のストリーム暗号の暗号システムであって
    、前記非線形フィルタ暗号アイソレータは、前記脆弱なキーストリームを第1部
    分と第2部分とに分割し、前記乗算ファンクションは、前記第1部分と前記第2
    部分とを乗算することを含む、ストリーム暗号の暗号システム。
  26. 【請求項26】 平文バイナリ・データ・シーケンスを暗号化する方法であ
    って、 鍵の関数として擬似乱数の脆弱なキーストリームを生成するステップと、 下部部分積アレイと上部部分積アレイとを有する部分積アレイを提供するよう
    に前記脆弱なキーストリームに乗算ファンクションを行うことにより、前記脆弱
    なキーストリームを、保護されたキーストリームに変換するステップと、 前記保護されたキーストリームを提供するように、単純非バイアス・オペレー
    ションSUOを用いて前記下部部分積アレイと前記上部部分積アレイとを組み合
    わせるステップであって、前記乗算ファンクションと前記SUOとの組み合わせ
    は一方向である、組み合わせるステップと、 暗号文バイナリ・データ・シーケンスを提供するように前記平文バイナリ・デ
    ータ・シーケンスと前記保護されたキーストリームとを組み合わせるステップと を備える方法。
  27. 【請求項27】 請求項26に記載された方法であって、前記変換するステ
    ップを行うことは、状態値を提供するステップと、前記部分積アレイを提供する
    ように前記脆弱なキーストリームと前記状態値とを乗算するステップとを含む、
    方法。
  28. 【請求項28】 請求項26に記載された方法であって、前記SUOは二項
    演算を用いて行われ、該二項演算は、同じサイズにされた入力を、バイアスを付
    加せずに、該入力と同じサイズの出力へと組み合わせる、方法。
  29. 【請求項29】 請求項26に記載の方法であって、前記SUOはルックア
    ップ・テーブルを用いて行われる、方法。
  30. 【請求項30】 請求項26に記載の方法であって、前記変換するステップ
    を行うことは、前記SUOを、それぞれの乗算の後にSUOのグループから選択
    するステップを含む、方法。
  31. 【請求項31】 請求項に30記載の方法であって、前記選択するステップ
    は、前記SUOを前記SUOのグループから擬似ランダム的に選択するステップ
    を含む、方法。
  32. 【請求項32】 請求項30に記載の方法であって、前記選択するステップ
    は、前記SUOを決定論的に選択するステップを含む、方法。
  33. 【請求項33】 請求項26に記載の方法であって、前記変換するステップ
    を行うことは、 前記下部部分積アレイおよび前記上部部分積アレイに前記SUOが行われるこ
    とにより平均頻度よりも多く発生する傾向のある出力に関して前記キーストリー
    ムをテストするステップと、 前記テストするステップにおいて平均頻度よりも多く発生する傾向のある前記
    出力を見つけた場合、多く発生する傾向のある前記出力を、前記脆弱なキースト
    リームのバイアスしていないファンクションと置換するステップと を更に含む、方法。
  34. 【請求項34】 請求項27に記載の方法であって、前記状態値を提供する
    前記ステップは、 前記脆弱なキーストリームを受け取るステップと、 前の前記状態値と前記脆弱なキーストリームとを組み合わせて次の前記状態値
    を提供するステップと を含む、方法。
  35. 【請求項35】 請求項34に記載の方法であって、前記組み合わせるステ
    ップは、前の前記状態値と前記脆弱なキーストリームとを1の補数の演算を用い
    て組み合わせる、方法。
  36. 【請求項36】 請求項35に記載の方法であって、前記状態値を提供する
    前記ステップは、前記状態値を非零値に初期設定するステップを更に含む、方法
  37. 【請求項37】 請求項27に記載の方法であって、前記状態値を提供する
    前記ステップは、 前記部分積アレイを受け取るステップと、 前記部分積アレイにファンクションを行って前記状態値を提供するステップと
    を含む、方法。
  38. 【請求項38】 請求項26に記載の方法であって、前記変換するステップ
    を行うことは、 前記脆弱なキーストリームを第1部分と第2部分とに分割するステップと、 前記第1部分と前記第2部分とを乗算するステップと を含む、方法。
  39. 【請求項39】 暗号文バイナリ・データ・シーケンスを解読する方法であ
    って、 鍵の関数として擬似乱数の脆弱なキーストリームを生成するステップと、 下部部分積アレイと上部部分積アレイとを有する部分積アレイを提供するよう
    に前記脆弱なキーストリームに乗算ファンクションを行うことにより、前記脆弱
    なキーストリームを、保護されたキーストリームに変換するステップと、 前記保護されたキーストリームを提供するように、単純非バイアス・オペレー
    ションSUOを用いて前記下部部分積アレイと前記上部部分積アレイとを組み合
    わせるステップであって、前記乗算ファンクションと前記SUOとの組み合わせ
    は一方向である、組み合わせるステップと、 平文バイナリ・データ・シーケンスを提供するように前記暗号文バイナリ・デ
    ータ・シーケンスと前記保護されたキーストリームとを組み合わせるステップと を備える方法。
  40. 【請求項40】 請求項39に記載された方法であって、前記変換するステ
    ップを行うことは、状態値を提供するステップと、前記部分積アレイを提供する
    ように前記脆弱なキーストリームと前記状態値とを乗算するステップとを含む、
    方法。
  41. 【請求項41】 請求項39に記載された方法であって、前記SUOは二項
    演算を用いて行われ、該二項演算は、同じサイズにされた入力を、バイアスを付
    加せずに、該入力と同じサイズの出力へと組み合わせる、方法。
  42. 【請求項42】 請求項39に記載の方法であって、前記SUOはルックア
    ップ・テーブルを用いて行われる、方法。
  43. 【請求項43】 請求項39に記載の方法であって、前記変換するステップ
    を行うことは、前記SUOを、それぞれの乗算の後にSUOのグループから選択
    するステップを含む、方法。
  44. 【請求項44】 請求項に43記載の方法であって、前記選択するステップ
    は、前記SUOを擬似ランダム的に選択するステップを含む、方法。
  45. 【請求項45】 請求項43に記載の方法であって、前記選択するステップ
    は、前記SUOを決定論的に選択するステップを含む、方法。
  46. 【請求項46】 請求項39に記載の方法であって、前記変換するステップ
    を行うことは、 前記下部部分積アレイおよび前記上部部分積アレイに前記SUOが行われるこ
    とにより平均頻度よりも多く発生する傾向のある出力に関して前記保護されたキ
    ーストリームをテストするステップと、 前記テストするステップにおいて平均頻度よりも多く発生する傾向のある前記
    出力を見つけた場合、多く発生する傾向のある前記出力を、前記脆弱なキースト
    リームのバイアスしていないファンクションと置換するステップと を更に含む、方法。
  47. 【請求項47】 請求項40に記載の方法であって、前記状態値を提供する
    前記ステップは、 前記脆弱なキーストリームを受け取るステップと、 前の前記状態値と前記脆弱なキーストリームとを組み合わせて次の前記状態値
    を提供するステップと を含む、方法。
  48. 【請求項48】 請求項47に記載の方法であって、前記組み合わせるステ
    ップは、前の前記状態値と前記脆弱なキーストリームとを1の補数の演算を用い
    て組み合わせる、方法。
  49. 【請求項49】 請求項48に記載の方法であって、前記状態値を提供する
    前記ステップは、前記状態値を非零値に初期設定するステップを更に含む、方法
  50. 【請求項50】 請求項40に記載の方法であって、前記状態値を提供する
    前記ステップは、 前記部分積アレイを受け取るステップと、 前記部分積アレイにファンクションを行って前記状態値を提供するステップと
    を含む、方法。
  51. 【請求項51】 請求項39に記載の方法であって、前記変換するステップ
    を行うことは、 前記脆弱なキーストリームを第1部分と第2部分とに分割するステップと、 前記第1部分と前記第2部分とを乗算するステップと を含む、方法。
JP2001550934A 1999-12-02 2000-12-01 乗算を用いる暗号アイソレータ Pending JP2003519960A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/453,263 US6804354B1 (en) 1999-12-02 1999-12-02 Cryptographic isolator using multiplication
US09/453,263 1999-12-02
PCT/US2000/032695 WO2001050676A2 (en) 1999-12-02 2000-12-01 Cryptographic isolator using multiplication

Publications (2)

Publication Number Publication Date
JP2003519960A true JP2003519960A (ja) 2003-06-24
JP2003519960A5 JP2003519960A5 (ja) 2008-02-07

Family

ID=23799837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001550934A Pending JP2003519960A (ja) 1999-12-02 2000-12-01 乗算を用いる暗号アイソレータ

Country Status (6)

Country Link
US (1) US6804354B1 (ja)
EP (1) EP1234403A2 (ja)
JP (1) JP2003519960A (ja)
AU (1) AU5514701A (ja)
CA (1) CA2392739A1 (ja)
WO (1) WO2001050676A2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060750A (ja) * 2006-08-30 2008-03-13 Mitsubishi Electric Corp 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム
JP2008139742A (ja) * 2006-12-05 2008-06-19 Kddi Corp 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP2008286964A (ja) * 2007-05-17 2008-11-27 Kddi Corp ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP2011128655A (ja) * 2011-03-19 2011-06-30 Ochanomizu Univ 擬似乱数発生システム
JP2011520391A (ja) * 2008-05-08 2011-07-14 ハリス コーポレイション 有限体アルゴリズムを使用したランダム数発生器を含む暗号化システム
JP2011145698A (ja) * 2011-03-19 2011-07-28 Ochanomizu Univ 暗号化システム及び復号化システム
JP2011150368A (ja) * 2011-03-19 2011-08-04 Ochanomizu Univ 暗号化システム及び復号化システム
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1063811B1 (en) * 1999-06-22 2008-08-06 Hitachi, Ltd. Cryptographic apparatus and method
DE50013465D1 (de) * 2000-03-23 2006-10-26 Infineon Technologies Ag Vorrichtung und Verfahren zur Erhöhung der Betriebssicherheit und Gleichmässigkeit einer Rauschquelle
US7170997B2 (en) 2000-12-07 2007-01-30 Cryptico A/S Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
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
US20030072059A1 (en) * 2001-07-05 2003-04-17 Wave7 Optics, Inc. System and method for securing a communication channel over an optical network
JP4191915B2 (ja) 2001-08-30 2008-12-03 独立行政法人情報通信研究機構 変換装置、暗号化復号化システム、多段変換装置、プログラム、ならびに、情報記録媒体
DE60133140T2 (de) * 2001-12-06 2009-03-12 Telefonaktiebolaget Lm Ericsson (Publ) System und verfahren für symmetrische kryptographie
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators
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
US7925013B1 (en) * 2003-06-30 2011-04-12 Conexant Systems, Inc. System for data encryption and decryption of digital data entering and leaving memory
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
TWI269222B (en) * 2004-12-29 2006-12-21 Univ Tsinghua Random number generating method and its equipment with a multiple polynomial
JP4774509B2 (ja) 2005-05-13 2011-09-14 国立大学法人お茶の水女子大学 擬似乱数発生システム
US8036380B2 (en) 2006-12-14 2011-10-11 Telefonaktiebolaget L M Ericsson (Publ) Efficient data integrity protection
US8549296B2 (en) 2007-11-28 2013-10-01 Honeywell International Inc. Simple authentication of messages
US8330122B2 (en) 2007-11-30 2012-12-11 Honeywell International Inc Authenticatable mark, systems for preparing and authenticating the mark
US9450925B2 (en) 2014-08-29 2016-09-20 Honeywell Inernational Inc. Methods and systems for auto-commissioning of devices in a communication network
EP3235162B1 (en) * 2014-12-17 2021-02-17 Telefonaktiebolaget LM Ericsson (publ) Stream ciphering technique
US9813232B2 (en) * 2015-03-17 2017-11-07 Cypress Semiconductor Corporation Device and method for resisting non-invasive attacks
US9660803B2 (en) * 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
US11552781B2 (en) 2019-04-05 2023-01-10 Honeywell International Inc. Using error detection bits for cryptographic integrity and authentication
US20230083850A1 (en) * 2020-03-02 2023-03-16 7Tunnels Inc. Cryptographic systems and methods for development of pools of random numbers
US20230244821A1 (en) 2022-01-28 2023-08-03 Honeywell International Inc. Processor core unique encryption

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202535A (ja) * 1995-01-26 1996-08-09 Nippon Telegr & Teleph Corp <Ntt> 擬似乱数の生成方法および生成装置
JP2000004223A (ja) * 1998-06-16 2000-01-07 Toyo Commun Equip Co Ltd 暗号・認証システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4202051A (en) * 1977-10-03 1980-05-06 Wisconsin Alumni Research Foundation Digital data enciphering and deciphering circuit and method
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier
US5461674A (en) * 1992-05-22 1995-10-24 Zenith Electronics Corp. Method and apparatus for controlling playback of recorded HDTV signals
US5307409A (en) 1992-12-22 1994-04-26 Honeywell Inc Apparatus and method for fault detection on redundant signal lines via encryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202535A (ja) * 1995-01-26 1996-08-09 Nippon Telegr & Teleph Corp <Ntt> 擬似乱数の生成方法および生成装置
JP2000004223A (ja) * 1998-06-16 2000-01-07 Toyo Commun Equip Co Ltd 暗号・認証システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム
US8654972B2 (en) 2005-03-23 2014-02-18 Kddi Corporation Keystream encryption device, method, and program
JP2008060750A (ja) * 2006-08-30 2008-03-13 Mitsubishi Electric Corp 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム
JP2008139742A (ja) * 2006-12-05 2008-06-19 Kddi Corp 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP2008286964A (ja) * 2007-05-17 2008-11-27 Kddi Corp ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP2011520391A (ja) * 2008-05-08 2011-07-14 ハリス コーポレイション 有限体アルゴリズムを使用したランダム数発生器を含む暗号化システム
JP2011128655A (ja) * 2011-03-19 2011-06-30 Ochanomizu Univ 擬似乱数発生システム
JP2011145698A (ja) * 2011-03-19 2011-07-28 Ochanomizu Univ 暗号化システム及び復号化システム
JP2011150368A (ja) * 2011-03-19 2011-08-04 Ochanomizu Univ 暗号化システム及び復号化システム

Also Published As

Publication number Publication date
WO2001050676A3 (en) 2002-05-30
WO2001050676A2 (en) 2001-07-12
US6804354B1 (en) 2004-10-12
EP1234403A2 (en) 2002-08-28
AU5514701A (en) 2001-07-16
CA2392739A1 (en) 2001-07-12

Similar Documents

Publication Publication Date Title
JP2003519960A (ja) 乗算を用いる暗号アイソレータ
EP1063811B1 (en) Cryptographic apparatus and method
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
KR101246437B1 (ko) 유한체 연산을 사용하는 랜덤 번호 발생기를 포함하는 암호 시스템
US6295606B1 (en) Method and apparatus for preventing information leakage attacks on a microelectronic assembly
US5541996A (en) Apparatus and method for a pseudo-random number generator for high precision numbers
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
JPH08505275A (ja) 暗号ストリームを発生させるための装置及び方法
US7277543B1 (en) Cryptographic combiner using two sequential non-associative operations
Wu et al. Resynchronization Attacks on WG and LEX
JP2003516659A (ja) 1の補数暗号コンバイナ
Gafsi et al. Hardware implementation of a strong pseudorandom number generator based block‐cipher system for color image encryption and decryption
Shah et al. Serpent Algorithm: An Improvement by $4\times 4$ S-Box from Finite Chain Ring
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
Madani et al. Enhancement of A5/1 Stream Cipher Overcoming its Weaknesses
ALMashrafi et al. Analysis of indirect message injection for mac generation using stream ciphers
Ali et al. Modified Advanced Encryption Standard algorithm for fast transmitted data protection
Coppersmith et al. Triple DES cipher block chaining with output feedback masking
Rechberger Side channel analysis of stream ciphers
Yerukala et al. Alternating step generator using FCSR and LFSRs: A new stream cipher
Al-Saleh et al. Double-A--A Salsa20 Like: The Security
Suwais et al. New classification of existing stream ciphers
Ashouri LRC-256, an Efficient and Secure LFSR Based Stream Cipher
Kiyomoto et al. MASHA–Low Cost Authentication with a New Stream Cipher
Karunakaran et al. FPGA based Fault Analysis for Encrypted Code

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110425