[go: up one dir, main page]

JPH08505275A - 暗号ストリームを発生させるための装置及び方法 - Google Patents

暗号ストリームを発生させるための装置及び方法

Info

Publication number
JPH08505275A
JPH08505275A JP6515531A JP51553194A JPH08505275A JP H08505275 A JPH08505275 A JP H08505275A JP 6515531 A JP6515531 A JP 6515531A JP 51553194 A JP51553194 A JP 51553194A JP H08505275 A JPH08505275 A JP H08505275A
Authority
JP
Japan
Prior art keywords
stream
sequence
generating
linear
message
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
JP6515531A
Other languages
English (en)
Inventor
タイラー、リチャード
Original Assignee
テルストラ・コーポレイション・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テルストラ・コーポレイション・リミテッド filed Critical テルストラ・コーポレイション・リミテッド
Publication of JPH08505275A publication Critical patent/JPH08505275A/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)
  • Programmable Controllers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Chair Legs, Seat Parts, And Backrests (AREA)

Abstract

(57)【要約】 デジタルメッセージの暗号化又は復号化を行うためのシステムにおいて、疑似ランダムデータ系列を発生させるための線形駆動サブシステム(4)と、前記疑似ランダムデータ系列から暗号ストリームを生成するための非線形フィードバック・サブシステム(6)と、メッセージを前記暗号ストリームと結合することにより該メッセージの暗号化又は復号化を行うための暗号化処理装置(26)とを備え、前記非線形フィードバック・サブシステムが、フィードバック系列(12)を、前記疑似ランダムデータ系列のうちの少なくとも一つの値と前記フィードバック系列のうちの少なくとも一つの前の値とに非線形関数を適用することにより発生させるための非線形フィードバック処理手段(10)と、前記疑似ランダムデータ系列中の値の複数対であって該対の各要素間の系列中における位置の差が各対によって異なるように選択された対の積を前記フィードバック系列のうちの一つの値とともに足し合わせることにより前記暗号ストリームを発生させるための暗号ストリーム発生器(10)と、を有してなるシステム。

Description

