JPH06342257A - 逐次暗号方式 - Google Patents

逐次暗号方式

Info

Publication number
JPH06342257A
JPH06342257A JP13175093A JP13175093A JPH06342257A JP H06342257 A JPH06342257 A JP H06342257A JP 13175093 A JP13175093 A JP 13175093A JP 13175093 A JP13175093 A JP 13175093A JP H06342257 A JPH06342257 A JP H06342257A
Authority
JP
Japan
Prior art keywords
random number
data
pseudo
unit
exclusive
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
JP13175093A
Other languages
English (en)
Inventor
Natsume Matsuzaki
なつめ 松崎
Makoto Tatebayashi
誠 館林
Motoji Omori
基司 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP13175093A priority Critical patent/JPH06342257A/ja
Publication of JPH06342257A publication Critical patent/JPH06342257A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ハードウェア規模またはプログラム規模が小
さい線形フィードバックレジスタ(LFSR)を用いた擬似
乱数生成器を用い、フレームの脱落およびビット誤りに
対応した安全な逐次暗号方式を提供する。 【構成】 暗号部100 で、フレーム先頭で初期値K0〜K3
を各LFSRに設定し、生成した擬似乱数データPN i と平
文データP i との排他的論理和を計算し暗号文データC
i を送出する。暗号文データC i をLFSRの格納値に排他
的論理和で加算しLFSRに再度格納する。復号部101 で、
フレーム先頭で暗号部100 と共有している秘密の初期値
K0〜K3を各LFSRに設定し、受信した暗号文データC' i
との排他的論理和を求めてLFSRに再度格納する。暗号部
100 側と同じ擬似乱数データPN iを生成する。受信した
暗号文データC' i と擬似乱数データPN i との排他的
論理和を計算して復号文データP' i を得る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報の秘密通信(特に
無線を用いた秘密通信)における暗号方式のうち規模が
比較的小さく高速処理が可能な逐次暗号方式に関するも
のである。
【0002】
【従来の技術】近年、価値の高い電子情報が増加の一途
をたどっており、そのような情報を第三者の詐取や盗聴
から護りつつ公開チャンネルで伝送する秘密通信の実現
が要望されている。特に無線のネットワークを用いた場
合には第三者による盗聴等が容易となるため、秘密通信
は重要なものとなる。
【0003】ところで、無線で音声や映像等の情報を送
る場合、電波状態によっては、しばしば受信側で受け取
るデータに遅延が生じる。このとき、データをフレーム
単位で削除する「フレームの脱落」の処理を行うことが
ある。それは、情報自身に冗長があるため、遅延よりも
フレームの脱落を行った方が受信側での影響が少ないか
らである。なお、「フレーム」とは、複数ビットのデー
タ単位であり、情報の伝送においては一般的にこの単位
で伝送を行う。
【0004】無線を用いた秘密通信における暗号方式に
おいては、通信途中でフレームが脱落しても、受信側で
「誤り復帰」をできるようにしておくことが必要であ
る。また、暗号化することによる通信速度の低下や通信
の遅延が生じるとしても、それをできるだけ小さなもの
にすることが必要である。なお、後者の条件は秘密通信
に用いる暗号に一般的に要求されることである。
【0005】以上の条件を満たす暗号方式として、一般
に逐次暗号方式が用いられる。逐次暗号方式は、暗号側
(送信側)と復号側(受信側)の双方で同じ擬似乱数列
を生成し、暗号側では平文にその擬似乱数列を排他的論
理和で加算して暗号文を作成して送出し、復号側では受
信した暗号文に対して暗号側と同じ擬似乱数列を排他的
論理和で加算して復号文(平文)を求めるようにしたも
のである。なお、「擬似乱数」とは、コンピュータで生
成されることから乱数列に周期性をもつものであり、周
期性のない「普通乱数」と区別される。擬似乱数列は初
期値の設定に依存し、それが同じであれば同じ擬似乱数
列が生成される。
【0006】〔第1の従来例〕逐次暗号方式において用
いられる擬似乱数生成器としては、一般的に、並列に配
置した複数の線形フィードバックレジスタと、それらか
らの出力ビットを論理積やスイッチ等で結合して擬似乱
数に変換する非線形変換部からなるものが知られてい
る。線形フィードバックレジスタ(Linear Feedback Sh
ift Register)は略してLFSRとも表現される。
【0007】このような従来の擬似乱数生成器を用いた
逐次暗号方式を第1の従来例として図5に示し、以下に
説明する。図5において、1は暗号部(送信側)、2は
復号部(受信側)である。また、3aは暗号部1におけ
る第1の擬似乱数生成器、3bは復号部2における第2
の擬似乱数生成器、4は暗号部1において平文データP
[i]と第1の擬似乱数生成器3aから出力された擬似
乱数データPN[i]との排他的論理和を計算して暗号
文データC[i]を作成する第1の排他的論理和部、5
は復号部2において受信した暗号文データC′[i]と
第2の擬似乱数生成器3bから出力された前記と同じ擬
似乱数データPN[i]との排他的論理和を計算して復
号文データP′[i](元の平文データ)を求める第2
の排他的論理和部である。図では、排他的論理和を、
“○”に“+”を組み合わせた記号で表している。ただ
し、明細書中では、“^”の記号で排他的論理和の演算
子を表すことにする。
【0008】第1および第2の擬似乱数生成器3a,3
bの構成は同一となっており、4個の線形フィードバッ
クレジスタ(LFSR)6a〜9aおよび6b〜9b
と、それらからの出力を非線形に結合して擬似乱数を生
成する非線形変換部10a,10bとからなっている。
【0009】線形フィードバックレジスタ(LFSR)
を含む擬似乱数生成器を用いた逐次暗号方式は、一般的
に、処理が高速で、実現規模が小さく、このことが大き
なメリットとなっている。なお、実現規模とは、ハード
ウェアで構成する場合にはハードウェア量を指し、ソフ
トウェアで構成する場合にはプログラム量を指す。
【0010】線形フィードバックレジスタ(LFSR)
を含む擬似乱数生成器の具体的な例として、非線形変換
部を桁上げ付きの加算で実現したリュッペルの方法があ
る。
【0011】なお、リュッペルの方法については、『Ra
iner A.Rueppel,"Analysis and Design of Stream Ciph
ers",Springer-Verlag,1986.』のP209〜P230に詳細に開
示されている。
【0012】次に、この図5に示した第1の従来例によ
る逐次暗号方式の動作を説明する。
【0013】なお、ここでは、擬似乱数生成器3a,3
bが1回の処理で1バイトの擬似乱数を生成するものと
する。
【0014】まず、暗号部1での動作を説明する。
【0015】(1)暗号部1における第1の擬似乱数生
成器3aは、フレームの先頭で各線形フィードバックレ
ジスタ(LFSR)6a〜9aに初期値を設定する。こ
のLFSR6a〜9aに設定する初期値が暗号部1と復
号部2とに「共通の秘密の鍵」となっている。LFSR
6a〜9aに初期値が設定されると、第1の擬似乱数生
成器3aは1回の処理を行い、1バイトの擬似乱数デー
タPN[0]を生成する。この動作の結果、シフト動作
によって各線形フィードバックレジスタ(LFSR)6
a〜9aの格納値が変化する。すなわち、第1の擬似乱
数生成器3aの「内部状態」が更新される。言い換える
と、この擬似乱数生成器3aは、内部状態をもち、内部
状態によって決定される擬似乱数列を生成するとともに
内部状態を更新するようになっている。なお、初期状態
においては、その内部状態は設定された初期値に依存す
る。
【0016】(2)第1の排他的論理和部4は、入力さ
れてきた1バイトの平文データP[0]と擬似乱数デー
タPN[0]との排他的論理和を計算して暗号文データ
C[0]を作成し、それを送出する。暗号文データC
[0]は、“^”を排他的論理和の演算子として、 C[0]=P[0]^PN[0] となる。
【0017】(3)以下同様にして、第1の擬似乱数生
成器3aは、各線形フィードバックレジスタ(LFS
R)6a〜9aの格納値から継続して擬似乱数データP
N[i](i=1,2……)を生成し、第1の排他的論
理和部4は、平文データP[i]と擬似乱数データPN
[i]との排他的論理和、 C[i]=P[i]^PN[i] より、逐次に暗号文データC[i](i=1,2……)
を作成して送出する。
【0018】次に、復号部2での動作を説明する。
【0019】(1)復号部2における第2の擬似乱数生
成器3bは、フレームの先頭で各線形フィードバックレ
ジスタ(LFSR)6b〜9bに初期値を設定する。す
でに述べたとおり、このLFSR6b〜9bに設定する
初期値が暗号部1と復号部2とに「共通の秘密の鍵」と
なっている。LFSR6b〜9bに初期値が設定される
と、第2の擬似乱数生成器3bは1回の処理を行い、暗
号部1におけるのと全く同一の1バイトの擬似乱数デー
タPN[0]を生成する。
【0020】なお、この復号部2における第2の擬似乱
数生成器3bも、内部状態をもち、内部状態によって決
定される擬似乱数列を生成するとともに内部状態を更新
するようになっている。
【0021】(2)第2の排他的論理和部5は、入力さ
れてきた1バイトの暗号文データC′[0]と擬似乱数
データPN[0]との排他的論理和を計算して復号文デ
ータP′[0]を、 P′[0]=C′[0]^PN[0] によって求める。
【0022】(3)以下同様にして、擬似乱数生成器3
aは、各線形フィードバックレジスタ(LFSR)6b
〜9bの格納値から継続して擬似乱数データPN[i]
(i=1,2……)を生成し、第2の排他的論理和部5
は、受信した暗号文データC′[i]と擬似乱数データ
PN[i]との排他的論理和、 P′[i]=C′[i]^PN[i] より、逐次に復号文データP′[i](i=1,2…
…)を得る。もちろん、各暗号文データC′[i]が暗
号文データC[i]と同じであれば、復号文データP′
[i]は元の平文データP[i]と同じになる。
【0023】以上のように暗号部1の擬似乱数生成器3
aと復号部2の擬似乱数生成器3bとはともにフレーム
の先頭において両者で共有している秘密の鍵によってそ
れぞれの線形フィードバックレジスタ(LFSR)6a
〜9aおよび6b〜9bを初期化する。したがって、も
しフレームの脱落が生じても、次のフレームにおいては
復号部2側で誤りは生じない。すなわち、フレームの脱
落に起因した誤りに対する復帰が自動的に行われる。
【0024】〔第2の従来例〕無線を用いた通信ではそ
の通信路上においてしばしばフレーム内でビットの脱落
や挿入といった暗号側と復号側の同期(第1の従来例に
おけるi)がずれる誤りを生じる。こういった誤りのほ
とんどについてはフレームに付加した誤り訂正符号等を
用いて修正できるが、それでもなお誤りは残り得る。し
たがって、秘密通信に用いる暗号方式は、フレームの途
中でデータが誤っても、受信側(復号部)においてでき
るだけ早期に誤りから復帰することが必要である。第1
の従来例の構成の場合には、フレームの途中でデータに
誤りが生じ、暗号側と復号側の同期がずれると、受信側
でそのフレーム全体が間違って復号されてしまう。この
問題点を解決したのが自己同期型の逐次暗号方式であ
る。
【0025】自己同期型の逐次暗号方式の代表的な構成
は、ブロック暗号を用いた暗号文フィードバックモード
(Cipher Feed-Back Mode ;略称CFBモード)であ
る。暗号文フィードバックモード(CFBモード)は、
米国商務省標準局(NSB)によりデータ暗号化規格D
ES(Data Encryption Standard)を規準とした利用モ
ードの1つとして標準化されている。
【0026】図6は、この標準のデータ暗号化規格DE
Sの部分を一般的な8バイト幅のブロック暗号に置き換
えた第2の従来例としての1バイトCFBモードの構成
を示す。
【0027】図6において、11は暗号部、12は復号
部である。13a,13bは1回の処理で1バイト上位
(左)にシフトしかつ最下位に暗号文データC[i],
C′[i]を格納する8バイトの第1および第2のシフ
トレジスタである。これらのシフトレジスタ13a,1
3bには、初期値としてオール1を格納するようになっ
ている。14a,14bは、シフトレジスタ13a,1
3bの出力を一方の入力とするとともに、暗号部11と
復号部12とで共通の秘密の鍵Kを他方の入力とし、そ
の共通の秘密の鍵Kによってシフトレジスタ13a,1
3bの格納値を暗号化するブロック暗号部である。暗号
化されたデータであるブロック暗号は8バイト幅であ
る。15a,15bはブロック暗号部14a,14bの
出力8バイトのうち最上位の1バイトを選択する選択部
である。16は暗号部11において平文データP[i]
と選択部15aからの1バイトデータとの排他的論理和
を計算して暗号文データC[i]を作成する第1の排他
的論理和部、17は復号部12において受信した暗号文
データC′[i]と選択部15bからの1バイトデータ
との排他的論理和を計算して復号文データP′[i]
(元の平文データ)を求める第2の排他的論理和部であ
る。
【0028】次に、この図6に示した第2の従来例に係
る自己同期型の逐次暗号方式の動作を説明する。
【0029】まず、暗号部11での動作を説明する。
【0030】(1)シフトレジスタ13aは、フレーム
の先頭でオール1を初期値として設定する。
【0031】(2)ブロック暗号部14aは、復号部1
2と共通の秘密の鍵Kをもってシフトレジスタ13aの
格納値を暗号化する。
【0032】(3)選択部15aは、ブロック暗号部1
4aの出力8バイトのうち最上位の1バイトを取り出
す。
【0033】(4)第1の排他的論理和部16は、入力
されてきた1バイトの平文データP[0]と選択部15
aからの1バイトデータとの排他的論理和を計算して暗
号文データC[0]を作成し、送出する。
【0034】(5)シフトレジスタ13aは、1バイト
上位にシフトし、かつ、その最下位バイトに排他的論理
和部16の出力である1バイトの暗号文データC[0]
を格納する。
【0035】これ以降、上記の(2)〜(5)を繰り返
し、逐次に暗号文データC[i](i=1,2……)を
作成して送出する。
【0036】次に、復号部12での動作を説明する。
【0037】(1)シフトレジスタ13bは、フレーム
の先頭でオール1を初期値として設定する。
【0038】(2)ブロック暗号部14bは、暗号部1
1と同じ秘密の鍵Kをもってシフトレジスタ13bの格
納値を暗号化する。
【0039】(3)選択部15bは、ブロック暗号部1
4bの出力8バイトのうち最上位の1バイトを取り出
す。
【0040】(4)第2の排他的論理和部17は、受信
した1バイトの暗号文データC′[0]と選択部15b
からの1バイトデータとの排他的論理和を計算して復号
文データP′[0]を作成する。
【0041】(5)シフトレジスタ13bは、1バイト
上位にシフトし、かつ、その最下位バイトに受信した1
バイトの暗号文データC′[0]を格納する。
【0042】これ以降、上記の(2)〜(5)を繰り返
し、逐次に復号文データP′[i](i=1,2……)
を作成する。
【0043】以上において、復号部12における選択部
15bから出力される1バイトデータが暗号部11にお
ける選択部15aから出力される1バイトデータと同じ
になり、受信した暗号文データC′[i]が暗号部11
より送出された暗号文データC[i]と一致している限
り、その受信した暗号文データC′[i]を復号化した
復号文データP′[i]は送出された平文データP
[i]と一致することになる。
【0044】この自己同期型の逐次暗号方式において
は、通信路上においてある1バイトの暗号文データC
[i]にビット誤りが生じた場合、復号部12のシフト
レジスタ13bに対応する誤った暗号文データC′
[i]が残っている期間においては復号文データP′
[i]が平文データP[i]とは異なったものとなる。
つまり、ビット誤りが生じた当該の1バイトとそのデー
タがシフトレジスタ13bに残っている間の復号結果の
8バイトとの合計9バイト分の誤りが続くが、その後に
おいては正しい復号結果が自動的に出力されるように自
己同期される。また、この例ではバイト単位の処理を行
っているため、ビット脱落などによるビット単位の同期
ずれには対応しないが、バイト単位の同期ずれに対して
は自己復帰する。勿論処理をビット単位に行うとヒット
脱落にも対応ができる。
【0045】この自己同期型の逐次暗号方式では、フレ
ームの脱落を含む一般的なデータ誤りから9バイト後に
おいて自己復帰するため、あえてフレームの先頭がくる
たびにシフトレジスタ13a,13bをオール1に設定
し直す必要はなくて、暗号部11と復号部12とで独立
に動作を続行してよく、以降、(2)〜(5)の動作を
繰り返す間に暗号部11と復号部12との間で自動的に
同期してくるようになる。
【0046】
【発明が解決しようとする課題】しかしながら、上記し
た第1の従来例の場合、暗号部1の線形フィードバック
レジスタ(LFSR)6a〜9aと復号部2の線形フィ
ードバックレジスタ(LFSR)6b〜9bのそれぞれ
に対してフレームの先頭において初期設定される共通の
秘密の鍵(初期値)のみで、生成される擬似乱数データ
PN[i](i=0,1……)が決定されてしまう。し
たがって、一定の暗号/復号の組み合わせについては、
どのフレームにおいても擬似乱数データPN[i]が同
一となってしまう。そのため、解読者によって、任意の
フレームにおける平文データP[i]と暗号文データC
[i]との関係が一旦暴露されたときには、擬似乱数デ
ータPN[i]が、 PN[i]=C[i]^P[i] によって求められてしまうことになる。そして、その求
められた擬似乱数データPN[i]に基づいて、任意の
暗号文データC′[i]が P′[i]=C′[i]^PN[i] によって解読されてしまい、これでは安全性に重大な問
題を生じさせることになる。
【0047】ここで、注意すべきことは、解読者が解読
に際して、暗号部1と復号部2とで共有している秘密の
鍵、すなわち、線形フィードバックレジスタ(LFS
R)6a〜9aおよび6b〜9bに設定される初期値を
知る必要がなく、あるフレームにおける平文、暗号文の
ペアが手に入るだけでよいということである。つまり、
それだけ解読が容易であるということである。
【0048】また、上記した第2の従来例の場合、自己
同期型であって擬似乱数列の生成要因として暗号文デー
タを用いることから内部状態をもっていないことにな
り、共通の秘密の鍵Kを入力とするブロック暗号部14
a,14bが必要となる。ところが、このブロック暗号
部は一般に、第1の従来例で述べた線形フィードバック
レジスタ(LFSR)を用いた擬似乱数生成器に比べる
と、規模が大きく、処理速度が遅いという不利な点を有
している。
【0049】なお、このブロック暗号部を第1の従来例
で述べた線形フィードバックレジスタ(LFSR)を用
いた擬似乱数生成器に置き換えることはできない。なぜ
ならば、線形フィードバックレジスタ(LFSR)を用
いた擬似乱数生成器はブロック暗号部と異なりLFSR
の格納値つまり内部状態をもち、その値そのものが秘密
の鍵となっているからである。したがって、この構成に
はブロック暗号部が必須であり、大規模でしかも処理が
遅いという問題点は解消されない。
【0050】本発明は、このような事情に鑑みて創案さ
れたものであって、比較的小規模でありながら、フレー
ムの脱落およびビット誤りに対応した安全性の高い逐次
暗号方式を提供することを目的とする。
【0051】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明の逐次暗号方式は、内部状態をもち
その内部状態によって決定される擬似乱数列を生成する
とともに内部状態を更新する第1の擬似乱数生成器と、
前記第1の擬似乱数生成器の内部状態の初期値を格納す
る第1の初期値格納部と、平文データと前記第1の擬似
乱数生成器から出力される擬似乱数データとの和を暗号
文データとして計算し送出する暗号文データ算出部とか
ら構成された暗号部と、内部状態をもちその内部状態に
よって決定される擬似乱数列を生成するとともに内部状
態を更新する第2の擬似乱数生成器と、前記第2の擬似
乱数生成器の内部状態の初期値を格納する第2の初期値
格納部と、受信した暗号文データと前記第2の擬似乱数
生成器から出力される擬似乱数データとの差を復号文デ
ータとして計算し出力する復号文データ算出部とから構
成された復号部とを備え、前記第1および第2の初期値
格納部は互いに同一の初期値を格納し、前記第1および
第2の擬似乱数生成器はそれぞれ各フレームの先頭で各
々前記第1および第2の初期値格納部の格納値を内部状
態に設定するとともに決められたビット位置から始まる
決められたビット数の前記暗号文データを前記内部状態
に融合するように構成されていることを特徴としてい
る。
【0052】請求項2の発明は、請求項1の逐次暗号方
式において、前記第1および第2の擬似乱数生成器に設
定する初期値と、内部状態に暗号文データを融合するビ
ット位置およびビット数とを前記暗号部と復号部におけ
る共通の秘密の鍵とすることを特徴としている。
【0053】請求項3の発明は、請求項1の逐次暗号方
式において、前記第1および第2の擬似乱数生成器が複
数の線形フィードバックレジスタとそれらの出力を非線
形変換する非線形変換部とからなり、前記内部状態への
融合が決められた線形フィードバックレジスタの格納値
と決められたビット位置から始まる決められたビット数
の暗号文データとの排他的論理和をとってその結果をも
との線形フィードバックレジスタに格納することであ
り、その線形フィードバックレジスタの選択を前記暗号
部と復号部における共通の秘密の鍵とすることを特徴と
している。
【0054】請求項4の発明は、請求項1から請求項3
までのいずれか1項の逐次暗号方式において、前記第1
および第2の擬似乱数生成器がそれぞれ暗号文データに
代えて、決められたビット位置から始まる決められたビ
ット数の平文データおよび復号文データをそれぞれの内
部状態に融合するように構成されていることを特徴とし
ている。
【0055】請求項5の発明は、請求項1から請求項4
までのいずれか1項の逐次暗号方式において、前記暗号
文データ算出部が平文データと前記第1の擬似乱数生成
器からの擬似乱数データとの排他的論理和をとって暗号
文データを送出するものであり、前記復号文データ算出
部が受信した暗号文データと前記第2の擬似乱数生成器
からの擬似乱数データとの排他的論理和をとって復号文
データを出力するものであるように構成されたことを特
徴としている。
【0056】請求項6の発明は、内部状態をもちその内
部状態によって決定される擬似乱数列を生成するととも
に内部状態を更新する第1の擬似乱数生成器と、前記第
1の擬似乱数生成器の内部状態の初期値を格納する第1
の初期値格納部と、平文データと前記第1の擬似乱数生
成器から出力される擬似乱数データとの和を暗号文デー
タとして計算し送出する暗号文データ算出部とから構成
された暗号部と、内部状態をもちその内部状態によって
決定される擬似乱数列を生成するとともに内部状態を更
新する第2の擬似乱数生成器と、前記第2の擬似乱数生
成器の内部状態の初期値を格納する第2の初期値格納部
と、受信した暗号文データと前記第2の擬似乱数生成器
から出力される擬似乱数データとの差を復号文データと
して計算し出力する復号文データ算出部とから構成され
た復号部とを備え、前記第1および第2の初期値格納部
は互いに同一の初期値を格納し、前記第1および第2の
擬似乱数生成器はそれぞれ各初期値格納部の格納値と決
められたビット位置から始まる決められたビット数の前
記暗号文データとの融合値を前記内部状態に設定するよ
うに構成されていることを特徴としている。
【0057】請求項7の発明は、請求項6の逐次暗号方
式において、前記第1および第2の擬似乱数生成器が複
数の線形フィードバックレジスタとそれらの出力を非線
形変換する非線形変換部とからなり、前記内部状態への
融合値の設定が決められた線形フィードバックレジスタ
の格納値と決められたビット位置から始まる決められた
ビット数の暗号文データとの排他的論理和をとってその
結果をもとの線形フィードバックレジスタに設定するこ
とであり、その線形フィードバックレジスタの選択を前
記暗号部と復号部における共通の秘密の鍵とすることを
特徴としている。
【0058】
【作用】上記構成による請求項1の発明においては、暗
号部ではまずフレームの先頭で初期値を第1の擬似乱数
生成器の内部に設定し、暗号文データ算出部は生成され
た擬似乱数データと平文データとの和を計算して暗号文
データを作成し送出する。第1の擬似乱数生成器は決め
られたビット位置から始まる決められたビット数の暗号
文データがフィードバックされ内部状態に融合される。
復号部でも同様に、まずフレームの先頭で暗号部と同じ
初期値を第2の擬似乱数生成器の内部に設定し、暗号部
側と同じ擬似乱数データを作成する。そして、受信した
暗号文データとその擬似乱数データとの差を計算して復
号文データを求める。復号部が受信した暗号文データが
暗号部から送出した暗号文データと同じであれば、その
復号文データは暗号部での平文データと同一になる。復
号部の第2の擬似乱数生成器は暗号部と同じ決められた
ビット位置から始まる決められたビット数の暗号文デー
タを内部状態に融合する。したがって、第2の擬似乱数
生成器からの擬似乱数データは第1の擬似乱数生成器か
らの擬似乱数データと同一になる。フレームごとに初期
化しているため、フレームの脱落が生じても、次のフレ
ームまでは影響を及ぼさない。
【0059】しかも、暗号文データを次の擬似乱数デー
タの生成に関与させているため、生成される擬似乱数デ
ータの系列の種類数が非常に多くなり、解読者が万一、
一組の平文データと暗号文データとを入手しそれに対応
した擬似乱数データを解読したとしても、そのことから
直ちに他の暗号文データを解読することはできない。
【0060】請求項2の発明においては、暗号部と復号
部に共通の秘密の鍵として、擬似乱数生成器への初期値
と融合すべきビット位置およびビット数としてあるの
で、解読がよりむずかしくなる。
【0061】請求項3の発明においては、擬似乱数生成
器を複数の線形フィードバックレジスタと非線形変換部
の組み合わせで構成してあるので、実現規模を小さくす
ることができる。
【0062】請求項4の発明においては、内部状態へ融
合するものとして、暗号文データの代わりに平文データ
および復号文データが用いられている。
【0063】請求項5の発明においては、暗号文データ
を作成するのに平文データと擬似乱数データとの排他的
論理和をとり、復号文データを作成するのに暗号文デー
タと擬似乱数データとの排他的論理和をとる。
【0064】請求項6の発明においては、暗号部と復号
部とで共通な初期値格納部の初期値と暗号文データの融
合値を擬似乱数生成器の内部状態として設定するから、
通信路上で誤りが生じてもその誤りから自動的に復帰す
ることが可能となり、各フレームの先頭で初期値を設定
し直す必要がないため、解読に対する安全性をより高い
ものにすることができる。
【0065】請求項7の発明においては、請求項3の発
明と同様、擬似乱数生成器を複数の線形フィードバック
レジスタと非線形変換部の組み合わせで構成してあるの
で、実現するためのハードウェア規模またはプログラム
規模を小さくでき、高速処理が可能となる。
【0066】
【実施例】以下、本発明の一実施例の逐次暗号方式につ
いて、図面を参照しながら説明する。
【0067】第1の実施例 図1は第1の実施例に係る逐次暗号方式の構成図であ
る。図1において、100は暗号部(送信側)、101
は復号部(受信側)である。また、102aは暗号部1
00における第1の擬似乱数生成器、102bは復号部
101における第2の擬似乱数生成器である。第1の擬
似乱数生成器102aは、4つの線形フィードバックレ
ジスタ(LFSR)103a〜106aとそれらの出力
を非線形に結合して擬似乱数を生成する非線形変換部1
11aとから構成されている。107a〜110aは各
線形フィードバックレジスタ(LFSR)103a〜1
06aに初期値K0〜K3を格納するための第1の初期
値格納部である。第2の擬似乱数生成器102bも同様
に、4つの線形フィードバックレジスタ(LFSR)1
03b〜106bとそれらの出力を非線形に結合して擬
似乱数を生成する非線形変換部111bとから構成され
ている。107b〜110bは各線形フィードバックレ
ジスタ(LFSR)103b〜106bに暗号部100
と同じ初期値K0〜K3を格納するための第2の初期値
格納部である。
【0068】112は暗号部100において平文データ
P[i]と第1の擬似乱数生成器102aからの擬似乱
数データPN[i]との排他的論理和を計算して暗号文
データC[i]を作成する「暗号文データ算出部」とし
ての第1の排他的論理和部、113は復号部101にお
いて受信した暗号文データC′[i]と第2の擬似乱数
生成器102bから出力された前記と同じ擬似乱数デー
タPN[i]との排他的論理和を計算して復号文データ
P′[i](元の平文データ)を求める「復号文データ
算出部」としての第2の排他的論理和部である。
【0069】114aは暗号部100において線形フィ
ードバックレジスタ(LFSR)103a〜106aの
うちのいずれかのものの内容と暗号文データC[i]と
の排他的論理和を計算しその計算結果をもとの線形フィ
ードバックレジスタ(LFSR)に格納する第3の排他
的論理和部、114bは復号部101において線形フィ
ードバックレジスタ(LFSR)103b〜106bの
うちのいずれかのものの内容と暗号文データC′[i]
との排他的論理和を計算しその計算結果をもとの線形フ
ィードバックレジスタ(LFSR)に格納する第4の排
他的論理和部である。
【0070】次に、図1に示した第1の実施例による逐
次暗号方式の動作を図2の状態説明図を用いて説明す
る。なお、ここでは、擬似乱数生成器102a,102
bは1回の処理当たり1バイトの擬似乱数を生成するも
のとする。また、各線形フィードバックレジスタ(LF
SR)103a〜106aおよび103b〜106bの
データ長は1バイト以上とする。図2において、1カラ
ム目は時刻、2カラム目は各線形フィードバックレジス
タ(LFSR)の格納値、3カラム目は暗号部100側
の第1の排他的論理和部112の計算結果である暗号文
データC[i]の内容、4カラム目は復号部101側の
第2の排他的論理和部113の計算結果である復号文デ
ータP′[i]の内容である。
【0071】まず、暗号部100での動作を説明する。
【0072】(1)暗号部100における第1の擬似乱
数生成器102aは、フレームの先頭において4つの各
線形フィードバックレジスタ(LFSR)103a〜1
06aに初期値を設定する。図では4つの線形フィード
バックレジスタをLFSR0,LFSR1,LFSR
2,LFSR3とし、それぞれの初期値をK0,K1,
K2,K3としている。この初期値K0,K1,K2,
K3が暗号部100と復号部101とに共通の秘密の鍵
となっている。
【0073】初期値K0,K1,K2,K3がLFSR
0,LFSR1,LFSR2,LFSR3に設定される
と、第1の擬似乱数生成器102aは、この状態から1
回の動作を行い、1バイトの擬似乱数データPN[0]
を生成する。この動作の結果、シフト動作によって各L
FSR0,LFSR1,LFSR2,LFSR3の格納
値は初期値K0,K1,K2,K3より変化する。図2
ではこの変化を矢印で示している。第1の排他的論理和
部112では、この擬似乱数データPN[0]と入力し
た1バイトの平文データP[0]との排他的論理和P
[0]^PN[0](=C[0])を計算し、暗号文デ
ータC[0]を作成して送出する。
【0074】(2)暗号部100における第3の排他的
論理和部114aは、4つのLFSR0,LFSR1,
LFSR2,LFSR3のうちLFSR0の格納値から
1バイトを取り出し、これと暗号文データC[0]との
排他的論理和を求め、元のLFSR0に格納する。すな
わち、K0が変化したものとC[0]との排他的論理和
がLFSR0に格納されることになる。なお、残りのL
FSR1〜LFSR3の格納値は(1)の動作で変化し
た状態のままである。第1の擬似乱数生成器102a
は、この状態からさらに1回の動作を行い、1バイトの
擬似乱数データPN[1]を生成する。LFSR0〜L
FSR3の格納値はシフト動作により変化する。第1の
排他的論理和部112では、(1)と同様にして、排他
的論理和P[1]^PN[1](=C[1])を計算
し、暗号文データC[1]を作成して送出する。
【0075】(3)第3の排他的論理和部114aは、
LFSR0〜LFSR3のうちLFSR1の格納値から
1バイトを取り出し、これと暗号文データC[1]との
排他的論理和を求め、元のLFSR1に格納する。残り
のLFSR0,LFSR2,LFSR3の格納値は
(2)の動作で変化した状態のままである。第1の擬似
乱数生成器102aは擬似乱数データPN[2]を生成
し、第1の排他的論理和部112は、排他的論理和P
[2]^PN[2](=C[2])を計算し、暗号文デ
ータC[2]を作成して送出する。
【0076】(4)次に、第3の排他的論理和部114
aは、LFSR2の格納値と暗号文データC[2]との
排他的論理和を求め、元のLFSR2に格納する。残り
のLFSR0,LFSR1,LFSR3の格納値は
(3)の動作で変化した状態のままである。第1の擬似
乱数生成器102aは擬似乱数データPN[3]を生成
し、第1の排他的論理和部112は、排他的論理和P
[3]^PN[3](=C[3])により暗号文データ
C[3]を作成して送出する。
【0077】(5)今度は、LFSR3の格納値と暗号
文データC[3]との排他的論理和を求め、LFSR3
に格納する。第1の擬似乱数生成器102aは擬似乱数
データPN[4]を生成し、第1の排他的論理和部11
2は暗号文データC[4]を作成して送出する。
【0078】(6)これ以降は、第1の擬似乱数生成器
102aは線形フィードバックレジスタ(LFSR)に
対する暗号文データC[i]の融合は行わず、通常の動
作を行う。したがって、これ以降の動作は第1の従来例
と同様となる。そして、第1の排他的論理和部112に
おいては、排他的論理和P[i]^PN[i](=C
[i])により暗号文データC[i]を作成して送出す
る。
【0079】次に、復号部101での動作を説明する。
【0080】(1)復号部101における第2の擬似乱
数生成器102bは、フレームの先頭において4つの各
線形フィードバックレジスタ(LFSR)103b〜1
06bに初期値を設定する。暗号部100側と同様に4
つの線形フィードバックレジスタをLFSR0,LFS
R1,LFSR2,LFSR3とすると、それぞれの初
期値として暗号部100側と同じ初期値K0,K1,K
2,K3を設定する。
【0081】この初期値K0,K1,K2,K3は暗号
部100と復号部101とで共通の秘密の鍵である。
【0082】初期値K0,K1,K2,K3がLFSR
0,LFSR1,LFSR2,LFSR3に設定される
と、第2の擬似乱数生成器102bは、その状態から1
回の動作を行い、暗号部100側と同じ1バイトの擬似
乱数データPN[0]を生成する。各LFSR0,LF
SR1,LFSR2,LFSR3の格納値は初期値K
0,K1,K2,K3から変化する。第2の排他的論理
和部113では、受信した暗号文データC′[0]と擬
似乱数生成器102bからの擬似乱数データPN[0]
との排他的論理和C′[0]^PN[0](=P′
[0])を計算し、復号文データP′[0]を出力す
る。この場合、復号部101で受信した暗号文データ
C′[0]が暗号部100で送出した暗号文データC
[0]と同じであれば、復号文データP′[0]は元の
平文データP[0]と同じになる。
【0083】(2)復号部101における第4の排他的
論理和部114bは、暗号部100側と同様に、4つの
LFSR0,LFSR1,LFSR2,LFSR3のう
ちLFSR0の格納値と受信した暗号文データC′
[0]との排他的論理和を求め、元のLFSR0に格納
する。第2の擬似乱数生成器102bは、この状態から
さらに1回の動作を行い、1バイトの擬似乱数データP
N[1]を生成する。LFSR0〜LFSR3の格納値
はシフト動作により変化する。第2の排他的論理和部1
13では、(1)と同様に、排他的論理和C′[1]^
PN[1](=P′[1])を計算し、復号文データ
P′[1]を出力する。
【0084】(3)第4の排他的論理和部114bは、
LFSR0〜LFSR3のうちLFSR1の格納値から
1バイトを取り出し、これと受信した暗号文データC′
[1]との排他的論理和を求め、元のLFSR1に格納
する。第2の擬似乱数生成器102bは擬似乱数データ
PN[2]を生成し、第2の排他的論理和部113は、
排他的論理和C′[2]^PN[2](=P′[2])
を計算し、復号文データP′[2]を出力する。
【0085】(4)次に、第4の排他的論理和部114
bは、LFSR2の格納値と受信した暗号文データC′
[2]との排他的論理和を求め、元のLFSR2に格納
する。第2の擬似乱数生成器102bは擬似乱数データ
PN[3]を生成し、第2の排他的論理和部113は、
排他的論理和C′[3]^PN[3](=P′[3])
を計算し、復号文データP′[3]を出力する。
【0086】(5)今度は、LFSR3の格納値と暗号
文データC′[3]との排他的論理和を求め、LFSR
3に格納する。第2の擬似乱数生成器102bは擬似乱
数データPN[4]を生成し、第2の排他的論理和部1
13は復号文データP′[4]を出力する。
【0087】(6)これ以降は、第2の擬似乱数生成器
102bは線形フィードバックレジスタ(LFSR)に
対する暗号文データC′[i]の融合は行わず、通常の
動作を行う。したがって、これ以降の動作は第1の従来
例と同様となる。そして、第2の排他的論理和部113
においては、排他的論理和C′[i]^PN[i](=
P′[i])により復号文データP′[i]を出力す
る。
【0088】以上の説明において、復号部101が受信
した暗号文データC′[i]が暗号部100の送信した
暗号文データC[i]と同一であれば、暗号文データ
C′[i]が内部状態に融合される第2の擬似乱数生成
器102bが生成する擬似乱数データPN[i]は暗号
部100側と同一となり、第2の排他的論理和部113
によって復号化された復号文データP′[i]は元の平
文データP[i]と一致することになる。
【0089】なお、復号部101側の第2の擬似乱数生
成器102bにおいて、どの暗号文データをどの線形フ
ィードバックレジスタ(LFSR)にどのビット位置か
らどのビット数で融合するかは、暗号部100との間で
事前の取り決めにより定めておくことが必要である。そ
して、この取り決めそのものを共通の秘密の鍵として利
用するようにしてもよい。
【0090】次に、この第1の実施例の逐次暗号方式の
安全性について説明する。
【0091】この逐次暗号方式における第1および第2
の擬似乱数生成器102a,102bの出力は、最初の
1バイトの擬似乱数データPN[0]についてはすべて
のフレームで同じであるが、その後は、暗号文データC
[i],C′[i]の内容に従って変化する。つまり、
擬似乱数生成器に融合される暗号文データがその都度に
おいて相違すれば、2バイト目以降に生成される擬似乱
数列もその都度において相違することとなり、擬似乱数
列の種類数が非常に多い状態となる。
【0092】各線形フィードバックレジスタ(LFS
R)を互いに素であるビット数のM系列生成LFSRと
し、非線形変換部111a,111bを桁上げ付きの加
算で実現したリュッペルの方法では、擬似乱数列の周期
は各LFSRの取り得るすべての値とほぼ同じである。
図2の(6)のタイミングでLFSR0,LFSR1,
LFSR2,LFSR3の取り得る値は、4バイト(3
2ビット)の暗号文データを融合された後であるので、
32通りとなる。したがって、PN[5]から後の擬似
乱数列は232通りもあり、ある平文データP[i]と暗
号文データC[i]との関係が解読者に入手されそのと
きの擬似乱数データPN[i]がたとえ暴露されたとし
ても、それはその場限りのものであるに過ぎず、決して
任意の暗号文データの解読が可能となるものではない。
融合する暗号文データC[i]のビット数を多くするこ
とによって、生成できる擬似乱数列の種類数を充分に多
くでき、逐次暗号方式の安全性が高いものとなる。ま
た、この第1の実施例を実現するに当たって、第1の従
来例(図5)に付加する要素はわずかですむ。
【0093】なお、上記実施例では第3および第4の排
他的論理和部114a,114bに暗号文データC
[i],C′[i]を入力することで暗号文データC
[i],C′[i]を第1および第2の擬似乱数生成器
102a,102bの内部状態に融合させるように構成
したが、これに代えて、決められたビット位置から始ま
る決められたビット数の平文データP[i]および復号
文データP′[i]を内部状態に融合させるように構成
してもよい。
【0094】第2の実施例 この第2の実施例は、通信路上でフレームの途中にビッ
ト誤りや、ビットの脱落等が生じた場合に復号部(受信
側)で正常状態に自動復帰するようにした自己同期型の
逐次暗号方式である。なお、この例も第2の従来例と同
様、バイト単位での処理を行っているため、ビット単位
の同期ずれには対応していない。勿論処理をビット単位
とすると、この問題は解決される。
【0095】図3は第2の実施例に係る逐次暗号方式の
構成図である。図3において、200は暗号部(送信
側)、201は復号部(受信側)である。また、202
aは暗号部200における第1の擬似乱数生成器、20
2bは復号部201における第2の擬似乱数生成器であ
る。第1の擬似乱数生成器202aは、4つの線形フィ
ードバックレジスタ(LFSR)203a〜206aと
それらの出力を非線形に結合して擬似乱数を生成する非
線形変換部211aとから構成されている。207a〜
210aは各線形フィードバックレジスタ(LFSR)
203a〜206aに初期値K0〜K3を格納するため
の第1の初期値格納部である。第2の擬似乱数生成器2
02bも同様に、4つの線形フィードバックレジスタ
(LFSR)203b〜206bとそれらの出力を非線
形に結合して擬似乱数を生成する非線形変換部211b
とから構成されている。207b〜210bは各線形フ
ィードバックレジスタ(LFSR)203b〜206b
に暗号部200と同じ初期値K0〜K3を格納するため
の第2の初期値格納部である。
【0096】212は暗号部200において平文データ
P[i]と第1の擬似乱数生成器202aからの擬似乱
数データPN[i]との排他的論理和を計算して暗号文
データC[i]を作成する「暗号文データ算出部」とし
ての第1の排他的論理和部、213は復号部201にお
いて受信した暗号文データC′[i]と第2の擬似乱数
生成器202bから出力された前記と同じ擬似乱数デー
タPN[i]との排他的論理和を計算して復号文データ
P′[i](元の平文データ)を求める「復号文データ
算出部」としての第2の排他的論理和部である。
【0097】214aは暗号部200において第1の初
期値格納部207a〜210aのうちのいずれかのもの
の格納値と暗号文データC[i]との排他的論理和を計
算しその計算結果をその初期値格納部に対応している線
形フィードバックレジスタ(LFSR)に格納する第3
の排他的論理和部、214bは復号部201において第
2の初期値格納部207b〜210bのうちのいずれか
のものの格納値と暗号文データC′[i]との排他的論
理和を計算しその計算結果をその初期値格納部に対応し
ている線形フィードバックレジスタ(LFSR)に格納
する第4の排他的論理和部である。
【0098】次に、図3に示した第2の実施例による逐
次暗号方式の動作を図4の状態説明図を用いて説明す
る。なお、ここでは、擬似乱数生成器202a,202
bは一回の処理当たり1バイトの擬似乱数を生成するも
のとする。また、各線形フィードバックレジスタ(LF
SR)203a〜206aおよび203b〜206bの
データ長は1バイト以上とする。
【0099】まず、暗号部200での動作を説明する。
【0100】(1)第1の擬似乱数生成器202aは、
フレームの先頭において4つの各線形フィードバックレ
ジスタ(LFSR)203a〜206aに初期値を設定
する。つまり、LFSR0,LFSR1,LFSR2,
LFSR3に初期値K0,K1,K2,K3を設定す
る。この状態から、第1の擬似乱数生成器202aは1
回の動作を行い、1バイトの擬似乱数データPN[0]
を生成する。第1の排他的論理和部212は、この擬似
乱数データPN[0]と1バイトの平文データP[0]
との排他的論理和P[0]^PN[0](=C[0])
を計算し、暗号文データC[0]を作成して送出する。
【0101】(2)第3の排他的論理和部214aは、
LFSR0に対応した第1の初期値格納部207aから
初期値K0を取り出し、これと暗号文データC[0]と
の排他的論理和K0^C[0]を求め、それを元のLF
SR0に格納する。なお、(1)において他のLFSR
1,LFSR2,LFSR3の格納値はそれぞれ変化し
て1回動作後の状態となる。図4ではこの変化を矢印で
示している。第1の擬似乱数生成器202aは、この状
態からさらに1回の動作を行い、1バイトの擬似乱数デ
ータPN[1]を生成する。第1の排他的論理和部21
2では排他的論理和P[1]^PN[1](=C
[1])を計算し、暗号文データC[1]を作成し送出
する。
【0102】(3)第3の排他的論理和部214aは、
LFSR1に対応した第1の初期値格納部208aから
初期値K1を取り出し、これと暗号文データC[1]と
の排他的論理和K1^C[1]を求め、それを元のLF
SR1に格納する。他のLFSR0,LFSR2,LF
SR3の格納値は(2)での動作後の状態のままであ
る。第1の擬似乱数生成器202aは、この状態からさ
らに1回の動作を行って擬似乱数データPN[2]を生
成する。第1の排他的論理和部212では排他的論理和
P[2]^PN[2](=C[2])を計算し、暗号文
データC[2]を作成し送出する。
【0103】(4)次に、第3の排他的論理和部214
aは、LFSR2に対応した第1の初期値格納部209
aから初期値K2を取り出し、これと暗号文データC
[2]との排他的論理和K2^C[2]を求め、それを
元のLFSR2に格納する。第1の擬似乱数生成器20
2aはさらに1回の動作を行って擬似乱数データPN
[3]を生成し、第1の排他的論理和部212では排他
的論理和P[3]^PN[3](=C[3])を計算
し、暗号文データC[3]を作成し送出する。
【0104】(5)第3の排他的論理和部214aは、
LFSR3に対応した第1の初期値格納部210aから
初期値K3を取り出し、これと暗号文データC[3]と
の排他的論理和K3^C[3]を求め、それを元のLF
SR3に格納する。第1の擬似乱数生成器202aはさ
らに1回の動作を行って擬似乱数データPN[4]を生
成し、第1の排他的論理和部212では排他的論理和P
[4]^PN[4](=C[4])を計算し、暗号文デ
ータC[4]を作成し送出する。
【0105】以下、(6)〜(9)で上記の(2)〜
(5)と同様の処理を行う。つまり、 (6)第3の排他的論理和部214aは初期値K0と暗
号文データC[4]との排他的論理和を求め、元のLF
SR0に格納し、第1の擬似乱数生成器202aは擬似
乱数データPN[5]を生成し、第1の排他的論理和部
212は排他的論理和P[5]^PN[5](=C
[5])より暗号文データC[5]を作成する。
【0106】(7)第3の排他的論理和部214aは初
期値K1と暗号文データC[5]との排他的論理和を求
め、元のLFSR1に格納し、第1の擬似乱数生成器2
02aは擬似乱数データPN[6]を生成し、第1の排
他的論理和部212は排他的論理和P[6]^PN
[6](=C[6])より暗号文データC[6]を作成
する。
【0107】(8)第3の排他的論理和部214aは初
期値K2と暗号文データC[6]との排他的論理和を求
め、元のLFSR2に格納し、第1の擬似乱数生成器2
02aは擬似乱数データPN[7]を生成し、第1の排
他的論理和部212は排他的論理和P[7]^PN
[7](=C[7])より暗号文データC[7]を作成
する。
【0108】(9)第3の排他的論理和部214aは初
期値K3と暗号文データC[7]との排他的論理和を求
め、元のLFSR3に格納し、第1の擬似乱数生成器2
02aは擬似乱数データPN[8]を生成し、第1の排
他的論理和部212は排他的論理和P[8]^PN
[8](=C[8])より暗号文データC[8]を作成
する。
【0109】これ以降も同様の処理を繰り出し実行す
る。
【0110】次に、復号部201での動作を説明する。
【0111】(1)復号部201における第2の擬似乱
数生成器202bは、フレームの先頭において4つの各
線形フィードバックレジスタ(LFSR)203b〜2
06bの初期値を設定する。暗号部200側と同様に4
つの線形フィードバックレジスタをLFSR0,LFS
R1,LFSR2,LFSR3とすると、それぞれの初
期値として暗号部200側と同じ初期値K0,K1,K
2,K3を設定する。
【0112】この初期値K0,K1,K2,K3は暗号
部200と復号部201とで共通の秘密の鍵である。
【0113】初期値K0,K1,K2,K3がLFSR
0,LFSR1,LFSR2,LFSR3に設定される
と、第2の擬似乱数生成器202bは、その状態から1
回の動作を行い、暗号部200側と同じ1バイトの擬似
乱数データPN[0]を生成する。第2の排他的論理和
部213では、受信した暗号文データC′[0]と擬似
乱数データPN[0]との排他的論理和C′[0]^P
N[0](=P′[0])を計算し、復号文データP′
[0]を出力する。この場合、復号部101で受信した
暗号文データC′[0]が暗号部100で送出した暗号
文データC[0]と同じであれば、復号文データP′
[0]は元の平文データP[0]と同じになる。
【0114】(2)復号部201における第4の排他的
論理和部214bは、暗号部200側と同様に、LFS
R0に対応した第2の初期値格納部207bから初期値
K0を取り出し、これと暗号文データC′[0]との排
他的論理和K0^C′[0]を求め、元のLFSR0に
格納する。第2の擬似乱数生成器202bは、この状態
からさらに1回の動作を行い、1バイトの擬似乱数デー
タPN[1]を生成する。第2の排他的論理和部213
では、排他的論理和C′[1]^PN[1](=P′
[1])を計算し、復号文データP′[1]を出力す
る。
【0115】(3)第4の排他的論理和部214bは、
LFSR1から初期値K1を取り出し、これと暗号文デ
ータC′[1]との排他的論理和K1^C′[1]を求
め、元のLFSR1に格納する。第2の擬似乱数生成器
202bは擬似乱数データPN[2]を生成し、第2の
排他的論理和部213は、排他的論理和C′[2]^P
N[2](=P′[2])を計算し、復号文データP′
[2]を出力する。
【0116】(4)次に、第4の排他的論理和部114
bは、LFSR2から初期値K2を取り出し、これと暗
号文データC′[2]との排他的論理和K2^C′
[2]を求め、元のLFSR2に格納する。第2の擬似
乱数生成器202bは擬似乱数データPN[3]を生成
し、第2の排他的論理和部213は、排他的論理和C′
[3]^PN[3](=P′[3])を計算し、復号文
データP′[3]を出力する。
【0117】(5)今度は、第4の排他的論理和部11
4bは、LFSR3から初期値K3を取り出し、これと
暗号文データC′[3]との排他的論理和K3^C′
[3]を求め、元のLFSR3に格納する。第2の擬似
乱数生成器202bは擬似乱数データPN[4]を生成
し、第2の排他的論理和部213は、排他的論理和C′
[4]^PN[4](=P′[4])を計算し、復号文
データP′[4]を出力する。
【0118】以下、(6)〜(9)で上記の(2)〜
(5)と同様の処理を行う。つまり、 (6)第4の排他的論理和部214bは初期値K0と暗
号文データC′[4]との排他的論理和を求め、元のL
FSR0に格納し、第2の擬似乱数生成器202bは擬
似乱数データPN[5]を生成し、第2の排他的論理和
部213は排他的論理和C′[5]^PN[5]を計算
し、復号文データP′[5]を出力する。
【0119】(7)第4の排他的論理和部214bは初
期値K1と暗号文データC′[5]との排他的論理和を
求め、元のLFSR1に格納し、第2の擬似乱数生成器
202bは擬似乱数データPN[6]を生成し、第2の
排他的論理和部213は排他的論理和C′[6]^PN
[6](=P′[6])を計算し、復号文データP′
[6]を出力する。
【0120】(8)第4の排他的論理和部214bは初
期値K2と暗号文データC′[6]との排他的論理和を
求め、元のLFSR2に格納し、第2の擬似乱数生成器
202bは擬似乱数データPN[7]を生成し、第2の
排他的論理和部213は排他的論理和C′[7]^PN
[7](=P′[7])を計算し、復号文データP′
[7]を出力する。
【0121】(9)第4の排他的論理和部214bは初
期値K3と暗号文データC′[7]との排他的論理和を
求め、元のLFSR3に格納し、第2の擬似乱数生成器
202bは擬似乱数データPN[8]を生成し、第2の
排他的論理和部213は排他的論理和C′[8]^PN
[8](=P′[8])を計算し、復号文データP′
[8]を出力する。
【0122】これ以降も同様の処理を繰り出し実行す
る。
【0123】以上の説明において、復号部201が受信
した暗号文データC′[i]が暗号部200の送信した
暗号文データC[i]と同一であれば、初期値と受信し
た暗号文データとの排他的論理和が内部状態に融合され
る第2の擬似乱数生成器202bが生成する擬似乱数デ
ータPN[i]は暗号部200側と同一となり、第2の
排他的論理和部213によって復号化された復号文デー
タP′[i]は元の平文データP[i]と一致すること
になる。
【0124】なお、復号部201側の第2の擬似乱数生
成器202bにおいて、どの暗号文データをどの線形フ
ィードバックレジスタ(LFSR)にどのビット位置か
らどのビット数で融合するかは、暗号部200との間で
事前の取り決めにより定めておくことが必要である。そ
して、この取り決めそのものを共通の秘密の鍵として利
用するようにしてもよい。
【0125】この第2の実施例においては、例えば通信
路上で暗号文データC[0]にビット誤りが生じた場
合、復号部201では図4の(2)〜(5)の間、ビッ
ト誤りが継続する。つまり、復号文データP′[0]〜
P′[4]の結果は、もとの平文データP[0]〜P
[4]とは異なったものとなる。しかし、(6)におい
てLFSR0の格納値をK0^C[4]に再設定するた
め、これ以降は正しい復号結果が出力されることにな
る。
【0126】したがって、この実施例は、正しく暗号文
データが復号部201に送られていれば、暗号部200
側と復号部201側との同期がとれる自己同期型の逐次
暗号方式となっている。それゆえ、何も各フレームの先
頭ごとに暗号部200および復号部201で各LFSR
0,LFSR1,LFSR2,LFSR3の初期化を行
う必要はなく、両者別々に動作を継続すればよい。さら
に、第2の実施例では線形フィードバックレジスタ(L
FSR)を有する擬似乱数生成器を用いた構成としてい
るので、同じ自己同期型の逐次暗号方式であっても、第
2の従来例に比べて実現規模が小さくてよく、しかも、
処理速度が速いという利点がある。
【0127】以上、本発明を2つの実施例によって詳細
に説明したが、本発明は上記実施例に限定されるもので
はなく、次の点で拡張することができる。
【0128】 第1および第2の実施例において、暗
号側、復号側はそれぞれ入力の平文、暗号文に生成した
疑似乱数を排他的論理和で加えている。この部分は、暗
号側を一般の加算、復号側を減算としてもよい。
【0129】 第1および第2の実施例においては、
1回の処理で1バイトの擬似乱数データを生成する擬似
乱数生成器を用いているが、生成する擬似乱数データの
ビット数は何ビットであってもよい。
【0130】 第1の実施例においては、擬似乱数生
成器への内部状態への融合のためにフレームの先頭にお
いて4バイト分の暗号文データを擬似乱数生成器にフィ
ードバックしているが、このフィードバックするものは
暗号文データに代えて平文データや復号文データであっ
てもよいし、バイト数は何バイトでもよい。また、継続
して入力する必要もなく、決められたビット位置に順番
に入力するようにしてもよい。ただし、これらの情報は
暗号側と復号側とで共有する必要がある。
【0131】 第2の実施例においては、暗号文デー
タを1バイトずつ各LFSRに順番に入力しているが、
これは任意の長さとしてもよいし、また、継続して入力
する必要はなく、決められた時刻に(タイミングで)入
力するようにしてもよい。ただし、これらの情報は暗号
側と復号側とで共有する必要がある。
【0132】 第1および第2の実施例においては、
擬似乱数生成器を4つの線形フィードバックレジスタ
(LFSR)と1つの非線形変換部との組み合わせで実
現したが、これに限定する必要はなく、擬似乱数生成器
の構成は任意である。
【0133】 第1および第2の実施例においては、
暗号文データを擬似乱数生成器の4つのLFSRに順番
に融合しているが、この順序は任意である。ただし、こ
の情報は暗号側と復号側とで共有する必要がある。
【0134】
【発明の効果】以上のように、請求項1または請求項4
の発明によれば、フレームごとに初期化を行っているた
め、フレームの脱落が生じても次のフレームで正常状態
に復帰することができるのはもちろん、フレームの先頭
で擬似乱数生成器の内部状態に暗号文データもしくは平
文データ,復号文データを融合し、その融合データを次
の擬似乱数データの生成に関与させているから、生成さ
れる擬似乱数データの系列の種類数を非常に多くするこ
とができ、解読者が一組の平文データと暗号文データと
の関係を入手しそれに対応した擬似乱数データを解読し
たとしても、他の暗号文データが解読されてしまうこと
を確実に防止することができる。
【0135】請求項2の発明によれば、暗号部と復号部
に共通の秘密の鍵を、擬似乱数生成器への初期値と融合
すべきビット位置およびビット数としてあるので、解読
をよりむずかしいものとし、逐次暗号方式の安全性を高
めることができる。
【0136】請求項6の発明によれば、暗号部と復号部
とで共有している秘密の鍵を初期値格納部の初期値とし
て設定し、かつ、その初期値と暗号文データとの融合値
を擬似乱数生成器の内部状態として設定するから、通信
路上でビット誤りが生じてもその誤りから自動復帰する
ことができ、各フレームの先頭で初期値の設定し直しを
する必要がないので、解読に対する安全性をより高める
ことができる。
【0137】請求項3または請求項7の発明によれば、
擬似乱数生成器を線形フィードバックレジスタと非線形
変換部の組み合わせで構成してあるので、実現規模を小
さくして高速処理を可能にすることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る逐次暗号方式の構
成図である。
【図2】第1の実施例における逐次暗号方式の動作説明
に供する状態説明図である。
【図3】本発明の第2の実施例に係る自己同期型の逐次
暗号方式の構成図である。
【図4】第2の実施例における逐次暗号方式の動作説明
に供する状態説明図である。
【図5】LFSRを用いた第1の従来例に係る逐次暗号
方式の構成図である。
【図6】ブロック暗号のCFBモードを用いた第2の従
来例の自己同期型の逐次暗号方式の構成図である。
【符号の説明】
100…暗号部 101…復号部 102a…第1
の擬似乱数生成器 102b…第2の擬似乱数生成器 103a〜106
a…線形フィードバックレジスタ(LFSR) 10
3b〜106b…線形フィードバックレジスタ(LFS
R) 107a〜110a…第1の初期値格納部
107b〜110b…第2の初期値格納部 111
a,111b…非線形変換部 112…第1の排他的
論理和部 113…第2の排他的論理和部 114
a…第3の排他的論理和部 114b…第4の排他的
論理和部 200…暗号部 201…復号部 2
02a…第1の擬似乱数生成器 202b…第2の擬
似乱数生成器 203a〜206a…線形フィードバ
ックレジスタ(LFSR) 203b〜206b…線形フィードバックレジスタ(L
FSR) 207a〜210a…第1の初期値格納部
207b〜210b…第2の初期値格納部 211a,211b…非線形変換部 212…第1の
排他的論理和部 213…第2の排他的論理和部 214a…第3の排
他的論理和部 214b…第4の排他的論理和部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 内部状態をもちその内部状態によって決
    定される擬似乱数列を生成するとともに内部状態を更新
    する第1の擬似乱数生成器と、前記第1の擬似乱数生成
    器の内部状態の初期値を格納する第1の初期値格納部
    と、平文データと前記第1の擬似乱数生成器から出力さ
    れる擬似乱数データとの和を暗号文データとして計算し
    送出する暗号文データ算出部とから構成された暗号部
    と、内部状態をもちその内部状態によって決定される擬
    似乱数列を生成するとともに内部状態を更新する第2の
    擬似乱数生成器と、前記第2の擬似乱数生成器の内部状
    態の初期値を格納する第2の初期値格納部と、受信した
    暗号文データと前記第2の擬似乱数生成器から出力され
    る擬似乱数データとの差を復号文データとして計算し出
    力する復号文データ算出部とから構成された復号部とを
    備え、前記第1および第2の初期値格納部は互いに同一
    の初期値を格納し、前記第1および第2の擬似乱数生成
    器はそれぞれ各フレームの先頭で各々前記第1および第
    2の初期値格納部の格納値を内部状態に設定するととも
    に決められたビット位置から始まる決められたビット数
    の前記暗号文データを前記内部状態に融合するように構
    成されていることを特徴とする逐次暗号方式。
  2. 【請求項2】 前記第1および第2の擬似乱数生成器に
    設定する初期値と、内部状態に暗号文データを融合する
    ビット位置およびビット数とを前記暗号部と復号部にお
    ける共通の秘密の鍵とすることを特徴とする請求項1に
    記載の逐次暗号方式。
  3. 【請求項3】 前記第1および第2の擬似乱数生成器が
    複数の線形フィードバックレジスタとそれらの出力を非
    線形変換する非線形変換部とからなり、前記内部状態へ
    の融合が決められた線形フィードバックレジスタの格納
    値と決められたビット位置から始まる決められたビット
    数の暗号文データとの排他的論理和をとってその結果を
    もとの線形フィードバックレジスタに格納することであ
    り、その線形フィードバックレジスタの選択を前記暗号
    部と復号部における共通の秘密の鍵とすることを特徴と
    する請求項1に記載の逐次暗号方式。
  4. 【請求項4】 前記第1および第2の擬似乱数生成器が
    それぞれ暗号文データに代えて、決められたビット位置
    から始まる決められたビット数の平文データおよび復号
    文データをそれぞれの内部状態に融合するように構成さ
    れていることを特徴とする請求項1から請求項3までの
    いずれか1項に記載の逐次暗号方式。
  5. 【請求項5】 前記暗号文データ算出部が平文データと
    前記第1の擬似乱数生成器からの擬似乱数データとの排
    他的論理和をとって暗号文データを送出するものであ
    り、前記復号文データ算出部が受信した暗号文データと
    前記第2の擬似乱数生成器からの擬似乱数データとの排
    他的論理和をとって復号文データを出力するものである
    ように構成された請求項1から請求項4までのいずれか
    1項に記載の逐次暗号方式。
  6. 【請求項6】 内部状態をもちその内部状態によって決
    定される擬似乱数列を生成するとともに内部状態を更新
    する第1の擬似乱数生成器と、前記第1の擬似乱数生成
    器の内部状態の初期値を格納する第1の初期値格納部
    と、平文データと前記第1の擬似乱数生成器から出力さ
    れる擬似乱数データとの和を暗号文データとして計算し
    送出する暗号文データ算出部とから構成された暗号部
    と、内部状態をもちその内部状態によって決定される擬
    似乱数列を生成するとともに内部状態を更新する第2の
    擬似乱数生成器と、前記第2の擬似乱数生成器の内部状
    態の初期値を格納する第2の初期値格納部と、受信した
    暗号文データと前記第2の擬似乱数生成器から出力され
    る擬似乱数データとの差を復号文データとして計算し出
    力する復号文データ算出部とから構成された復号部とを
    備え、前記第1および第2の初期値格納部は互いに同一
    の初期値を格納し、前記第1および第2の擬似乱数生成
    器はそれぞれ各初期値格納部の格納値と決められたビッ
    ト位置から始まる決められたビット数の前記暗号文デー
    タとの融合値を前記内部状態に設定するように構成され
    ていることを特徴とする逐次暗号方式。
  7. 【請求項7】 前記第1および第2の擬似乱数生成器が
    複数の線形フィードバックレジスタとそれらの出力を非
    線形変換する非線形変換部とからなり、前記内部状態へ
    の融合値の設定が決められた線形フィードバックレジス
    タの格納値と決められたビット位置から始まる決められ
    たビット数の暗号文データとの排他的論理和をとってそ
    の結果をもとの線形フィードバックレジスタに設定する
    ことであり、その線形フィードバックレジスタの選択を
    前記暗号部と復号部における共通の秘密の鍵とすること
    を特徴とする請求項6に記載の逐次暗号方式。
