JPH1084339A - ストリーム暗号による通信方法、ならびに通信システム - Google Patents

ストリーム暗号による通信方法、ならびに通信システム

Info

Publication number
JPH1084339A
JPH1084339A JP8236862A JP23686296A JPH1084339A JP H1084339 A JPH1084339 A JP H1084339A JP 8236862 A JP8236862 A JP 8236862A JP 23686296 A JP23686296 A JP 23686296A JP H1084339 A JPH1084339 A JP H1084339A
Authority
JP
Japan
Prior art keywords
bit
random number
message
encrypted
communication
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
JP8236862A
Other languages
English (en)
Inventor
Takeshi Takagi
剛 高木
Shozo Naito
昭三 内藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP8236862A priority Critical patent/JPH1084339A/ja
Publication of JPH1084339A publication Critical patent/JPH1084339A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ストリーム暗号における秘密鍵である乱数を
共有するための処理量を削減し、高速な暗号化通信を行
う。 【解決手段】 乱数共有化手段21により送信装置31
と受信装置51との間で、予め乱数R[j](1≦j≦k)
を共有する。平文メッセージをM[i](1≦i≦N)、暗
号化メッセージC[i](1≦i≦N)とする。送信装置3
1は、以下の式によりビット毎の暗号化を行う。(+)は
排他的論理和である。 C[i] ≡R[i] (+) M[i] (1≦i≦kのとき) C[i] ≡M[i-k] (+) M[i] (k<iのとき) 受信装置51は、共有乱数Rを使って以下の式により復
号化する。 M[i] ≡R[i] (+) C[i] (1≦i≦kのとき) M[i] ≡M[i-k] (+) C[i] (k<iのとき)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ストリーム暗号に
よる通信方法、ならびに通信システムに係り、特に秘密
鍵の共有のための処理時間を短縮することにより高速化
を図ったストリーム暗号による通信方法、ならびに通信
システムに関する。
【0002】
【従来の技術】暗号方式は、秘密鍵暗号と公開鍵暗号に
大きく分類できる。秘密鍵暗号は、通信相手同士が共有
した秘密鍵を用いて暗号化及び復号化を行うもので、一
般に公開鍵暗号に比べて暗号化・復号化を高速に行える
が、鍵の配送という問題がある。公開鍵暗号は、鍵の配
送の問題を解決するが、暗号化及び復号化の処理量が多
く、リアルタイム性のあるマルチメディア情報の秘密通
信への利用には困難がある。また、秘密鍵暗号は、公開
鍵暗号に比べて処理が高速であるとはいえ、やはりリア
ルタイム情報の秘密通信への利用にはさらに高速な暗号
方式が望まれる。
【0003】理論的に最も安全で、しかも暗号化・復号
化の処理量の少ない秘密鍵暗号としては、一回限りの使
い捨て鍵(ワンタイム・パッド、以下単にパッドとも略
す)を使用し、通信データとパッドとをビット毎に排他
的論理和演算を行なうバーナム暗号が知られている。
【0004】バーナム暗号は、図26に示すように、平
文と同じ長さの2進乱数列(以下、単に乱数と呼ぶ)を
秘密鍵として用い、平文のビット列と乱数のビット列と
を1ビットづつ排他的論理和演算して暗号文のビット列
を生成し、同じ秘密鍵を用いて復号化するストリーム暗
号(逐次暗号とも呼ばれる)の一種である。
【0005】ここで、平文のビット列をM=m1,m2,…
とし、鍵のビット列をK=k1,k2,…とすると、暗号文
のビット列C=c1,c2,…は、
【数1】 ci =mi+ki ( mod 2) (i=1,2,…) …(1) 式(1)となる。mod 2での和は、いわゆる排他的論理
和であり、以下、(+)で排他的論理和を表すとすれ
ば、式(1)の暗号化は、
【数2】ci =mi(+)ki …(2) 式(2)と表される。
【0006】復号化は同じ鍵を用いて、
【数3】 mi =ci(+)ki =mi(+)ki(+)ki =mi …(3) 式(3)と表される。ここで、ki の値が0,1にかか
わらず、ki(+)ki≡0が成立する。
【0007】しかしながら、このようなバーナム暗号を
利用するためには、あらかじめ通信データ量と同じ量の
秘密鍵を共有しておく必要がある。
【0008】秘密鍵の共有方法として、従来より公開鍵
配送法が知られている。公開鍵配送法は、通信相手同士
がそれぞれ秘密鍵を作成し、公開鍵を利用してそれぞれ
の秘密鍵にある演算を施して得た情報(これは盗聴され
てもかまわない)を交換し、それぞれの秘密鍵とこの交
換した情報とに基づいて、共有の秘密鍵を生成するもの
である。
【0009】次に、従来の公開鍵配送法の例として、デ
ィフィ・ヘルマン(Diffie-Hellman)型公開鍵配送法
(以下、DH型公開鍵配送法と略す)を説明する(参考
文献「現代暗号理論」電子通信学会発行)。
【0010】利用者Aと利用者Bとの間でDH型公開鍵
配送法を適用するとする。素数pとガロア体GF(p)
のある固定された原始根αの値は、公開鍵として事前に
知らせておく。まず、Aは区間[0,p−1]の間の整
数XA をランダムに選び、秘密に保持しておく。Bも同
様に区間[0,p−1]の間の整数XB をランダムに選
び、秘密に保持しておく。
【0011】そして、Aは、
【数4】 YA =αXA mod p, 1≦YA ≦p−1 …(4) を計算し、YA をBに送る。Bは、
【数5】 YB =αXB mod p, 1≦YB ≦p−1 …(5) を計算し、YB をAに送る。
【0012】このようにYA ,YB を交換してから、A
は共有鍵Kを次のように計算する。
【0013】
【数6】 K=(YB )XA mod p =(αXB mod p)XA mod p =αXBXA mod p, 1≦K≦p−1 …(6) Bも同様にして、共有鍵Kを次のように計算する。
【0014】
【数7】 K=(YA )XB mod p =(αXA mod p)XB mod p =αXAXB mod p, 1≦K≦p−1 …(7) 以上の方法でAとBは、鍵K=αXAXB mod pを秘密に
共有できる。このDH型公開鍵配送法の構成を図27に
示す。
【0015】ここで、第3者がYA とYB とを盗聴して
も、XA とXB とKを推定することはできない。なお、
YA とYB の積Zは、Z=α(XA+XB) mod pであり、
Kとは異なることに留意されたい。もちろん、素数pと
原始根αの値やZの値が分かっていても推定できないこ
とに変わりはなく、秘密鍵Kを知ろうとする第3者は、
【数8】 K=(YA )(LOGαYB) mod p …(8) K=(YB )(LOGαYA) mod p …(9) 式(8)または(9)を計算しなければならず、これは
いわゆる離散的対数を解く計算量が必要である。
【0016】このDH型公開鍵配送法では、共有鍵を変
更するのに公開鍵を書き換える必要がある。ところが公
開ファイルの鍵リストを変更するには、公開ファイルを
管理している鍵センターとの通信、本人であることの認
証など様々な手間がかかるので、DH型公開鍵配送法の
基本方式では頻繁に鍵を変更することは出来ない。
【0017】そこで、本人が登録したことを認証した公
開鍵をもとに、様々な値の共有鍵を生成する方法、すな
わち、公開鍵を変更せずに、共有の暗号鍵を変更する拡
張DH型公開鍵配送方式が提案されている(山元、秋山
「A data encryption device incorporating fast PKD
S」Global Com.32.2.1-32.2.6(Dec.1983)、岡本、中村
「公開鍵配送方式の一検討」昭和59年電子情報通信学
会全国大会15、松本、高嶋、今井、「公開鍵配送方式
に関する二三の考察」CIS研資 1985-02)。
【0018】また、秘密鍵の共有のために、RSA暗号
等の公開鍵暗号による秘密鍵の配送も行われているが、
公開鍵暗号のブロックサイズにより秘密鍵の長さが限定
され、かつ、暗号化及び復号化のための処理量が多く、
秘密鍵共有のための処理時間が多くかかっていた。
【0019】また、ブロック単位の暗号化を行う秘密鍵
暗号としてDES暗号等が知られている。DES暗号
は、比較的短い56ビットの秘密鍵を利用して転置と換
字を繰り返し、64ビットの平文ブロックと64ビット
の暗号文ブロックとを相互に変換するものである。
【0020】
【発明が解決しようとする課題】以上説明したように、
上記従来のバーナム暗号等のストリーム暗号において
は、通信相手同士で予めメッセージ長と同じ長さの乱数
列である秘密鍵を共有しておく必要があり、この秘密鍵
を安全に配送しなければならないという問題点があっ
た。
【0021】また、この秘密鍵の共有に公開鍵配送法や
公開鍵暗号を使うと、公開鍵暗号による暗号化及び復号
化の処理量が膨大となり、秘密鍵を使用するストリーム
暗号本来の高速性が失われるという問題点があった。
【0022】また、DES暗号等のブロック秘密鍵暗号
では、共有すべき秘密鍵は比較的短いが、高価な専用ハ
ードウェアを用意しなければならないという問題点があ
った。
【0023】以上の問題点に鑑み、本発明の主要な課題
は、従来の秘密鍵暗号の鍵配送問題を解決し、少量の秘
密鍵の配送だけで、大量の通信メッセージの秘密鍵暗号
による通信を可能とすることである。
【0024】また本発明の別の課題は、従来の秘密鍵暗
号あるいは公開鍵暗号と同等の安全性を確保した暗号通
信を行うことである。
【0025】また本発明の別の課題は、リアルタイム性
のあるマルチメディア情報の秘密通信に適用可能とする
ため、従来型の秘密鍵暗号や公開鍵暗号と比べて、暗号
化および復号化の処理量が少なく、リアルタイムの暗号
化及び復号化が行えるストリーム暗号による通信方法及
び通信システムを提供することである。
【0026】さらに本発明の別の課題は、暗号化及び復
号化の処理をさらに高速化するために、並列処理が可能
であり、またハードウェア化が容易であるストリーム暗
号による通信方法及び通信システムを提供することであ
る。
【0027】
【課題を解決するための手段】上記課題を解決するた
め、本発明は次の構成を有する。すなわち、請求項1記
載の発明は、送信装置と受信装置との間で、予め所定ビ
ット長を有する乱数を共有し、前記送信装置は、通信メ
ッセージの先頭ビットから前記乱数の所定ビット長に等
しい長さの各ビットにより構成された第1の領域の通信
メッセージに対しては、これらの各ビットと、前記乱数
の先頭ビットから所定ビット長までの各ビットと、をそ
れぞれ互いに排他的論理和演算することにより、第1の
暗号化メッセージを生成し、前記乱数の所定ビット長を
超える前記通信メッセージの各ビットから構成された第
2の領域の通信メッセージに対しては、これらの各ビッ
トと、該ビット位置から前記乱数の所定ビット長を減じ
たビット位置の前記通信メッセージの各ビットと、をそ
れぞれ互いに排他的論理和演算することにより、第2の
暗号化メッセージを生成し、第1及び第2の暗号化メッ
セージを前記送信装置から前記受信装置へ通信し、前記
受信装置は、第1の暗号化メッセージに対しては、これ
らの各ビットと、前記乱数の先頭ビットから所定ビット
長までの各ビットと、をそれぞれ互いに排他的論理和演
算することにより、第1の暗号化メッセージから第1の
領域の通信メッセージを復号化し、第2の暗号化メッセ
ージに対しては、これらの各ビットと、該ビット位置か
ら前記乱数の所定ビット長を減じたビット位置の前記通
信メッセージの各ビットと、をそれぞれ互いに排他的論
理和演算することにより、第2の暗号化メッセージから
第2の領域の通信メッセージを復号化する、ことを要旨
とするストリーム暗号による通信方法である。
【0028】請求項1に記載の発明によれば、通信メッ
セージの長さよりも短い秘密鍵である乱数を予め送信装
置と受信装置間で共有する。次いで、通信メッセージの
先頭からこの乱数のビット長に等しい長さの第1の領域
の通信メッセージに対してのみこの乱数の各ビットと排
他的論理和演算し、残りの第2の領域の通信メッセージ
に対しては、該ビット位置からこの乱数のビット長を減
じたビット位置の通信メッセージの各ビットをそれぞれ
互いに排他的論理和演算することにより、暗号化メッセ
ージを生成するので、予め共有すべき乱数のビット長を
通信メッセージより短縮し、乱数の共有の為の時間を削
減し、高速な暗号化通信を行うことができる。
【0029】また、請求項2記載の発明は、送信装置と
受信装置との間で、公開鍵配送法により、予め所定ビッ
ト長を有する乱数を共有し、前記送信装置は、通信メッ
セージの先頭ビットから前記乱数の所定ビット長に等し
い長さの各ビットにより構成された第1の領域の通信メ
ッセージに対しては、これらの各ビットと、前記乱数の
先頭ビットから所定ビット長までの各ビットと、をそれ
ぞれ互いに排他的論理和演算することにより、第1の暗
号化メッセージを生成し、前記乱数の所定ビット長を超
える前記通信メッセージの各ビットから構成された第2
の領域の通信メッセージに対しては、これらの各ビット
と、該ビット位置から前記乱数の所定ビット長を減じた
ビット位置の前記通信メッセージの各ビットと、をそれ
ぞれ互いに排他的論理和演算することにより、第2の暗
号化メッセージを生成し、第1及び第2の暗号化メッセ
ージを前記送信装置から前記受信装置へ通信し、前記受
信装置は、第1の暗号化メッセージに対しては、これら
の各ビットと、前記乱数の先頭ビットから所定ビット長
までの各ビットと、をそれぞれ互いに排他的論理和演算
することにより、第1の暗号化メッセージから第1の領
域の通信メッセージを復号化し、第2の暗号化メッセー
ジに対しては、これらの各ビットと、該ビット位置から
前記乱数の所定ビット長を減じたビット位置の前記通信
メッセージの各ビットと、をそれぞれ互いに排他的論理
和演算することにより、第2の暗号化メッセージから第
2の領域の通信メッセージを復号化する、ことを要旨と
するストリーム暗号による通信方法である。
【0030】請求項2に記載の発明によれば、通信メッ
セージの長さよりも短い秘密鍵である乱数を予め公開鍵
配送法により送信装置と受信装置間で共有する。公開鍵
配送法により秘密鍵である共有乱数の配送の安全性が確
保される。次いで、通信メッセージの先頭からこの乱数
のビット長に等しい長さの第1の領域の通信メッセージ
に対してのみこの乱数の各ビットと排他的論理和演算
し、残りの第2の領域の通信メッセージに対しては、該
ビット位置から前記乱数の所定ビット長を減じたビット
位置の前記通信メッセージの各ビットとをそれぞれ互い
に排他的論理和演算することにより、暗号化メッセージ
を生成する。これにより予め共有すべき乱数のビット長
を通信メッセージより短縮し、乱数の共有の為の時間を
削減し、高速な暗号化通信を行うことができる。
【0031】また、請求項3記載の発明は、送信装置と
受信装置との間で、公開鍵暗号による暗号化通信によ
り、予め所定ビット長を有する乱数を共有し、前記送信
装置は、通信メッセージの先頭ビットから前記乱数の所
定ビット長に等しい長さの各ビットにより構成された第
1の領域の通信メッセージに対しては、これらの各ビッ
トと、前記乱数の先頭ビットから所定ビット長までの各
ビットと、をそれぞれ互いに排他的論理和演算すること
により、第1の暗号化メッセージを生成し、前記乱数の
所定ビット長を超える前記通信メッセージの各ビットか
ら構成された第2の領域の通信メッセージに対しては、
これらの各ビットと、該ビット位置から前記乱数の所定
ビット長を減じたビット位置の前記通信メッセージの各
ビットと、をそれぞれ互いに排他的論理和演算すること
により、第2の暗号化メッセージを生成し、第1及び第
2の暗号化メッセージを前記送信装置から前記受信装置
へ通信し、前記受信装置は、第1の暗号化メッセージに
対しては、これらの各ビットと、前記乱数の先頭ビット
から所定ビット長までの各ビットと、をそれぞれ互いに
排他的論理和演算することにより、第1の暗号化メッセ
ージから第1の領域の通信メッセージを復号化し、第2
の暗号化メッセージに対しては、これらの各ビットと、
該ビット位置から前記乱数の所定ビット長を減じたビッ
ト位置の前記通信メッセージの各ビットと、をそれぞれ
互いに排他的論理和演算することにより、第2の暗号化
メッセージから第2の領域の通信メッセージを復号化す
る、ことを要旨とするストリーム暗号による通信方法で
ある。
【0032】請求項3に記載の発明によれば、通信メッ
セージの長さよりも短い秘密鍵である乱数を予め公開鍵
暗号方式の通信により送信装置と受信装置との間で共有
する。公開鍵暗号により秘密鍵である共有乱数の配送の
安全性が確保される。次いで、通信メッセージの先頭か
らこの乱数のビット長に等しい長さの第1の領域の通信
メッセージに対してのみこの乱数の各ビットと排他的論
理和演算し、残りの第2の領域の通信メッセージに対し
ては、該ビット位置から前記乱数の所定ビット長を減じ
たビット位置の前記通信メッセージの各ビットとをそれ
ぞれ互いに排他的論理和演算することにより、暗号化メ
ッセージを生成する。これにより予め共有すべき乱数の
ビット長を通信メッセージより短縮し、乱数の共有の為
の時間を削減し、高速な暗号化通信を行うことができ
る。
【0033】また、請求項4記載の発明は、送信装置か
ら受信装置へ、公開鍵暗号により暗号化した乱数と、ス
トリーム暗号化した通信メッセージと、を送るストリー
ム暗号による通信方法であって、前記送信装置は、所定
ビット長を有する乱数を発生させ、該乱数を受信装置の
公開鍵により暗号化して、暗号化乱数を生成し、通信メ
ッセージの先頭ビットから前記乱数の所定ビット長に等
しい長さの各ビットにより構成された第1の領域の通信
メッセージに対しては、これらの各ビットと、前記乱数
の先頭ビットから所定ビット長までの各ビットと、をそ
れぞれ互いに排他的論理和演算することにより、第1の
暗号化メッセージを生成し、前記乱数の所定ビット長を
超える前記通信メッセージの各ビットから構成された第
2の領域の通信メッセージに対しては、これらの各ビッ
トと、該ビット位置から前記乱数の所定ビット長を減じ
たビット位置の前記通信メッセージの各ビットと、をそ
れぞれ互いに排他的論理和演算することにより、第2の
暗号化メッセージを生成し、前記暗号化乱数と第1およ
び第2の暗号化メッセージとを連接して前記送信装置か
ら前記受信装置へ通信し、前記受信装置は、前記暗号化
乱数を自らの秘密鍵により復号化して乱数を生成し、第
1の暗号化メッセージに対しては、これらの各ビット
と、前記乱数の先頭ビットから所定ビット長までの各ビ
ットと、をそれぞれ互いに排他的論理和演算することに
より、第1の暗号化メッセージから第1の領域の通信メ
ッセージを復号化し、第2の暗号化メッセージに対して
は、これらの各ビットと、該ビット位置から前記乱数の
所定ビット長を減じたビット位置の前記通信メッセージ
の各ビットと、をそれぞれ互いに排他的論理和演算する
ことにより、第2の暗号化メッセージから第2の領域の
通信メッセージを復号化する、ことを要旨とするストリ
ーム暗号による通信方法である。
【0034】請求項4に記載の発明によれば、通信メッ
セージの長さよりも短い秘密鍵である乱数を公開鍵暗号
方式により暗号化し、次いで、通信メッセージの先頭か
らこの乱数のビット長に等しい長さの第1の領域の通信
メッセージに対してのみこの乱数の各ビットと排他的論
理和演算し、残りの第2の領域の通信メッセージに対し
ては、該ビット位置から前記乱数の所定ビット長を減じ
たビット位置の前記通信メッセージの各ビットとをそれ
ぞれ互いに排他的論理和演算することにより、暗号化メ
ッセージを生成する。これにより、公開鍵暗号の持つ安
全性により秘密鍵である共有乱数の配送の安全性が確保
される。また、共有すべき乱数のビット長を通信メッセ
ージより短縮し、乱数の共有の為の時間を削減し、高速
な暗号化通信を行うことができる。
【0035】また請求項5記載の発明は、請求項3また
は請求項4に記載のストリーム暗号による通信方法にお
いて、前記乱数のビット数は、前記公開鍵暗号により1
度に暗号化可能なビット数を超えるビット数であり、そ
れぞれ複数回の暗号化及び復号化によって前記乱数の暗
号化及び復号化が行われることを要旨とする。
【0036】請求項5記載の発明によれば、公開鍵暗号
による暗号化ブロックサイズより大きいビット長の乱数
を分割して送ることができるので、公開鍵暗号の制約に
拘わらず十分長い乱数を送ることができ、より一層安全
性を向上させることができる。
【0037】また、請求項6記載の発明は、それぞれ乱
数発生器を備えた送信装置と受信装置との間で、公開鍵
暗号を用いる暗号化通信により、乱数発生アルゴリズム
及びまたは乱数の初期値を共有することにより、双方の
乱数発生器から所定ビット長の同一の乱数を発生させ、
前記送信装置は、通信メッセージの先頭ビットから前記
乱数の所定ビット長に等しい長さの各ビットにより構成
された第1の領域の通信メッセージに対しては、これら
の各ビットと、前記乱数の先頭ビットから所定ビット長
までの各ビットと、をそれぞれ互いに排他的論理和演算
することにより、第1の暗号化メッセージを生成し、前
記乱数の所定ビット長を超える前記通信メッセージの各
ビットから構成された第2の領域の通信メッセージに対
しては、これらの各ビットと、該ビット位置から前記乱
数の所定ビット長を減じたビット位置の前記通信メッセ
ージの各ビットと、をそれぞれ互いに排他的論理和演算
することにより、第2の暗号化メッセージを生成し、第
1及び第2の暗号化メッセージを前記送信装置から前記
受信装置へ通信し、前記受信装置は、第1の暗号化メッ
セージに対しては、これらの各ビットと、前記乱数の先
頭ビットから所定ビット長までの各ビットと、をそれぞ
れ互いに排他的論理和演算することにより、第1の暗号
化メッセージから第1の領域の通信メッセージを復号化
し、第2の暗号化メッセージに対しては、これらの各ビ
ットと、該ビット位置から前記乱数の所定ビット長を減
じたビット位置の前記通信メッセージの各ビットと、を
それぞれ互いに排他的論理和演算することにより、第2
の暗号化メッセージから第2の領域の通信メッセージを
復号化することを要旨とするストリーム暗号による通信
方法である。
【0038】請求項6に記載の発明によれば、送信装置
および受信装置にそれぞれ乱数発生器を備え、公開鍵暗
号を用いて、乱数発生アルゴリズム及びまたは乱数の初
期値を送信装置から受信装置へ送ることにより、双方の
乱数発生器を互いに等しい状態に設定することができ、
双方の乱数発生器から等しい乱数を発生することによ
り、秘密鍵である乱数を共有することができる。公開鍵
暗号により乱数発生アルゴリズム及びまたは乱数の初期
値の配送の安全性が確保される。また乱数そのものでは
なく、乱数発生アルゴリズム及びまたは乱数の初期値を
送ることにより、乱数共有のための通信が短縮され、乱
数共有の為の時間を削減し、高速な暗号化通信を行うこ
とができる。
【0039】また請求項7記載の発明は、請求項6に記
載のストリーム暗号による通信方法において、前記送信
装置及び受信装置にそれぞれ備えられた乱数発生器か
ら、発生される乱数の周期を超えて、それぞれ乱数を取
り出すことを要旨とする。これにより、十分に長い乱数
を利用することができる。
【0040】また、請求項8記載の発明は、通信メッセ
ージの先頭から所定のビット長を第1の領域の通信メッ
セージとし、前記通信メッセージの所定のビット長を超
える部分を第2の領域の通信メッセージとする通信メッ
セージの分割を行い、第1の領域の通信メッセージに対
しては公開鍵暗号により、第2の領域の通信メッセージ
に対してはストリーム暗号により、それぞれ送信装置か
ら受信装置へ通信する通信方法であって、前記送信装置
は、第1の領域の通信メッセージを受信装置の公開鍵に
より暗号化して、第1の暗号化メッセージを生成し、第
2の領域の通信メッセージに対しては、これらの各ビッ
トと、該ビット位置から前記第1の領域の通信メッセー
ジのビット長を減じたビット位置の前記通信メッセージ
の各ビットと、をそれぞれ互いに排他的論理和演算する
ことにより、第2の暗号化メッセージを生成し、前記第
1および第2の暗号化メッセージを連接して前記送信装
置から前記受信装置へ通信し、前記受信装置は、自らの
秘密鍵により、前記第1の暗号化メッセージから第1の
領域の通信メッセージを復号化し、前記第2の暗号化メ
ッセージの各ビットに対しては、これらの各ビットと、
該ビット位置が対応する前記通信メッセージのビット位
置から前記所定のビット長を減じたビット位置の復号化
された通信メッセージの各ビットと、をそれぞれ互いに
排他的論理和演算することにより、第2の暗号化メッセ
ージから第2の領域の通信メッセージを復号化する、こ
とを要旨とするストリーム暗号による通信方法である。
【0041】請求項8記載の発明によれば、通信メッセ
ージの先頭から所定のビット長までの第1の領域の通信
メッセージを公開鍵暗号化し、残りの通信メッセージ
は、これらの各ビットと、該ビット位置から前記第1の
領域の通信メッセージのビット長を減じたビット位置の
前記通信メッセージの各ビットと、をそれぞれ互いに排
他的論理和演算することによりストリーム暗号化する。
公開鍵暗号の持つ安全性により、第1の領域の通信メッ
セージの安全性が確保され、第2の領域の通信メッセー
ジの復号化は、第1の領域の通信メッセージの復号化が
前提となる。これにより、乱数を共有化することなく、
高速で安全性の高い暗号化が行える。
【0042】また請求項9記載の発明は、請求項8に記
載のストリーム暗号による通信方法において、前記第1
の領域の通信メッセージのビット数は、前記公開鍵暗号
により1度に暗号化可能なビット数を超えるビット数で
あり、それぞれ複数回の暗号化及び復号化によって第1
の領域の通信メッセージの暗号化及び復号化が行われる
ことを要旨とする。
【0043】請求項9記載の発明によれば、公開鍵暗号
化する第1の領域の通信メッセージの長さが利用する公
開鍵暗号方式に限定されず、十分な安全性を確保できる
長さとすることができる。
【0044】また、請求項10記載の発明は、送信装置
と受信装置との間で、予め所定ビット長を有する乱数を
共有し、前記送信装置は、前記乱数の所定ビット長と等
しいブロック長を有する転置情報を前記受信装置の公開
鍵により暗号化した暗号化転置情報を生成し、通信メッ
セージの先頭ビットから前記乱数の所定ビット長に等し
い長さの各ビットにより構成された第1の領域の通信メ
ッセージに対しては、前記転置情報に基づいて、これら
の各ビットを前記乱数の所定ビット長と等しいブロック
長の転置を施した転置メッセージの各ビットと、前記乱
数の先頭ビットから所定ビット長までの各ビットと、を
それぞれ互いに排他的論理和演算することにより、第1
の暗号化メッセージを生成し、前記乱数の所定ビット長
を超える前記通信メッセージの各ビットから構成された
第2の領域の通信メッセージに対しては、前記転置情報
に基づいて、これらの各ビットを前記転置のブロック長
の単位毎に転置を施した転置メッセージの各ビットと、
前記通信メッセージの該ビット位置から前記乱数の所定
ビット長を減じたビット位置の前記通信メッセージの各
ビットと、をそれぞれ互いに排他的論理和演算すること
により、第2の暗号化メッセージを生成し、前記暗号化
転置情報と第1の暗号化メッセージと第2の暗号化メッ
セージとを連接して前記送信装置から前記受信装置へ通
信し、前記受信装置は、自らの秘密鍵により前記暗号化
転置情報から転置情報を復号化し、第1の暗号化メッセ
ージに対しては、これらの各ビットと、前記乱数の先頭
ビットから所定ビット長までの各ビットと、をそれぞれ
互いに排他的論理和演算して得られた転置メッセージに
前記転置の逆写像の転置を施して第1の領域の通信メッ
セージを復号化し、第2の暗号化メッセージに対して
は、これらの各ビットと、該ビット位置から前記乱数の
所定ビット長を減じたビット位置の前記通信メッセージ
の各ビットと、をそれぞれ互いに排他的論理和演算して
得られた転置メッセージに前記転置の逆写像の転置を施
して第2の領域の通信メッセージを復号化する、ことを
要旨とするストリーム暗号による通信方法である。
【0045】また、請求項11記載の発明は、送信装置
と受信装置との間で、公開鍵配送法により、予め所定ビ
ット長を有する乱数を共有し、前記送信装置は、前記乱
数の所定ビット長と等しいブロック長を有する転置情報
を前記受信装置の公開鍵により暗号化した暗号化転置情
報を生成し、通信メッセージの先頭ビットから前記乱数
の所定ビット長に等しい長さの各ビットにより構成され
た第1の領域の通信メッセージに対しては、前記転置情
報に基づいて、これらの各ビットを前記乱数の所定ビッ
ト長と等しいブロック長の転置を施した転置メッセージ
の各ビットと、前記乱数の先頭ビットから所定ビット長
までの各ビットと、をそれぞれ互いに排他的論理和演算
することにより、第1の暗号化メッセージを生成し、前
記乱数の所定ビット長を超える前記通信メッセージの各
ビットから構成された第2の領域の通信メッセージに対
しては、前記転置情報に基づいて、これらの各ビットを
前記転置のブロック長の単位毎に転置を施した転置メッ
セージの各ビットと、前記通信メッセージの該ビット位
置から前記乱数の所定ビット長を減じたビット位置の前
記通信メッセージの各ビットと、をそれぞれ互いに排他
的論理和演算することにより、第2の暗号化メッセージ
を生成し、前記暗号化転置情報と第1の暗号化メッセー
ジと第2の暗号化メッセージとを連接して前記送信装置
から前記受信装置へ通信し、前記受信装置は、自らの秘
密鍵により前記暗号化転置情報から転置情報を復号化
し、第1の暗号化メッセージに対しては、これらの各ビ
ットと、前記乱数の先頭ビットから所定ビット長までの
各ビットと、をそれぞれ互いに排他的論理和演算して得
られた転置メッセージに前記転置の逆写像の転置を施し
て第1の領域の通信メッセージを復号化し、第2の暗号
化メッセージに対しては、これらの各ビットと、該ビッ
ト位置から前記乱数の所定ビット長を減じたビット位置
の前記通信メッセージの各ビットと、をそれぞれ互いに
排他的論理和演算して得られた転置メッセージに前記転
置の逆写像の転置を施して第2の領域の通信メッセージ
を復号化することを要旨とするストリーム暗号による通
信方法である。
【0046】また、請求項12記載の発明は、送信装置
と受信装置との間で、公開鍵暗号による暗号化通信によ
り、予め所定ビット長を有する乱数を共有し、前記送信
装置は、前記乱数の所定ビット長と等しいブロック長を
有する転置情報を前記受信装置の公開鍵により暗号化し
た暗号化転置情報を生成し、通信メッセージの先頭ビッ
トから前記乱数の所定ビット長に等しい長さの各ビット
により構成された第1の領域の通信メッセージに対して
は、前記転置情報に基づいて、これらの各ビットを前記
乱数の所定ビット長と等しいブロック長の転置を施した
転置メッセージの各ビットと、前記乱数の先頭ビットか
ら所定ビット長までの各ビットと、をそれぞれ互いに排
他的論理和演算することにより、第1の暗号化メッセー
ジを生成し、前記乱数の所定ビット長を超える前記通信
メッセージの各ビットから構成された第2の領域の通信
メッセージに対しては、前記転置情報に基づいて、これ
らの各ビットを前記転置のブロック長の単位毎に転置を
施した転置メッセージの各ビットと、前記通信メッセー
ジの該ビット位置から前記乱数の所定ビット長を減じた
ビット位置の前記通信メッセージの各ビットと、をそれ
ぞれ互いに排他的論理和演算することにより、第2の暗
号化メッセージを生成し、前記暗号化転置情報と第1の
暗号化メッセージと第2の暗号化メッセージとを連接し
て前記送信装置から前記受信装置へ通信し、前記受信装
置は、自らの秘密鍵により前記暗号化転置情報から転置
情報を復号化し、第1の暗号化メッセージに対しては、
これらの各ビットと、前記乱数の先頭ビットから所定ビ
ット長までの各ビットと、をそれぞれ互いに排他的論理
和演算して得られた転置メッセージに前記転置の逆写像
の転置を施して第1の領域の通信メッセージを復号化
し、第2の暗号化メッセージに対しては、これらの各ビ
ットと、該ビット位置から前記乱数の所定ビット長を減
じたビット位置の前記通信メッセージの各ビットと、を
それぞれ互いに排他的論理和演算して得られた転置メッ
セージに前記転置の逆写像の転置を施して第2の領域の
通信メッセージを復号化する、ことを要旨とするストリ
ーム暗号による通信方法である。
【0047】また請求項13記載の発明は、公開鍵暗号
により暗号化した乱数と、公開鍵暗号により暗号化した
転置情報と、ストリーム暗号化した通信メッセージと、
を送信装置から受信装置へ送るストリーム暗号による通
信方法であって、前記送信装置は、所定ビット長を有す
る乱数を発生させ、該乱数を受信装置の公開鍵により暗
号化して暗号化乱数を生成し、前記乱数の所定ビット長
と等しいブロック長を有する転置情報を前記受信装置の
公開鍵により暗号化した暗号化転置情報を生成し、通信
メッセージの先頭ビットから前記乱数の所定ビット長に
等しい長さの各ビットにより構成された第1の領域の通
信メッセージに対しては、前記転置情報に基づいて、こ
れらの各ビットを前記乱数の所定ビット長と等しいブロ
ック長の転置を施した転置メッセージの各ビットと、前
記乱数の先頭ビットから所定ビット長までの各ビット
と、をそれぞれ互いに排他的論理和演算することによ
り、第1の暗号化メッセージを生成し、前記乱数の所定
ビット長を超える前記通信メッセージの各ビットから構
成された第2の領域の通信メッセージに対しては、前記
転置情報に基づいて、これらの各ビットを前記転置のブ
ロック長の単位毎に転置を施した転置メッセージの各ビ
ットと、前記通信メッセージの該ビット位置から前記乱
数の所定ビット長を減じたビット位置の前記通信メッセ
ージの各ビットと、をそれぞれ互いに排他的論理和演算
することにより、第2の暗号化メッセージを生成し、前
記暗号化乱数と前記暗号化転置情報と第1及び第2の暗
号化メッセージとを連接して、送信装置から受信装置へ
通信し、前記受信装置は、自らの秘密鍵により、前記暗
号化乱数及び前記暗号化転置情報からそれぞれ前記乱数
及び前記転置情報を復号化し、第1の暗号化メッセージ
に対しては、これらの各ビットと、前記乱数の先頭ビッ
トから所定ビット長までの各ビットと、をそれぞれ互い
に排他的論理和演算して得られた転置メッセージに前記
転置の逆写像の転置を施して第1の領域の通信メッセー
ジを復号化し、第2の暗号化メッセージに対しては、こ
れらの各ビットと、該ビット位置から前記乱数の所定ビ
ット長を減じたビット位置の前記通信メッセージの各ビ
ットと、をそれぞれ互いに排他的論理和演算して得られ
た転置メッセージに前記転置の逆写像の転置を施して第
2の領域の通信メッセージを復号化する、ことを要旨と
するストリーム暗号による通信方法である。
【0048】また請求項14記載の発明は、請求項12
または請求項13に記載のストリーム暗号による通信方
法において、前記乱数のビット数は、前記公開鍵暗号に
より1度に暗号化可能なビット数を超えるビット数であ
り、それぞれ複数回の暗号化及び復号化によって前記乱
数の暗号化及び復号化が行われることを要旨とする。
【0049】また請求項15記載の発明は、それぞれ乱
数発生器を備えた送信装置と受信装置との間で、公開鍵
暗号を用いる暗号化通信により、乱数発生アルゴリズム
及びまたは乱数の初期値を共有することにより、双方の
乱数発生器から所定ビット長の同一の乱数を発生させ、
前記送信装置は、前記乱数の所定ビット長と等しいブロ
ック長を有する転置情報を前記受信装置の公開鍵により
暗号化した暗号化転置情報を生成し、通信メッセージの
先頭ビットから前記乱数の所定ビット長に等しい長さの
各ビットにより構成された第1の領域の通信メッセージ
に対しては、前記転置情報に基づいて、これらの各ビッ
トを前記乱数の所定ビット長と等しいブロック長の転置
を施した転置メッセージの各ビットと、前記乱数の先頭
ビットから所定ビット長までの各ビットと、をそれぞれ
互いに排他的論理和演算することにより、第1の暗号化
メッセージを生成し、前記乱数の所定ビット長を超える
前記通信メッセージの各ビットから構成された第2の領
域の通信メッセージに対しては、前記転置情報に基づい
て、これらの各ビットを前記転置のブロック長の単位毎
に転置を施した転置メッセージの各ビットと、前記通信
メッセージの該ビット位置から前記乱数の所定ビット長
を減じたビット位置の前記通信メッセージの各ビット
と、をそれぞれ互いに排他的論理和演算することによ
り、第2の暗号化メッセージを生成し、前記暗号化転置
情報と第1の暗号化メッセージと第2の暗号化メッセー
ジとを連接して前記送信装置から前記受信装置へ通信
し、前記受信装置は、自らの秘密鍵により前記暗号化転
置情報から転置情報を復号化し、第1の暗号化メッセー
ジに対しては、これらの各ビットと、前記乱数の先頭ビ
ットから所定ビット長までの各ビットと、をそれぞれ互
いに排他的論理和演算して得られた転置メッセージに前
記転置の逆写像の転置を施して第1の領域の通信メッセ
ージを復号化し、第2の暗号化メッセージに対しては、
これらの各ビットと、該ビット位置から前記乱数の所定
ビット長を減じたビット位置の前記通信メッセージの各
ビットと、をそれぞれ互いに排他的論理和演算して得ら
れた転置メッセージに前記転置の逆写像の転置を施して
第2の領域の通信メッセージを復号化する、ことを要旨
とするストリーム暗号による通信方法である。
【0050】また請求項16記載の発明は、請求項15
に記載のストリーム暗号による通信方法において、前記
送信装置及び受信装置にそれぞれ備えられた乱数発生器
から、発生される乱数の周期を超えて、それぞれ乱数を
取り出すことを要旨とする。
【0051】また請求項17記載の発明は、通信メッセ
ージの先頭から所定のビット長を第1の領域の通信メッ
セージとし、前記通信メッセージの所定のビット長を超
える部分を第2の領域の通信メッセージとする通信メッ
セージの分割を行い、第1の領域の通信メッセージに対
しては公開鍵暗号により、第2の領域の通信メッセージ
に対してはストリーム暗号により、それぞれ送信装置か
ら受信装置へ通信する通信方法であって、前記送信装置
は、前記乱数の所定ビット長と等しいブロック長を有す
る転置情報を前記受信装置の公開鍵により暗号化した暗
号化転置情報を生成し、第1の領域の通信メッセージを
前記転置情報に基づいて転置した第1の転置メッセージ
を前記受信装置の公開鍵により暗号化して、第1の暗号
化メッセージを生成し、第2の領域の通信メッセージに
該当する前記分割前の通信メッセージの各ビットに対し
ては、前記転置情報に基づいて、これらの通信メッセー
ジを構成する各ビットを前記転置のブロック長の単位毎
に転置を施した第2の転置メッセージの各ビットと、前
記通信メッセージの該ビット位置から前記乱数の所定ビ
ット長を減じたビット位置の第1の通信メッセージの各
ビットと、をそれぞれ互いに排他的論理和演算すること
により、第2の暗号化メッセージを生成し、前記暗号化
転置情報と第1の暗号化メッセージと第2の暗号化メッ
セージとを連接して送信し、前記受信装置は、自らの秘
密鍵により、前記暗号化転置情報及び第1の暗号化メッ
セージからそれぞれ前記転置情報及び第1の転置メッセ
ージを復号化し、この第1の転置メッセージに前記転置
の逆写像の転置を施して第1の領域の通信メッセージを
復号化し、第2の暗号化メッセージの各ビットに対して
は、これらの各ビットと、該ビット位置が対応する通信
メッセージのビット位置から前記所定のビット長を減じ
たビット位置の復号化された通信メッセージの各ビット
と、をそれぞれ互いに排他的論理和演算することによ
り、第2の領域の通信メッセージを復号化する、ことを
要旨とするストリーム暗号による通信方法である。
【0052】また請求項18記載の発明は、請求項17
に記載のストリーム暗号による通信方法において、前記
第1の領域の通信メッセージのビット数は、前記公開鍵
暗号により1度に暗号化可能なビット数を超えるビット
数であり、それぞれ複数回の暗号化及び復号化によって
第1の領域の通信メッセージの暗号化及び復号化が行わ
れることを要旨とする。
【0053】請求項10ないし請求項18のいずれかに
記載の発明によれば、請求項1ないし請求項9のいずれ
かに記載のストリーム暗号による通信方式において、さ
らに通信メッセージに対して転置を行うことにより、さ
らに安全強度を高めることができる。
【0054】また請求項19記載の発明は、請求項1な
いし請求項18のいずれか1項に記載のストリーム暗号
による通信方法において、前記排他的論理和演算を行う
処理を、複数ビット並列して実行させることを要旨とす
る。
【0055】また請求項20記載の発明は、請求項1な
いし請求項19のいずれか1項に記載のストリーム暗号
による通信方法において、前記第2の領域の通信メッセ
ージを暗号化または復号化するための排他的論理和演算
の処理は、少なくとも一方の演算対象データを前記第1
の領域の通信メッセージのビット数だけシフトする動作
を含むことを要旨とする。
【0056】また請求項21記載の発明は、送信装置と
受信装置との間で所定のビット長の乱数を共有させる乱
数共有化手段と、通信メッセージの先頭ビットから前記
乱数の所定ビット長に等しい長さの各ビットに対して
は、前記乱数の先頭ビットから所定ビット長までの各ビ
ットと排他的論理和演算し、前記乱数の所定ビット長を
超える前記通信メッセージの各ビットに対しては、該ビ
ット位置から前記乱数の所定ビット長を減じたビット位
置の前記通信メッセージの各ビットと排他的論理和演算
することにより暗号化メッセージを生成する暗号化手段
を備えた送信装置と、前記暗号化メッセージの先頭ビッ
トから前記乱数の所定ビット長に等しい長さの各ビット
に対しては、前記乱数の先頭ビットから所定ビット長ま
での各ビットと排他的論理和演算し、前記乱数の所定ビ
ット長を超える前記暗号化メッセージの各ビットに対し
ては、該ビット位置から前記乱数の所定ビット長を減じ
たビット位置の前記暗号化メッセージの各ビットと排他
的論理和演算することにより復号化メッセージを得る復
号化手段を備えた受信装置と、を備えたことを要旨とす
るストリーム暗号による通信システムである。
【0057】また請求項22記載の発明は、請求項21
に記載のストリーム暗号による通信システムにおいて、
前記乱数共有化手段は、前記送信装置と前記受信装置と
の間で、それぞれ個別に生成された異なる乱数に基づい
て生成された情報を互いに交換し、この交換された情報
及び前記個別に生成された異なる乱数に基づいて、前記
送信装置及び前記受信装置がそれぞれ同一の共有乱数を
生成するものであることを要旨とする。
【0058】また請求項23記載の発明は、請求項21
に記載のストリーム暗号による通信システムにおいて、
前記乱数共有化手段は、前記受信装置の公開鍵により公
開鍵暗号化された乱数を送信装置より送信する公開鍵暗
号化手段と、この公開鍵暗号化された乱数を受信し受信
装置自身の秘密鍵により乱数を復号化する公開鍵復号化
手段と、を備えたものであることを要旨とする。
【0059】また請求項24記載の発明は、請求項21
に記載のストリーム暗号による通信システムにおいて、
前記乱数共有化手段は、前記送信装置に設けられた乱数
発生アルゴリズム及びまたは乱数の初期値を設定可能な
第1の乱数発生器と、前記乱数発生アルゴリズム及びま
たは乱数の初期値を前記受信装置の公開鍵により公開鍵
暗号化する公開鍵暗号化手段と、この公開鍵暗号化され
た乱数発生アルゴリズム及びまたは乱数の初期値を受信
装置自身の秘密鍵により復号化する公開鍵復号化手段
と、前記受信装置に設けられ、この復号化された乱数発
生アルゴリズム及びまたは乱数の初期値を設定可能な第
2の乱数発生器と、を備えたことを要旨とする。
【0060】また請求項25記載の発明は、それぞれ乱
数の初期値を構成するビットの値が外部より設定される
複数ビットのシフトレジスタと、このシフトレジスタの
各ビットから新たな乱数を生成するためのビットを指定
するための値が乱数発生アルゴリズムとして外部より設
定される制御レジスタと、前記制御レジスタの値により
指定されたシフトレジスタのビット間で排他的論理和演
算を行い、その結果をシフトレジスタに入力する排他的
論理和回路と、を備えた乱数発生器を送信装置及び受信
装置がそれぞれ備えてなり、両装置の乱数発生器が互い
に等しい乱数を生成することを特徴とするストリーム暗
号による通信システムである。
【0061】また請求項26記載の発明は、請求項21
に記載のストリーム暗号による通信システムにおいて、
前記送信装置は、転置情報に基づいて、前記乱数の所定
ビット長に等しいブロック長を有するブロック単位に前
記通信メッセージのビット位置を入れ替える第1の転置
手段と、前記転置情報を受信装置の公開鍵により暗号化
し暗号化転置情報を生成する公開鍵暗号化手段と、をさ
らに備えてなり、前記受信装置は、自身の秘密鍵により
前記暗号化転置情報を復号化し転置情報を生成する公開
鍵復号化手段と、この復号化された転置情報に基づい
て、該転置情報の示す転置の逆写像を前記復号化メッセ
ージに施す第2の転置手段と、を備えたことを要旨とす
る。
【0062】また請求項27記載の発明は、請求項21
に記載のストリーム暗号による通信システムにおいて、
前記暗号化手段または前記復号化手段は、共有乱数が初
期状態として設定されるとともにシフトイン入力に通信
メッセージまたは暗号化メッセージの直列供給源が接続
されたシフトレジスタと、このシフトレジスタのシフト
アウト出力に一方の入力が接続され、前記通信メッセー
ジまたは暗号化メッセージの直列供給源に他方の入力が
接続され、その出力が暗号化メッセージまたは復号化さ
れた通信メッセージとなる2入力排他的論理和回路と、
を備えたことを要旨とする。
【0063】また請求項28記載の発明は、請求項27
に記載のストリーム暗号による通信システムにおいて、
前記シフトレジスタまたは該シフトレジスタ及び前記排
他的論理和回路を備えた回路が単一の集積回路に集積化
されたことを要旨とする。
【0064】また請求項29記載の発明は、請求項21
に記載のストリーム暗号による通信システムにおいて、
前記暗号化手段及びまたは前記復号化手段は、前記排他
的論理和演算を複数ビット並列に行う演算器を備えたこ
とを要旨とする。
【0065】また請求項30記載の発明は、所定のビッ
ト幅で順次供給される第1のデータを一時保持する第1
の保持手段と、前記所定のビット幅の第2のデータまた
は第1の保持手段に保持されたデータを一時保持する第
2の保持手段と、第1及び第2の保持手段の内容をそれ
ぞれビット毎に排他的論理和演算を行う前記所定ビット
幅の並列演算器と、を備えた回路を単一の集積回路に集
積化したことを要旨とするストリーム暗号による通信シ
ステムである。
【0066】本発明では、従来方式に比較して、暗号化
および復号化の処理量が少ないので、リアルタイム性の
あるマルチメディア情報の効果的な秘匿通信を行なうこ
とができる。また、大量ファイルの暗号転送においても
有効である。
【0067】
【発明の実施の形態】次に、図面を参照して本発明の実
施の形態を詳細に説明する。図1は、本発明に係るスト
リーム暗号による通信システムの第1の実施形態を示す
システム構成図であり、請求項1または請求項2記載の
発明に対応する。同図において、通信システム11は、
乱数共有化部21と、送信装置31と、受信装置51
と、通信路71とを備えて構成されている。
【0068】乱数共有化部21は、送信装置31と受信
装置51とに、所定のビット長kの互いに等しい乱数
(乱数列とも呼ばれる)Rを秘密に共有させるものであ
る。これには、例えば、乱数Rを記憶させたフロッピー
ディスクを書留便で郵送することも可能である。
【0069】なお、以下の説明においては、特に断らな
い限り、乱数Rはビット長kの2進乱数とし、そのi番
目のビットの値をR[i]とする。
【0070】また、通信メッセージであるビット長Nの
平文Mは、その第1の領域である先頭ビットM[1]か
ら同kビット目であるM[k]までの先頭ブロック(以
下、このブロックをM1,k とも記す)と、第2の領域で
ある平文MのビットM[i](k<i≦N)からなる後
続ブロックとに便宜上分割して説明する。
【0071】送信装置31は、平文Mからその先頭ブロ
ックM1,k を切り出す先頭ブロック切り出し処理部11
1と、先頭ブロックM1,k を暗号化する先頭ブロック暗
号化処理部131と、この先頭ブロックに続くビットM
[i](k<i≦N)を暗号化する後続ブロック暗号化
処理部151と、先頭ブロック暗号化処理部131によ
り生成された第1の暗号化メッセージ及び後続ブロック
暗号化処理部151により生成された第2の暗号化メッ
セージを連接して1つの暗号文として通信路71へ送出
する暗号文連接処理部171と、を備えて構成されてい
る。
【0072】受信装置51は、通信路71を介して受信
された暗号文から、第1及び第2の暗号化メッセージを
分離する暗号文分離処理部271と、第1の暗号化メッ
セージから平文の先頭ブロックを復号化する先頭ブロッ
ク復号化処理部231と、第2の暗号化メッセージから
平文の後続ブロックを復号化する後続ブロック復号化処
理部251と、それぞれ復号化された先頭ブロック及び
後続ブロックを連接して平文Mを復元するビット連接処
理部211とを備えて構成されている。
【0073】次に、送信装置31の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図9は、送信装置31の暗号化送信処理を説明するフロ
ーチャートであり、表1は同処理におけるメモリ上のデ
ータ配置を示す表である。なお、表1及び以下の各表に
おいて、ビット位置を示すカウンタiの値によってデー
タ内容が異なる場合、データ内容欄を複数設けている。
そしてデータ内容欄の「←」印は、左側のデータ内容欄
と同一の内容であることを示す。
【0074】
【表1】 表1に示すように暗号化送信処理においては、平文M、
乱数Rがそれぞれデータ番号1、2に与えられる。
【0075】図9において、まず共有乱数Rのビット長
kが、データ番号3に格納される(ステップS10
1)。次いで、暗号化すべき平文のビット位置を示すカ
ウンタiを初期設定するために、データ番号4に1を格
納する(ステップS103)。
【0076】次いで、iがk以下がどうかを判定し(ス
テップS105)、i≦kならば、暗号化すべき平文の
ビット位置iは、通信メッセージの第1の領域であるの
で、乱数Rのiビット目R[i]を取り出してデータ番
号5に格納し、平文Mのiビット目M[i]を取り出
し、データ番号6に格納し、
【数9】 C[i] ≡R[i] (+) M[i] 1≦i≦kのとき …(10) 式(10)により暗号化を行い、C[i]をデータ番号
7に格納する(ステップS107)。ここで、 (+)
は、排他的論理和を表し、C[i]は、暗号化メッセー
ジのiビット目を示している。
【0077】ステップS105の判定において、i>k
であれば、暗号化すべき平文のビット位置iは、通信メ
ッセージの第2の領域であるので、平文Mのi−kビッ
ト目M[i−k]を取り出してデータ番号5に格納し、
平文Mのiビット目M[i]を取り出してデータ番号6
に格納し、
【数10】 C[i] ≡M[i-k] (+) M[i] k<iのとき …(11) 式(11)により暗号化を行い、C[i]をデータ番号
7に格納する(ステップS109)。
【0078】次いで、データ番号7のC[i]を送信し
(ステップS111)、次いで、メッセージが終了した
かどうか(i=N)を判定し(ステップS113)、終
了していなければ(i≠N)、iを1だけ増加させて
(ステップS115)、ステップS105に戻る。i=
Nならば終了する。
【0079】なお、終了判定条件として最終ビット番号
Nが与えられるとしたが、マルチメディア情報等の暗号
化されるデータの性質によっては、予め最終ビット番号
が得られず、別途設定される終了フラグ等を参照して終
了しても良い。これは、受信装置51における復号化や
他の実施の形態においても同様である。
【0080】次に、受信装置51の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図10は、受信装置51の受信復号化処理を説明するフ
ローチャートであり、表2は同処理におけるメモリ上の
データ配置を示す表である。
【0081】
【表2】 表2に示すように受信復号化処理においては、暗号文
C、乱数Rがそれぞれデータ番号1、2に与えられる。
【0082】図10において、まず共有乱数Rのビット
長kが、データ番号3に格納される(ステップS12
1)。次いで、復号化すべき暗号文のビット位置を示す
カウンタiを初期設定するために、データ番号4に1を
格納する(ステップS123)。
【0083】次いで、iがk以下がどうかを判定し(ス
テップS125)、i≦kならば、復号化すべき暗号文
のビット位置iは、通信メッセージの第1の領域である
ので、乱数Rのiビット目R[i]を取り出してデータ
番号5に格納し、暗号文Cのiビット目C[i]を取り
出してデータ番号6に格納し、
【数11】 M[i] ≡R[i] (+) C[i] 1≦i≦kのとき …(12) 式(12)により復号化を行い、M[i]をデータ番号
7に格納する(ステップS127)。
【0084】ステップS125の判定において、i>k
であれば、復号化すべき暗号文のビット位置iは、平文
Mの第2の領域であるので、平文Mのi−kビット目M
[i−k]を取り出してデータ番号5に格納し、暗号文
Cのiビット目C[i]を取り出し、データ番号6に格
納し、
【数12】 M[i] ≡M[i-k] (+) C[i] k<iのとき …(13) 式(13)により復号化を行い、M[i]をデータ番号
7に格納する(ステップS129)。
【0085】次いで、データ番号7のM[i]をデータ
番号8の平文Mの末尾に連接して格納し(ステップS1
31)、次いで、暗号文が終了したかどうか(i=N)
を判定し(ステップS133)、終了していなければ
(i≠N)、iを1だけ増加させて(ステップS13
5)、ステップS125に戻る。i=Nならば、終了す
る。
【0086】また、第2の実施形態として、図1の乱数
共有化部21は、請求項2に記載のように、公開鍵配送
法により、前記乱数Rを共有させるものであってもよ
い。この公開鍵配送法には、例えば、DH型公開鍵配送
法やその変形を利用することができる。
【0087】図2は、本発明に係るストリーム暗号によ
る通信システムの第3の実施形態を示すシステム構成図
であり、請求項3記載の発明に対応する。同図におい
て、通信システム12は、送信装置32と、受信装置5
2と、通信路71、72とを備えて構成されている。
【0088】送信装置32は、所定ビット長kの乱数R
を発生させる乱数生成処理部311と、乱数Rを受信装
置52の公開鍵eにより暗号化した暗号化乱数e(R)
を通信路72に送出する乱数暗号化処理部331と、平
文Mからその先頭ブロックM1,k を切り出す先頭ブロッ
ク切り出し処理部111と、先頭ブロックM1,k を暗号
化する先頭ブロック暗号化処理部131と、この先頭ブ
ロックに続くビットM[i](k<i≦N)を暗号化す
る後続ブロック暗号化処理部151と、先頭ブロック暗
号化処理部131により生成された第1の暗号化メッセ
ージ及び後続ブロック暗号化処理部151により生成さ
れた第2の暗号化メッセージを連接して1つの暗号文と
して通信路71へ送出する暗号文連接処理部171と、
を備えて構成されている。
【0089】受信装置52は、通信路72を介して受信
された暗号化乱数e(R)を自らの秘密鍵dで復号化し
て乱数Rを得る乱数復号化処理部351と、通信路71
を介して受信された暗号文から、第1及び第2の暗号化
メッセージを分離する暗号文分離処理部271と、第1
の暗号化メッセージから平文の先頭ブロックを復号化す
る先頭ブロック復号化処理部231と、第2の暗号化メ
ッセージから平文の後続ブロックを復号化する後続ブロ
ック復号化処理部251と、それぞれ復号化された先頭
ブロック及び後続ブロックを連接して平文Mを復元する
ビット連接処理部211とを備えて構成されている。
【0090】本第2の実施の形態と第1の実施の形態と
の主要な相違は、送信装置32と受信装置52との間
に、乱数暗号化処理部331、通信路72及び乱数復号
化処理部351からなる公開鍵暗号方式の暗号化通信手
段を備えており、平文Mのストリーム暗号化通信に先だ
って、共有すべき乱数Rが公開鍵暗号方式で伝送される
ことである。
【0091】この公開鍵暗号の持つ安全性によって、ス
トリーム暗号の秘密鍵である乱数Rを配送する際の安全
性が確保される。また、乱数Rを伝送するための公開鍵
暗号方式としては、特に限定されないが、例えば、RS
A型暗号、ラビン型暗号等が利用できる。以下に説明す
る他の実施の形態においても、同様な公開鍵暗号を利用
することができる。また、公開鍵eによる暗号化関数を
e(・),秘密鍵dによる復号化関数をd(・)とす
る。
【0092】図3は、本発明に係るストリーム暗号によ
る通信システムの第4の実施形態を示すシステム構成図
であり、請求項4記載の発明に対応する。同図におい
て、通信システム13は、送信装置33と、受信装置5
3と、通信路71とを備えて構成されている。
【0093】送信装置33は、所定ビット長kの乱数R
を発生させる乱数生成処理部311と、乱数Rを受信装
置53の公開鍵eにより暗号化した暗号化乱数e(R)
を生成する乱数暗号化処理部331と、平文Mからその
先頭ブロックM1,k を切り出す先頭ブロック切り出し処
理部111と、先頭ブロックM1,k を暗号化する先頭ブ
ロック暗号化処理部131と、この先頭ブロックに続く
ビットM[i](k<i≦N)を暗号化する後続ブロッ
ク暗号化処理部151と、暗号化乱数e(R)及び先頭
ブロック暗号化処理部131により生成された第1の暗
号化メッセージ及び後続ブロック暗号化処理部151に
より生成された第2の暗号化メッセージを連接して1つ
の暗号文として通信路71へ送出する暗号文連接処理部
172と、を備えて構成されている。
【0094】受信装置53は、通信路71を介して受信
された暗号文から、暗号化乱数e(R)及び第1、第2
の暗号化メッセージをそれぞれ分離する暗号文分離処理
部272と、暗号化乱数e(R)を自らの秘密鍵dで復
号化して乱数R=d(e(R))を得る乱数復号化処理
部351と、第1の暗号化メッセージから平文の先頭ブ
ロックを復号化する先頭ブロック復号化処理部231
と、第2の暗号化メッセージから平文の後続ブロックを
復号化する後続ブロック復号化処理部251と、それぞ
れ復号化された先頭ブロック及び後続ブロックを連接し
て平文Mを復元するビット連接処理部211とを備えて
構成されている。
【0095】本実施の形態と第3の実施の形態との主要
な相違は、暗号化乱数e(R)と平文Mをストリーム暗
号化した暗号文Cが連接されて、一つの暗号文e(R)
‖Cとして通信路71を介して送信されることである。
なお、記号「‖」は、その左右に表記されたデータの連
接を示すものとする。
【0096】本実施の形態においても、共有すべき乱数
Rが公開鍵暗号方式で伝送されることにより、公開鍵暗
号の持つ安全性によって、ストリーム暗号の秘密鍵であ
る乱数Rを配送する際の安全性が確保される。
【0097】次に、送信装置33の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図11は、送信装置33の暗号化送信処理を説明するフ
ローチャートであり、表3は同処理におけるメモリ上の
データ配置を示す表である。
【0098】
【表3】 表3に示すように、送信装置33における暗号化送信処
理においては、初期状態として、受信装置53の公開鍵
n,e及び平文Mがそれぞれデータ番号1、2及び3に
与えられている。
【0099】図11において、まず乱数生成処理部31
1が生成した乱数Rがデータ番号4に格納される(ステ
ップS141)。次いでデータ番号1、2の公開鍵n,
eにより乱数Rを暗号化して、暗号化乱数e(R)を生
成してデータ番号6に格納する(ステップS143)。
次いで、e(R)を送信装置33から受信装置53へ送
る(ステップS145)。
【0100】次いで、乱数Rのビット長kがデータ番号
5に格納される(ステップS147)。
【0101】次いで、暗号化すべき平文Mのビット位置
を示すカウンタiを初期設定するために、データ番号7
に1を格納する(ステップS103)。次いで、iがk
以下かどうかを判定し(ステップS105)、i≦kな
らば、暗号化すべき平文のビット位置iは、通信メッセ
ージの第1の領域であるので、乱数Rのiビット目R
[i]を取り出してデータ番号8に格納し、平文Mのi
ビット目M[i]を取り出し、データ番号9に格納し、
前記式(10)により暗号化を行い、C[i]をデータ
番号10に格納する(ステップS107)。ここで、
(+) は、排他的論理和を表し、C[i]は、暗号化メ
ッセージのiビット目を示している。
【0102】ステップS105の判定において、i>k
であれば、暗号化すべき平文のビット位置iは、通信メ
ッセージの第2の領域であるので、平文Mのi−kビッ
ト目M[i−k]を取り出してデータ番号8に格納し、
平文Mのiビット目M[i]を取り出してデータ番号9
に格納し、前記式(11)により暗号化を行い、C
[i]をデータ番号10に格納する(ステップS10
9)。
【0103】次いで、データ番号10のC[i]を送信
し(ステップS111)、次いで、メッセージが終了し
たかどうか(i=N)を判定し(ステップS113)、
終了していなければ(i≠N)、iを1だけ増加させて
(ステップS115)、ステップS105に戻る。i=
Nならば終了する。
【0104】なお、図11のステップS103以下の処
理は、メモリ上のデータの割付が異なるだけで、第1の
実施形態を示す図9の対応するステップ番号と同じ処理
内容である。
【0105】次に、受信装置53の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図12は、受信装置53の受信復号化処理を説明するフ
ローチャートであり、表4は同処理におけるメモリ上の
データ配置を示す表である。
【0106】
【表4】 表4に示すように、受信装置53の受信復号化処理にお
いては、公開鍵n及び秘密鍵dがそれぞれデータ番号
1、2に与えられている。
【0107】図12において、まず暗号文e(R)‖C
が受信され、データ番号3に格納される(ステップS1
61)。次いで、データ番号3の内容から暗号化乱数e
(R)が切り出され、残りの暗号文Cがデータ番号3に
格納される(ステップS163)。 次いで、データ番
号1及び2から読み出された受信装置53自身の公開鍵
nと秘密鍵dによりd(e(R))を計算することによ
り乱数Rが復号化され、得られた乱数Rがデータ番号4
に格納される(ステップS165)。次いで、乱数Rの
ビット長kがデータ番号5に格納される(ステップS1
67)。
【0108】次いで、復号化すべき暗号文のビット位置
を示すカウンタiを初期設定するために、データ番号6
に1を格納する(ステップS123)。次いで、iがk
以下がどうかを判定し(ステップS125)、i≦kな
らば、復号化すべき暗号文のビット位置iは、通信メッ
セージの第1の領域であるので、乱数Rのiビット目R
[i]を取り出してデータ番号7に格納し、暗号文Cの
iビット目C[i]を取り出してデータ番号8に格納
し、前記式(12)により復号化を行い、M[i]をデ
ータ番号9に格納する(ステップS127)。
【0109】ステップS125の判定において、i>k
であれば、復号化すべき暗号文のビット位置iは、平文
Mの第2の領域であるので、平文Mのi−kビット目M
[i−k]を取り出してデータ番号7に格納し、暗号文
Cのiビット目C[i]を取り出し、データ番号8に格
納し、前記式(13)により復号化を行い、M[i]を
データ番号9に格納する(ステップS129)。
【0110】次いで、データ番号7のM[i]をデータ
番号8の平文Mの末尾に連接して格納し(ステップS1
31)、次いで、暗号文が終了したかどうか(i=N)
を判定し(ステップS133)、終了していなければ
(i≠N)、iを1だけ増加させて(ステップS13
5)、ステップS125に戻る。i=Nならば、終了す
る。
【0111】なお、図12のステップS123以下の処
理は、メモリ上のデータの割付が異なるだけで、第1の
実施形態を示す図11の対応するステップ番号と同じ処
理内容である。
【0112】図4は、本発明に係るストリーム暗号によ
る通信システムの第5の実施形態を示すシステム構成図
であり、請求項5記載の発明に対応する。同図におい
て、通信システム14は、送信装置34と、受信装置5
4と、通信路71とを備えて構成されている。
【0113】送信装置34は、所定ビット長k×m(m
は2以上の整数)の乱数Rを発生させる乱数生成処理部
312と、この乱数Rをそれぞれ長さkのm個のブロッ
クR1,R2,…,Rmに分割する乱数ブロック分割処理部3
22と、受信装置54の公開鍵eにより各乱数ブロック
を暗号化して暗号化乱数e(R1),e(R2),…,e(Rm)を
生成する乱数暗号化処理部332と、平文Mからその先
頭ブロックM1,km を切り出す先頭ブロック切り出し処
理部111と、先頭ブロックM1,km を暗号化する先頭
ブロック暗号化処理部131と、この先頭ブロックに続
くビットM[i](km<i≦N)を暗号化する後続ブ
ロック暗号化処理部151と、暗号化乱数e(R1),e
(R2),…,e(Rm)及び先頭ブロック暗号化処理部131
により生成された第1の暗号化メッセージ及び後続ブロ
ック暗号化処理部151により生成された第2の暗号化
メッセージを連接して1つの暗号文として通信路71へ
送出する暗号文連接処理部173と、を備えて構成され
ている。
【0114】受信装置54は、通信路71を介して受信
された暗号文から、暗号化乱数e(R1),e(R2),…,e
(Rm)及び第1、第2の暗号化メッセージをそれぞれ分
離する暗号文分離処理部273と、暗号化乱数e(R1),
e(R2),…,e(Rm)eを自らの秘密鍵dで復号化して各
乱数ブロックR1,R2,…,Rmを得る乱数復号化処理部3
52と、各乱数ブロックR1,R2,…,Rmを連接して乱数
Rを復元する乱数ブロック連接処理部362と、第1の
暗号化メッセージから平文の先頭ブロックを復号化する
先頭ブロック復号化処理部231と、第2の暗号化メッ
セージから平文の後続ブロックを復号化する後続ブロッ
ク復号化処理部251と、それぞれ復号化された先頭ブ
ロック及び後続ブロックを連接して平文Mを復元するビ
ット連接処理部211とを備えて構成されている。
【0115】本第5の実施の形態と図3に示した第4の
実施の形態との相違は、乱数Rのビット長がkのm倍に
拡張されていることであり、乱数Rを暗号化するため
に、これをm個のブロックに分割して、それぞれ暗号化
していることである。これにより暗号文連接処理部17
3で連接された暗号文は、e(R1)‖…e(Rm)‖Cとな
る。
【0116】この暗号化に対応して、暗号文分離処理部
273は、m個のブロックからなる暗号化乱数をそれぞ
れ分離し、乱数復号化処理部352に供給する。乱数復
号化処理部352でそれぞれ復号化された分割乱数は、
乱数ブロック連接処理部362で連接され、元の乱数R
が復元される。
【0117】本実施の形態においても、共有すべき乱数
Rが公開鍵暗号方式で伝送されることにより、公開鍵暗
号の持つ安全性によって、ストリーム暗号の秘密鍵であ
る乱数Rを配送する際の安全性が確保される。
【0118】次に、送信装置34の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図13は、送信装置34の暗号化送信処理を説明するフ
ローチャートであり、表5は同処理におけるメモリ上の
データ配置を示す表である。
【0119】
【表5】 表5に示すように、送信装置34における暗号化送信処
理においては、初期状態として、受信装置54の公開鍵
n,e及び平文Mがそれぞれデータ番号1、2及び3に
与えられている。また、乱数Rを分割すべきブロック数
mがデータ番号5に与えられている。
【0120】図13において、まず乱数生成処理部31
2が生成した乱数Rがデータ番号6に格納される(ステ
ップS181)。次いで、乱数Rがそれぞれkビット毎
のm個の分割乱数R1,R2,…,Rmに分割されて、それぞ
れデータ番号7から6+mに格納される(ステップS1
83)。
【0121】次いで、データ番号1、2の公開鍵n,e
により各分割乱数R1,R2,…,Rmを暗号化して、暗号化
乱数e(R1),e(R2),…,e(Rm)を生成し、データ番号
7+mから6+2mに格納する(ステップS185)。
次いで、暗号化乱数e(R1),e(R2),…,e(Rm)を送信
装置34から受信装置54へ送る(ステップS18
7)。
【0122】次いで、分割乱数Rjのビット長kがデー
タ番号4に格納される(ステップS189)。次いで、
暗号化すべき平文Mのビット位置を示すカウンタiを初
期設定するために、データ番号7+2mに1を格納する
(ステップS191)。次いで、iがk×m以下がどう
かを判定し(ステップS193)、i≦kmならば、暗
号化すべき平文のビット位置iは、通信メッセージの第
1の領域であるので、乱数Rのiビット目R[i]を取
り出してデータ番号8+2mに格納し、平文Mのiビッ
ト目M[i]を取り出し、データ番号9+2mに格納
し、
【数13】 C[i] ≡R[i] (+) M[i] 1≦i≦kmのとき …(14) 式(14)により暗号化を行い、C[i]をデータ番号
10+2mに格納する(ステップS195)。ここで、
(+) は、排他的論理和を表し、C[i]は、暗号化メ
ッセージのiビット目を示している。
【0123】ステップS193の判定において、i>k
×mであれば、暗号化すべき平文のビット位置iは、通
信メッセージの第2の領域であるので、平文Mのi−k
mビット目M[i−km]を取り出してデータ番号8+
2mに格納し、平文Mのiビット目M[i]を取り出し
てデータ番号9+2mに格納し、
【数14】 C[i] ≡M[i-km] (+) M[i] km<iのとき …(15) 式(15)により暗号化を行い、C[i]をデータ番号
10+2mに格納する(ステップS197)。
【0124】次いで、データ番号10+2mのC[i]
を送信し(ステップS199)、次いで、メッセージが
終了したかどうか(i=N)を判定し(ステップS20
1)、終了していなければ(i≠N)、iを1だけ増加
させて(ステップS203)、ステップS193に戻
る。i=Nならば終了する。
【0125】次に、受信装置54の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図12は、受信装置54の受信復号化処理を説明するフ
ローチャートであり、表6は同処理におけるメモリ上の
データ配置を示す表である。
【0126】
【表6】 表6に示すように、受信装置54の受信復号化処理にお
いては、公開鍵n及び秘密鍵dがそれぞれデータ番号
1、2に与えられている。
【0127】図14において、まず暗号文e(R1)‖…
e(Rm)‖Cが受信され、データ番号3に格納される
(ステップS221)。次いで、データ番号3の内容か
ら暗号化乱数e(R1),e(R2),…,e(Rm)がそれぞれひ
とつづつ切り出され、残りの暗号文がデータ番号3に格
納される(ステップS223)。
【0128】次いで、データ番号1及び2から読み出さ
れた受信装置54自身の公開鍵nと秘密鍵dにより暗号
化乱数e(R1),e(R2),…,e(Rm)が復号化され、得ら
れた分割乱数R1,R2,…,Rmがデータ番号4から3+m
に格納される(ステップS225)。次いで、分割乱数
R1,R2,…,Rmが順次連接され、元の乱数Rが復元され
て、データ番号4+mに格納される(ステップS22
7)。次いで分割乱数Rjのビット長kがデータ番号5
+mに格納される(ステップS229)。
【0129】次いで、復号化すべき暗号文のビット位置
を示すカウンタiを初期設定するために、データ番号7
+mに1を格納する(ステップS231)。次いで、i
がk×m以下がどうかを判定し(ステップS233)、
i≦k×mならば、復号化すべき暗号文のビット位置i
は、通信メッセージの第1の領域であるので、乱数Rの
iビット目R[i]を取り出してデータ番号8+mに格
納し、暗号文Cのiビット目C[i]を取り出してデー
タ番号9+mに格納し、
【数15】 M[i] ≡R[i] (+) C[i] 1≦i≦kmのとき …(16) 式(16)により復号化を行い、M[i]をデータ番号
10+mに格納する(ステップS235)。
【0130】ステップS233の判定において、i>k
×mであれば、復号化すべき暗号文のビット位置iは、
平文Mの第2の領域であるので、平文Mのi−kmビッ
ト目M[i−km]を取り出してデータ番号8+mに格
納し、暗号文Cのiビット目C[i]を取り出し、デー
タ番号9+mに格納し、
【数16】 M[i] ≡M[i-km] (+) C[i] km<iのとき …(17) 式(17)により復号化を行い、M[i]をデータ番号
10+mに格納する(ステップS237)。
【0131】次いで、データ番号10+mのM[i]を
データ番号11+mの平文Mの末尾に連接して格納し
(ステップS239)、次いで、暗号文が終了したかど
うか(i=N)を判定し(ステップS241)、終了し
ていなければ(i≠N)、iを1だけ増加させて(ステ
ップS243)、ステップS233に戻る。i=Nなら
ば、終了する。
【0132】図5は、本発明に係るストリーム暗号によ
る通信システムの第6の実施形態を示すシステム構成図
であり、請求項6または7記載の発明に対応する。同図
において、通信システム15は、送信装置35と、受信
装置55と、通信路71、72とを備えて構成されてい
る。
【0133】送信装置35は、乱数発生アルゴリズムH
及び乱数初期値R0 を生成する乱数パラメータ生成処理
部343と、乱数発生アルゴリズムH及び乱数初期値R
0 に従って乱数Rを発生させる乱数生成処理部313
と、乱数発生アルゴリズムH及び乱数初期値R0 を受信
装置55の公開鍵eにより暗号化した暗号化パラメータ
e(H,R0 )を通信路72に送出する乱数パラメータ
暗号化処理部333と、平文Mからその先頭ブロックM
1,k を切り出す先頭ブロック切り出し処理部111と、
先頭ブロックM1,k を暗号化する先頭ブロック暗号化処
理部131と、この先頭ブロックに続くビットM[i]
(k<i≦N)を暗号化する後続ブロック暗号化処理部
151と、先頭ブロック暗号化処理部131により生成
された第1の暗号化メッセージ及び後続ブロック暗号化
処理部151により生成された第2の暗号化メッセージ
を連接して1つの暗号文として通信路71へ送出する暗
号文連接処理部171と、を備えて構成されている。
【0134】なお、先頭ブロック切り出し処理部11
1、先頭ブロック暗号化処理部131、後続ブロック暗
号化処理部151、及び暗号文連接処理部171は、図
2に示した前記第3の実施の形態と同様であるので、同
じ符号を付与して詳細な説明を省略する。
【0135】受信装置55は、通信路72を介して受信
された暗号化パラメータe(H,R0 )を自らの秘密鍵
dで復号化して乱数発生アルゴリズムH及び乱数初期値
R0を得る乱数パラメータ復号化処理部353と、復号
化された乱数発生アルゴリズムH及び乱数初期値R0 が
設定されることにより送信装置35が生成する乱数と等
しい乱数を生成する乱数生成処理部313と、通信路7
1を介して受信された暗号文から、第1及び第2の暗号
化メッセージを分離する暗号文分離処理部271と、第
1の暗号化メッセージから平文の先頭ブロックを復号化
する先頭ブロック復号化処理部231と、第2の暗号化
メッセージから平文の後続ブロックを復号化する後続ブ
ロック復号化処理部251と、それぞれ復号化された先
頭ブロック及び後続ブロックを連接して平文Mを復元す
るビット連接処理部211とを備えて構成されている。
【0136】なお、暗号文分離処理部271、先頭ブロ
ック復号化処理部231、後続ブロック復号化処理部2
51、及びビット連接処理部211は、図2に示した前
記第3の実施の形態と同様であるので、同じ符号を付与
して詳細な説明を省略する。
【0137】本第6の実施の形態と、図2に示した前記
第3の実施の形態との主要な相違は、送信装置35及び
受信装置55がそれぞれ乱数生成処理部313を備えて
いて、送信装置35から受信装置55へ、乱数発生アル
ゴリズムH及び乱数の初期値R0 を公開鍵暗号方式によ
り乱数発生アルゴリズムH及び乱数初期値R0 を伝送す
ることにより、双方の乱数生成処理部313から互いに
等しい乱数を生成し、乱数を共有するものである。ま
た、乱数発生アルゴリズムH及び乱数初期値R0を伝送
する公開鍵暗号の持つ安全性によって、ストリーム暗号
の秘密鍵である乱数Rの安全性が確保される。
【0138】図15は、本第6の実施形態における乱数
共有化の動作を説明するフローチャートである。乱数共
有化以外の動作は図2に示した前記第3の実施の形態と
同様であるので説明を省略する。
【0139】まず、送信側では、乱数発生アルゴリズム
H及び乱数初期値R0 を乱数パラメータとして生成する
(ステップS261)。次いで、送信装置35の乱数生
成処理部313に、乱数発生アルゴリズムH及び乱数初
期値R0 を設定する(ステップS263)。次いで、受
信装置55の公開鍵eにより、乱数発生アルゴリズムH
及び乱数初期値R0 を暗号化して暗号化パラメータe
(H,R0 )を生成し(ステップS265)、通信路7
2を介して受信装置55へ送信する(ステップS26
7)。次いで、送信装置35の乱数生成処理部313が
設定された乱数発生アルゴリズムH及び乱数初期値R0
に従って乱数Rを生成する(ステップS269)。
【0140】次に、受信側では、暗号化パラメータe
(H,R0 )を受信し(ステップS271)、自らの秘
密鍵dにより暗号化パラメータe(H,R0 )を復号化
して、乱数発生アルゴリズムH及び乱数初期値R0 を得
る(ステップS273)。次いで、受信装置55の乱数
生成処理部313に、乱数発生アルゴリズムH及び乱数
初期値R0 を設定する(ステップS275)。次いで、
受信装置35の乱数生成処理部313が設定された乱数
発生アルゴリズムH及び乱数初期値R0 に従って乱数R
を生成する(ステップS277)。
【0141】こうして送信装置35と受信装置55との
間で、乱数発生アルゴリズムH及び乱数初期値R0 を共
有することにより双方で互いに等しい乱数Rを発生さ
せ、それぞれストリーム暗号の暗号化鍵及び復号化鍵に
使用することができる。
【0142】なお、乱数発生アルゴリズムは、いずれの
アルゴリズムを利用してもよいが、例えば、線形合同法
を利用するならば、そのアルゴリズムは、
【数17】 X(n)=a×X(n-1)+c (mod m) …(18) 式(18)に示す漸化式で非負整数列を生成し、2進数
に変換する。
【0143】この場合、正整数a、m及び非負整数cを
乱数発生アルゴリズムHとして、またX(0) を乱数初期
値R0 として、適当な暗号化により送信装置から受信装
置へ伝送することにより、双方の装置で互いに等しい乱
数を共有することができる。
【0144】また、シフトレジスタ系列乱数または最大
周期系列乱数を生成するとすれば、それぞれ0または1
の値をもつhi(1≦i≦p)を係数として、
【数18】 R[n]=hpR[n-1]+hp-1R[n-2]+…+h1R[n-p] (mod 2)…(19) 式(19)に示す漸化式で乱数のビット列が生成され
る。
【0145】この場合は、乱数発生アルゴリズムH≡h
1,h2,…hp、及びpビットからなる乱数初期値R0 ≡
R[1],R[2],…,R[p]を適当な暗号化により送信装置か
ら受信装置へ伝送することにより、双方の装置で互いに
等しい乱数を共有することができる。
【0146】図6は、本発明に係るストリーム暗号によ
る通信システムの第7の実施形態を示すシステム構成図
であり、請求項8記載の発明に対応する。同図におい
て、通信システム16は、送信装置36と、受信装置5
6と、通信路71とを備えて構成されている。
【0147】送信装置36は、平文Mからその先頭ブロ
ックM1,k を切り出す先頭ブロック切り出し処理部11
1と、先頭ブロックM1,k を受信装置56の公開鍵eに
より暗号化する先頭ブロック暗号化処理部141と、こ
の先頭ブロックに続くビットM[i](k<i≦N)を
暗号化する後続ブロック暗号化処理部151と、先頭ブ
ロック暗号化処理部141により生成された第1の暗号
化メッセージ及び後続ブロック暗号化処理部151によ
り生成された第2の暗号化メッセージを連接して1つの
暗号文として通信路71へ送出する暗号文連接処理部1
74と、を備えて構成されている。
【0148】受信装置56は、通信路71を介して受信
された暗号文から、第1、第2の暗号化メッセージをそ
れぞれ分離する暗号文分離処理部274と、第1の暗号
化メッセージe(M1,k )を自らの秘密鍵dで復号化し
て平文の先頭ブロックM1,kを得る先頭ブロック復号化
処理部241と、第2の暗号化メッセージから平文の後
続ブロックを復号化する後続ブロック復号化処理部25
1と、それぞれ復号化された先頭ブロック及び後続ブロ
ックを連接して平文Mを復元するビット連接処理部21
1とを備えて構成されている。
【0149】本実施の形態と図3に示した第4の実施の
形態との主要な相違は、所定ビット長の乱数Rの代わり
に、平文の先頭ブロックM1,k をパッドとして用いると
ともに、平文の先頭ブロックM1,k を受信装置の公開鍵
により暗号化して送信することである。
【0150】本実施の形態においては、通信メッセージ
の第1の領域である平文の先頭ブロックM1,k を第2の
領域のパッドとするとともに、先頭ブロックM1,k が公
開鍵暗号方式で伝送されることにより、公開鍵暗号の持
つ安全性によって、ストリーム暗号の秘密鍵であるパッ
ドを配送する際の安全性が確保される。
【0151】次に、送信装置36の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図16は、送信装置36の暗号化送信処理を説明するフ
ローチャートであり、表7は同処理におけるメモリ上の
データ配置を示す表である。
【0152】
【表7】 表7に示すように、送信装置36における暗号化送信処
理においては、初期状態として、受信装置56の公開鍵
n,e及び平文Mがそれぞれデータ番号1、2及び3に
与えられている。
【0153】図16において、まずデータ番号3に格納
された平文Mから、通信メッセージの第1の領域である
先頭のkビットからなるメッセージブロックM1,k が切
り出され、データ番号4に格納される(ステップS30
1)。次いで、メッセージブロックM1,k のビット長k
がデータ番号5に格納される(ステップS303)。
【0154】次いでデータ番号1、2の公開鍵n,eに
よりメッセージブロックM1,k を暗号化して、e(M1,
k )を生成してデータ番号6に格納する(ステップS3
05)。次いで、e(M1,k )を送信する(ステップS
307)。次いで、暗号化すべき平文Mのビット位置を
示すカウンタiを初期設定するために、データ番号7に
k+1を格納する(ステップS309)。平文Mのビッ
ト位置iがi>kの範囲は全て平文Mの第2の領域であ
る。次いで、平文Mのi−kビット目M[i−k]を取
り出してデータ番号8に格納し、平文Mのiビット目M
[i]を取り出してデータ番号9に格納し、前記式(1
1)により暗号化を行い、C[i]をデータ番号10に
格納する(ステップS311)。
【0155】次いで、データ番号10のC[i]を送信
し(ステップS313)、次いで、メッセージが終了し
たかどうか(i=N)を判定し(ステップS315)、
終了していなければ(i≠N)、iを1だけ増加させて
(ステップS317)、ステップS311に戻る。i=
Nならば終了する。
【0156】次に、受信装置56の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図17は、受信装置56の受信復号化処理を説明するフ
ローチャートであり、表8は同処理におけるメモリ上の
データ配置を示す表である。
【0157】
【表8】 表8に示すように、受信装置56の受信復号化処理にお
いては、公開鍵n及び秘密鍵dがそれぞれデータ番号
1、2に与えられている。
【0158】図17において、まず暗号文e(M1,k )
‖Cが受信され、データ番号3に格納される(ステップ
S321)。次いで、データ番号3の内容から暗号文e
(M1,k )が切り出され、残りの暗号文Cがデータ番号
3に格納される(ステップS323)。
【0159】次いで、データ番号1及び2から読み出さ
れた受信装置56自身の公開鍵nと秘密鍵dにより暗号
文e(M1,k )が復号化され、得られたメッセージ(平
文)の先頭ブロックM1,k がデータ番号4に格納される
(ステップS325)。次いで、先頭ブロックM1,k の
ビット長kがデータ番号5に格納される(ステップS3
27)。
【0160】次いで、復号化すべき暗号文Cのビット位
置を示すカウンタiを初期設定するために、データ番号
6にk+1を格納する(ステップS329)。なお本実
施の形態においては、復号化すべき暗号文Cのビット位
置iは、全て平文Mの第2の領域である。
【0161】次いで、平文Mのi−kビット目M[i−
k]を取り出してデータ番号7に格納し、暗号文Cのi
ビット目C[i]を取り出し、データ番号8に格納し、
前記式(13)により復号化を行い、M[i]をデータ
番号9に格納する(ステップS331)。
【0162】次いで、データ番号7のM[i]をデータ
番号8の平文Mの末尾に連接して格納し(ステップS3
33)、次いで、暗号文が終了したかどうか(i=Nか
否か)を判定し(ステップS335)、終了していなけ
れば(i≠N)、iを1だけ増加させて(ステップS3
37)、ステップS331に戻る。i=Nならば、終了
する。
【0163】図7は、本発明に係るストリーム暗号によ
る通信システムの第8の実施形態を示すシステム構成図
であり、請求項9記載の発明に対応する。同図におい
て、通信システム17は、送信装置37と、受信装置5
7と、通信路71とを備えて構成されている。
【0164】送信装置37は、平文Mの先頭からkビッ
ト毎にm(mは2以上の整数)個のブロックM1 、M2
、…、Mmを切り出す前部ブロック切り出し処理部11
2と、前部ブロックM1 、M2 、…、Mm を受信装置5
7の公開鍵eによりそれぞれ暗号化する前部ブロック暗
号化処理部142と、この前部ブロックに続くビットM
[i](km<i≦N)を暗号化する後続ブロック暗号
化処理部152と、前部ブロック暗号化処理部142に
より生成された第1の暗号化メッセージe(M1) 、e
(M2) 、…、e(Mm) 及び後続ブロック暗号化処理部1
52により生成された第2の暗号化メッセージCとを連
接して1つの暗号文e(M1)‖e(M2)‖…‖e(Mm)‖
Cとして通信路71へ送出する暗号文連接処理部175
と、を備えて構成されている。
【0165】受信装置57は、通信路71を介して受信
された暗号文から、第1、第2の暗号化メッセージをそ
れぞれ分離する暗号文分離処理部275と、第1の暗号
化メッセージe(M1) 、e(M2) 、…、e(Mm)を自ら
の秘密鍵dで復号化して平文のm個の前部ブロックM1
、M2 、…、Mm を得る前部ブロック復号化処理部2
42と、第2の暗号化メッセージから平文の後続ブロッ
クを復号化する後続ブロック復号化処理部252と、そ
れぞれ復号化された前部ブロック及び後続ブロックを連
接して平文Mを復元するビット連接処理部212とを備
えて構成されている。
【0166】本実施の形態と図6に示した第7の実施の
形態との主要な相違は、第7の実施形態が平文の先頭ブ
ロックM1,k をパッドとして用いるとともに、平文の先
頭ブロックM1,k を受信装置の公開鍵により暗号化して
送信しているのに対し、本実施の形態では、平文Mの前
部を構成するそれぞれkビットからなるm個のブロック
をパッドとして用いるとともに、m回の公開鍵暗号化に
よりm個のブロックを暗号化して送信することである。
【0167】これにより1回に公開鍵暗号化可能なkビ
ットを超える十分に長い前部ブロックをパッドとするこ
とができ、後続ブロックのストリーム暗号化の強度をさ
らに高めることができる。
【0168】本実施の形態においても、通信メッセージ
の第1の領域である平文の前部ブロックM1 、M2 、
…、Mm を第2の領域のパッドとするとともに、前部ブ
ロックM1 、M2 、…、Mm が公開鍵暗号方式で伝送さ
れることにより、公開鍵暗号の持つ安全性によって、ス
トリーム暗号の秘密鍵であるパッドを配送する際の安全
性が確保される。
【0169】次に、送信装置37の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図18は、送信装置37の暗号化送信処理を説明するフ
ローチャートであり、表9は同処理におけるメモリ上の
データ配置を示す表である。
【0170】
【表9】 表9に示すように、送信装置37における暗号化送信処
理においては、初期状態として、受信装置57の公開鍵
n,e及び平文Mがそれぞれデータ番号1、2及び3に
与えられている。また公開鍵暗号化ブロックのビット長
k及び公開鍵暗号化される平文Mの前部ブロック数mが
それぞれデータ番号4、5に与えられる。
【0171】図18において、まず平文Mから切り出す
メッセージブロックを計数するカウンタjを1に初期設
定する(ステップS341)。次いで、データ番号4よ
り公開鍵暗号化ブロックのビット長kを読出し作業変数
に設定する(ステップS343)。
【0172】次いで、データ番号3の平文Mの先頭から
kビットのブロックMj を切り出し、データ番号5+j
に格納する(ステップS345)。次いで、データ番号
5+jの平文ブロックMj を受信装置57の公開鍵eに
より暗号化し、得られたe(Mj )をデータ番号5+m
+jに格納する(ステップS347)。
【0173】次いで、e(Mj )を送信し(ステップS
349)、公開鍵暗号化するブロック数が終了したか否
かを判定するためjとmとを比較する(ステップS35
1)。
【0174】ステップS351の比較において、j≠m
であればjに1を加えて(ステップS353)、ステッ
プS345に戻る。j=mであれば、暗号化すべき平文
Mのビット位置を示すカウンタiを初期設定するため
に、データ番号6+2mにkm+1を格納する(ステッ
プS355)。平文Mのビット位置iがi>k×mの範
囲は全て平文Mの第2の領域である。
【0175】次いで、平文Mのi−kmビット目M[i
−km]を取り出してデータ番号7+2mに格納し、平
文Mのiビット目M[i]を取り出してデータ番号8+
2mに格納し、前記式(15)により暗号化を行い、C
[i]をデータ番号9+2mに格納する(ステップS3
57)。
【0176】次いで、データ番号9+2mのC[i]を
送信し(ステップS359)、次いで、メッセージが終
了したかどうか(i=N)を判定し(ステップS36
1)、終了していなければ(i≠N)、iを1だけ増加
させて(ステップS363)、ステップS357に戻
る。i=Nならば終了する。
【0177】次に、受信装置57の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図19は、受信装置57の受信復号化処理を説明するフ
ローチャートであり、表10は同処理におけるメモリ上
のデータ配置を示す表である。
【0178】
【表10】 表10に示すように、受信装置57の受信復号化処理に
おいては、公開鍵n及び秘密鍵dがそれぞれデータ番号
1、2に与えられている。また、公開鍵暗号化ブロック
のビット長k及び公開鍵暗号化により通信される平文M
の前部ブロック数mがそれぞれデータ番号4、5に与え
られる。
【0179】図19において、まず暗号文e(M1)‖e
(M2)‖…‖e(Mm)‖Cが受信され、データ番号3に格
納される(ステップS371)。次いで、暗号文から切
り出すメッセージブロックを計数するカウンタjを1に
初期設定する(ステップS373)。次いで、データ番
号4より公開鍵暗号化ブロックのビット長kを読出して
作業変数に設定する(ステップS375)。
【0180】次いで、データ番号3の暗号文の先頭から
kビットのブロックe(Mj )を切り出し、残りの暗号文
をデータ番号3に格納する(ステップS377)。次い
で、データ番号1及び2から読み出された受信装置56
自身の公開鍵nと秘密鍵dにより暗号文e(Mj )が復
号化され、得られた平文のブロックMj がデータ番号5
+jに格納される(ステップS379)。
【0181】次いで、公開鍵暗号化されたブロック数が
終了したか否かを判定するためjとmとを比較する(ス
テップS381)。ステップS381の比較において、
j≠mであればjに1を加えて(ステップS383)、
ステップS377に戻る。j=mであれば、復号化すべ
き暗号文Cのビット位置を示すカウンタiを初期設定す
るために、データ番号6+mにkm+1を格納する(ス
テップS329)。なお本実施の形態においては、復号
化すべき暗号文Cのビット位置iは、全て平文Mの第2
の領域である。
【0182】次いで、平文Mのi−kmビット目M[i
−km]を取り出してデータ番号7+mに格納し、暗号
文Cのiビット目C[i]を取り出し、データ番号8+
mに格納し、前記式(17)により復号化を行い、M
[i]をデータ番号9+mに格納する(ステップS38
7)。
【0183】次いで、データ番号9+mのM[i]をデ
ータ番号10+mの平文Mの末尾に連接して格納し(ス
テップS389)、次いで、暗号文が終了したかどうか
(i=N)を判定し(ステップS391)、終了してい
なければ(i≠N)、iを1だけ増加させて(ステップ
S393)、ステップS387に戻る。i=Nならば、
終了する。
【0184】図8は、本発明に係るストリーム暗号によ
る通信システムの第9の実施形態を示すシステム構成図
であり、転置を含む暗号化の代表として請求項15記載
の発明に対応する。同図において、通信システム18
は、送信装置38と、受信装置58と、通信路71とを
備えて構成されている。
【0185】送信装置38は、所定ビット長kの乱数R
を発生させる乱数生成処理部311と、乱数Rを受信装
置58の公開鍵eにより暗号化した暗号化乱数e(R)
を生成する乱数暗号化処理部331と、前記乱数の所定
ビット長kに等しいビット長のブロックに対する転置T
を生成する転置情報生成処理部411と、この転置Tを
受信装置58の公開鍵eにより暗号化した暗号化転置e
(T)を生成する転置情報暗号化処理部421と、平文
Mからその先頭ブロックM1,k を切り出す先頭ブロック
切り出し処理部111と、先頭ブロックM1,k を乱数R
及び転置Tを利用して暗号化する先頭ブロック暗号化処
理部133と、この先頭ブロックに続くビットM[i]
(k<i≦N)を先頭ブロックM1,k 及び転置Tを利用
して暗号化する後続ブロック暗号化処理部153と、暗
号化乱数e(R)及び暗号化転置e(T)及び先頭ブロ
ック暗号化処理部133により生成された第1の暗号化
メッセージ及び後続ブロック暗号化処理部153により
生成された第2の暗号化メッセージを連接して1つの暗
号文e(R)‖e(T)‖Cとして通信路71へ送出す
る暗号文連接処理部176と、を備えて構成されてい
る。
【0186】受信装置58は、通信路71を介して受信
された暗号文から、暗号化乱数e(R)及び暗号化転置
e(T)及び第1、第2の暗号化メッセージをそれぞれ
分離する暗号文分離処理部276と、暗号化乱数e
(R)を自らの秘密鍵dで復号化して乱数Rを得る乱数
復号化処理部351と、暗号化転置e(T)を自らの秘
密鍵dで復号化して転置Tを得る転置情報復号化処理部
431と、転置Tからその逆写像T-1を生成する逆写像
生成処理部441と、第1の暗号化メッセージから平文
の先頭ブロックを復号化する先頭ブロック復号化処理部
233と、第2の暗号化メッセージから平文の後続ブロ
ックを復号化する後続ブロック復号化処理部253と、
それぞれ復号化された先頭ブロック及び後続ブロックを
連接して平文Mを復元するビット連接処理部211とを
備えて構成されている。
【0187】本実施の形態で用いるkビット長のブロッ
クの転置Tは、巡回置換の積で表示することができる。
例えば、k=5とするとき、5ビットの転置T={1→
3,2→4,3→5,4→2,5→1}は、T=(1,
3,5)(2,4)と表示することができる。
【0188】本実施の形態と図3に示した第4の実施の
形態との主要な相違は、平文Mのビットが転置Tにより
転置されたのちストリーム暗号化されることと、この転
置情報を公開鍵暗号化して暗号化転置e(T)が送信装
置から受信装置へ送られ、転置情報を復号化した受信装
置は、復号化されたストリーム暗号に対して転置Tの逆
写像であるT-1を施して平文Mを復元することである。
【0189】本実施の形態においては、暗号化の過程に
転置を加えることにより、さらに解読を困難とし、安全
性を高めることができる。また共有すべき乱数R及び転
置Tが公開鍵暗号方式で伝送されることにより、公開鍵
暗号の持つ安全性によって、秘密鍵である乱数R及び転
置Tを配送する際の安全性が確保される。
【0190】次に、送信装置38の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図20は、送信装置38の暗号化送信処理を説明するフ
ローチャートであり、表11は同処理におけるメモリ上
のデータ配置を示す表である。
【0191】
【表11】 表11に示すように、送信装置38における暗号化送信
処理においては、初期状態として、受信装置58の公開
鍵n,e及び平文Mがそれぞれデータ番号1、2及び3
に与えられている。
【0192】図20において、まず乱数生成処理部31
1が乱数Rを生成し、この乱数Rをデータ番号4に格納
する(ステップS401)。次いでデータ番号1、2の
公開鍵n,eにより乱数Rを暗号化し、暗号化乱数e
(R)をデータ番号6に格納するとともに、e(R)を
送信装置38から受信装置58へ送信する(ステップS
403)。
【0193】次いで、乱数Rのビット長kをデータ番号
5に格納する(ステップS405)。
【0194】次いで、転置情報生成処理部411が転置
Tを生成し、この転置Tをデータ番号7に格納する(ス
テップS407)。次いでデータ番号1、2の公開鍵
n,eにより転置Tを暗号化し、暗号化転置e(T)を
データ番号8に格納するとともに、e(T)を送信装置
38から受信装置58へ送信する(ステップS40
9)。
【0195】次いで、暗号化すべき平文Mのビット位置
を示すカウンタiを初期設定するために、データ番号9
に1を格納する(ステップS411)。次いで、iがk
以下かどうかを判定し(ステップS413)、i≦kな
らば、暗号化すべき平文のビット位置iは、通信メッセ
ージの第1の領域であるので、乱数Rのiビット目R
[i]を取り出してデータ番号10に格納し、平文Mの
iビット目M[i]を取り出し、データ番号11に格納
し、
【数19】 C[i]≡R[i](+)T*M[i] …(20) 式(20)により暗号化を行い、C[i]をデータ番号
12に格納する(ステップS415)。ここで、 T*
M[i]は平文Mのiビット目M[i]に転置Tを施す処理を
表し、(+) は排他的論理和を表し、C[i]は暗号化
メッセージのiビット目を表している。
【0196】ステップS413の判定において、i>k
であれば、暗号化すべき平文のビット位置iは、通信メ
ッセージの第2の領域であるので、平文Mのi−kビッ
ト目M[i−k]を取り出してデータ番号10に格納
し、平文Mのiビット目M[i]を取り出してデータ番
号11に格納し、
【数20】 C[i]≡M[i-k](+)T*M[i] …(21) 式(21)により暗号化を行い、C[i]をデータ番号
12に格納する(ステップS417)。
【0197】次いで、データ番号12のC[i]を送信
し(ステップS419)、次いで、メッセージが終了し
たかどうか(i=N)を判定し(ステップS421)、
終了していなければ(i≠N)、iを1だけ増加させて
(ステップS423)、ステップS413に戻る。i=
Nならば終了する。
【0198】次に、受信装置58の動作をフローチャー
ト及びメモリ割付を示す表を参照して詳細に説明する。
図21は、受信装置58の受信復号化処理を説明するフ
ローチャートであり、表12は同処理におけるメモリ上
のデータ配置を示す表である。
【0199】
【表12】 表12に示すように、受信装置58の受信復号化処理に
おいては、公開鍵n及び秘密鍵dがそれぞれデータ番号
1、2に与えられている。
【0200】図21において、まず暗号文e(R)‖e
(T)‖Cが受信され、データ番号3に格納される(ス
テップS431)。次いで、データ番号3の内容から暗
号化乱数e(R)が切り出され、残りの暗号文がデータ
番号3に格納されるとともに、データ番号1及び2から
読み出された受信装置58自身の公開鍵nと秘密鍵dに
より暗号化乱数e(R)が復号化され、得られた乱数R
がデータ番号4に格納される(ステップS433)。次
いで、乱数Rのビット長kがデータ番号5に格納される
(ステップS435)。
【0201】次いで、データ番号3の内容から暗号化転
置e(T)が切り出され、残りの暗号文がデータ番号3
に格納されるとともに、データ番号1及び2から読み出
された受信装置58自身の公開鍵nと秘密鍵dにより暗
号化転置e(T)が復号化され、得られた転置Tがデー
タ番号6に格納される(ステップS437)。次いで、
逆写像生成処理部441により転置Tの逆写像T-1が生
成される(ステップS439)。
【0202】次いで、復号化すべき暗号文Cのkビット
毎のブロック番号を計数するカウンタjと、暗号文Cの
ビット位置を示すカウンタiを初期設定するために、デ
ータ番号7及び8にそれぞれ1を格納する(ステップS
441)。次いで、iがk以下かどうかを判定し(ステ
ップS443)、i≦kならば、復号化すべき暗号文の
ビット位置iは、通信メッセージの第1の領域であるの
で、乱数Rのiビット目R[i]を取り出してデータ番
号9に格納し、暗号文Cのiビット目C[i]を取り出
してデータ番号10に格納し、
【数21】 T*M[i]≡R[i](+)C[i] …(22) 式(22)により復号化を行い、T*M[i]をデータ
番号11に格納する(ステップS445)。
【0203】ステップS443の判定において、i>k
となれば、最初のkビットのブロックの復号化が終わっ
たので、このブロックに転置Tの逆写像T-1を行う(M
j ≡T-1*T*Mj )ことにより、Mj を復元し、デー
タ番号13に格納するとともに、データ番号14の平文
Mの末尾に連接して格納する(ステップS447)。
【0204】次いで、暗号文が終了したかどうかを判定
し、終了していなければ、ブロック番号jを1だけ増加
させて(ステップS453)、平文Mのi−kビット目
M[i−k]を取り出してデータ番号9に格納し、暗号
文Cのiビット目C[i]を取り出し、データ番号10
に格納し、
【数22】 T*M[i]≡M[i-k](+)C[i] …(23) 式(13)により復号化を行い、T*M[i]をデータ
番号11に格納する(ステップS455)。次いで、i
がkの倍数か否かを判定し(ステップS457)、倍数
でなければ、ビットカウンタiを1だけ増加して(ステ
ップS459)、ステップS455へ戻る。iがkの倍
数であれば、ステップS447へ戻り、kビットのブロ
ック毎の転置T-1を行う。なお、ステップS447の転
置T-1処理が最後のブロックに対して行われると、その
次の暗号文終了判定(ステップS451)で終了と判定
され、受信復号化処理を終了する。
【0205】また、本実施の形態の変形例として、図6
に記載したメッセージの先頭ブロックを公開鍵暗号化し
て送信するとともに、この先頭ブロックを後続ブロック
のパッドとして利用する第7の実施の形態に転置を加え
ることができる。
【0206】この場合転置メッセージT*Mの先頭のk
ビット長をT*M1,kとし、T*M1,kを受信装置の公開
鍵eで暗号化し、その結果をe(T*M1,k)とする。
また、i>kに対しては、C[i] ≡M[i-k](+) T*M
[i] で暗号化する。送信装置は、連接された暗号文e
(T)‖e(T*M1,k)‖C[k+1]…C[n]を受信装置
へ送る。
【0207】受信装置は、まずe(T)の部分から転置
Tを復元する。次に、e(T*M1,k)の部分を、自ら
の秘密鍵で復号化し、T*M1,kを得る。さらに、この
結果に転置Tの逆写像T-1を行ない、平文M1,kを復元
する。次いで、i<kに対しては、T*M[i] ≡M[i-
k](+) C[i] の演算を行なうことにより転置メッセー
ジT*M[i] を得、さらに転置Tの逆写像T-1を行な
い、メッセージMを復元する。
【0208】図22は、乱数共有化部を除いた送信装置
(a)および受信装置(b)の構成例を示す第10実施
形態を示す回路図であり、請求項20及び請求項27に
対応する。
【0209】図22(a)において、送信装置39は、
kビットシフトレジスタ301と、排他的論理和回路3
03と、ビット送信回路305とを備えて構成されてい
る。kビットシフトレジスタ301のシフトイン入力に
はビット直列に供給される平文M[i]の信号が接続さ
れ、シフトアウト出力には、排他的論理和回路303の
一方の入力が接続されている。排他的論理和回路303
の他方の入力には、平文M[i]の信号が接続されてい
る。排他的論理和回路303の出力は、ビット送信回路
305を経て、通信路71へ接続されている。
【0210】次に、この送信装置39の動作を説明す
る。まず最初に、kビットシフトレジスタ301には、
例えばkビットのパラレルロードパスからkビットの乱
数Rが設定される。次いで、図示されないシフトクロッ
クiに同期して平文Mのビット列M[i]が入力し始め
ると、シフトアウトからは、乱数Rのビット列R[i]
が出力される。これにより、排他的論理和回路303の
一方の入力には、R[i]が供給され、排他的論理和回
路303の他方の入力には、平文M[i]が供給される
ので、その出力は、第1の暗号化メッセージC[i]=
R[i](+)M[i]となる。 ここで、(+)は排
他的論理和演算を示す。この状態は、初期設定された乱
数Rのkビット全てがシフトアウトするまで、即ち1≦
i≦kの間継続する。
【0211】次いで、i=k+1以降のシフトクロック
においては、シフトアウトデータは、シフトインデータ
のkビットタイム遅延したデータであるM[i−k]と
なるので、排他的論理和回路303の一方の入力には、
M[i−k]が供給され、他方の入力にはM[i]が供
給されるので、その出力は、第2の暗号化メッセージC
[i]=M[i−k](+)M[i]となる。
【0212】この送信装置39によれば、kビットの乱
数Rが初期設定されるkビットシフトレジスタ301を
用いることにより、シフトアウトデータは、R[i]‖
M[i−k]となるので、通信メッセージの第1の領域
と同第2の領域に対する処理が自動的に切り替わる。こ
のため、特に第1の領域である先頭ブロックを切り出す
ことや、第1及び第2の暗号文を連接する必要がなく、
簡単な回路構成で処理速度の高い暗号化装置を実現でき
る。
【0213】図22(b)において、受信装置59は、
kビットシフトレジスタ301と、排他的論理和回路3
03と、ビット受信回路307とを備えて構成されてい
る。
【0214】送信装置から送信された暗号文のビット列
C[i]は、通信路71及びビット受信回路307を介
してkビットシフトレジスタ301のシフトイン入力に
接続されている。シフトアウト出力には、排他的論理和
回路303の一方の入力が接続され、303の他方の入
力には、暗号文C[i]の信号が接続されている。排他
的論理和回路303の出力は、平文のビット列M[i]
を出力する。
【0215】次に、この受信装置59の動作を説明す
る。まず最初に、kビットシフトレジスタ301には、
例えばkビットのパラレルロードパスからkビットの乱
数Rが設定される。次いで、図示されないシフトクロッ
クiに同期して暗号文Cのビット列C[i]が入力し始
めると、シフトアウトからは、乱数Rのビット列R
[i]が出力される。これにより、排他的論理和回路3
03の一方の入力には、R[i]が供給され、排他的論
理和回路303の他方の入力には、暗号文C[i]が供
給されるので、その出力は、第1の暗号化メッセージを
復号化した第1の領域の通信メッセージM[i]=R
[i](+)C[i]となる。
【0216】ここで、(+)は排他的論理和演算を示
す。この状態は、初期設定された乱数Rのkビット全て
がシフトアウトするまで、即ち1≦i≦kの間継続す
る。
【0217】次いで、i=k+1以降のシフトクロック
においては、シフトアウトデータは、シフトインデータ
のkビットタイム遅延したデータであるC[i−k]と
なるので、排他的論理和回路303の一方の入力には、
C[i−k]が供給され、他方の入力にはC[i]が供
給されるので、その出力は、第2の暗号化メッセージを
復号化した第2の領域の通信メッセージM[i]=C
[i−k](+)C[i]となる。
【0218】この受信装置59によれば、kビットの乱
数Rが初期設定されるkビットシフトレジスタ301を
用いることにより、シフトアウトデータは、R[i]‖
C[i−k]となるので、第1及び第2の暗号化メッセ
ージに対する処理が自動的に切り替わる。このため、特
に第1及び第2の暗号化メッセージの分離や、通信メッ
セージの第1の領域である先頭ブロックを切り出すこと
や、第1及び第2の領域の復号化された通信メッセージ
を連接する必要がなく、簡単な回路構成で処理速度の高
い復号化装置を実現できる。
【0219】なお、図22のkビットシフトレジスタ3
01にkビットのパラレルロードパスを設けることな
く、シフトイン入力の直前に切替器を設けて直列入力に
より乱数Rを設定してもよい。さらに、kビットシフト
レジスタ301、またはkビットシフトレジスタ301
と排他的論理和回路303とを含む回路を1チップの集
積回路に集積化すると、送信装置及び受信装置を小型化
できる。
【0220】図23は、図5中の乱数生成処理部313
の詳細例である乱数発生器を示すブロック回路図であ
り、請求項25に対応する。送信装置及び受信装置にそ
れぞれ設けられた乱数発生器313は、乱数パラメータ
として、乱数発生アルゴリズムHと、乱数初期値R0 と
を受け取り、この乱数パラメータに従って、双方の乱数
発生器が互いに等しい乱数を生成させるものである。
【0221】同図において、乱数発生器は、レジスタ3
01a、シフトレジスタ301b、アンドゲート311
a〜311d、排他的論理和回路313、及び切替回路
315を備えて構成されている。レジスタ301aは、
最大kビットのレジスタであり、乱数発生アルゴリズム
Hが設定される。シフトレジスタ301bは、kビット
のシフトレジスタであり、kビットの乱数初期値R0 が
初期設定される。
【0222】アンドゲート311a〜311dは、最大
k個の2入力アンドゲートであり、レジスタ301aと
シフトレジスタ301bとの互いに対応するビット同士
の論理積を生成し、排他的論理和回路313に出力す
る。排他的論理和回路313は、最大k個設けられたア
ンドゲート311a〜311dの出力の排他的論理和を
生成し、これを切替器315を介してシフトレジスタ3
01bのシフトインに供給する。切替器315は、スイ
ッチで図示されているが、実際には1ビット2ウェイセ
レクタである。
【0223】ところで、レジスタ301aに設定される
乱数発生アルゴリズムHは、それぞれ0または1の値を
もつhi(1≦i≦k)からなり、シフトレジスタ30
1bのある時点のkビットの内容をR[n-1],R[n-2],
…,R[n-k]とすれば、
【数23】 R[n]=h1R[n-1]+h2R[n-2]+…+hkR[n-k] (mod 2)…(24) 式(24)に示す漸化式により新たな乱数のビット値R
[n]が生成され、シフトインされる。
【0224】この漸化式(24)によって生成される乱
数が最大周期系列となる必要十分条件は、
【数24】 f(x)=1+h1x+h2x2+…+hkxk …(25) 式(25)の特性多項式がガロア体GF(2)上の原始多
項式となることである。
【0225】2入力排他的論理和回路303は、シフト
レジスタ301bからシフトアウトされる乱数R[i]ま
たは平文M[i−k]と、平文M[i]との排他的演算を行
ってストリーム暗号化するものである。
【0226】切替器315の接点が右側に倒されている
と、シフトレジスタ301bは乱数発生器として動作
し、切替器315の接点が左側に倒されると、これ以後
シフトレジスタ301bは乱数発生器としての動作を停
止し、通信メッセージである平文M[i]のkビット遅延
回路として動作することとなる。
【0227】これにより通信メッセージの第1の領域に
おいては、乱数R[i]と平文M[i]との排他的演算が行
われ、暗号文C[i]≡R[i](+)M[i]が得られる。ま
た、切替器315を左側に倒してからkビットタイム後
には、通信メッセージの第2の領域の暗号化である暗号
文C[i]≡M[i−k](+)M[i]が得られる。
【0228】なお、本実施の形態において、乱数発生ア
ルゴリズムHが設定されるレジスタ301a及びアンド
ゲート311は、必ずしもkビット相当の個数を必要と
せず、選択される乱数発生アルゴリズム間で共通に0の
値をとるhi に対応するビットは、レジスタ301a及
びアンドゲート311を省略することができる。
【0229】また、本実施の形態は、共有乱数の値自体
を送信装置から受信装置へ送る代わりに、乱数発生アル
ゴリズム及び乱数初期値を送ることにより、双方で同一
の乱数を発生するので、十分長い乱数も少ない情報で共
有することができる。さらに、切替器315の切替タイ
ミングは、特に限定されることがないので、乱数発生器
と乱数発生アルゴリズムによって定まる周期を超えて乱
数を利用することも可能となり、通信メッセージ全体を
第1の領域として、C[i]≡R[i](+)M[i]により暗
号化することもできる。
【0230】さらに、本実施の形態の変形として、乱数
発生アルゴリズムまたは乱数初期値のいずれか一方だけ
を送信装置から受信装置へ秘密に送ることにより、両者
で乱数を共有することもできる。乱数発生初期値のみを
送る場合には、レジスタ301a及びアンドゲート31
1を省略し、シフトレジスタ301bから排他的論理和
回路303へ直接結線すればよい。
【0231】図24は、図6に示した後続ブロック暗号
化処理部(a)および後続ブロック復号化処理部(b)
の構成例を示す第11実施形態を示す回路図である。
【0232】図24(a)において、後続ブロック暗号
化処理部151は、kビットシフトレジスタ301と、
排他的論理和回路303とを備えて構成されている。k
ビットシフトレジスタ301のシフトイン入力には、先
頭ブロック切り出し処理部111からビット直列に供給
される通信メッセージの第2の領域である平文Mの後続
ブロックM[i](k<i≦N)の信号が接続され、シ
フトアウト出力には、排他的論理和回路303の一方の
入力が接続されている。排他的論理和回路303の他方
の入力には、平文M[i](k<i≦N)の信号が接続
されている。排他的論理和回路303の出力は、暗号文
連接処理部174へ接続されている。
【0233】次に、この後続ブロック暗号化処理部15
1の動作を説明する。まず最初に、kビットシフトレジ
スタ301には、例えばkビットのパラレルロードパス
からkビットの通信メッセージの第1の領域である平文
の先頭ブロックM1,k が設定される。次いで、図示され
ないシフトクロックiに同期して平文Mの後続ブロック
のビット列M[i]が入力し始めると、シフトアウトか
らは、平文Mの先頭ブロックのビット列M[i−k]が
出力される。これにより、排他的論理和回路303の一
方の入力には、M[i−k]が供給され、排他的論理和
回路303の他方の入力には、平文M[i]が供給され
るので、その出力は、第2の暗号化メッセージC[i]
=M[i−k](+)M[i]となる。
【0234】図24(b)において、後続ブロック復号
化処理部251は、kビットシフトレジスタ301と、
排他的論理和回路303とを備えて構成されている。
【0235】暗号文分離処理部274から出力される第
2の暗号文のビット列C[i](k<i≦N)は、kビ
ットシフトレジスタ301のシフトイン入力に接続され
ている。シフトアウト出力には、排他的論理和回路30
3の一方の入力が接続され、303の他方の入力には、
暗号文C[i](k<i≦N)の信号が接続されてい
る。排他的論理和回路303の出力は、平文のビット列
M[i](k<i≦N)を出力する。
【0236】次に、この後続ブロック復号化処理部25
1の動作を説明する。まず最初に、kビットシフトレジ
スタ301には、例えばkビットのパラレルロードパス
からkビットの通信メッセージの第1の領域である平文
の先頭ブロックM1,k が設定される。次いで、図示され
ないシフトクロックiに同期して暗号文Cの後続ブロッ
クのビット列C[i]が入力し始めると、シフトアウト
からは、平文Mの先頭ブロックのビット列M[i−k]
が出力される。これにより、排他的論理和回路303の
一方の入力には、M[i−k]が供給され、排他的論理
和回路303の他方の入力には、暗号文C[i]が供給
されるので、その出力は、第2の暗号化メッセージを復
号化した第2の領域の通信メッセージM[i]=M[i
−k](+)C[i]となる。
【0237】図25は、kビット並列にストリーム暗号
化を行う送信パイプライン(a)及びkビット並列にス
トリーム暗号の復号化を行う受信パイプライン(b)の
構成を示すブロック図であり、請求項29に対応する。
【0238】同図(a)において、送信パイプライン
は、Aレジスタ401、2ウェイセレクタ403、Bレ
ジスタ405、並列排他的論理和回路407、及びkビ
ット送信回路409を備えて構成されている。これらの
構成要素のデータパスは全てkビットの幅を有する。
【0239】送信パイプラインの動作は、以下の通りで
ある。まず、セレクタ403でkビット並列の乱数Rを
選択し、これをBレジスタ405にセットする。これ以
後はセレクタ403はAレジスタ401を選択する。次
いで、平文Mがkビット単位でAレジスタに供給され
る。並列排他的論理和回路407は、Aレジスタ401
の内容と、Bレジスタ405の内容とをそれぞれビット
毎に排他的論理和演算を行い、kビット送信回路409
へ出力する。
【0240】かくして、平文Mの最初のkビットのブロ
ックM1 は、C1 =R(+)M1 により並列に暗号化さ
れ、平文Mの最初のブロックM1 以外のkビットのブロ
ックMj は、Cj =Mj-1(+)Mj により並列に暗号化
される。
【0241】同図(b)において、受信パイプライン
は、kビット受信回路411、Aレジスタ401、2ウ
ェイセレクタ403、Bレジスタ405、及び並列排他
的論理和回路407を備えて構成されている。これらの
構成要素のデータパスは全てkビットの幅を有する。
【0242】受信パイプラインの動作は、以下の通りで
ある。まず、セレクタ403でkビット並列の乱数Rを
選択し、これをBレジスタ405にセットする。これ以
後はセレクタ403はAレジスタ401を選択する。次
いで、kビット受信回路より暗号文Cがkビット単位で
Aレジスタに供給される。並列排他的論理和回路407
は、Aレジスタ401の内容と、Bレジスタ405の内
容とをそれぞれビット毎に排他的論理和演算を行い、k
ビット並列に平文Mを出力する。
【0243】かくして、暗号文Cの最初のkビットのブ
ロックC1 は、M1 =R(+)C1 により並列に復号化さ
れ、暗号文Cの最初のブロックC1 以外のkビットのブ
ロックCj は、Mj =Mj-1(+)Cj により並列に復号
化される。
【0244】次に、本発明に係るストリーム暗号による
通信方式における安全強度を考察する。本発明のストリ
ーム暗号方式においては、秘密鍵である乱数または通信
メッセージの第1の領域である公開鍵暗号化される部分
は、使用する公開鍵暗号の安全強度によって評価するこ
とができる。通信メッセージ部分または通信メッセージ
の第2の領域である排他的論理和部分の安全強度を考察
する。
【0245】この問題は、次の問題に言い換えることが
できる。つまり、あるビット列Mを考える。例えば、M
=10100001111100000とする。Mをk
ビット分右シフトして、先頭のkビットは乱数ビット列
R(#,#,…,#)で補い最後のkビットは削除する
ことにより作ったビット列をM´とする。MとM´との
ビット毎の排他的論理和をとり、暗号ビット列C=M
(+)M´を得る。以下には、k=3とした場合を示す。
【0246】
【数25】 M =10100001111100000 (26) M´=###10100001111100 (27) C =***10101110011100 (28) こうして得られたCから、元のビット列Mを推測する方
法はない。排他的論理和をとったあとの、iビット目
は、M[i](+) M[i-k]となり、またi±kビット目
は、それぞれ、M[i+k](+) M[i] ,M[i-k](+) M[i
-2k]となるが、これらの値からM[i] を得る関係式は存
在しない。
【0247】
【発明の効果】以上説明したように、本発明によれば、
従来の秘密鍵暗号の鍵配送問題を解決し、少量の秘密鍵
の配送だけで、大量の通信メッセージの秘密鍵暗号によ
る通信を可能とするという効果がある。
【0248】また本発明によれば、従来の秘密鍵暗号あ
るいは公開鍵暗号と同等の安全性を確保しつつ高速な暗
号通信を行うことができるという効果がある。
【0249】また本発明によれば、従来型の秘密鍵暗号
や公開鍵暗号と比べて、暗号化および復号化の処理量が
大幅に削減され、画像や音声を含むリアルタイム性のあ
るマルチメディア情報の秘密通信に適用可能な暗号を用
いた通信システムを提供することができるという効果が
ある。
【0250】マルチメディアかつリアルタイム情報の具
体例としては、テレビ会議など多量のデータが長時間継
続するような場合を挙げることができる。本方式は、公
衆網やインターネット上での暗号化テレビ会議に利用す
ることができる。主要な処理は、オリジナルメッセージ
と、その定数ビットだけ右シフトしたメッセージとの排
他的論理和演算であり、メッセージが不定長であるよう
なストリーム型のリアルタイム情報の暗号通信には特に
有効である。
【0251】また大量データのファイルを暗号化転送す
るときにも、暗号化および復号化の処理量の少ない本発
明方式は極めて有効である。
【0252】さらに本発明によれば、暗号化及び復号化
の処理をさらに高速化するために、並列処理が可能であ
り、またハードウェア化が容易であるストリーム暗号を
用いた通信システムを提供することができるという効果
がある。
【図面の簡単な説明】
【図1】本発明に係るストリーム暗号による通信システ
ムの第1実施形態を示すブロック図である。
【図2】本発明に係るストリーム暗号による通信システ
ムの第3実施形態を示すブロック図である。
【図3】本発明に係るストリーム暗号による通信システ
ムの第4実施形態を示すブロック図である。
【図4】本発明に係るストリーム暗号による通信システ
ムの第5実施形態を示すブロック図である。
【図5】本発明に係るストリーム暗号による通信システ
ムの第6実施形態を示すブロック図である。
【図6】本発明に係るストリーム暗号による通信システ
ムの第7実施形態を示すブロック図である。
【図7】本発明に係るストリーム暗号による通信システ
ムの第8実施形態を示すブロック図である。
【図8】本発明に係るストリーム暗号による通信システ
ムの第9実施形態を示すブロック図である。
【図9】本発明に係るストリーム暗号による通信システ
ムの第1実施形態の暗号化送信動作を説明するフローチ
ャート図である。
【図10】本発明に係るストリーム暗号による通信シス
テムの第1実施形態の受信復号化動作を説明するフロー
チャート図である。
【図11】本発明に係るストリーム暗号による通信シス
テムの第3実施形態の暗号化送信動作を説明するフロー
チャート図である。
【図12】本発明に係るストリーム暗号による通信シス
テムの第3実施形態の受信復号化動作を説明するフロー
チャート図である。
【図13】本発明に係るストリーム暗号による通信シス
テムの第5実施形態の暗号化送信動作を説明するフロー
チャート図である。
【図14】本発明に係るストリーム暗号による通信シス
テムの第5実施形態の受信復号化動作を説明するフロー
チャート図である。
【図15】本発明に係るストリーム暗号による通信シス
テムの第6実施形態の乱数共有化処理動作を説明するフ
ローチャート図である。
【図16】本発明に係るストリーム暗号による通信シス
テムの第7実施形態の暗号化送信動作を説明するフロー
チャート図である。
【図17】本発明に係るストリーム暗号による通信シス
テムの第7実施形態の受信復号化動作を説明するフロー
チャート図である。
【図18】本発明に係るストリーム暗号による通信シス
テムの第8実施形態の暗号化送信動作を説明するフロー
チャート図である。
【図19】本発明に係るストリーム暗号による通信シス
テムの第8実施形態の受信復号化信動作を説明するフロ
ーチャート図である。
【図20】本発明に係るストリーム暗号による通信シス
テムの第9実施形態の暗号化送信動作を説明するフロー
チャート図である。
【図21】本発明に係るストリーム暗号による通信シス
テムの第9実施形態の受信復号化動作を説明するフロー
チャート図である。
【図22】本発明に係るストリーム暗号による通信シス
テムを構成する送信装置(a)及び受信装置(b)の第
10実施形態を示すブロック図である。
【図23】乱数発生アルゴリズム及び乱数初期値を設定
可能な乱数発生器の構成を示す回路図である。
【図24】通信メッセージの先頭ブロックをパッドとす
る通信システムにシフトレジスタを用いた送信装置
(a)及び受信装置(b)の第11実施形態を示すブロ
ック図である。
【図25】kビット並列に暗号化を行う送信パイプライ
ン処理回路(a)及びkビット並列に復号化を行う受信
パイプライン処理回路(b)である。
【図26】従来のバーナム暗号による通信システムの構
成を示すブロック図である。
【図27】DH型公開鍵配送法を説明する図である。
【符号の説明】
11…通信システム、21…乱数共有化部、31…送信
装置、51…受信装置、71…通信路、111…先頭ブ
ロック切り出し処理部、131…先頭ブロック暗号化処
理部、151…後続ブロック暗号化処理部、171…暗
号文連接処理部、211…ビット連接処理部、231…
先頭ブロック復号化処理部、251…後続ブロック復号
化処理部、271…暗号文分離処理部。

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】送信装置と受信装置との間で、予め所定ビ
    ット長を有する乱数を共有し、 前記送信装置は、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、これらの各ビットと、前
    記乱数の先頭ビットから所定ビット長までの各ビット
    と、をそれぞれ互いに排他的論理和演算することによ
    り、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、これらの各ビットと、該ビット位置から前記
    乱数の所定ビット長を減じたビット位置の前記通信メッ
    セージの各ビットと、をそれぞれ互いに排他的論理和演
    算することにより、第2の暗号化メッセージを生成し、 第1及び第2の暗号化メッセージを前記送信装置から前
    記受信装置へ通信し、 前記受信装置は、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージから第1の領域の通信メ
    ッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算することにより、第2の暗
    号化メッセージから第2の領域の通信メッセージを復号
    化することを特徴とするストリーム暗号による通信方
    法。
  2. 【請求項2】送信装置と受信装置との間で、公開鍵配送
    法により、予め所定ビット長を有する乱数を共有し、 前記送信装置は、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、これらの各ビットと、前
    記乱数の先頭ビットから所定ビット長までの各ビット
    と、をそれぞれ互いに排他的論理和演算することによ
    り、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、これらの各ビットと、該ビット位置から前記
    乱数の所定ビット長を減じたビット位置の前記通信メッ
    セージの各ビットと、をそれぞれ互いに排他的論理和演
    算することにより、第2の暗号化メッセージを生成し、 第1及び第2の暗号化メッセージを前記送信装置から前
    記受信装置へ通信し、 前記受信装置は、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージから第1の領域の通信メ
    ッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算することにより、第2の暗
    号化メッセージから第2の領域の通信メッセージを復号
    化することを特徴とするストリーム暗号による通信方
    法。
  3. 【請求項3】送信装置と受信装置との間で、公開鍵暗号
    による暗号化通信により、予め所定ビット長を有する乱
    数を共有し、 前記送信装置は、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、これらの各ビットと、前
    記乱数の先頭ビットから所定ビット長までの各ビット
    と、をそれぞれ互いに排他的論理和演算することによ
    り、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、これらの各ビットと、該ビット位置から前記
    乱数の所定ビット長を減じたビット位置の前記通信メッ
    セージの各ビットと、をそれぞれ互いに排他的論理和演
    算することにより、第2の暗号化メッセージを生成し、 第1及び第2の暗号化メッセージを前記送信装置から前
    記受信装置へ通信し、 前記受信装置は、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージから第1の領域の通信メ
    ッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算することにより、第2の暗
    号化メッセージから第2の領域の通信メッセージを復号
    化することを特徴とするストリーム暗号による通信方
    法。
  4. 【請求項4】送信装置から受信装置へ、公開鍵暗号によ
    り暗号化した乱数と、ストリーム暗号化した通信メッセ
    ージと、を送るストリーム暗号による通信方法であっ
    て、 前記送信装置は、 所定ビット長を有する乱数を発生させ、該乱数を受信装
    置の公開鍵により暗号化して、暗号化乱数を生成し、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、これらの各ビットと、前
    記乱数の先頭ビットから所定ビット長までの各ビット
    と、をそれぞれ互いに排他的論理和演算することによ
    り、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、これらの各ビットと、該ビット位置から前記
    乱数の所定ビット長を減じたビット位置の前記通信メッ
    セージの各ビットと、をそれぞれ互いに排他的論理和演
    算することにより、第2の暗号化メッセージを生成し、 前記暗号化乱数と第1および第2の暗号化メッセージと
    を連接して前記送信装置から前記受信装置へ通信し、 前記受信装置は、 前記暗号化乱数を自らの秘密鍵により復号化して乱数を
    生成し、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージから第1の領域の通信メ
    ッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算することにより、第2の暗
    号化メッセージから第2の領域の通信メッセージを復号
    化することを特徴とするストリーム暗号による通信方
    法。
  5. 【請求項5】前記乱数のビット数は、前記公開鍵暗号に
    より1度に暗号化可能なビット数を超えるビット数であ
    り、前記乱数が複数の部分に分割されてそれぞれ暗号化
    され、復号化後に1つの乱数として連接されて暗号化メ
    ッセージの復号化に利用されることを特徴とする請求項
    3または請求項4に記載のストリーム暗号による通信方
    法。
  6. 【請求項6】それぞれ乱数発生器を備えた送信装置と受
    信装置との間で、公開鍵暗号を用いる暗号化通信によ
    り、乱数発生アルゴリズム及びまたは乱数の初期値を共
    有することにより、双方の乱数発生器から所定ビット長
    の同一の乱数を発生させ、 前記送信装置は、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、これらの各ビットと、前
    記乱数の先頭ビットから所定ビット長までの各ビット
    と、をそれぞれ互いに排他的論理和演算することによ
    り、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、これらの各ビットと、該ビット位置から前記
    乱数の所定ビット長を減じたビット位置の前記通信メッ
    セージの各ビットと、をそれぞれ互いに排他的論理和演
    算することにより、第2の暗号化メッセージを生成し、 第1及び第2の暗号化メッセージを前記送信装置から前
    記受信装置へ通信し、 前記受信装置は、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージから第1の領域の通信メ
    ッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算することにより、第2の暗
    号化メッセージから第2の領域の通信メッセージを復号
    化することを特徴とするストリーム暗号による通信方
    法。
  7. 【請求項7】前記送信装置及び受信装置にそれぞれ備え
    られた乱数発生器から、発生される乱数の周期を超え
    て、それぞれ乱数を取り出すことを特徴とする請求項6
    に記載のストリーム暗号による通信方法。
  8. 【請求項8】通信メッセージの先頭から所定のビット長
    を第1の領域の通信メッセージとし、前記通信メッセー
    ジの所定のビット長を超える部分を第2の領域の通信メ
    ッセージとする通信メッセージの分割を行い、 第1の領域の通信メッセージに対しては公開鍵暗号によ
    り、第2の領域の通信メッセージに対してはストリーム
    暗号により、それぞれ送信装置から受信装置へ通信する
    通信方法であって、 前記送信装置は、 第1の領域の通信メッセージを受信装置の公開鍵により
    暗号化して、第1の暗号化メッセージを生成し、 第2の領域の通信メッセージに対しては、これらの各ビ
    ットと、該ビット位置から前記第1の領域の通信メッセ
    ージのビット長を減じたビット位置の前記通信メッセー
    ジの各ビットと、をそれぞれ互いに排他的論理和演算す
    ることにより、第2の暗号化メッセージを生成し、 前記第1および第2の暗号化メッセージを連接して前記
    送信装置から前記受信装置へ通信し、 前記受信装置は、 自らの秘密鍵により、前記第1の暗号化メッセージから
    第1の領域の通信メッセージを復号化し、 前記第2の暗号化メッセージの各ビットに対しては、こ
    れらの各ビットと、該ビット位置が対応する前記通信メ
    ッセージのビット位置から前記所定のビット長を減じた
    ビット位置の復号化された通信メッセージの各ビット
    と、をそれぞれ互いに排他的論理和演算することによ
    り、第2の暗号化メッセージから第2の領域の通信メッ
    セージを復号化する、 ことを特徴とするストリーム暗号による通信方法。
  9. 【請求項9】前記第1の領域の通信メッセージのビット
    数は、前記公開鍵暗号により1度に暗号化可能なビット
    数を超えるビット数であり、それぞれ複数回の暗号化及
    び復号化によって第1の領域の通信メッセージの暗号化
    及び復号化が行われることを特徴とする請求項8に記載
    のストリーム暗号による通信方法。
  10. 【請求項10】送信装置と受信装置との間で、予め所定
    ビット長を有する乱数を共有し、 前記送信装置は、前記乱数の所定ビット長と等しいブロ
    ック長を有する転置情報を前記受信装置の公開鍵により
    暗号化した暗号化転置情報を生成し、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、前記転置情報に基づい
    て、これらの各ビットを前記乱数の所定ビット長と等し
    いブロック長の転置を施した転置メッセージの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、前記転置情報に基づいて、これらの各ビット
    を前記転置のブロック長の単位毎に転置を施した転置メ
    ッセージの各ビットと、前記通信メッセージの該ビット
    位置から前記乱数の所定ビット長を減じたビット位置の
    前記通信メッセージの各ビットと、をそれぞれ互いに排
    他的論理和演算することにより、第2の暗号化メッセー
    ジを生成し、 前記暗号化転置情報と第1の暗号化メッセージと第2の
    暗号化メッセージとを連接して前記送信装置から前記受
    信装置へ通信し、 前記受信装置は、 自らの秘密鍵により前記暗号化転置情報から転置情報を
    復号化し、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算して得られ
    た転置メッセージに前記転置の逆写像の転置を施して第
    1の領域の通信メッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算して得られた転置メッセー
    ジに前記転置の逆写像の転置を施して第2の領域の通信
    メッセージを復号化することを特徴とするストリーム暗
    号による通信方法。
  11. 【請求項11】送信装置と受信装置との間で、公開鍵配
    送法により、予め所定ビット長を有する乱数を共有し、 前記送信装置は、前記乱数の所定ビット長と等しいブロ
    ック長を有する転置情報を前記受信装置の公開鍵により
    暗号化した暗号化転置情報を生成し、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、前記転置情報に基づい
    て、これらの各ビットを前記乱数の所定ビット長と等し
    いブロック長の転置を施した転置メッセージの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、前記転置情報に基づいて、これらの各ビット
    を前記転置のブロック長の単位毎に転置を施した転置メ
    ッセージの各ビットと、前記通信メッセージの該ビット
    位置から前記乱数の所定ビット長を減じたビット位置の
    前記通信メッセージの各ビットと、をそれぞれ互いに排
    他的論理和演算することにより、第2の暗号化メッセー
    ジを生成し、 前記暗号化転置情報と第1の暗号化メッセージと第2の
    暗号化メッセージとを連接して前記送信装置から前記受
    信装置へ通信し、 前記受信装置は、 自らの秘密鍵により前記暗号化転置情報から転置情報を
    復号化し、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算して得られ
    た転置メッセージに前記転置の逆写像の転置を施して第
    1の領域の通信メッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算して得られた転置メッセー
    ジに前記転置の逆写像の転置を施して第2の領域の通信
    メッセージを復号化することを特徴とするストリーム暗
    号による通信方法。
  12. 【請求項12】送信装置と受信装置との間で、公開鍵暗
    号による暗号化通信により、予め所定ビット長を有する
    乱数を共有し、 前記送信装置は、前記乱数の所定ビット長と等しいブロ
    ック長を有する転置情報を前記受信装置の公開鍵により
    暗号化した暗号化転置情報を生成し、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、前記転置情報に基づい
    て、これらの各ビットを前記乱数の所定ビット長と等し
    いブロック長の転置を施した転置メッセージの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、前記転置情報に基づいて、これらの各ビット
    を前記転置のブロック長の単位毎に転置を施した転置メ
    ッセージの各ビットと、前記通信メッセージの該ビット
    位置から前記乱数の所定ビット長を減じたビット位置の
    前記通信メッセージの各ビットと、をそれぞれ互いに排
    他的論理和演算することにより、第2の暗号化メッセー
    ジを生成し、 前記暗号化転置情報と第1の暗号化メッセージと第2の
    暗号化メッセージとを連接して前記送信装置から前記受
    信装置へ通信し、 前記受信装置は、 自らの秘密鍵により前記暗号化転置情報から転置情報を
    復号化し、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算して得られ
    た転置メッセージに前記転置の逆写像の転置を施して第
    1の領域の通信メッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算して得られた転置メッセー
    ジに前記転置の逆写像の転置を施して第2の領域の通信
    メッセージを復号化することを特徴とするストリーム暗
    号による通信方法。
  13. 【請求項13】公開鍵暗号により暗号化した乱数と、公
    開鍵暗号により暗号化した転置情報と、ストリーム暗号
    化した通信メッセージと、を送信装置から受信装置へ送
    るストリーム暗号による通信方法であって、 前記送信装置は、 所定のビット長を有する乱数を発生させ、該乱数を受信
    装置の公開鍵により暗号化して、暗号化乱数を生成し、 前記乱数の所定ビット長と等しいブロック長を有する転
    置情報を前記受信装置の公開鍵により暗号化した暗号化
    転置情報を生成し、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、前記転置情報に基づい
    て、これらの各ビットを前記乱数の所定ビット長と等し
    いブロック長の転置を施した転置メッセージの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、前記転置情報に基づいて、これらの各ビット
    を前記転置のブロック長の単位毎に転置を施した転置メ
    ッセージの各ビットと、前記通信メッセージの該ビット
    位置から前記乱数の所定ビット長を減じたビット位置の
    前記通信メッセージの各ビットと、をそれぞれ互いに排
    他的論理和演算することにより、第2の暗号化メッセー
    ジを生成し、 前記暗号化乱数と前記暗号化転置情報と第1及び第2の
    暗号化メッセージとを連接して、送信装置から受信装置
    へ通信し、 前記受信装置は、 自らの秘密鍵により、前記暗号化乱数及び前記暗号化転
    置情報からそれぞれ前記乱数及び前記転置情報を復号化
    し、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算して得られ
    た転置メッセージに前記転置の逆写像の転置を施して第
    1の領域の通信メッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算して得られた転置メッセー
    ジに前記転置の逆写像の転置を施して第2の領域の通信
    メッセージを復号化することを特徴とするストリーム暗
    号による通信方法。
  14. 【請求項14】前記乱数のビット数は、前記公開鍵暗号
    により1度に暗号化可能なビット数を超えるビット数で
    あり、前記乱数が複数の部分に分割されてそれぞれ暗号
    化され、復号化後に1つの乱数として連接されて暗号化
    メッセージの復号化に利用されることを特徴とする請求
    項12または請求項13に記載のストリーム暗号による
    通信方法。
  15. 【請求項15】それぞれ乱数発生器を備えた送信装置と
    受信装置との間で、公開鍵暗号を用いる暗号化通信によ
    り、乱数発生アルゴリズム及びまたは乱数の初期値を共
    有することにより、双方の乱数発生器から所定ビット長
    の同一の乱数を発生させ、 前記送信装置は、前記乱数の所定ビット長と等しいブロ
    ック長を有する転置情報を前記受信装置の公開鍵により
    暗号化した暗号化転置情報を生成し、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットにより構成された第1の領域
    の通信メッセージに対しては、前記転置情報に基づい
    て、これらの各ビットを前記乱数の所定ビット長と等し
    いブロック長の転置を施した転置メッセージの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算することに
    より、第1の暗号化メッセージを生成し、 前記乱数の所定ビット長を超える前記通信メッセージの
    各ビットから構成された第2の領域の通信メッセージに
    対しては、前記転置情報に基づいて、これらの各ビット
    を前記転置のブロック長の単位毎に転置を施した転置メ
    ッセージの各ビットと、前記通信メッセージの該ビット
    位置から前記乱数の所定ビット長を減じたビット位置の
    前記通信メッセージの各ビットと、をそれぞれ互いに排
    他的論理和演算することにより、第2の暗号化メッセー
    ジを生成し、 前記暗号化転置情報と第1の暗号化メッセージと第2の
    暗号化メッセージとを連接して前記送信装置から前記受
    信装置へ通信し、 前記受信装置は、 自らの秘密鍵により前記暗号化転置情報から転置情報を
    復号化し、 第1の暗号化メッセージに対しては、これらの各ビット
    と、前記乱数の先頭ビットから所定ビット長までの各ビ
    ットと、をそれぞれ互いに排他的論理和演算して得られ
    た転置メッセージに前記転置の逆写像の転置を施して第
    1の領域の通信メッセージを復号化し、 第2の暗号化メッセージに対しては、これらの各ビット
    と、該ビット位置から前記乱数の所定ビット長を減じた
    ビット位置の前記通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算して得られた転置メッセー
    ジに前記転置の逆写像の転置を施して第2の領域の通信
    メッセージを復号化することを特徴とするストリーム暗
    号による通信方法。
  16. 【請求項16】前記送信装置及び受信装置にそれぞれ備
    えられた乱数発生器から、発生される乱数の周期を超え
    て、それぞれ乱数を取り出すことを特徴とする請求項1
    5に記載のストリーム暗号による通信方法。
  17. 【請求項17】通信メッセージの先頭から所定のビット
    長を第1の領域の通信メッセージとし、前記通信メッセ
    ージの所定のビット長を超える部分を第2の領域の通信
    メッセージとする通信メッセージの分割を行い、 第1の領域の通信メッセージに対しては公開鍵暗号によ
    り、第2の領域の通信メッセージに対してはストリーム
    暗号により、それぞれ送信装置から受信装置へ通信する
    通信方法であって、 前記送信装置は、 前記乱数の所定ビット長と等しいブロック長を有する転
    置情報を前記受信装置の公開鍵により暗号化した暗号化
    転置情報を生成し、 第1の領域の通信メッセージを前記転置情報に基づいて
    転置した第1の転置メッセージを前記受信装置の公開鍵
    により暗号化して、第1の暗号化メッセージを生成し、 第2の領域の通信メッセージに該当する前記分割前の通
    信メッセージの各ビットに対しては、前記転置情報に基
    づいて、これらの通信メッセージを構成する各ビットを
    前記転置のブロック長の単位毎に転置を施した第2の転
    置メッセージの各ビットと、前記通信メッセージの該ビ
    ット位置から前記乱数の所定ビット長を減じたビット位
    置の第1の通信メッセージの各ビットと、をそれぞれ互
    いに排他的論理和演算することにより、第2の暗号化メ
    ッセージを生成し、 前記暗号化転置情報と第1の暗号化メッセージと第2の
    暗号化メッセージとを連接して送信し、 前記受信装置は、 自らの秘密鍵により、前記暗号化転置情報及び第1の暗
    号化メッセージからそれぞれ前記転置情報及び第1の転
    置メッセージを復号化し、この第1の転置メッセージに
    前記転置の逆写像の転置を施して第1の領域の通信メッ
    セージを復号化し、 第2の暗号化メッセージの各ビットに対しては、これら
    の各ビットと、該ビット位置が対応する通信メッセージ
    のビット位置から前記所定のビット長を減じたビット位
    置の復号化された通信メッセージの各ビットと、をそれ
    ぞれ互いに排他的論理和演算することにより、第2の領
    域の通信メッセージを復号化することを特徴とするスト
    リーム暗号による通信方法。
  18. 【請求項18】前記第1の領域の通信メッセージのビッ
    ト数は、前記公開鍵暗号により1度に暗号化可能なビッ
    ト数を超えるビット数であり、それぞれ複数回の暗号化
    及び復号化によって第1の領域の通信メッセージの暗号
    化及び復号化が行われることを特徴とする請求項17に
    記載のストリーム暗号による通信方法。
  19. 【請求項19】前記排他的論理和演算を行う処理を、複
    数ビット並列して実行させることを特徴とする請求項1
    ないし請求項18のいずれか1項に記載のストリーム暗
    号による通信方法。
  20. 【請求項20】前記第2の領域の通信メッセージを暗号
    化または復号化するための排他的論理和演算の処理は、
    少なくとも一方の演算対象データを前記第1の領域の通
    信メッセージのビット数だけシフトする動作を含むこと
    を特徴とする請求項1ないし請求項19のいずれか1項
    に記載の、ストリーム暗号による通信方法。
  21. 【請求項21】送信装置と受信装置との間で所定のビッ
    ト長の乱数を共有させる乱数共有化手段と、 通信メッセージの先頭ビットから前記乱数の所定ビット
    長に等しい長さの各ビットに対しては、前記乱数の先頭
    ビットから所定ビット長までの各ビットと排他的論理和
    演算し、前記乱数の所定ビット長を超える前記通信メッ
    セージの各ビットに対しては、該ビット位置から前記乱
    数の所定ビット長を減じたビット位置の前記通信メッセ
    ージの各ビットと排他的論理和演算することにより暗号
    化メッセージを生成する暗号化手段を備えた送信装置
    と、 前記暗号化メッセージの先頭ビットから前記乱数の所定
    ビット長に等しい長さの各ビットに対しては、前記乱数
    の先頭ビットから所定ビット長までの各ビットと排他的
    論理和演算し、前記乱数の所定ビット長を超える前記暗
    号化メッセージの各ビットに対しては、該ビット位置か
    ら前記乱数の所定ビット長を減じたビット位置の前記暗
    号化メッセージの各ビットと排他的論理和演算すること
    により復号化メッセージを得る復号化手段を備えた受信
    装置と、 を備えたことを特徴とするストリーム暗号による通信シ
    ステム。
  22. 【請求項22】前記乱数共有化手段は、 前記送信装置と前記受信装置との間で、それぞれ個別に
    生成された異なる乱数に基づいて生成された情報を互い
    に交換し、この交換された情報及び前記個別に生成され
    た異なる乱数に基づいて、前記送信装置及び前記受信装
    置がそれぞれ同一の共有乱数を生成するものであること
    を特徴とする請求項21に記載のストリーム暗号による
    通信システム。
  23. 【請求項23】前記乱数共有化手段は、 前記受信装置の公開鍵により公開鍵暗号化された乱数を
    送信装置より送信する公開鍵暗号化手段と、 この公開鍵暗号化された乱数を受信し受信装置自身の秘
    密鍵により乱数を復号化する公開鍵復号化手段と、 を備えたものであることを特徴とする請求項21に記載
    のストリーム暗号による通信システム。
  24. 【請求項24】前記乱数共有化手段は、 前記送信装置に設けられた乱数発生アルゴリズム及びま
    たは乱数の初期値を設定可能な第1の乱数発生器と、 前記乱数発生アルゴリズム及びまたは乱数の初期値を前
    記受信装置の公開鍵により公開鍵暗号化する公開鍵暗号
    化手段と、 この公開鍵暗号化された乱数発生アルゴリズム及びまた
    は乱数の初期値を受信装置自身の秘密鍵により復号化す
    る公開鍵復号化手段と、 前記受信装置に設けられ、この復号化された乱数発生ア
    ルゴリズム及びまたは乱数の初期値を設定可能な第2の
    乱数発生器と、 を備えたことを特徴とする請求項21に記載のストリー
    ム暗号による通信システム。
  25. 【請求項25】それぞれ乱数の初期値を構成するビット
    の値が外部より設定される複数ビットのシフトレジスタ
    と、 このシフトレジスタの各ビットから新たな乱数を生成す
    るためのビットを指定するための値が乱数発生アルゴリ
    ズムとして外部より設定される制御レジスタと、 前記制御レジスタの値により指定されたシフトレジスタ
    のビット間で排他的論理和演算を行い、その結果をシフ
    トレジスタに入力する排他的論理和回路と、 を備えた乱数発生器を送信装置及び受信装置がそれぞれ
    備えてなり、 両装置の乱数発生器が互いに等しい乱数を生成すること
    を特徴とするストリーム暗号による通信システム。
  26. 【請求項26】前記送信装置は、 転置情報に基づいて、前記乱数の所定ビット長に等しい
    ブロック長を有するブロック単位に前記通信メッセージ
    のビット位置を入れ替える第1の転置手段と、 前記転置情報を受信装置の公開鍵により暗号化し暗号化
    転置情報を生成する公開鍵暗号化手段と、をさらに備え
    てなり、 前記受信装置は、 自身の秘密鍵により前記暗号化転置情報を復号化し転置
    情報を生成する公開鍵復号化手段と、 この復号化された転置情報に基づいて、該転置情報の示
    す転置の逆写像を前記復号化メッセージに施す第2の転
    置手段と、 を備えたことを特徴とする請求項21に記載のストリー
    ム暗号による通信システム。
  27. 【請求項27】前記暗号化手段または前記復号化手段
    は、 共有乱数が初期状態として設定されるとともにシフトイ
    ン入力に通信メッセージまたは暗号化メッセージの直列
    供給源が接続されたシフトレジスタと、 このシフトレジスタのシフトアウト出力に一方の入力が
    接続され、前記通信メッセージまたは暗号化メッセージ
    の直列供給源に他方の入力が接続され、その出力が暗号
    化メッセージまたは復号化された通信メッセージとなる
    2入力排他的論理和回路と、 を備えたことを特徴とする請求項21に記載のストリー
    ム暗号による通信システム。
  28. 【請求項28】前記シフトレジスタまたは該シフトレジ
    スタ及び前記排他的論理和回路を備えた回路が単一の集
    積回路に集積化されたことを特徴とする請求項27に記
    載のストリーム暗号による通信システム。
  29. 【請求項29】前記暗号化手段及びまたは前記復号化手
    段は、 前記排他的論理和演算を複数ビット並列に行う演算器を
    備えたことを特徴とする請求項21に記載のストリーム
    暗号による通信システム。
  30. 【請求項30】所定のビット幅で順次供給される第1の
    データを一時保持する第1の保持手段と、前記所定のビ
    ット幅の第2のデータまたは第1の保持手段に保持され
    たデータを一時保持する第2の保持手段と、第1及び第
    2の保持手段の内容をそれぞれビット毎に排他的論理和
    演算を行う前記所定ビット幅の並列演算器と、を備えた
    回路を単一の集積回路に集積化したことを特徴とするス
    トリーム暗号による通信システム。
JP8236862A 1996-09-06 1996-09-06 ストリーム暗号による通信方法、ならびに通信システム Pending JPH1084339A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8236862A JPH1084339A (ja) 1996-09-06 1996-09-06 ストリーム暗号による通信方法、ならびに通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8236862A JPH1084339A (ja) 1996-09-06 1996-09-06 ストリーム暗号による通信方法、ならびに通信システム

Publications (1)

Publication Number Publication Date
JPH1084339A true JPH1084339A (ja) 1998-03-31

Family

ID=17006908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8236862A Pending JPH1084339A (ja) 1996-09-06 1996-09-06 ストリーム暗号による通信方法、ならびに通信システム

Country Status (1)

Country Link
JP (1) JPH1084339A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005505974A (ja) * 2001-10-05 2005-02-24 ソニー エレクトロニクス インク デジタル信号を安全に処理する方法
US7702904B2 (en) 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
JP2011154711A (ja) * 2002-10-31 2011-08-11 Lockheed Martin Corp 改善された計算アーキテクチャ、関連システム、並びに、方法
JP2012212138A (ja) * 2011-03-22 2012-11-01 Fujitsu Ltd 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システムおよびコンテンツの生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005505974A (ja) * 2001-10-05 2005-02-24 ソニー エレクトロニクス インク デジタル信号を安全に処理する方法
JP4671602B2 (ja) * 2001-10-05 2011-04-20 ソニー エレクトロニクス インク デジタル信号を安全に処理する方法
JP2011154711A (ja) * 2002-10-31 2011-08-11 Lockheed Martin Corp 改善された計算アーキテクチャ、関連システム、並びに、方法
JP2011170868A (ja) * 2002-10-31 2011-09-01 Lockheed Martin Corp 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
JP2011175655A (ja) * 2002-10-31 2011-09-08 Lockheed Martin Corp 多数パイプライン・ユニットを有するパイプライン加速器、関連計算マシン、並びに、方法
US7702904B2 (en) 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
JP2012212138A (ja) * 2011-03-22 2012-11-01 Fujitsu Ltd 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システムおよびコンテンツの生成方法

Similar Documents

Publication Publication Date Title
JP3782351B2 (ja) 可変長鍵暗号システム
US7907725B2 (en) Simple universal hash for plaintext aware encryption
JP4712017B2 (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
KR101187854B1 (ko) 보안성을 향상시키는 순열 데이터 변환
US20070195948A1 (en) Method and device for the encryption and decryption of data
JPH09230787A (ja) 暗号化方法および装置
EP1319280A2 (en) Parallel bock encryption method and modes for data confidentiality and integrity protection
JP2001007800A (ja) 暗号化装置および方法
WO1993007696A1 (en) Cryptographic communication method and apparatus
US6760440B1 (en) One's complement cryptographic combiner
CN108270565A (zh) 一种数据混合加密方法
JPH1084339A (ja) ストリーム暗号による通信方法、ならびに通信システム
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
JP3694242B2 (ja) 署名付き暗号通信方法及びその装置
JPH1117673A (ja) 共通鍵暗号通信方法及びその通信ネットワーク
JP5586758B1 (ja) 動的暗号化鍵生成システム
JPH04335730A (ja) 暗号送信装置、暗号受信装置、暗号通信システム
CN106341230B (zh) 通过缩短密文长度来实现现代密码体制无条件安全的方法
RU2775253C1 (ru) Способ криптографического преобразования с одновременной выработкой производного ключа шифрования
JP2002023624A (ja) ブロック暗号通信方法とその装置、及びブロック暗号通信プログラムを記録した記録媒体
CN102474413A (zh) 私钥压缩
GB2386518A (en) Associative encryption and decryption
JPH1127255A (ja) 共通鍵暗号通信方法、及びそれを用いた共通鍵暗号通信ネットワーク
CN117857205A (zh) 基于字节加密算法级联的通信数据快速加密方法
Goyal et al. Encryption using random keys-a scheme for secure communications