【発明の詳細な説明】 暗号ストリームを発生させるための装置及び方法 本発明は、暗号ストリーム(cipher stream)を発生させるための装置及び方法 に関する。本発明の実施例は、遠距離通信やコンピュータ通信のシステム等にお けるデジタル・メッセージの暗号化にその用途を見つけることができる。 広帯域の統合デジタル通信ネットワーク(B−ISDN)のようなデジタル通 信システムでは、メッセージを傍受した者がその意味内容を調べることができな いように伝送デジタルメッセージを暗号化することが、多くの場合、好都合であ る。そこで、このネットワークの送信側において、平文テキストのメッセージは 、暗号化鍵による制御の下で、できれば秘密の復号化鍵を持っていない者には判 読できない暗号文テキストに変換される。そのネットワーク上の正当な受信側で は、その暗号文テキストは、秘密の復号化鍵による制御の下で、元の平文テキス トのメッセージに再変換される。このように行われる暗号方式は一般にブロック 暗号と逐次暗号とに分類される。 逐次暗号は平文テキストをキャラクタに分割することによって作用し、分割さ れた各キャラクタは、時間依存性が逐次暗号の内部状態に支配される時変関数(t ime varying function)を利用して暗号化される。この時変関数は、鍵ストリー ム発生器によって生成される。この鍵ストリーム発生器は、秘密にされている鍵 データによりデジタル暗号ストリームを発生させる。鍵ストリーム発生器は、生 成される暗号ストリームが循環的な疑似ランダムビット・ストリームではあるが 、与えられた鍵データの長さよりも十分に長い周期を有するものとなるように構 成される。逐次暗号では、暗号化された各キャラクタの後に装置の状態が或る規 則に従って変化するので、平文テキスト・メッセージにおいて同一キャラクタが 二つ出現しても、通常、暗号文テキストにおいて同一キャラクタにはならないよ うになっている。 逐次暗号の構成及びその効果的な実用のための評価基準については、広く文献 で論じられているところであり、例えば次の文献にそれらの記載を見ることがで きる。 [1]ベーカ、パイパー共著「Cipher systems-The Protection of Communicat ions(暗号化システム−通信の保護)」(H.Beker and F.Piper,Cipher systems - The Protection of Communications,Northwood Book,London,1982) [2]ルーペル著「Analysis and design of stream ciphers(逐次暗号の分析 と設計)」(R.A.Rueppel,Analysis and design of stream ciphers,Springe r-Verlag,Berlin,1986) [3]メイアー、スタフェルバーク共著「Nonlinearity criteria for cryptog raphic functions(暗号化関数のための非線形性の評価基準)」(W.Meier and O.Staffelbach,Nonlinearity criteria for cryptographic functions,Advan ces in Cryptology-Eurocrypt’89,Proceedings,Springer-Verlag,549-562) 要するに、逐次暗号の安全性は、出力される暗号鍵ストリームの「無作為性(r andomness)」に依存する。傍受者(暗号解読者)が平文テキスト・メッセージを 知っていると仮定すると、暗号解読者は、使用中の鍵ストリームの全てにアクセ スしているかもしれない。システムを安全たらしめるためには、暗号ストリーム は予想不可能なものでなければならない。すなわち、観測される暗号ストリーム のディジット数に拘らず、後続の暗号ストリームのディジットは全くランダムに 推定するより以上に良く予想できるものであってはならない。これは、暗号解読 者が暗号ストリームを確実に予想できるような真の鍵を決定することはできない ということを意味する。予測不能であるための必要条件は、暗号ストリームの周 期が長いことである。周期は線形再帰(linear recursion)を定めるものであり、 周期の値と最初の1周期分の暗号ストリームとがわかれば、その暗号ストリーム の残りが完全に確定する。所定のシーケンス(系列)を発生できる最短の非線形 フィードバック・シフトレジスタを見つけるのは一般には困難な作業であるが、 そのようなことを行うためのアルゴリズムまたは方法が存在する。したがって、 暗号ストリームが予想不能であるためには、その線形の複雑さ(linear complex ity)(これは、その暗号ストリームを生成できる最短の線形フィードバック・ シフトレジスタの長さである)もまた大きなものであることが必要である。また 予測不能であるためには、次の鍵暗号ディジットは先行ディジットに依存せず、 一様に分布したものから取り出されたように見えることが必要である。したがっ て、暗号ストリームは必ず統計上の数値が一様なものでなければならない。すな わち、1個のディジットからなるディジット群、1群が2個のディジットからな るディジット群、1群が3個のディジットからなるディジット群などの分布が一 様でなければならない。 最後に、線形の複雑さが大きくとも、暗号ストリームは予測可能な如何なる線 形形式(linear form)に近づくことさえないことが一般に好ましい。すなわち 、暗号ストリームは、如何なる線形形式にも互いに関係づけられるべきではない 。さらに、逐次暗号に関して頻繁には考慮されていない要素に、暗号化テキスト の完全性(integrity)がある。受信されて解読された平文化テキストが伝送さ れた元の平文テキストに一致するか否か、言い換えると暗号化テキストが伝送中 に変更されたか否かを、受信者が判断できるようにするために、平文テキスト・ メッセージの内容から定まるメッセージ認証コード(MAC)が、しばしば暗号 化テキストとともに伝送される。しかし、或る暗号化方式では、たとえ傍受者が 変更された暗号化テキストの意味を確定することができないとしても、その変更 が受信者にはわからないように、暗号化テキスト・メッセージと暗号化されたM ACの双方を変更することが可能であるかもしれない。したがって、検出を伴わ ずに伝送中におけるそのような変更が生じないようにする完全性検査(integrit y checking)を暗号化方式が備えていることもまた望ましい。 したがって、本発明は、暗号ストリームを発生させるためのデジタルデータ・ ストリーム発生装置であって、少なくとも一つの疑似ランダムデータ・ストリー ムを生成するフィードバック・シフトレジスタ構造体と、前記少なくとも一つの データ・ストリームから暗号ストリームを生成する処理構造体であって、少なく とも一つのデータ・ストリームの先行する複数の値から導出される結合値(comb in ation values)の系列を記憶する手段、及び、前記結合値の複数対について、各 対の結合値間の系列中の位置の差が異なるように乗算し、該乗算された複数対を 加算することにより前記暗号ストリームを生成する処理手段を有する処理構造体 と、で構成されたデジタルデータ・ストリーム装置を提供している。 また本発明は、暗号ストリームを発生させるためのデジタルデータ発生装置で あって、少なくとも一つの線形フィードバック・シフトレジスタ(LFSR)と 、前記少なくとも一つのLFSRの出力の総和の系列を生成するための加算手段 と、非線形値の系列を前記少なくとも一つのLFSRの出力と前記非線形出力値 の系列の少なくとも一つの前の値とにより生成するための非線形フィードバック 処理手段と、前記総和の系列の複数対と前記非線形値の系列の少なくとも一つと を利用してベント関数によりデータ・ストリームを発生させるための出力処理手 段とからなり、各対の要素の系列中の位置の差が各対によって異なっているデジ タルデータ発生装置を提供する。 また本発明は、デジタルメッセージの暗号化又は復号化を行うためのシステム であって、疑似ランダムデータ系列を発生させるための線形駆動サブシステムと 、前記疑似ランダムデータ系列から暗号ストリームを生成するための非線形フィ ードバック・サブシステムと、メッセージを前記暗号ストリームと結合すること により該メッセージの暗号化又は復号化を行うための暗号化処理装置とを備え、 前記非線形フィードバック・サブシステムが、フィードバック系列を、前記疑似 ランダムデータ系列のうちの少なくとも一つの値と前記フィードバック系列のう ちの少なくとも一つの前の値とに非線形関数を適用することにより発生させるた めの非線形フィードバック処理手段と、前記疑似ランダムデータ系列中の値の複 数対であって該対の各要素間の系列中における位置の差が各対によって異なるよ うに選択された対の積を前記フィードバック系列のうちの一つの値とともに足し 合わせることにより、前記暗号ストリームを発生させるための暗号ストリーム発 生器とで構成されてなるシステムを提供する。 また本発明は、暗号ストリームを発生させるための方法であって、疑似ランダ ムデータ・ストリーム系列を発生させるステップと、前記データ・ストリーム系 列 中の値の複数対であって該対の各要素間の系列中における位置の差が各対によっ て異なるように選択された対の積を前記データ・ストリーム系列からの値の非線 形フィードバック関数より導出される値とともに足し合わせることにより、暗号 ストリームを発生させるステップと、からなる方法を提供する。 さらに本発明は、デジタルメッセージの暗号化又は復号化を行うための方法で あって、疑似ランダムデータ・ストリーム系列を発生させるステップと、前記デ ータ・ストリーム系列に対して非線形フィードバック変換を行うステップと、前 記データ・ストリーム系列中の値の複数対であって該対の各要素間の系列中にお ける位置の差が各対によって異なるように選択された対の積を前記非線形フィー ドバック変換の値とともに足し合わせることにより、線形形式に対する相関が最 小化された暗号ストリームを発生させるステップと、前記暗号ストリームに基づ いて前記デジタルメッセージの暗号化又は復号化を行うステップと、からなる方 法を提供する。 好ましくは、前記疑似ランダムデータ・ストリーム又はビット・ストリームの 系列は、複数の線形フィードバック・シフトレジスタからの出力を結合すること により生成する。 好ましくは、前記非線形フィードバック変換の値は前記デジタルメッセージと 結合し、完全性関数(integrity function)を前記結合したものに適用して完全 性検査値(ICV)を生成する。好ましくは、該完全性検査値を前記デジタルメ ッセージに付加し、それとともに暗号化する。 暗号ストリームを発生させる方法であって、疑似乱数ストリーム系列mjを発 生させるステップと、非線形フィードバック方式により数値ストリーム系列sj を発生させるステップと、c,dをc<d≦jなる予め決められた整数とし、ak ,bkを全てのe,fε[c,d]に対して(ae−be)≠(af−bf)なるj以 下の整数とした場合での により、出力の暗号ストリーム系列zjを発生させるステップと、からなる方法 。 逐次暗号化装置であって、使用状態において少なくとも一つの疑似ランダムデ ータ・ストリームを発生させる線形駆動システムと、フィードバック・データ・ ストリームを有し、前記少なくとも一つの疑似ランダムデータ・ストリームに対 して非線形演算を行うことにより暗号ストリームを発生させる非線形結合システ ムと、使用状態においてデジタルメッセージを前記フィードバック・データ・ス トリームと結合し、完全性検査値を発生させるために該結合したものに完全性関 数を適用する完全性システムと、出力システムとからなり、前記完全性検査値を 前記デジタルメッセージに付加し、付加された検査値を前記暗号ストリームを用 いて暗号化するように構成した逐次暗号化装置。 添付図面を参照しながら、例示した本発明の好ましい実施例を以下において詳 細に説明する。この添付図面において、 図1は、暗号ストリーム発生装置のブロック図であり、 図2は、本発明の一実施例による暗号化装置のブロック図であり、 図3は、図2に示された装置の変形例のブロック図である。 まず、図1を参照すると、そこには、通常、線形駆動サブシステム4と非線形 結合サブシステム6とを備える暗号ストリーム発生装置2が示されている。線形 駆動サブシステム4は、予め鍵データxamが格納された複数のnの線形フィード バック・シフトレジスタ8を備えている。これらのLFSR8からの出力は、非 線形結合サブシステム6の非線形処理装置10によって受け取られる。非線形処 理装置10は、記憶ビットsjを有するフィードバック・サブシステム12を備 えている。非線形結合サブシステム6は、暗号ストリームを含むデータ系列zj を出力する。暗号ストリーム発生装置の動作原理は、秘密鍵データxamが逐次暗 号化装置2に与えられ、暗号ストリーム発生装置2が、LFSR8によって生成 された線形疑似ランダムデータ系列を結合して、それに対して非線形の変換を行 うということであり、暗号ストリームは、暗号化されるべきメッセージと結合す るために14で示した箇所から出力される。暗号化されたメッセージを受信した 端末にも、暗号ストリームzjと暗号化されたメッセージに関する変換とを利用 してそのメッセージを復号化できるように、暗号ストリーム発生装置2が備わっ ている。下記の式(1)及び(2)は、非線形結合サブシステム6によって実行される 機 能を一般的に定めたものである。 zj=g(x1j,…,xnj,sj 1,…,sj m) in GF(2) (1) sj+1 i=fi(x1j,…,xnj,sj 1,…,sj m) in GF(2) (2) ビット・ストリームzj,j=0,1,2,・・・,は、長さがそれぞれL1,・・・,Lnであ るLFSR8の出力(x1j,・・・,xnj)を結合することにより作成される。対応 するLFSR8の結合多項式(connection polynomials)は、原始多項式であっ て互いに素次数(prime degree)となるように選ばれる。m個の記憶ビットsj 1 ,・・・,sj mは、各LFSR8のj番目の桁段(phase)をj+1番目の桁段と結 合するために使用される。 1ビットのメモリを有し、gがその独立変数の2進数和となるように選ばれた 、システム(1)及び(2)のサブクラスに着目することにより、下記の式(3)及び(4) によって定義されたシステムは、暗号的に健全な逐次暗号を構築する優れたフレ ームワークをもたらす多くの特性を持っていることがわかるであろう。 特に、適切に選ばれた関数fに対し、この方式は以下の特性を有する出力スト リームzを生成することができる。 1/ Pの約数であるがおそらくPである周期で最終的に周期性を有すること。 ここで、 P=(2L1−1)(2L2−1)…(2Ln−1) (5) であり、Liはxijを出力するLFSRiの長さである。 2/ おそらくPに近いであろう線形の複雑さを有する。 また、(xr0,r1,r2,・・・),1<=r,=nが独立であって、ランダムな 変数の一様に分布した系列であり、s0が一様に分布していれば、zjが次の特性 を有するようになる。 3/ 以下の点で統計的に均衡がとれている。 prob(zj=0)=prob(zj=1)=1/2 4/ zjがxj1,・・・,xnjの如何なる線形形式とも相互に関連しない点で、相関 に対する最大限の免疫性(immunity)がある。 (xr0,xr1,xr2,・・・),1<=r<=nの独立性及び一様性の仮定は、LF SRの出力として現れたときのそのような仮定と厳格には矛盾がないわけではな いことに注意されたい。例えば、長さLのLFSRは極くわずか1に片寄ってい て2L-1個の1と(2L-1−1)個の0とを生成する。しかし、この仮定は、もし、 対応する結合多項式が原始多項式であって互いに素次数であれば、また、その出 力の数がその周期よりも非常に少ないLFSRの挙動に対しては妥当であるよう に思われる。 式(4)から出力系列の線形の複雑さに対する限界を計算することが可能である 。これは、式(4)から同様の入力メモリmを算出し、式(3)及び(4)のフィードバ ック・システムを入力メモリmのフィード・フォアード構造に変換することによ り行うことができる。すると、主として、線形の複雑さの上限がLFSR8の長 さL1〜L2の関数として計算される。 次の結果から、周期的な挙動が出る前の出力系列の最初の部分の項数の上限が 得られる。 [定理1]式(4)を sj+1=g(x1j,…,xnj)+sjh(x1j,…,xnj) in GF(2) (4') という、より明確な形とする。 そして、最初のM個の項を無視すると式(1)及び(4')で定義された出力系列zj は、P(式(5)参照)の約数を周期とする周期性がある。ここで、 M=h(L1,…,Ln) である。 [証明]:添付文書を参照されたい。 一般に、式(3)及び(4)で定義されたシステムは、確実性のある予測をするのが 困難な周期を有している。しかし、関数g及びhが退化(degeneracies)(変数xij を省略するようなもの)を回避するように選択されると、その周期がちょうど Pとなる可能性が極めて高くなる。 逐次暗号化装置の特定の例が、fを式(3)及び(4)における独立変数の和の最下 位キャリービットとして定義したいわゆる加算結合器(summation combiner)に よって与えられる。これは、次のように表現することができる。 式(6)及び(7)によって定義されたシステムにより算出された線形の複雑さを下 記のテーブル1に示す。このテーブルの各行は、長さLiの2または3個のLF SRの結合を示している。Pの下の対応する数は、出力ストリームzjの周期を 表している。MinCompは、与えられた長さの原始多項式の全ての組み合わせの中 で見られる最低の線形の複雑さを示している。最後に、%の下のデータは、Pと MinCompとの間の相違をPに対する百分率として表している。各レジスタは全て 1に初期化され、初期キャリーs0は0に設定されることに注意されたい。式(6) 及び(7)によって定義される特定のシステムは、常に、可能な最大の周期Pを有 していることがわかる。 不運なことに、このようなシステムにおけるキャリーsjには片寄りがある。 特に、キャリーは、Nが偶数のときは均衡しており、Nが奇数のときは片寄って いる。したがって例えば、N=3に対する平均では、キャリーの最下位ビットは 2/3の(漸近)確率で1であり、一方、N=5に対しては5/9の確率である 。また、このキャリーは同一の出力ディジット(equal output digits)の連な りについても片寄っている。これらの片寄りの効果は、Nが大きくなるにしたが って有意ではなくなるが、加算結合器の好ましくない特徴を表している。しかし 、この片寄りは、N=2のLFSRの場合にのみ、その暗号化装置の暗号の強さ に対し重大な脅威となるように思われる。 関数fs(式(4)参照)の選択に際し、二つの条件を満たすべきである。第1に 、最大に近い線形の複雑さを暗号ストリームに与えるために、この関数は強い非 線形性を有すべきである。第2に、確率が既知の出力ディジットに条件づけられ ているとき、この関数は均衡がとれているべきである。 特に、既知の出力ディジットzjで条件づけられた確率が Pr(sj+1=1|zj=1)=1/2 Pr(sj+1=1|zj=0)=1/2 Pr(sj+1=0|zj=1)=1/2 Pr(sj+1=0|zj=0)=1/2 のとき、関数fsは均衡がとれたものとなる。 例えば、 f=ajj+ajj+bjj+ajj+bjj+cjj (8) g=ajj+ajj+bjj+ajj(1+cj)(1+sj) +(1+aj)(1+bj)cjj (9) k=ajj+bjj+cjj+(1+aj)(1+cj)(1+sj) +(1+bj)(1+cj)(1+sj) (10) によって与えられる三つのメモリ関数(memory function)を考える。 f(式(8)参照)はN=3の場合での式(3)の加算結合器に対応することに注意 されたい。下記の表2は、fは片寄っており、g及びkは(全体として及び条件 付きの双方で)均衡がとれていることを示している。 gが均衡がとれた関数を規定していることを調べるために、この表の16個の 横列のうち8個の横列に対してzjが0又は1のいずれかの所定値を有している ことをチェックしてもよい。さらに、これら8個の横列の各集合に対応して、g の下の縦列の値が4回ずつそれぞれ0と1になる。関数kについても同様である 。 下記の表3には、線形の複雑さのデータが関数g及びkに対して示されている (表1と比較されたい)。この表は、これらの関数が小さい原始結合多項式の範 囲に対する可能な最大周期(Max)に接近した周期を有していることを示してい る。これは、確率が既知の出力ディジットに条件づけられているときには、均衡 がとれているだけでなくほぼ最大の線形の複雑さを提供するメモリ関数を見つけ ることができる、ということを示唆している。 式(1)及び(2)で定義される形式の暗号システムの全てが共有する弱点部分は、 xijの線形形式に対する出力の相関である。このように、この暗号は、或る線形 形式に対しては相関を有さないという点で相関に対する免疫性があるが、他の線 形形式に対しては相関を有しているに違いない。このような相関は、線形形式の 状態を決定し、それによって暗号を弱めるために利用されるかもしれない。これ は、その線形形式に等価なLFSRが短いか又は数個の項のみを持っている結合 多項式を有している場合には、特にそうである。 特に、x1j,x2j,x3j,・・・等が独立で一様に分布したランダムな変数の系列で あるとすると、メモリの無い結合器に対し、入力についての或る線形関数の相関 係数の2乗和が常に1である、ということを示すことができる。さらに、1ビッ トのメモリを有する結合器に対しても同様の結果が成立する。特に、式(3)及び( 4)によって定義された如何なる暗号に対しても、zjという形式のランダム変数と相関がある。ただし、式(4)が sj+1=f(x1j,…,xnj)+sj (12) という特別の形式である場合を除く。 しかし後者では、メモリの無い結合器によってz'j=zj+zj-1が生成され、 このため線形形式(11)に対して相関を有し、同様にLFSRの系列に対しても相 関を有する。攻撃を行う者(攻撃者)はzj+zj-1を知ることによってzj-1か らzjを予測できるようになるため、これは暗号ストリームにとって好ましくな い特徴である。次の例は、加算結合器と入力についての線形関数との相関関係を 説明するものである。 [例] 式(8)、(9)及び(10)で定義された三つの暗号システムを考えると、表2 より、a、b及びcが独立で一様に分布したランダムな変数の系列であれば、各 システムは、 Prob(zj=aj+bj+cj+aj-1)=5/8 を満足していることが容易に証明できる。このように、zはaj+bj+cj+aj -1 を生成するLFSRと相関を有する。 任意の数の記憶ビットを有するシステムについて、入力の線形形式と出力系列 との間には相関が存在することも示されている。このように、結合関数において メモリを使用すると、出力系列の線形形式と入力LFSRとの間に相関があるた め、暗号に免疫性を与えることができない。この結果を考慮すると、望み得る最 良のことは、既に前述した特性1〜4を維持するだけでなく、線形形式に対する 全ての相関を組織的にかつ効率よく最小化する暗号を設計することである。 本発明の好ましい実施例は、式(3)及び(4)によって定義されたシステムに基づ いており、出力暗号ストリームzjの線形形式と入力項xlj〜xnjとの間の相関 を一様に小さくする手段を備えている。これを達成するために好ましい実施例は 、以下の式で定義されるような非線形の結合サブシステムを用意している。 (xr0,xr1,xr2,…),1<=r<=nが、n個のLFSR8の原始結合多 項式での出力であって互いに素な長さLrの出力として線形駆動サブシステム4 から供給されると、上記で論じたように、出力zはおそらく以下の特性を有する であろう。 1/ 最終的に周期Pでの周期性を有する。ここで、 P=(2L1−1)(2L2−1)…(2Ln−1) である。 2/ Pに近い線形の複雑さを有する。 linzjがzの各時点(phases)の線形形式によって与えられるとすると、例えば 、 であり、(xr0,xr1,xr2,…),1<=r<=nが独立で一様に分布したラン ダムな変数の系列であってs0は一様に分布していると仮定すると、linzjは次の 特性を有している。 3/ 以下の点で統計的に均衡がとれている。 prob(linzj=0)=prob(linzj=1)=1/2 4/ linzjがxj1,…,xnjの如何なる線形形式とも相互に関連しない点で、相 関に対する最大限の免疫性がある。 5/ 入力の線形形式と出力項との間の相関が一様に小さい。特に、linxjがい ずれかの線形形式(11)であれば、 prob(linxj=linzj)≦1/2+1/2k+1 特性3〜5に対する形式的な数学上の証明を以下に行うとする。 以下の事項を得るために、zjの各積項に現れる最初の項の係数を拡張して( 式(13)参照)、次の式を得る。 そうすると、mjが上記の式の右辺に「単独」で現れ、かつmjもxlj,…xnj のいずれもがその式の残りには現れない上記の形式から、特性3及び4が導かれ る。 特性5:式linzj=linxjはxijについての任意の線形形式とする。まず第1に 、i>1に対してxijを固定値(しかし任意である)とする。また、表記をより 簡単にするためにxljを単にxjを書く。以下のような新たな変数u1,u2,…,uk 及びv1,v2,…,vkを導入する。 u1=mj-12=mj-33=mj-6 ・ ・ uk=mj-(1/2)k(k+1)1=mj-2+w12=mj-5+w1j-2+w2j-4+w33=mj-9+w1j-4+w3j-8+w4j-5+w5j-7+6 ・ ・ vk=mj-(1/2)k(k+3)+…+w(1/2)k(k+1)(上記のように) さらに、j-1,j-3,j-6,…,j-(1/2)k(k+1)又はj-2,j-5,j-9,j-(1/2)k(k+3)のう ちのいずれでもないiに対してxiを固定値とする。そのとき上記より、或るブ ール定数(boolean constants)a1,a2,…,ak及びb1,b2,…,bkに対して次式 が得られる。 u1=xj-1+a1, v1=xj-2+b1, u2=xj-3+a2, v2=xj-5+w1j-2+b2, u3=xj-6+a3, v3=xj-9+w4j-5+b3, ・ ・ uk=xj-(1/2)k(k+1)+ak, vk=xj-(1/2)k(k+3)+…+bk, ここで、固定値ではない各xjの項は、uj及びvjについての線形形式として表 現することができる。例えば、 xj-2=v1+b1j-5=v2+w1(v1+b1)+b2=v2+w11+(w11+b2) xj-9=v3+w4(v2+w1(v1+b1)+b2)+b3 =v3+w42+w411+(w411+w42+b3) 等である。 いま、linzjの拡張から、項mj-1,mj-3,…,mj-(1/2)k(k+1)は示されている ようにのみ現れることに注意されたい。さらに、残余項におけるsの項は、全て j-(1/2)k(k+1)よりも小さい添字を持っている。したがって、式linzj=linxjは 、m及びxの項に代入した後は、 u11+u22+…+ukk+f(v1,v2,…,vk) =lin(u1,u2,…,uk,v1,v2,…,vk) となる。ここで、lin()は或る線形形式であり、fはv1,v2,…,vkの或る関数 である。ベント関数(Bent functions)についての標準的な結果(standard res ults)より(メイアー(W.Meier)及びスタフェルバーク(O.Staffelbach)に よる「Correlation properties of Combiners with memory in stream ciphers (逐次暗号におけるメモリを有する結合器の相関特性)」,Journal of Crypto1o gy,Vol.4,No.5(1992),pp.67-86を参照されたい)、この式が成立する確率は 高々 1/2+1/2k+1である。この結果は固定された全ての変数の組み合わ せに対して該当するため、これは全体としても該当するにちがいない。 ストリーム暗号発生装置2の暗号生成速度は、また、1サイクル当たり1ビッ トの割合の従来の出力よりも改善することができる。出力が1サイクル当たり1 ワード(例えば32ビット)の割合で生成されれば、暗号化を行うことができる 速度が32倍増大する。これを達成するために、各セルの変数が1ビットではな く1ワードであって、式(13)、(14)及び(15)におけるGF(2)上の加算及び乗算 がワード間でビット毎に行われるように、ストリーム暗号発生装置2を修正する ことができる。この効果は、32個の暗号化装置を並列に動作させて出力をまと めた場合と同一である。したがって、各出力ワードのn番目のビットは、1度に 1ビットを操作する同様の暗号化装置の出力に相当する。これらのビット暗号化 装置のそれぞれは、構造において同一であり、LFSRの初期ベクトルにおいて のみ相違する。各LFSRの初期ベクトルを注意深く選択することにより、その 出力をサイクル当たり1ビットの所与の暗号化装置の全期間の出力に一致させる ことができる。ただし、出力ビットが簡単な方法で並べ替えられていることが唯 一の相違点である。この利点は、サイクル当たり1ワードの暗号化装置は1/3 2のサイクル数で出力を生成できることである。 ブロック暗号に比べ、逐次暗号では、完全性を付与する確立された動作モード は存在しない。しかし、本発明の実施例に係る逐次暗号は、完全性検査値(IC V)を提供するメッセージ認証コード(MAC)の実用に利用することができる 。 図2は、完全性検査機構の第1例を含む本発明の好ましい実施例のブロック図 を示している。特に、そこでは、既に説明され図1に示された暗号ストリーム発 生装置2を備えるメッセージ暗号化システム20が示されている。暗号化システ ム20は、また、完全性検査値発生器18、暗号化処理装置26、及び平文テキ スト・メッセージ源22を有している。平文テキスト・メッセージ・データは、 完全性検査値発生器18によってメッセージ源22から受け取られる。完全性検 査値発生器18では、メッセージ・データ・ストリームが非線形処理装置10か らのメモリ・データ・ストリームと結合される。その後、完全性検査値(ICV )を得るために、結合されたストリームに完全性関数(integrity function)が 適用される。このICVは、暗号化処理装置26に転送され、そこで、メッセー ジ源22から暗号化処理装置26へ更に転送された平文テキスト・メッセージの 終端に、メッセージ認証コードとして付け加えられる。このメッセージとMAC は、その後、出力14からの暗号ストリームと結合されることにより暗号化され 、暗号化されたメッセージはライン30に出力される。 図2の、完全性及び暗号化のシステムである18及び26の第1例を以下に説 明する。 上記で説明されたようにして実現された逐次暗号化装置2により、32ビット ・ワードが各サイクル毎に生成される。メッセージMがk個のワードM1,M2,M3 ,…,Mqから構成されるものとする。完全性関数は、暗号(sj,sj+1,sj+2,… )によって生成される記憶ビットが組み込まれたものである。メッセージMに対 して暗号化を行い完全性を付与することに関わるステップの概要が以下で説明さ れる。そこでは、記号"^"はビット毎の排他的論理和を表し、”c<<r”はr ビットだけ巡回的にシフトさせたワードcを表す。また、逐次暗号化装置がjサ イクルだけ終了して状態jになっているものと仮定する。 [ステップ1]:必要ならば、メッセージ・ストリームが少なくとも16ワー ドを含むように、”ゼロ”のワードをメッセージ・ストリームに詰める。このよ う にして、メッセージ・ストリームはM1,M2,M3,…Mqとなる。ただし、q>= 16である。 [ステップ2]:暗号化装置をq+1サイクルだけ動作させ、出力zj+1,zj+ 2 ,…zj+q+1及びメモリ・ワードsj+1,sj+2,…sj+qを記憶する。 [ステップ3]:次のようになるようにメモリ・ストリームにメッセージ・ス トリームを加える。 M'n=Mn^sj+n ただし、n=1,…,q [ステップ4]:最初の16ワードを2回繰り返すことにより32個の余分な ワードを新しいメッセージに詰める。したがって、 M'q+16+n=M'q+n=M'n ただし、n=1…16 である。 [ステップ5]:2個のシフト配列shift1及びshift2を以下のように定義する 。 shift1[i]=i+1 ただし、i=0,…,30 shift1[31]=1 shift2[i]=(i+1)*11(mod32) ただし、i=0,…,30 shift2[31]=11 shift2の定義において、32に対して互いに素な1と30の間のいずれの数を 11の代わりに選んでもよいことに注意されたい。 [ステップ6]:以下のように二つのラウンドにおいて完全性関数を適用する 。 a=0; b=0; c=0; d=0; icv=0; ラウンド1: i=1; while(i<=q+32){ a=d^((M'i^(b&c))<<shft1[i&31]); x[i]=a; i=i+1; b=a^((M'i^(c&d))<<shft1[i&31]); x[i]=b; i=i+1; c=b^((M'i^(d&a))<<shft1[i&31]); x[i]=c; i=i+1; d=c^((M'i^(a&b))<<shft1[i&31]); x[i]=d; i=i+1; icv=icv^d; } ラウンド2: i=1; while(i<=q+32){ a=d^((x[i]^M'i^(b&c))<<shft2[i&31]); i=i+1; b=a^((x[i]^M'i^(c&d))<<shft2[i&31]); i=i+1; c=b^((x[i]^M'i^(d&a))<<shft2[i&31]); i=i+1; d=c^((x[i]^M'i^(a&b))<<shft2[i&31]); i=i+1; icv=icv^d; } [ステップ7]:Mq+1=icvとおくことにより元のメッセージMにicvを加える 。 [ステップ8]:暗号ストリームを下記のようになるように加えることにより そのメッセージを暗号化する。 Encrypt(M)=M1^zj+1,M2^zj+2,…,Mq+1^zj+q+1 完全性及び暗号化のシステム18及び26の変形例を以下においてアルゴリズ ムの形式で説明するとともに、図3においてブロック図として示す。この例にお いて、前述の例のためになされたものと同じ仮定が適用されるが、フィードバッ ク・ストリーム(sj,sj+1,sj+2…)に代えて記憶ビット(式(13)及び(14)参 照)が完全性関数に組み込まれる。 [ステップ1]:必要ならば、16ワードの整数倍を含むように、ゼロのワー ドをメッセージ・ストリームに詰める。このようにして、メッセージ・ストリー ムはM1,M2,M3,…,Mnとなる。ただし、n=16t、tはt>0なる整数であ る。 [ステップ2]:暗号化装置をn+1サイクルだけ動作させ、出力zj+1,zj+ 2 ,…zj+n+1及びメモリ・ワード・ストリームm=mj,mj+1,mj+2,…,mj+nを 記憶する。 [ステップ3]:次のようになるようにメモリ・ストリームにメッセージ・ス トリームを加える。 M'n=Mn^mj+r ただし、r=1,…,n [ステップ4]:以下のように三つのラウンドにおいて完全性関数を適用する 。 icv=0; for(j=0 to t-1){ a=0; b=0; c=0; d=0; ラウンド1: i=1; while(i<=16){ a=d^((M'16j+i^(b&c)^(~b&d))<<7); i=i+1; b=a^((M'16j+i^(c&d)^(~c&a))<<12); i=i+1; c=b^((M'16j+i^(d&a)^(~d&b))<<17); i=i+1; d=c^((M'16j+i^(a&b)^(~a&c))<<22); i=i+1; } ラウンド2: i=1; while(i<=16){ a=d^((M'16j+i^(b&c)^(~b&d))<<5); i=i+1; b=a^((M'16j+i^(c&d)^(~c&a))<<9); i=i+1; c=b^((M'16j+i^(d&a)^(~d&b))<<14); i=i+1; d=c^((M'16j+i^(a&b)^(~a&c))<<20); i=i+1; } ラウンド3: i=1; while(i<=16){ a=d^((M'16j+i^(b&c)^(~b&d))<<4); i=i+1; b=a^((M'16j+i^(c&d)^(~c&a))<<11); i=i+1; c=b^((M'16j+i^(d&a)^(~d&b))<<16); i=i+1; d=c^((M'16j+i^(a&b)^(~a&c))<<23); i=i+1; } icv=icv^d; } [ステップ5]:Mn+1=icvとおくことにより元のメッセージMにicvを加え る。 [ステップ6]:下記のようにしてそのメッセージを暗号化する。 Encrypt(M)=M1^zj+1,M2^zj+2,…,Mn+1^zj+n+1 暗号化を伴わない完全性が必要とされる場合は、ステップ6においてMn+1の みを暗号化することを除いて全く同じ手順を使用する。さらに、ステップ4の三 つのラウンドで利用される数列(7,12,17,22,5,…,23)は自由に選ばれたもので あるが、この数列は優れた完全性検査効果を生じることが実験的に示されている 。 上記で説明された完全性の機構は、どの二つのメッセージについても、ランダ ムなj(逐次暗号の位置)に対してicv(M)=icv(M')となる確率が1/2w に近いという意味で理想的である。ただし、wはワードのサイズである。いわゆ る「誕生日攻撃(Birthday Attack)」(この攻撃では、或るメッセージに代え て同じicvを有する他のメッセージが用いられる)は完全性関数に対しては用い ることができない。この関数は逐次暗号化装置の状態とともに変化するからであ る。これは従来のメッセージ認証コードではそのようにならないことに注意され たい。 従来のメッセージ認証コードの弱点を強調するために、固定された鍵kがメッ セージ認証コード関数Macとともに使用されるものと仮定する。攻撃者は、送信 者Sと受信者Rとの間の通信線に侵入する。さらに、攻撃者は特定のメッセージ Mの内容を知っているものと仮定する。このとき、攻撃者がMacを獲得すること ができれば、M及びMack(M)を用いてMac鍵kを算出することができるかもし れない。彼は、彼自身のメッセージM'とMac(M')を作成し、これを正当な送 信者Sから来たかのように受信者Rに送るかもしれない。たとえそのメッセージ ・ストリームが逐次暗号化装置によって暗号化されていても、攻撃者は次のよう にして攻撃をすることができる。M’及びMac(M’)の算出後、攻撃者は、後 続のメッセージM''の内容がわかると確信するまで待機する。その後、M''+M 'をそのメッセージ.ストリームに加え、かつそのメッセージ。ストリーム中のMa cにMack(M')を加えることにより、M''をM'で置き換える。 しかし、本完全性システム(integrity system)には、上記の種類の攻撃が効 果を発揮できない大きな理由がある。鍵kの長さは少なくとも512ビット長で あり、一方、icvは32ビット長にすぎない。したがって、たとえMac関数が容易 に逆算できるものであっても、攻撃者がM及びMack(M)から正しいkを算出で きる可能性は、2480(>10144)回に1回程度にすぎない。このため、M及び Mack(M)からは、kについての無視できるような量の情報のみが得られるだけ である。攻撃者がMからzjを算出し、それによってmiを見つけるかもしれない という主張がなされるかもしれないが、zjとmjとの相関は低いため、このよう な攻撃は非現実的である。 第2に、Mac鍵kは暗号ストリーム発生装置の状態とともに絶えず変化してい るため、攻撃者は後のどの時点においてもメッセージM及び正しいicvを挿入す ることはできない。したがって、たとえ、攻撃者がM及びMack(M)を獲得し、 他のメッセージM'に対するM'及びMack(M')を算出することができたとして も、彼は、実際の通信の流れの中で、MからM'への置き換えとMack(M)からM ack(M')への置き換えと達成するために、このような計算を十分に速く行わな ければならない。 以上の詳細な記述は、説明のためにのみなされたものであり、この書面に添付 される請求の範囲において定義される発明を限定をすることを意図するものでは ない。 添付文書 [定理の証明] 証明の説明を簡単にするために、以下の表記を用いる。 j=g(xlj,…,xnj) hj=h(xlj,…,xnj) 式(4')から(3)への代入を続けることにより、 zjsumj+sj =sumj+gj-1+hj-1j-1 =sumj+gj-1+hjー1(gj-2+hj-2j-2) =sumj+gj-1+hj-1(gj-2+hj-2(gj-3+hj-3j-3)) ……など となる。 いま、系列hjはM=h(L1,…,Ln)という線形の複雑さを有しているため 、系列hjの高々M個の連続した値は1となり得る。jが少なくともM+1であ れば、 zj=sumj+gj-1+hj-1(gj-2+…+hj-M(gj-M-1)…) となる。このため、或る関数F及び少なくともM+1であるjに対して zj=F(xik,i=1,2,…,n,k=j,j−1,…,j−M−1) となる。LFSRの性質より、いずれの項xikも、xim,m=k+1,k+2,…, k+Liの関数として表現できる。したがって、jが少なくともM+1であれば 、或る関数F'に対して zj=F'(xiki,i=1,2,…,n,ki=j,j−1,…,j=Li) となる。いま、少なくともM+1であるjに対して、F'における2進数の変数 のベクトルは周期Pで同じ値を有している。zjは少なくともM+1であるjに 対してPの約数である周期を有していることになる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CZ,DE,DK,ES,FI,GB,H U,JP,KP,KR,KZ,LK,LU,LV,MG ,MN,MW,NL,NO,NZ,PL,PT,RO, RU,SD,SE,SK,UA,US,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.暗号ストリームを発生させるためのデジタルデータ・ストリーム発生装置に おいて、少なくとも一つの疑似ランダムデータ・ストリームを生成するフィード バック・シフトレジスタ構造体と、前記少なくとも一つのデータ・ストリームか ら暗号ストリームを生成する処理構造体であって、少なくとも一つのデータ・ス トリームの先行する複数の値から導出される結合値の系列を記憶する手段、及び 、前記結合値の複数対について、各対の結合値間の系列中の位置の差が異なるよ うに乗算し、該乗算された複数対を加算することにより前記暗号ストリームを生 成する処理手段を有する処理構造体と、を備えるデジタルデータ・ストリーム装 置。 2.請求項1に記載のデジタルデータ・ストリーム発生装置において、前記処理 構造体は、記憶値の系列を前記少なくとも一つのデータ・ストリームの値と少な くとも一つの前の記憶値とから生成するための非線形フィードバック・システム を有し、該記憶値の少なくとも一つは前記暗号ストリームを生成するために前記 乗算された複数対と足し合わされるデジタルデータ・ストリーム発生装置。 3.請求項1に記載のデジタルデータ・ストリーム発生装置において、前記フィ ードバック・シフトレジスタ構造体は、複数のnの線形フィードバック・シフト レジスタを有し、各シフトレジスタは疑似ランダムデータ・ストリームを前記非 線形結合構造体に渡すデジタルデータ・ストリーム発生装置。 4.請求項2に記載のデジタルデータ・ストリーム発生装置において、前記非線 形フィードバック・システムは、前記少なくとも一つのデータ・ストリームの値 と少なくとも一つの前の記憶値とに非線形関数を適用することにより記憶値を発 生させるデジタルデータ・ストリーム発生装置。 5.請求項4に記載のデジタルデータ・ストリーム発生装置において、前記結合 値の各値は、前記少なくとも一つのデータ・ストリームからの値を足し合わせる ことにより導出されるデジタルデータ・ストリーム発生装置。 6.請求項5に記載のデジタルデータ・ストリーム発生装置において、前記フィ ードバック・シフトレジスタ構造体は、ビットストリームx1j・・・xnjを生成す る nの線形フィードバック.シフトレジスタを有し、前記フィードバック・システ ムは、fを非線形関数とした場合でのsj+1=f(x1j,・・・,xnj,sj)により記憶 ビットsjの系列を生成するデジタルデータ・ストリーム発生装置。 7.請求項6に記載のデジタルデータ・ストリーム発生装置において、前記結合 値は、 により作成されるデジタルデータ・ストリーム発生装置。 8.請求項7に記載のデジタルデータ・ストリーム発生装置において、前記暗号 ストリームzjは、kを1よりも大きい整数とした場合での により生成されるデジタルデータ・ストリーム発生装置。 9.暗号ストリームを発生させるためのデジタルデータ発生装置において、少な くとも一つの線形フィードバック・シフトレジスタ(LFSR)と、前記少なく とも一つのLFSRの出力の総和の系列を生成するための加算手段と、非線形値 の系列を前記少なくとも一つのLFSRの出力と前記非線形出力値の系列の少な くとも一つの前の値とにより生成するための非線形フィードバック処理手段と、 前記総和の系列の複数対と前記非線形値の系列の少なくとも一つとを利用してベ ント関数によりデータ・ストリームを発生させるための出力処理手段とを備え、 各対の要素の系列中の位置の差が各対によって異なっているデジタルデータ発生 装置。 10.デジタルメッセージの暗号化又は復号化を行うためのシステムにおいて、 疑似ランダムデータ系列を発生させるための線形駆動サブシステムと、前記疑似 ランダムデータ系列から暗号ストリームを生成するための非線形フィードバック ・サブシステムと、メッセージを前記暗号ストリームと結合することにより該メ ッセージの暗号化又は復号化を行うための暗号化処理装置とを備え、前記非線形 フィードバック・サブシステムが、フィードバック系列を、前記疑似ランダムデ ータ系列のうちの少なくとも一つの値と前記フィードバック系列のうちの少なく とも一つの前の値とに非線形関数を適用することにより発生させるための非線形 フィ ードバック処理手段と、前記疑似ランダムデータ系列中の値の複数対であって該 対の各要素間の系列中における位置の差が各対によって異なるように選択された 対の積を前記フィードバック系列のうちの一つの値とともに足し合わせることに より前記暗号ストリームを発生させるための暗号ストリーム発生器と、を有して なるシステム。 11.請求項10に記載のシステムにおいて、前記線形駆動サブシステムは、秘 密鍵データを予め格納している複数個の線形フィードバック・シフトレジスタで あって、前記疑似ランダムデータ系列を供給するために結合される別個のデータ 系列を発生させる線形フィードバック・シフトレジスタを有するシステム。 12.請求項11に記載のシステムであって、前記非線形フィードバック処理手 段は、使用状態において、前記フィードバック系列の以前の値とともに前記別個 のデータ系列からの値に前記非線形関数を適用することにより前記フィードバッ ク系列を発生させるシステム。 13.請求項12に記載のシステムであって、前記暗号化処置装置は、前記暗号 ストリームとともに前記メッセージ・ストリームに対しビット毎の排他的論理和 の演算を行うことにより平文テキスト・メッセージを暗号化するシステム。 14.請求項12に記載のシステムであって、前記暗号化処置装置は、前記暗号 ストリームとともに暗号化メッセージ・ストリームに対しビット毎の排他的論理 和の演算を行うことにより前記暗号化メッセージ・ストリームを復号化するシス テム。 15.請求項10乃至14のいずれか一の請求項に記載のシステムであって、前 記フィードバック系列からの値を前記メッセージ・ストリームに結合してそれに 完全性関数を適用することにより平文テキスト・メッセージから完全性検査値を 発生させるための完全性検査サブシステムを更に備えるシステム。 16.暗号ストリームを発生させるための方法において、疑似ランダムデータ・ ストリーム系列を発生させるステップと、前記データ・ストリーム系列中の値の 複数対であって該対の各要素間の系列中における位置の差が各対によって異なる ように選択された対の積を前記データ・ストリーム系列からの値の非線形フィー ドバック関数より導出される値とともに足し合わせることにより、暗号ストリー ムを発生させるステップと、を備える方法。 17.請求項16に記載の方法であって、前記疑似ランダムデータ・ストリーム 系列は、複数の線形フィードバック・シフトレジスタからの別個のデータ系列の 出力を足し合わせることにより生成される方法。 18.請求項17に記載の方法であって、前記非線形フィードバック関数は前記 別個のデータ系列の出力からの値に作用する方法。 19.請求項18に記載の方法において、前記別個のデータ系列の出力値はワー ドであって前記加算及び乗算がワード間でビット毎に行われる方法。 20.請求項18に記載の方法において、前記疑似ランダムデータ系列mjは、 によりn個の前記別個のデータ系列の出力xijから作成され、前記暗号ストリー ムzjは、kを1よりも大きい整数とし、sjを前記非線形フィードバック関数f の値であって sj+1=f(x1j,…,xnj,sj) とした場合での により生成される方法。 21.請求項16乃至20のいずれか一の請求項に記載の方法であって、暗号化 されたメッセージストリームを生成するために平文テキスト・メッセージ・スト リームに前記暗号ストリームを加えるステップを含む方法。 22.請求項16乃至20のいずれか一の請求項に記載の方法であって、復号化 された平文テキスト・メッセージ・ストリームを得るために暗号化されたメッセ ージ・ストリームに前記暗号ストリームを加えるステップを含む方法。 23.請求項21に記載の方法であって、前記非線形フィードバック関数より導 出される値を前記平文テキスト・メッセージ・ストリームと結合し、完全性検査 値を得るために該結合したものに完全性関数を適用するステップを含む方法。 24.請求項23に記載の方法であって、前記平文テキスト・メッセージ・スト リームに前記暗号ストリームを加える前に前記平文テキスト・メッセージに完全 性検査値を付加するステップを含む方法。 25.請求項22に記載の方法であって、前記非線形フィードバック関数により 導出される値を前記復号化された平文テキスト・メッセージ・ストリームと結合 し、完全性検査値を得るために該結合したものに完全性関数を適用するステップ を含む方法。 26.請求項25に記載の方法であって、前記復号化された平文テキスト・メッ セージの完全性を判定するために、前記平文テキスト・メッセージ・ストリーム から得られた完全性検査値を前記平文テキスト・メッセージ・ストリームに付加 された値と比較するステップを含む方法。 27.デジタルメッセージを暗号化する方法において、疑似ランダムデータ・ス トリーム系列を発生させるステップと、前記データ・ストリーム系列に対して非 線形フィードバック変換を行うステップと、前記データ・ストリーム系列中の値 の複数対であって該対の各要素間の系列中における位置の差が各対によって異な るように選択された対の積を前記非線形フィードバック変換の値とともに足し合 わせることにより、線形形式に対する相関が最小化された暗号ストリームを発生 させるステップと、前記暗号ストリームに基づいて前記デジタルメッセージを暗 号化するステップと、を備える方法。 28.デジタルメッセージを暗号化する方法において、疑似ランダムデータ・ス トリーム系列を発生させるステップと、前記データ・ストリーム系列に対して非 線形フィードバック変換を行うステップと、前記データ・ストリーム系列中の値 の複数対であって該対の各要素間の系列中における位置の差が各対によって異な るように選択された対の積を前記非線形フィードバック変換の値に基づく関数と ともに足し合わせることにより、線形形式に対する相関が最小化された暗号スト リームを発生させるステップと、前記暗号ストリームに基づいて前記デジタルメ ッセージを復号化するステップと、を備える方法。 29.請求項27又は28に記載の方法であって、前記疑似ランダムデータ・ス トリーム系列は、複数の線形フィードバック・シフトレジスタからの出力を結合 することにより生成される方法。 30.請求項27に記載の方法であって、前記非線形フィードバック変換により 導出された値は前記デジタルメッセージと結合され、前記デジタルメッセージを 暗号化する前に前記デジタルメッセージに付加される完全性検査値を生成するた めに前記結合されたものに完全性関数が適用される方法。 31.請求項27に記載の方法であって、前記疑似ランダムデータ・ストリーム 系列中の値は前記デジタルメッセージと結合され、前記デジタルメッセージを暗 号化する前に前記デジタルメッセージに付加される完全性検査値を生成するため に前記結合されたものに完全性関数が適用される方法。 32.デジタル処理装置を利用して暗号ストリームを発生させる方法において、 疑似乱数ストリーム系列mjを発生させるステップと、非線形フィードバック方 式により数値ストリーム系列sjを発生させるステップと、c,dをc<d≦j なる予め決められた整数とし、ak,bkを全てのe,fε[c,d]に対して(ae −be)≠(af−bf)なるj以下の整数とした場合での により、出力の暗号ストリーム系列zjを発生させるステップと、を備える方法 。 33.逐次暗号化装置であって、使用状態において少なくとも一つの疑似ランダ ムデータ・ストリームを発生させる線形駆動システムと、フィードバック・デー タ・ストリームを有し、前記少なくとも一つの疑似ランダムデータ・ストリーム に対して非線形演算を行うことにより暗号ストリームを発生させる非線形結合シ ステムと、使用状態においてデジタルメッセージを前記フィードバック・データ ・ストリームと結合し、完全性検査値を発生させるために該結合したものに完全 性関数を適用する完全性システムと、出力システムとを備え、前記完全性検査値 を前記デジタルメッセージに付加し、付加された検査値を前記暗号ストリームを 用いて暗号化するように構成した逐次暗号化装置。
JP6515531A 1992-12-30 1993-12-30 暗号ストリームを発生させるための装置及び方法 Pending JPH08505275A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPL657792 1992-12-30
PCT/AU1993/000687 WO1994016509A1 (en) 1992-12-30 1993-12-30 A method and apparatus for generating a cipher stream
AU6577 1994-06-30

Publications (1)

Publication Number Publication Date
JPH08505275A true JPH08505275A (ja) 1996-06-04

Family

ID=3776631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6515531A Pending JPH08505275A (ja) 1992-12-30 1993-12-30 暗号ストリームを発生させるための装置及び方法

Country Status (10)

Country Link
US (1) US5703952A (ja)
EP (1) EP0681768B1 (ja)
JP (1) JPH08505275A (ja)
AT (1) ATE200169T1 (ja)
CA (1) CA2150681C (ja)
DE (1) DE69330070T2 (ja)
FI (1) FI953232L (ja)
NO (1) NO952595L (ja)
SG (1) SG48838A1 (ja)
WO (1) WO1994016509A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001523031A (ja) * 1997-11-10 2001-11-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 擬似乱数を生成するための装置及びそれに関連する方法
JP2012100078A (ja) * 2010-11-02 2012-05-24 Kddi Corp ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム
JP2015114434A (ja) * 2013-12-10 2015-06-22 Kddi株式会社 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014445A (en) * 1995-10-23 2000-01-11 Kabushiki Kaisha Toshiba Enciphering/deciphering apparatus and method incorporating random variable and keystream generation
DE19622533A1 (de) * 1996-06-05 1997-12-11 Deutsche Telekom Ag Verfahren und Vorrichtung zum Laden von Inputdaten in einen Algorithmus bei der Authentikation
TW401573B (en) * 1997-01-10 2000-08-11 Victor Company Of Japan Methods, apparatuse, and systems for producing and writing cipher keys, reproducing information with a cipher key, and for permitting reproduction of information with a cipher key, and optical disc recorded with a cipher key
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
US6009135A (en) * 1997-10-10 1999-12-28 Interdigtal Technology Corporation Method and apparatus for generating a stream cipher
NL1007495C2 (nl) * 1997-11-07 1999-05-12 Koninkl Kpn Nv Werkwijze voor het beveiligd uitlezen van een vercijferd, opgeslagen cryptografische sleutel en communicatieapparaten daarvoor.
US6490357B1 (en) * 1998-08-28 2002-12-03 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6560338B1 (en) 1998-08-28 2003-05-06 Qualcomm Incorporated Limiting delays associated with the generation of encryption stream ciphers
US6351539B1 (en) * 1998-09-18 2002-02-26 Integrated Device Technology, Inc. Cipher mixer with random number generator
FI112315B (fi) * 1999-05-11 2003-11-14 Nokia Corp Integriteetin suojausmenetelmä radioverkkosignalointia varten
US6778670B1 (en) * 1999-08-13 2004-08-17 Legerity, Inc. Method and apparatus for encryption and decryption
TW556111B (en) * 1999-08-31 2003-10-01 Toshiba Corp Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
AU1431301A (en) * 1999-11-22 2001-06-04 Intel Corporation Integrity check values (icv) based on pseudorandom binary matrices
US7190787B1 (en) * 1999-11-30 2007-03-13 Intel Corporation Stream cipher having a combiner function with storage based shuffle unit
US6760440B1 (en) * 1999-12-11 2004-07-06 Honeywell International Inc. One's complement cryptographic combiner
WO2002021760A1 (en) * 2000-09-07 2002-03-14 Ivan Vesely Cascaded stream cipher
US7277543B1 (en) * 2000-11-14 2007-10-02 Honeywell International Inc. Cryptographic combiner using two sequential non-associative operations
DE10158003B4 (de) * 2001-11-22 2007-03-08 Key2Crypt Gmbh Verfahren zur Erzeugung von Schlüsseln für die Datenverschlüsselung sowie Verfahren zur Datenverschlüsselung
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
EP1513279B1 (en) * 2003-09-08 2007-10-31 ABB Research Ltd. Data encryption on the physical layer of a data transmission system
US7340496B2 (en) * 2003-12-17 2008-03-04 International Business Machines Corporation System and method for determining the Nth state of linear feedback shift registers
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
TW200708027A (en) * 2005-04-29 2007-02-16 Sean O'neil Process of and apparatus for hashing
JP4905000B2 (ja) * 2006-09-01 2012-03-28 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
KR100885994B1 (ko) 2006-11-09 2009-03-03 한국전자통신연구원 비선형 필터링된 t함수에 기반한 스트림 암호화 장치 및방법
DE102009061045B4 (de) * 2009-06-10 2012-05-03 Infineon Technologies Ag Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
US9002004B2 (en) * 2010-08-27 2015-04-07 Tektronix, Inc. Appending pseudo-random sub-LSB values to prevent intensity banding
US9559844B2 (en) * 2011-11-09 2017-01-31 Kddi Corporation Non-linear processor, stream-cipher encrypting device, stream-cipher decrypting device, mask processing method, stream-cipher encrypting method, stream-cipher decrypting method, and program
US9703945B2 (en) 2012-09-19 2017-07-11 Winbond Electronics Corporation Secured computing system with asynchronous authentication
WO2014131677A1 (en) * 2013-02-28 2014-09-04 Koninklijke Philips N.V. Random number generator and stream cipher
US9455962B2 (en) 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
EP3893229B1 (en) * 2013-10-10 2024-06-19 Nippon Telegraph And Telephone Corporation Secret parallel processing device, secret parallel processing method, and program
US10469247B2 (en) * 2014-12-17 2019-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Stream ciphering technique
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
US11610004B2 (en) 2021-04-14 2023-03-21 Bank Of America Corporation System for implementing enhanced file encryption technique

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH411983A (de) * 1963-10-18 1966-04-30 Gretag Ag Verfahren zum Ver- und Entschlüsseln von impulsförmigen Nachrichten
DE1216921C2 (de) * 1963-12-24 1976-05-13 Gretag Ag Verfahren zur Synchronisierung der Ver- und Entschluesselung von impulsfoermigen, binaer codierten Nachrichten, bei welchem sendeseitig die Nachrichtenklarimpulse mit Schluessel-impulsen gemischt werden
JPS63308432A (ja) * 1986-05-15 1988-12-15 Toyo Commun Equip Co Ltd 系列生成方法
JPS62281537A (ja) * 1986-05-30 1987-12-07 Hitachi Ltd デ−タ保護方式
US4860353A (en) * 1988-05-17 1989-08-22 General Instrument Corporation Dynamic feedback arrangement scrambling technique keystream generator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001523031A (ja) * 1997-11-10 2001-11-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 擬似乱数を生成するための装置及びそれに関連する方法
JP2012100078A (ja) * 2010-11-02 2012-05-24 Kddi Corp ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム
JP2015114434A (ja) * 2013-12-10 2015-06-22 Kddi株式会社 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム

Also Published As

Publication number Publication date
WO1994016509A1 (en) 1994-07-21
FI953232A0 (fi) 1995-06-29
FI953232A7 (fi) 1995-06-29
SG48838A1 (en) 1998-05-18
NO952595L (no) 1995-08-30
DE69330070T2 (de) 2001-11-08
ATE200169T1 (de) 2001-04-15
DE69330070D1 (de) 2001-05-03
NO952595D0 (no) 1995-06-28
US5703952A (en) 1997-12-30
CA2150681A1 (en) 1994-07-21
EP0681768A1 (en) 1995-11-15
EP0681768B1 (en) 2001-03-28
EP0681768A4 (en) 1998-02-04
CA2150681C (en) 1999-09-14
FI953232L (fi) 1995-06-29

Similar Documents

Publication Publication Date Title
JPH08505275A (ja) 暗号ストリームを発生させるための装置及び方法
US5511123A (en) Symmetric cryptographic system for data encryption
Ekdahl et al. SNOW-a new stream cipher
EP0635956B1 (en) Encryption apparatus, communication system using the same and method therefor
US6307940B1 (en) Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
US6185679B1 (en) Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks
US7054445B2 (en) Authentication method and schemes for data integrity protection
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP3339688B2 (ja) 非決定論的ミクスチャー発生器ストリーム暗号化システム
US6314187B1 (en) Method for encryption or decryption using finite group operations
US6185304B1 (en) Method and apparatus for a symmetric block cipher using multiple stages
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US20020048364A1 (en) Parallel block encryption method and modes for data confidentiality and integrity protection
KR100994841B1 (ko) 다중키를 이용한 스트림 암호 생성 방법 및 기록 매체
US7110539B1 (en) Method and apparatus for encrypting and decrypting data
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
JP2000511755A (ja) バイナリーコード情報を暗号化する方法
WO2022096141A1 (en) Method for processing encrypted data
Prajapati et al. KBC: Multiple key generation using key block chaining
WO1994021066A1 (en) A method and apparatus for generating a digital message authentication code
JPH1117673A (ja) 共通鍵暗号通信方法及びその通信ネットワーク
JPH0736672A (ja) 乱数発生器、及びそれを用いた通信システム及びその方法
Paar et al. More about block ciphers
AU670355B2 (en) A method and apparatus for generating a cipher stream