JP13175093A 1993-06-02 1993-06-02 逐次暗号方式 Pending JPH06342257A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13175093A JPH06342257A (ja) 1993-06-02 1993-06-02 逐次暗号方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13175093A JPH06342257A (ja) 1993-06-02 1993-06-02 逐次暗号方式

Publications (1)

Publication Number Publication Date
JPH06342257A true JPH06342257A (ja) 1994-12-13

Family

ID=15065320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13175093A Pending JPH06342257A (ja) 1993-06-02 1993-06-02 逐次暗号方式

Country Status (1)

Country Link
JP (1) JPH06342257A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222065A (ja) * 1997-02-03 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 冪乗剰余演算方法及び装置
WO2003090185A1 (en) * 2002-04-19 2003-10-30 Sony Corporation Key generation device, encoding/decoding device, and key generation method
JP2007532935A (ja) * 2003-09-05 2007-11-15 ナグラビジョン エス アー 擬似ランダム系列を生成する方法
JP2008109190A (ja) * 2006-10-23 2008-05-08 Kddi Corp 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP2009506438A (ja) * 2005-08-24 2009-02-12 クゥアルコム・インコーポレイテッド 暗号的に安全な擬似乱数生成器
US8718278B2 (en) 2011-01-20 2014-05-06 International Business Machines Corporation Method and system for encryption of a datastream
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222065A (ja) * 1997-02-03 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 冪乗剰余演算方法及び装置
WO2003090185A1 (en) * 2002-04-19 2003-10-30 Sony Corporation Key generation device, encoding/decoding device, and key generation method
US7406175B2 (en) 2002-04-19 2008-07-29 Sony Corporation Key generator device, encoding/decoding device, and key generation method
JP2007532935A (ja) * 2003-09-05 2007-11-15 ナグラビジョン エス アー 擬似ランダム系列を生成する方法
JP2009506438A (ja) * 2005-08-24 2009-02-12 クゥアルコム・インコーポレイテッド 暗号的に安全な擬似乱数生成器
JP4669046B2 (ja) * 2005-08-24 2011-04-13 クゥアルコム・インコーポレイテッド 暗号的に安全な擬似乱数生成器
US8019802B2 (en) 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator
JP2008109190A (ja) * 2006-10-23 2008-05-08 Kddi Corp 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
US8718278B2 (en) 2011-01-20 2014-05-06 International Business Machines Corporation Method and system for encryption of a datastream
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Similar Documents

Publication Publication Date Title
EP0227318B1 (en) Encryption/decryption system
US20020159598A1 (en) System and method of dynamic key generation for digital communications
US7359515B2 (en) Method and apparatus for symmetric-key decryption
US7907725B2 (en) Simple universal hash for plaintext aware encryption
US5363447A (en) Method for loading encryption keys into secure transmission devices
RU2146421C1 (ru) Дешифрирование повторно переданных данных в системе связи с шифрованием
US20020101996A1 (en) Variable-length key cryptosystem
US20080025505A1 (en) Encryption method using synchronized continuously calculated pseudo-random key
US20080013730A1 (en) Method and apparatus for re-synchronization of a stream cipher during handoff
EP0484862B1 (en) Secure communication equipment and secure transmission system
WO2012140144A1 (en) Method and system for improving the synchronization of stream ciphers
US6909785B1 (en) Method and apparatus for efficient irregular synchronization of a stream cipher
JP2001086110A (ja) 暗号化情報のパケット通信システム
WO2007044042A2 (en) Encryption methods and apparatus
JPH06342257A (ja) 逐次暗号方式
US4856063A (en) No-overhead synchronization for cryptographic systems
GB2353191A (en) Packet data encryption/decryption
KR20040083794A (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
JPH04335730A (ja) 暗号送信装置、暗号受信装置、暗号通信システム
KR100226867B1 (ko) 무선 통신의 스트림 암호 시스템
JPH09200197A (ja) 同期式ストリーム暗号装置およびその装置に適用される復号器
KR100317250B1 (ko) 데이터암호화방법
US20200112426A1 (en) Methods and systems for secure communications using synchronized polarized light transmissions and stream encryption
Jung et al. Analysis of the statistical self-synchronization mode of operation
JP4729888B2 (ja) 情報伝送方式、送信装置及び受信装置