(57)【要約】  ストリーム暗号方法は、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する。このストリーム暗号方法は、前記Ｎ個の擬似乱数系列を使用してＬビットの暗号シンボル集合を平均的に２等分し、対応する１ビットの平文系列により２分された部分集合いずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとする。
2008081516.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、
前記Ｎ個の擬似乱数系列を使用してＬビットの暗号シンボル集合を平均的に２等分し、
対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、
選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号方法。
【請求項２】
請求項１に記載のストリーム暗号方法において、
前記選択されたＮ個の部分集合の共通部分となる集合の要素が１つも無いときは、符号化失敗を表すシンボルを暗号シンボルとすることを特徴とするストリーム暗号方法。
【請求項３】
請求項１に記載のストリーム暗号方法において、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、前記分割をスキップすることを特徴とするストリーム暗号方法。
【請求項４】
請求項１に記載のストリーム暗号方法において、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、そのチャネル番号に応じて、符号化失敗を表すシンボルを暗号シンボルとするか、或いは、前記分割をスキップすることを特徴とするストリーム暗号方法。
【請求項５】
請求項１に記載のストリーム暗号方法において、
前記暗号シンボル集合を、前記Ｎ個の擬似乱数系列を使用して平均的に２等分する代わりに、第１の平文に対応する第１の部分集合，第２の平文に対応する第２の部分集合および暗号化失敗に対応する第３の部分集合の３つに分割し、
前記第１の部分集合と前記第２の部分集合との共通部分となる集合の要素が１つも無いときは、前記第３の部分集合を使用してエラーが他の信号系列に及ぶのを低減することを特徴とするストリーム暗号方法。
【請求項６】
請求項１に記載のストリーム暗号方法において、
前記暗号シンボル集合の分割を、チャネル番号に応じて制御することを特徴とするストリーム暗号方法。
【請求項７】
請求項１に記載のストリーム暗号方法において、
前記疑似乱数系列を２のＬ乗ビットの乱数系列とし、前記暗号シンボルの番号に対応する乱数ビットに応じて前記暗号シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【請求項８】
請求項１に記載のストリーム暗号方法において、
前記暗号シンボル集合の分割に使用する前記擬似乱数系列から、２のＬ乗ビットのビットパターンを生成し、且つ、
前記暗号シンボル集合の番号に対応するビットに応じて、前記シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【請求項９】
請求項１に記載のストリーム暗号方法において、
前記疑似乱数を使用して疑似乱数と暗号シンボルを２進数で表したときのビット毎の排他的論理和と所定のマスクパターンの論理積をとり、
その結果のビットパターンの「１」の数に応じて、シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【請求項１０】
請求項１に記載のストリーム暗号方法において、さらに、
暗号化シンボルのビット数Ｌを可変とすることにより、符号化率を向上させるようにしたことを特徴とするストリーム暗号方法。
【請求項１１】
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器と、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器と、を備えるストリーム暗号システムであって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号システム。
【請求項１２】
請求項１１に記載のストリーム暗号システムにおいて、
前記選択されたＮ個の部分集合の共通部分となる集合の要素が１つも無いときは、符号化失敗を表すシンボルを暗号シンボルとすることを特徴とするストリーム暗号システム。
【請求項１３】
請求項１１に記載のストリーム暗号システムにおいて、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、前記分割をスキップすることを特徴とするストリーム暗号システム。
【請求項１４】
請求項１１に記載のストリーム暗号システムにおいて、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、そのチャネル番号に応じて、符号化失敗を表すシンボルを暗号シンボルとするか、或いは、前記分割をスキップすることを特徴とするストリーム暗号システム。
【請求項１５】
請求項１１に記載のストリーム暗号システムにおいて、
前記暗号シンボル集合を、前記Ｎ個の擬似乱数系列を使用して平均的に２等分する代わりに、第１の平文に対応する第１の部分集合，第２の平文に対応する第２の部分集合および暗号化失敗に対応する第３の部分集合の３つに分割し、
前記第１の部分集合と前記第２の部分集合との共通部分となる集合の要素が１つも無いときは、前記第３の部分集合を使用してエラーが他の信号系列に及ぶのを低減することを特徴とするストリーム暗号システム。
【請求項１６】
請求項１１に記載のストリーム暗号システムにおいて、
前記暗号シンボル集合の分割を、チャネル番号に応じて制御することを特徴とするストリーム暗号システム。
【請求項１７】
請求項１１に記載のストリーム暗号システムにおいて、
前記疑似乱数系列を２のＬ乗ビットの乱数系列とし、前記暗号シンボルの番号に対応する乱数ビットに応じて前記暗号シンボル集合の分割を制御することを特徴とするストリーム暗号システム。
【請求項１８】
請求項１１に記載のストリーム暗号システムにおいて、
前記暗号シンボル集合の分割に使用する前記擬似乱数系列から、２のＬ乗ビットのビットパターンを生成し、且つ、
前記暗号シンボル集合の番号に対応するビットに応じて、前記シンボル集合の分割を制御することを特徴とするストリーム暗号システム。
【請求項１９】
請求項１１に記載のストリーム暗号システムにおいて、
前記疑似乱数を使用して疑似乱数と暗号シンボルを２進数で表したときのビット毎の排他的論理和と所定のマスクパターンの論理積をとり、
その結果のビットパターンの「１」の数に応じて、シンボル集合の分割を制御することを特徴とするストリーム暗号システム。
【請求項２０】
請求項１１に記載のストリーム暗号システムにおいて、さらに、
暗号化シンボルのビット数Ｌを可変とすることにより、符号化率を向上させるようにしたことを特徴とするストリーム暗号システム。
【請求項２１】
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器であって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とする暗号器。
【請求項２２】
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いて符号化されたＬ（Ｌは、Ｎ以上）ビットの暗号文を、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器であって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとした暗号文を復号化して前記１つの平文を得ることを特徴とする符号器。
【請求項２３】
請求項１〜１０のいずれか１項に記載のストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーム暗号方法および暗号システムに関し、特に、平文の情報をビット単位で暗号化するストリーム暗号方法および暗号システムに関する。
【背景技術】
【０００２】
従来、例えば、情報の安全な伝達および知的財産の保護のためには、限られた人だけに必要な情報を与えるようにする必要があり、通常は暗号を用いることで実現されている。【０００３】
暗号による情報の伝達において、情報の送信者と正当な受信者は、第三者の知らない別の情報を予め知っている必要があり、この情報は暗号鍵と呼ばれている。【０００４】
一般に、暗号方法（方式）としては、送信者が暗号化（符号化）に用いる鍵と受信者が復号化に用いる鍵が同一の共通鍵暗号方法、および、公開鍵と秘密鍵という別の鍵を用いる公開鍵暗号方法が知られている。【０００５】
まず、公開鍵暗号方法は、鍵の配布が容易であるという利点を有しているが、暗号化に必要とされる計算量が多いという問題がある。また、公開鍵と秘密鍵には一定の関係があり、安全性の根拠は、現在の計算機および計算アルゴリズムで公開鍵から秘密鍵を得るのに膨大は計算時間が掛かり実質的には不可能であるという計算量的安全性であるため、新たなアルゴリズムの発見などにより安全性が損なわれる可能性がある。【０００６】
一方、共通鍵暗号方法は、秘密鍵の安全な配布が困難であるという問題があるが、計算量が少ないため、高速な通信に用いることができる。そのため、秘密鍵の配布には公開鍵暗号を用い、そして、実際の情報の通信には共通鍵暗号方法を用いることが多い。【０００７】
共通鍵暗号方法には、送りたい情報（平文）を一定の長さのブロックに分け、ブロック毎に同じ秘密鍵を用いて暗号化を行うブロック暗号方法と、秘密鍵を用いて擬似乱数系列を発生し、この擬似乱数系列を用いて平文を１ビット毎に暗号化するストリーム暗号方法がある。【０００８】
図１は従来のストリーム暗号方法の一例を説明するためのブロック図である。
図１に示されるように、従来のストリーム暗号方法の一例は、例えば、送り側において、秘密鍵を乱数発生の種として使用して擬似乱数系列を発生し、その擬似乱数系列により平文を暗号化して暗号文を生成する。具体的に、例えば、１ビット毎に擬似乱数系列「０１０１１００１」と平文「００１１０１０１」との排他的論理和をとることにより暗号文「０１１０１１００」を生成し、その暗号文を、伝送路を介して受け側に伝達する。【０００９】
受け側では、１ビット毎に伝達（伝送）された暗号文「０１１０１１００」と擬似乱数系列「０１０１１００１」との排他的論理和をとって元の平文「００１１０１０１」を得る。【００１０】
このように、従来のストリーム暗号方法では、例えば、秘密鍵を乱数発生の種として用いて擬似乱数系列を発生し、その擬似乱数系列と平文を１ビット毎の排他的論理和をとることにより暗号文を生成している。【００１１】
そのため、暗号文に対応する一部の平文を手に入れることができれば、擬似乱数系列の一部を得ることが可能になる。ここで、擬似乱数発生器は、現在の内部状態が決まれば、乱数系列を一意に決定するため、盗聴者に渡ってしまった一部の擬似乱数系列からその内部状態が推定されると、暗号文は全て解読されてしまうことになる。【００１２】
したがって、一部の擬似乱数系列からその内部状態の推定されやすさが、安全性を決定することになる。そのため、擬似乱数発生器としては、線形帰還型シフトレジスタのような単純な構成では全く実用にならず、非線形性を持つ複雑な構成を用いる必要がある。【００１３】
ところで、一部の平文が盗聴者に知られてしまっても、それから擬似乱数系列を知ることが困難であれば、擬似乱数発生器の内部状態を知られてしまう危険性は低減されるはずである。このような発想に基づく手法として、物理雑音や物理乱数を加えて暗号化を行うものがある。【００１４】
図２は従来のストリーム暗号方法の他の例を説明するためのブロック図であり、平文の情報が知られても擬似乱数の情報が一意に知られることがないようにしたストリーム暗号方法を示すものである。【００１５】
図２に示されるように、従来のストリーム暗号方法の他の例では、送り側において、平文「０」に対して物理乱数（物理ノイズ）「０１」を加え、疑似乱数系列を使用して攪拌し、暗号文「０１０」を生成して、伝送路を介して受け側に伝達する。【００１６】
受け側では、暗号文「０１０」に対して、疑似乱数系列を使用して送り側で行った攪拌と逆の処理（攪拌-1）を行って平文「０」を得る。【００１７】
この従来のストリーム暗号方法の他の例は、平文の情報が知られても擬似乱数の情報が一意に知られてしまわないように、物理乱数や物理ノイズを加えて暗号文としているため、暗号文の情報量は必ず平文の情報量より大きい必要がある。【００１８】
したがって、２値信号で伝送する場合は、暗号文には平文より多いビット数を割り当てる必要があり、符号化率の低下は避けられない。さらに、アナログ（多値）伝送では、データレートを低下させない伝送を行うことは可能であるが、必要とされるＳ／Ｎ比が大きくなるため通信路容量も増やす必要があり、実質的な符号化率が低下することに変わりはない。【００１９】
ところで、従来、対応した送受信局間以外の受信局へのデータ信号の内容漏洩を阻止する時分割多重化通信装置として、各送信局間では異なったＭ系列信号とデータ信号との排他的論理和を得てから送信するようにしたものが提案されている（例えば、特許文献１参照）。しかしながら、この方法は、各データは独立に暗号化されており、多数のデータを組み合わせて暗号化して、通信の秘匿性を高めているわけではない。【００２０】
また、上記の物理雑音を用いた暗号化の例として、従来、レーザ光（コヒーレント光）の量子雑音を使用してアナログ伝送を行うことにより秘匿性を高めることを狙った暗号方法（Ｙ−００）も提案されている（例えば、非特許文献１参照）。【００２１】
【特許文献１】特開昭６０−０３２４５３号公報
【非特許文献１】G. A. Barbosa, "Fast and secure key distribution using mesoscopic coherent states of light", Phys. Rev. A 68, 052307 (2003)
【発明の開示】
【発明が解決しようとする課題】
【００２２】
前述したように、ストリーム暗号方法は、ブロック暗号方法に比べて計算量が少ないため、高速通信に有利である。このストリーム暗号方法では、一部の暗号文に対する平文が盗聴者に知られてしまった場合（既知平文攻撃）、擬似乱数系列の一部がそのまま盗聴者に知られることになり、一部の乱数系列から元の秘密鍵（擬似乱数系列の種）の推定の困難さが、安全性の尺度となる。しかしながら、この安全性評価手法は、ブロック暗号に比べると十分に確立されているとはいえないという問題がある。【００２３】
前述したように、ストリーム暗号方法の安全性を高める技術として、実際に送りたい情報に対してランダムな物理乱数（雑音）を加えて暗号化することにより、既知平文攻撃による擬似乱数系列の推定を困難にして安全性を高めるという手法も提案されている。この手法を適切に用いれば、安全性の向上は十分可能であると考えられるが、物理乱数の情報も合わせて送信するため、多値送信が必要となり、或いは、符号化率の低下が避けられないといった問題がある。【００２４】
このような方法として、従来、Ｙ−００方法と呼ばれる疑似乱数と物理乱数を併用する暗号方法も提案されているが、このＹ−００方法では、既知平文攻撃においても盗聴者が正しい疑似乱数系列を得ることができないため、疑似乱数発生器の内部状態の推定が困難で通常のストリーム暗号より安全な暗号方法であるとされている。【００２５】
しかしながら、Ｙ−００方法では、平文１ビットに対する送信シンボルの数が４〜２０００程度と大きいため符号化率が低くチャネル容量の利用効率が低いという問題がある。【００２６】
本発明は、上述した従来の暗号化技術が有する課題に鑑み、暗号化の符号率を著しく低下させることなく、既知平文攻撃に対する安全性を高めることのできるストリーム暗号方法および暗号システムの提供を目的とする。
【課題を解決するための手段】
【００２７】
本発明の第１の形態によれば、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、前記Ｎ個の擬似乱数系列を使用して（、各擬似乱数ごとに独立に、）Ｌビットの暗号シンボル集合を平均的に２等分し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号方法が提供される。【００２８】
本発明の第２の形態によれば、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器と、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器と、を備えるストリーム暗号システムであって、前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号システムが提供される。【００２９】
本発明の第３の形態によれば、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、前記Ｎ個の擬似乱数系列を使用してＬビットの暗号シンボル集合を平均的に２等分し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとするストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置が提供される。
【発明の効果】
【００３０】
本発明によれば、暗号化の符号率を著しく低下させることなく、既知平文攻撃に対する安全性を高めることのできるストリーム暗号方法および暗号システムを提供することができる。
【図面の簡単な説明】
【００３１】
【図１】従来のストリーム暗号方法の一例を説明するためのブロック図である。
【図２】従来のストリーム暗号方法の他の例を説明するためのブロック図である。
【図３】本発明に係るストリーム暗号方法の原理を説明するためのブロック図である。
【図４】本発明に係るストリーム暗号方法の第１実施例を説明するためのブロック図である。
【図５】本発明に係るストリーム暗号方法の第２実施例を説明するためのブロック図である。
【図６】本発明に係るストリーム暗号方法の第４実施例を説明するためのブロック図である。
【図７】本発明に係るストリーム暗号システムにおける暗号器（符号器）の一例を示すブロック図である。
【図８】本発明に係るストリーム暗号システムにおける復号器の一例を示すブロック図である。
【符号の説明】
【００３２】
１    暗号器（送り側）
２    復号器（受け側）
１１    疑似乱数発生器
１２    パターン発生器
１３    インバータ
１４    加算器
１５    エンコーダ
２１    疑似乱数発生器
２２    パターン発生器
２３    セレクタ
【発明を実施するための最良の形態】
【００３３】
まず、本発明に係るストリーム暗号方法の原理を、図３を参照して説明する。
本発明は、複数の独立な平文をまとめて暗号化することにより、別の平文の情報に物理乱数と似た働きをさせ、符号化率の低下を避けながら擬似乱数系列の推定を困難にするものである。【００３４】
図３は本発明に係るストリーム暗号方法の原理を説明するためのブロック図であり、Ｎ個の１ビット平文からＬビットの暗号文を得る場合を示している。なお、説明のために、各平文系列に対する信号の伝送する論理的な経路（伝送路）をチャネルと呼び、１〜Ｎの番号ｃを付ける。暗号化前および復号後は、各チャネルは独立であるが、暗号化の際にそれらは融合し、各チャネルの情報は混じり合って伝送される。また、各チャネルに対して、独立に擬似乱数系列ｒ(c)を使用し、暗号化と復号で共通鍵により生成された同じ系列を使用する。【００３５】
まず、暗号器では、次に示すように、各チャネル毎に擬似乱数系列ｒ(c)により一意に決まる２Lビットのビットパターンが生成される。
【数１】
2008081516.tif 000003
そして、次に示すように、そのチャネルの平文ｔ(c)が「０」か「１」かによって、そのビットパターンをそのまま適用するか反転して適用するかを決定する。
【数２】
2008081516.tif 000004
さらに、次に示すように、得られた全チャネルに対するビットパターンｑ(c)のビット毎の論理積を計算する。
【数３】
2008081516.tif 000005
すなわち、暗号器１（送り側）において、例えば、図３に示されるように、平文１のｔ(1)は「１」、平文２のｔ(2)は「０」、そして、平文３のｔ(3)は「１」なので、平文１のビットパターン（パターン）ｐ(1)「０１０１１００１」はそのままｑ(1)「０１０１１００１」、平文２のパターンｐ(2)「００１１０１０１」は反転してｑ(2)「１１００１０１０」、そして、平文３のパターンｐ(3)「１００１１０１０」はそのままｑ(2)「１００１１０１０」として適用される。ここで、例えば、平文１のパターンｐ(1)「０１０１１００１」において、各ビットデータは、ｐ0(1)は「０」，ｐ1(1)は「１」，ｐ2(1)は「０」，ｐ3(1)は「１」，ｐ4(1)は「１」，ｐ5(1)は「０」，ｐ6(1)は「０」，そして，ｐ7(1)は「１」となる。【００３６】
そして、論理積の計算の結果が「１」であるビットが存在すれば、そのビット番号（０〜２L−１）を暗号文Ｓ「００００１０００」とする。このとき、ｑs(c)＝１→ｐs(c)＝ｔs(c)が成立している。なお、「１」であるビットが複数ある場合は、そのうちどれを用いてもよい。このようにして生成された暗号文Ｓは、受け側へ伝送され、復号器２により復号される。【００３７】
復号器２（受け側）では、同じ擬似乱数系列ｒ(c)により同じビットパターンｐ(c)を発生し、暗号文Ｓで指定されたビット番号の値をとることにより平文ｔ(c)が得られる。【００３８】
ここで、ｘに「１」であるビットが１つもないときは、暗号化に失敗してエラーを発生することになるが、その対処法は様々なものが考えられ、後に詳述する。また、暗号シンボルｓのビット数Ｌが固定の場合を説明したが、Ｌを可変にすることも可能である。【００３９】
上記のストリーム暗号方法では、ｐ(c)として２値のビットパターンを用いたが、３値（例えば、「−１」，「０」，「１」）のパターンを用い、平文ｔ(c)が「０」のときは「−１」を取るビット番号を、「１」のときは「１」を取るビット番号をできるだけ使用するように構成するが、もし、無理な場合は、「０」を取るビットを用いるという方法もある。この場合は、他のチャネルにあまり影響を与えずに、特定のチャネルだけ休止（データの消失）させることが可能になる。なお、上記説明は、単に、本発明の原理を説明するためのものであり、実際に本発明を適用する場合には、同様の機能を有するより簡単な構成に置き換えられる場合もある。【００４０】
このように、本発明に係るストリーム暗号方法においては、結果として得られるＬビット暗号シンボルの特定の場所（ビット）に特定のチェネルの情報が埋め込まれている訳ではなく、複数のチャネルの平文および擬似乱数の相互の関係で決まるものである。【００４１】
したがって、盗聴者が特定のチャネルに対する一部の平文を知っていたとしても、擬似乱数系列を知り得るのはビットパターンの内の１つのビットに対する情報だけであり、これから擬似乱数全体（すなわち、擬似乱数発生器の内部状態）を知ることは極めて困難である。また、或るチャネルの正当な受信者が、他チャンネルに対する盗聴を行うことも同様に極めて困難である。【００４２】
次に、符号化率について考察する。
各チャネルのビットパターンが全くランダムで無相関の場合を考えると、各ビットの論理積が「１」になる確率は２-Nである。したがって、全てのビットが「０」になって暗号化が失敗する確率は、次の通りであり、Ｌ＝Ｎのときは、エラー確率０．３７である。
【数４】
2008081516.tif 000006
ビットパターンに制約を設けることで、暗号化失敗の確率を下げることも可能であるので、エラーの対処方法を適切にすれば、符号化率として７０％以上を得るのは比較的容易である。【００４３】
従来の疑似乱数と物理乱数を併用する暗号方法では、送信する情報量は平文の情報量と物理乱数の情報量の和より大きい必要があるため、安全性と引き換えに符号化率の低下は避けられなかった。【００４４】
しかしながら、本発明は、電波を用いた通信におけるＣＤＭＡ（Code Division Multiple Access）方法のように、擬似乱数系列をコードとして多重化された暗号文の中からを特定の平文を選択的に復号する方法であり、無意味な物理乱数を用いないため全体としての符号化率の低下を非常に小さく抑えることができる。【００４５】
なお、盗聴者だけでなく、正当な受信者でも他の擬似乱数系列を知らなければ他の平文を得ることはできず、また、通信された暗号に対するすべての平文を知っていても、それらを暗号化するために複数の擬似乱数系列を用いているため擬似乱数系列を推定することは極めて困難であると考えられる。【００４６】
このように、本発明によれば、暗号化の符号率を著しく低下させることなく、既知平文攻撃に対する安全性を高めることのできるストリーム暗号方法および暗号システムを提供することができる。
【実施例】
【００４７】
以下、本発明に係るストリーム暗号方法および暗号システムの実施例を、添付図面を参照して詳述する。【００４８】
図４は本発明に係るストリーム暗号方法の第１実施例を説明するためのブロック図であり、２Lビットのビットパターンｐ(c)として擬似乱数発生器の２Lビット分の出力ｒ(c)をそのまま用いる場合、すなわち、ｐ(1)＝ｒ(1)，ｐ(2)＝ｒ(2)，ｐ(3)＝ｒ(3)の場合を示している。【００４９】
まず、２Lビットのビットパターンｘから、１であるビット番号を得るエンコーダ回路（暗号器）１の一例を説明する。このエンコーダ回路は、プライオリティエンコーダではなく、「１」であるビットの個数が０、１、２つ以上のどれであるかを判定することができ、その「１」であるビットの個数が１であるとき、対応するビット番号を出力する。【００５０】
エンコーダ回路１では、ｍ(k)をそのビット番号を２進数で表したときのｋ番目のビットと同じ値であるビット列からなる２Lビットのビットパターンを、
【数５】
2008081516.tif 000007
としたとき、入力のビットパターンｘから次のような値を計算する。
【数６】
2008081516.tif 000008
ここで、ａはビットパターンｘに「１」が１つ以上あることを表し、ｂは「１」が２つ以上あることを表す。そして、ａ＝１，ｂ＝０のとき、ビットパターンｘに「１」が１つだけ存在し、そのビット番号は
【数７】
2008081516.tif 000009
である。【００５１】
この回路を用いて、次にように暗号シンボルを決定する。
まず、ａ＝１，ｂ＝０のときは、ｖをそのまま暗号文Ｓとすればよい。
ｂ＝１のときは、ｘに「１」が２つ以上ありｖは正しいビット番号を示さない。ｖ(k)のうち１つ以上が「１」であるので、そのｋに対応するｍ(k)またはその否定／ｍ(k)とｘのビット毎の論理積を取り、それを改めてｘとする。
【数８】
2008081516.tif 000010
この操作を最大Ｌ回繰り返すことで、必ずｘに「１」が１つだけ存在するようにすることができ、そのビット番号を暗号文Ｓとする。【００５２】
ａ＝０のときは、暗号化失敗である。これに対処する方法として様々な方法が考えられる。【００５３】
すなわち、暗号化が失敗のときの第１の方法は、２Lの暗号シンボルのうち少なくとも１つを、暗号化失敗を表すシンボルとして予め設定し、ａ＝０のときは、その暗号化失敗を表すシンボルを用いるというものである。【００５４】
この第１の方法では、暗号化失敗を表すシンボル以外のものが用いられるのは必ず暗号化が成功の場合であるため、データの消失は起こるがエラーは発生しない。しかしながら、暗号化が失敗した場合は、すべてのチャネルでデータの消失が起こる。【００５５】
Ｌが２および８の場合、チャネル数と消失率および符号化率は次のようになる。
【表１】
2008081516.tif 000011
【００５６】
具体的に、上記表１から、例えば、Ｌが２（２2ビット）でチャネル数が２のとき、符号化率が０．５７８１３、そして、消失率が０．４２１８８となり、また、Ｌが８（２8ビット）でチャネル数が７のとき、符号化率が０．７５６５８、そして、消失率が０．１３５３３となることがわかる。【００５７】
次に、暗号化が失敗のときの第２の方法は、失敗した場合は幾つかのチャネルを除いて暗号化を行い、除いたチャネルにエラーが発生することを許容する方法である。エラーを起こすチャネルの選び方としていろいろな手法が考えられるが、以下の手法が簡便であり符号化率の点からも有利であると考えられる。【００５８】
すなわち、各チャネルのビットパターンｑ(c)の論理積を一度にとるのではなく、チャネルに優先順位をつけ、優先順位の高いほうから順番に論理積を取って行く。【００５９】
ｘ(0)＝ｑ(0)，ｘ(k)＝ｘ(k-1)・ｑ(k)
そして、もし、ａ＝０となったら、そのチャネルを加えると符号化が失敗することを意味するので、そのチャネルを除き、すなわち、ｑ(k)との論理積をとるステップをスキップして、次のチャネルのステップへ進むようにする。【００６０】
上記の第２の方法は、あるチャネルでエラーが発生しても他のチャネルに影響する訳ではないが、エラーの検出・訂正はできないため、元のデータ（平文）にエラー検出・訂正可能なものを用いる必要がある。また、データの消失に比べてエラーの方が通信路容量に与える影響が大きいため、必ずしも通信路容量が大きくなる訳ではなく、さらに、チャネルの優先度によりエラー発生率が異なるため、通信路容量も異なる。【００６１】
さらに、暗号化が失敗のときの第３の方法は、上記の第１および第２の方法を組み合わせたものである。【００６２】
すなわち、例えば、チャネルに優先順位をつけ、優先順位の高いほうから幾つかのチャネルでエラーを発生した場合は符号化失敗のシンボルを送出し、残りのチャネルに対しては、順番に論理積を取って行って、ａ＝０となったら、そのチャネルをスキップするというものである。これにより、優先順位の高いチャネルのデータ消失率を小さくすることができる。【００６３】
そして、暗号化が失敗のときの第４の方法は、２Lの暗号シンボルを幾つかのグループに分け、どのチャネルにエラーが発生するかによって、そのグループを切り替えることで、復号のときに訂正可能とするものである。【００６４】
なお、本第４の方法においても、暗号化の失敗を示すシンボルを設定することもできる。また、ｑ(c)の長さが短くなるため、すべてのチャネルの論理積がすべて「０」となる確率は高まるが、訂正を行うことができるので全体としての消失率や誤り率はほぼ同等である。さらに、本第４の方法は、ビットパターンが短くすることができるという利点を有するが、多重化によるデータの攪拌効果は低下する。【００６５】
図５は本発明に係るストリーム暗号方法の第２実施例を説明するためのブロック図である。【００６６】
図５に示されるように、本第２実施例では、ｒ(c)からｐ(c)へのマッピングのための回路（ＲＯＭなどで実現）を用いる。ｐ(c)として「０」と「１」の数がほぼ同じであるビットパターンのみを用いると、ｑ(c)として０が多いパターンが選ばれてエラーが発生しやすくなることが避けられるので、特にチャネル数が少ない場合の暗号化の成功の確率を上げることができる。【００６７】
また、既知平文攻撃によりｐs(c)が知られてしまっても、それからｒ(c)の特定のビットが知られてしまうわけではないので、乱数系列の推定がより困難になると考えられる。ｐ(c)からｒ(c)の推定を困難にするため、ｒ(c)からｐ(c)へのマッピングは非線形であることが望ましい。【００６８】
次に、本発明に係るストリーム暗号方法の第３実施例を説明する。この本発明に係るストリーム暗号方法の第３実施例は、３値のｐ(c)を用いるものである。ここで、ｐ(c)は「−１」と「１」の数がほぼ同じパターンであることが望ましい。【００６９】
すなわち、ｑi(c)＝ｐi(c)×（２ｔ(c)−１）により、各チャネルのパターンを決定する。まず、ｑ(c)のうち「１」の部分のみを「１」としたビットパターンを用いて、暗号シンボルの絞り込みを行うが、失敗した場合には、ｑ(c)のうち「−１」でない部分を「１」としたパターンを用いて暗号シンボルの絞り込みを行う。【００７０】
図６は本発明に係るストリーム暗号方法の第４実施例を説明するためのブロック図である。この第４実施例は、上述した第２および第３実施例におけるマッピングの手法としてハミング距離を用いたものである。【００７１】
まず、簡単のため、Ｌが奇数の場合を考える。
ｐ(c)として、Ｌビット分の擬似乱数系列ｒ(c)とそのビット番号のハミング距離がＬ／２より大きいか否かにより、「０」か「１」を決める手法を用いる。
【数９】
2008081516.tif 000012
暗号化は、前述した第２実施例と同じであるが、復号を容易に行うことができる。すなわち暗号文Ｓと擬似乱数系列のビット毎の排他的論理和を多数決回路に入れることで平文を得ることができる。【００７２】
次に、Ｌが偶数の場合は、
【数１０】
2008081516.tif 000013
とすることで、３値パターンを発生させることができる。復号は偶数入力の多数決回路を用いることで、「０」，「１」および「消失」を判定することができる。【００７３】
また、ハミング距離の計算は必ずしもＬビットすべてに対して行う必要はない、Ｌビットのうち一部のＭビットのみが「１」であるマスクビットパターンを用いて、
【数１１】
2008081516.tif 000014
とすることもできる。このようにすることでＬの奇偶にかかわらず、２値または３値のｐ(c)を発生させることができる。なお、マスクビットパターンは、固定でも良いが、擬似乱数に応じて決めることもできる。【００７４】
次に、本発明に係るストリーム暗号方法の第５実施例を説明する。この本発明に係るストリーム暗号方法の第５実施例は、暗号シンボルの符号長Ｌを可変にしたものである。【００７５】
前述した第１実施例の第１の手法のように、例えば、暗号化失敗のシンボルを用いた場合は、送ろうとしていたデータは次の暗号シンボルを用いて送られるので、実質的には可変符号長と考えることもできるが、ここでは、別の実施例について説明する。【００７６】
まず、前述した第１実施例と同様にｐ(c)として擬似乱数系列ｒ(c)をそのまま用いる。ただし、擬似乱数系列ｒ(c)が１ビット発生する毎に全チャネルのｑi(c)の論理積をとり、その結果が最初に「１」となるビット番号を送信データとし、カウンタをリセットする。【００７７】
ここで、ビット番号をそのまま送るのは効率が悪いため、例えば、ビット番号に上限を設けてハフマン符号化等による圧縮を行い暗号化する。チャネル数がＮの時の送信データの情報量は、Ｎ−（２N−１）ｌｏｇ2（１−２-N）であるため、Ｎが大きくかつ圧縮が十分効率的に行なえれば、Ｎ／（Ｎ＋ｌｏｇ2ｅ）程度の符号化率が期待できる。【００７８】
図７は本発明に係るストリーム暗号システムにおける暗号器（符号器）の一例を示すブロック図であり、図８は本発明に係るストリーム暗号システムにおける復号器の一例を示すブロック図である。なお、図７に示す暗号器および図８に示す復号器は、前述した図５に示すストリーム暗号方法の第２実施例に対応するものである。【００７９】
暗号器１は、Ｎ個の各チャネルにおいて、それぞれ暗号鍵ｋ(c)（ｋ(1)〜ｋ(N)）に応じてｒ(c)（ｒ(1)〜ｒ(N)）を発生する疑似乱数発生器１１（１１−１〜１１−Ｎ），ｒ(c)（ｒ(1)〜ｒ(N)）からｐ(c)（ｐ(1)〜ｐ(N)）を発生するパターン発生器１２（１２−１〜１２−Ｎ），平文ｔ（ｔ(1)〜ｔ(N)）を反転するインバータ１４（１４−１〜１４−Ｎ），パターン発生器１２（１２−１〜１２−Ｎ）の出力とインバータの出力を加算する加算器１４（１４−１〜１４−Ｎ），および，各加算器１４（１４−１〜１４−Ｎ）から出力された各チャネル１〜Ｎに対するビットパターンｑ(c)（ｑ(1)〜ｑ(N)）を符号化して暗号文Ｓを出力するエンコーダ１５を備えている。この暗号文Ｓは、様々な通信回線（伝送路）を介して受け側の復号器２へ伝送される。【００８０】
復号器２は、Ｎ個の各チャネルにおいて、それぞれ暗号鍵ｋ(c)（ｋ(1)〜ｋ(N)）に応じてｒ(c)（ｒ(1)〜ｒ(N)）を発生する疑似乱数発生器２１（２１−１〜２１−Ｎ），ｒ(c)（ｒ(1)〜ｒ(N)）からｐ(c)（ｐ(1)〜ｐ(N)）を発生するパターン発生器２２（２２−１〜２２−Ｎ），および，パターン発生器２２（２２−１〜２２−Ｎ）の出力に応じて暗号文Ｓで指定されたビット番号の値を選択するセレクタ２３（２３−１〜２３−Ｎ）を備えている。ここで、復号器２における疑似乱数発生器２１（２１−１〜２１−Ｎ）の出力ｒ(c)（ｒ(1)〜ｒ(N)）およびパターン発生器２２（２２−１〜２２−Ｎ）の出力ｐ(c)（ｐ(1)〜ｐ(N)）は、それぞれ同じ暗号鍵ｋ(c)（ｋ(1)〜ｋ(N)）により暗号器１における疑似乱数発生器１１（１１−１〜１１−Ｎ）およびパターン発生器１２（１２−１〜１２−Ｎ）の出力と同じである。【００８１】
なお、図７および図８の暗号器および符号器（暗号システム）は単なる例であり、上述した各実施例およびその変形例等に応じて様々に変化させることができるのはいうまでもない。【００８２】
以上、詳述したように、本発明に係る暗号方法および暗号システムは、順次チャネル毎に擬似乱数系列を用いて暗号シンボルの集合を２分し、平文データによりその一方を選ぶことにより、暗号シンボルの候補を絞り込んで行き、最後に残ったものを採用するといった技術的思想に基づいている。【００８３】
ただし、分割の仕方やエラーの対処等に関しては様々な手法が考えられ、上述した各実施例の説明は、その単なる例を説明するものに過ぎず、上述した実施例の他に様々な構成を適用することができるのはいうまでもない。【００８４】
そして、本発明を適用することにより、互いに独立な入力信号と擬似乱数系列をまとめてビット毎に暗号化することができ、符号化率の低下を抑制しつつ既知平文攻撃によっても擬似暗号系列が推定されにくい暗号方法および暗号システムを提供することが可能になる。【００８５】
なお、本発明は、上述したストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置にも適用することができる。
【図１】
2008081516.tif 000015
【図２】
2008081516.tif 000016
【図３】
2008081516.tif 000017
【図４】
2008081516.tif 000018
【図５】
2008081516.tif 000019
【図６】
2008081516.tif 000020
【図７】
2008081516.tif 000021
【図８】
2008081516.tif 000022
【手続補正書】
【提出日】平成21年1月22日(2009.1.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、
前記Ｎ個の擬似乱数系列を使用してＬビットの暗号シンボル集合を平均的に２等分し、
対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、
選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号方法。
【請求項２】
請求項１に記載のストリーム暗号方法において、
前記選択されたＮ個の部分集合の共通部分となる集合の要素が１つも無いときは、符号化失敗を表すシンボルを暗号シンボルとすることを特徴とするストリーム暗号方法。
【請求項３】
請求項１に記載のストリーム暗号方法において、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、前記分割をスキップすることを特徴とするストリーム暗号方法。
【請求項４】
請求項１に記載のストリーム暗号方法において、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、そのチャネル番号に応じて、符号化失敗を表すシンボルを暗号シンボルとするか、或いは、前記分割をスキップすることを特徴とするストリーム暗号方法。
【請求項５】
請求項１に記載のストリーム暗号方法において、
前記暗号シンボル集合を、前記Ｎ個の擬似乱数系列を使用して平均的に２等分する代わりに、第１の平文に対応する第１の部分集合，第２の平文に対応する第２の部分集合および暗号化失敗に対応する第３の部分集合の３つに分割し、
前記第１の部分集合と前記第２の部分集合との共通部分となる集合の要素が１つも無いときは、前記第３の部分集合を使用してエラーが他の信号系列に及ぶのを低減することを特徴とするストリーム暗号方法。
【請求項６】
請求項１に記載のストリーム暗号方法において、
前記疑似乱数系列を２のＬ乗ビットの乱数系列とし、前記暗号シンボルの番号に対応する乱数ビットに応じて前記暗号シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【請求項７】
請求項１に記載のストリーム暗号方法において、
前記暗号シンボル集合の分割に使用する前記擬似乱数系列から、２のＬ乗ビットのビットパターンを生成し、且つ、
前記暗号シンボル集合の番号に対応するビットに応じて、前記シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【請求項８】
請求項１に記載のストリーム暗号方法において、
前記疑似乱数を使用して疑似乱数と暗号シンボルを２進数で表したときのビット毎の排他的論理和と所定のマスクパターンの論理積をとり、
その結果のビットパターンの「１」の数に応じて、シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【請求項９】
請求項１に記載のストリーム暗号方法において、さらに、
暗号化シンボルのビット数Ｌを可変とすることにより、符号化率を向上させるようにしたことを特徴とするストリーム暗号方法。
【請求項１０】
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器と、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器と、を備えるストリーム暗号システムであって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号システム。
【請求項１１】
請求項１〜９のいずれか１項に記載のストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーム暗号方法および暗号システムに関し、特に、平文の情報をビット単位で暗号化するストリーム暗号方法および暗号システムに関する。
【背景技術】
【０００２】
従来、例えば、情報の安全な伝達および知的財産の保護のためには、限られた人だけに必要な情報を与えるようにする必要があり、通常は暗号を用いることで実現されている。
【０００３】
暗号による情報の伝達において、情報の送信者と正当な受信者は、第三者の知らない別の情報を予め知っている必要があり、この情報は暗号鍵と呼ばれている。
【０００４】
一般に、暗号方法（方式）としては、送信者が暗号化（符号化）に用いる鍵と受信者が復号化に用いる鍵が同一の共通鍵暗号方法、および、公開鍵と秘密鍵という別の鍵を用いる公開鍵暗号方法が知られている。
【０００５】
まず、公開鍵暗号方法は、鍵の配布が容易であるという利点を有しているが、暗号化に必要とされる計算量が多いという問題がある。また、公開鍵と秘密鍵には一定の関係があり、安全性の根拠は、現在の計算機および計算アルゴリズムで公開鍵から秘密鍵を得るのに膨大は計算時間が掛かり実質的には不可能であるという計算量的安全性であるため、新たなアルゴリズムの発見などにより安全性が損なわれる可能性がある。
【０００６】
一方、共通鍵暗号方法は、秘密鍵の安全な配布が困難であるという問題があるが、計算量が少ないため、高速な通信に用いることができる。そのため、秘密鍵の配布には公開鍵暗号を用い、そして、実際の情報の通信には共通鍵暗号方法を用いることが多い。
【０００７】
共通鍵暗号方法には、送りたい情報（平文）を一定の長さのブロックに分け、ブロック毎に同じ秘密鍵を用いて暗号化を行うブロック暗号方法と、秘密鍵を用いて擬似乱数系列を発生し、この擬似乱数系列を用いて平文を１ビット毎に暗号化するストリーム暗号方法がある。
【０００８】
図１は従来のストリーム暗号方法の一例を説明するためのブロック図である。
図１に示されるように、従来のストリーム暗号方法の一例は、例えば、送り側において、秘密鍵を乱数発生の種として使用して擬似乱数系列を発生し、その擬似乱数系列により平文を暗号化して暗号文を生成する。具体的に、例えば、１ビット毎に擬似乱数系列「０１０１１００１」と平文「００１１０１０１」との排他的論理和をとることにより暗号文「０１１０１１００」を生成し、その暗号文を、伝送路を介して受け側に伝達する。
【０００９】
受け側では、１ビット毎に伝達（伝送）された暗号文「０１１０１１００」と擬似乱数系列「０１０１１００１」との排他的論理和をとって元の平文「００１１０１０１」を得る。
【００１０】
このように、従来のストリーム暗号方法では、例えば、秘密鍵を乱数発生の種として用いて擬似乱数系列を発生し、その擬似乱数系列と平文を１ビット毎の排他的論理和をとることにより暗号文を生成している。
【００１１】
そのため、暗号文に対応する一部の平文を手に入れることができれば、擬似乱数系列の一部を得ることが可能になる。ここで、擬似乱数発生器は、現在の内部状態が決まれば、乱数系列を一意に決定するため、盗聴者に渡ってしまった一部の擬似乱数系列からその内部状態が推定されると、暗号文は全て解読されてしまうことになる。
【００１２】
したがって、一部の擬似乱数系列からその内部状態の推定されやすさが、安全性を決定することになる。そのため、擬似乱数発生器としては、線形帰還型シフトレジスタのような単純な構成では全く実用にならず、非線形性を持つ複雑な構成を用いる必要がある。
【００１３】
ところで、一部の平文が盗聴者に知られてしまっても、それから擬似乱数系列を知ることが困難であれば、擬似乱数発生器の内部状態を知られてしまう危険性は低減されるはずである。このような発想に基づく手法として、物理雑音や物理乱数を加えて暗号化を行うものがある。
【００１４】
図２は従来のストリーム暗号方法の他の例を説明するためのブロック図であり、平文の情報が知られても擬似乱数の情報が一意に知られることがないようにしたストリーム暗号方法を示すものである。
【００１５】
図２に示されるように、従来のストリーム暗号方法の他の例では、送り側において、平文「０」に対して物理乱数（物理ノイズ）「０１」を加え、疑似乱数系列を使用して攪拌し、暗号文「０１０」を生成して、伝送路を介して受け側に伝達する。
【００１６】
受け側では、暗号文「０１０」に対して、疑似乱数系列を使用して送り側で行った攪拌と逆の処理（攪拌-1）を行って平文「０」を得る。
【００１７】
この従来のストリーム暗号方法の他の例は、平文の情報が知られても擬似乱数の情報が一意に知られてしまわないように、物理乱数や物理ノイズを加えて暗号文としているため、暗号文の情報量は必ず平文の情報量より大きい必要がある。
【００１８】
したがって、２値信号で伝送する場合は、暗号文には平文より多いビット数を割り当てる必要があり、符号化率の低下は避けられない。さらに、アナログ（多値）伝送では、データレートを低下させない伝送を行うことは可能であるが、必要とされるＳ／Ｎ比が大きくなるため通信路容量も増やす必要があり、実質的な符号化率が低下することに変わりはない。
【００１９】
ところで、従来、対応した送受信局間以外の受信局へのデータ信号の内容漏洩を阻止する時分割多重化通信装置として、各送信局間では異なったＭ系列信号とデータ信号との排他的論理和を得てから送信するようにしたものが提案されている（例えば、特許文献１参照）。しかしながら、この方法は、各データは独立に暗号化されており、多数のデータを組み合わせて暗号化して、通信の秘匿性を高めているわけではない。
【００２０】
また、上記の物理雑音を用いた暗号化の例として、従来、レーザ光（コヒーレント光）の量子雑音を使用してアナログ伝送を行うことにより秘匿性を高めることを狙った暗号方法（Ｙ−００）も提案されている（例えば、非特許文献１参照）。
【００２１】
【特許文献１】特開昭６０−０３２４５３号公報
【非特許文献１】G. A. Barbosa, "Fast and secure key distribution using mesoscopic coherent states of light", Phys. Rev. A 68, 052307 (2003)
【発明の開示】
【発明が解決しようとする課題】
【００２２】
前述したように、ストリーム暗号方法は、ブロック暗号方法に比べて計算量が少ないため、高速通信に有利である。このストリーム暗号方法では、一部の暗号文に対する平文が盗聴者に知られてしまった場合（既知平文攻撃）、擬似乱数系列の一部がそのまま盗聴者に知られることになり、一部の乱数系列から元の秘密鍵（擬似乱数系列の種）の推定の困難さが、安全性の尺度となる。しかしながら、この安全性評価手法は、ブロック暗号に比べると十分に確立されているとはいえないという問題がある。
【００２３】
前述したように、ストリーム暗号方法の安全性を高める技術として、実際に送りたい情報に対してランダムな物理乱数（雑音）を加えて暗号化することにより、既知平文攻撃による擬似乱数系列の推定を困難にして安全性を高めるという手法も提案されている。この手法を適切に用いれば、安全性の向上は十分可能であると考えられるが、物理乱数の情報も合わせて送信するため、多値送信が必要となり、或いは、符号化率の低下が避けられないといった問題がある。
【００２４】
このような方法として、従来、Ｙ−００方法と呼ばれる疑似乱数と物理乱数を併用する暗号方法も提案されているが、このＹ−００方法では、既知平文攻撃においても盗聴者が正しい疑似乱数系列を得ることができないため、疑似乱数発生器の内部状態の推定が困難で通常のストリーム暗号より安全な暗号方法であるとされている。
【００２５】
しかしながら、Ｙ−００方法では、平文１ビットに対する送信シンボルの数が４〜２０００程度と大きいため符号化率が低くチャネル容量の利用効率が低いという問題がある。
【００２６】
本発明は、上述した従来の暗号化技術が有する課題に鑑み、暗号化の符号率を著しく低下させることなく、既知平文攻撃に対する安全性を高めることのできるストリーム暗号方法および暗号システムの提供を目的とする。
【課題を解決するための手段】
【００２７】
本発明の第１の形態によれば、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、前記Ｎ個の擬似乱数系列を使用して（、各擬似乱数ごとに独立に、）Ｌビットの暗号シンボル集合を平均的に２等分し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号方法が提供される。
【００２８】
本発明の第２の形態によれば、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器と、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器と、を備えるストリーム暗号システムであって、前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号システムが提供される。
【００２９】
本発明の第３の形態によれば、Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、前記Ｎ個の擬似乱数系列を使用してＬビットの暗号シンボル集合を平均的に２等分し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとするストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置が提供される。
【発明の効果】
【００３０】
本発明によれば、暗号化の符号率を著しく低下させることなく、既知平文攻撃に対する安全性を高めることのできるストリーム暗号方法および暗号システムを提供することができる。
【発明を実施するための最良の形態】
【００３１】
まず、本発明に係るストリーム暗号方法の原理を、図３を参照して説明する。
本発明は、複数の独立な平文をまとめて暗号化することにより、別の平文の情報に物理乱数と似た働きをさせ、符号化率の低下を避けながら擬似乱数系列の推定を困難にするものである。
【００３２】
図３は本発明に係るストリーム暗号方法の原理を説明するためのブロック図であり、Ｎ個の１ビット平文からＬビットの暗号文を得る場合を示している。なお、説明のために、各平文系列に対する信号の伝送する論理的な経路（伝送路）をチャネルと呼び、１〜Ｎの番号ｃを付ける。暗号化前および復号後は、各チャネルは独立であるが、暗号化の際にそれらは融合し、各チャネルの情報は混じり合って伝送される。また、各チャネルに対して、独立に擬似乱数系列ｒ(c)を使用し、暗号化と復号で共通鍵により生成された同じ系列を使用する。
【００３３】
まず、暗号器では、次に示すように、各チャネル毎に擬似乱数系列ｒ(c)により一意に決まる２Lビットのビットパターンが生成される。
【数１】
2008081516.tif 000023
そして、次に示すように、そのチャネルの平文ｔ(c)が「０」か「１」かによって、そのビットパターンをそのまま適用するか反転して適用するかを決定する。
【数２】
2008081516.tif 000024
さらに、次に示すように、得られた全チャネルに対するビットパターンｑ(c)のビット毎の論理積を計算する。
【数３】
2008081516.tif 000025
すなわち、暗号器１（送り側）において、例えば、図３に示されるように、平文１のｔ(1)は「１」、平文２のｔ(2)は「０」、そして、平文３のｔ(3)は「１」なので、平文１のビットパターン（パターン）ｐ(1)「０１０１１００１」はそのままｑ(1)「０１０１１００１」、平文２のパターンｐ(2)「００１１０１０１」は反転してｑ(2)「１１００１０１０」、そして、平文３のパターンｐ(3)「１００１１０１０」はそのままｑ(2)「１００１１０１０」として適用される。ここで、例えば、平文１のパターンｐ(1)「０１０１１００１」において、各ビットデータは、ｐ0(1)は「０」，ｐ1(1)は「１」，ｐ2(1)は「０」，ｐ3(1)は「１」，ｐ4(1)は「１」，ｐ5(1)は「０」，ｐ6(1)は「０」，そして，ｐ7(1)は「１」となる。
【００３４】
そして、論理積の計算の結果が「１」であるビットが存在すれば、そのビット番号（０〜２L−１）を暗号文Ｓ「００００１０００」とする。このとき、ｑs(c)＝１→ｐs(c)＝ｔs(c)が成立している。なお、「１」であるビットが複数ある場合は、そのうちどれを用いてもよい。このようにして生成された暗号文Ｓは、受け側へ伝送され、復号器２により復号される。
【００３５】
復号器２（受け側）では、同じ擬似乱数系列ｒ(c)により同じビットパターンｐ(c)を発生し、暗号文Ｓで指定されたビット番号の値をとることにより平文ｔ(c)が得られる。
【００３６】
ここで、ｘに「１」であるビットが１つもないときは、暗号化に失敗してエラーを発生することになるが、その対処法は様々なものが考えられ、後に詳述する。また、暗号シンボルｓのビット数Ｌが固定の場合を説明したが、Ｌを可変にすることも可能である。
【００３７】
上記のストリーム暗号方法では、ｐ(c)として２値のビットパターンを用いたが、３値（例えば、「−１」，「０」，「１」）のパターンを用い、平文ｔ(c)が「０」のときは「−１」を取るビット番号を、「１」のときは「１」を取るビット番号をできるだけ使用するように構成するが、もし、無理な場合は、「０」を取るビットを用いるという方法もある。この場合は、他のチャネルにあまり影響を与えずに、特定のチャネルだけ休止（データの消失）させることが可能になる。なお、上記説明は、単に、本発明の原理を説明するためのものであり、実際に本発明を適用する場合には、同様の機能を有するより簡単な構成に置き換えられる場合もある。
【００３８】
このように、本発明に係るストリーム暗号方法においては、結果として得られるＬビット暗号シンボルの特定の場所（ビット）に特定のチェネルの情報が埋め込まれている訳ではなく、複数のチャネルの平文および擬似乱数の相互の関係で決まるものである。
【００３９】
したがって、盗聴者が特定のチャネルに対する一部の平文を知っていたとしても、擬似乱数系列を知り得るのはビットパターンの内の１つのビットに対する情報だけであり、これから擬似乱数全体（すなわち、擬似乱数発生器の内部状態）を知ることは極めて困難である。また、或るチャネルの正当な受信者が、他チャンネルに対する盗聴を行うことも同様に極めて困難である。
【００４０】
次に、符号化率について考察する。
各チャネルのビットパターンが全くランダムで無相関の場合を考えると、各ビットの論理積が「１」になる確率は２-Nである。したがって、全てのビットが「０」になって暗号化が失敗する確率は、次の通りであり、Ｌ＝Ｎのときは、エラー確率０．３７である。
【数４】
2008081516.tif 000026
ビットパターンに制約を設けることで、暗号化失敗の確率を下げることも可能であるので、エラーの対処方法を適切にすれば、符号化率として７０％以上を得るのは比較的容易である。
【００４１】
従来の疑似乱数と物理乱数を併用する暗号方法では、送信する情報量は平文の情報量と物理乱数の情報量の和より大きい必要があるため、安全性と引き換えに符号化率の低下は避けられなかった。
【００４２】
しかしながら、本発明は、電波を用いた通信におけるＣＤＭＡ（Code Division Multiple Access）方法のように、擬似乱数系列をコードとして多重化された暗号文の中からを特定の平文を選択的に復号する方法であり、無意味な物理乱数を用いないため全体としての符号化率の低下を非常に小さく抑えることができる。
【００４３】
なお、盗聴者だけでなく、正当な受信者でも他の擬似乱数系列を知らなければ他の平文を得ることはできず、また、通信された暗号に対するすべての平文を知っていても、それらを暗号化するために複数の擬似乱数系列を用いているため擬似乱数系列を推定することは極めて困難であると考えられる。
【００４４】
このように、本発明によれば、暗号化の符号率を著しく低下させることなく、既知平文攻撃に対する安全性を高めることのできるストリーム暗号方法および暗号システムを提供することができる。
【実施例】
【００４５】
以下、本発明に係るストリーム暗号方法および暗号システムの実施例を、添付図面を参照して詳述する。
【００４６】
図４は本発明に係るストリーム暗号方法の第１実施例を説明するためのブロック図であり、２Lビットのビットパターンｐ(c)として擬似乱数発生器の２Lビット分の出力ｒ(c)をそのまま用いる場合、すなわち、ｐ(1)＝ｒ(1)，ｐ(2)＝ｒ(2)，ｐ(3)＝ｒ(3)の場合を示している。
【００４７】
まず、２Lビットのビットパターンｘから、１であるビット番号を得るエンコーダ回路（暗号器）１の一例を説明する。このエンコーダ回路は、プライオリティエンコーダではなく、「１」であるビットの個数が０、１、２つ以上のどれであるかを判定することができ、その「１」であるビットの個数が１であるとき、対応するビット番号を出力する。
【００４８】
エンコーダ回路１では、ｍ(k)をそのビット番号を２進数で表したときのｋ番目のビットと同じ値であるビット列からなる２Lビットのビットパターンを、
【数５】
2008081516.tif 000027
としたとき、入力のビットパターンｘから次のような値を計算する。
【数６】
2008081516.tif 000028
ここで、ａはビットパターンｘに「１」が１つ以上あることを表し、ｂは「１」が２つ以上あることを表す。そして、ａ＝１，ｂ＝０のとき、ビットパターンｘに「１」が１つだけ存在し、そのビット番号は
【数７】
2008081516.tif 000029
である。
【００４９】
この回路を用いて、次にように暗号シンボルを決定する。
まず、ａ＝１，ｂ＝０のときは、ｖをそのまま暗号文Ｓとすればよい。
ｂ＝１のときは、ｘに「１」が２つ以上ありｖは正しいビット番号を示さない。ｖ(k)のうち１つ以上が「１」であるので、そのｋに対応するｍ(k)またはその否定／ｍ(k)とｘのビット毎の論理積を取り、それを改めてｘとする。
【数８】
2008081516.tif 000030
この操作を最大Ｌ回繰り返すことで、必ずｘに「１」が１つだけ存在するようにすることができ、そのビット番号を暗号文Ｓとする。
【００５０】
ａ＝０のときは、暗号化失敗である。これに対処する方法として様々な方法が考えられる。
【００５１】
すなわち、暗号化が失敗のときの第１の方法は、２Lの暗号シンボルのうち少なくとも１つを、暗号化失敗を表すシンボルとして予め設定し、ａ＝０のときは、その暗号化失敗を表すシンボルを用いるというものである。
【００５２】
この第１の方法では、暗号化失敗を表すシンボル以外のものが用いられるのは必ず暗号化が成功の場合であるため、データの消失は起こるがエラーは発生しない。しかしながら、暗号化が失敗した場合は、すべてのチャネルでデータの消失が起こる。
【００５３】
Ｌが２および８の場合、チャネル数と消失率および符号化率は次のようになる。
【表１】
2008081516.tif 000031
【００５４】
具体的に、上記表１から、例えば、Ｌが２（２2ビット）でチャネル数が２のとき、符号化率が０．５７８１３、そして、消失率が０．４２１８８となり、また、Ｌが８（２8ビット）でチャネル数が７のとき、符号化率が０．７５６５８、そして、消失率が０．１３５３３となることがわかる。
【００５５】
次に、暗号化が失敗のときの第２の方法は、失敗した場合は幾つかのチャネルを除いて暗号化を行い、除いたチャネルにエラーが発生することを許容する方法である。エラーを起こすチャネルの選び方としていろいろな手法が考えられるが、以下の手法が簡便であり符号化率の点からも有利であると考えられる。
【００５６】
すなわち、各チャネルのビットパターンｑ(c)の論理積を一度にとるのではなく、チャネルに優先順位をつけ、優先順位の高いほうから順番に論理積を取って行く。
【００５７】
ｘ(0)＝ｑ(0)，ｘ(k)＝ｘ(k-1)・ｑ(k)
そして、もし、ａ＝０となったら、そのチャネルを加えると符号化が失敗することを意味するので、そのチャネルを除き、すなわち、ｑ(k)との論理積をとるステップをスキップして、次のチャネルのステップへ進むようにする。
【００５８】
上記の第２の方法は、あるチャネルでエラーが発生しても他のチャネルに影響する訳ではないが、エラーの検出・訂正はできないため、元のデータ（平文）にエラー検出・訂正可能なものを用いる必要がある。また、データの消失に比べてエラーの方が通信路容量に与える影響が大きいため、必ずしも通信路容量が大きくなる訳ではなく、さらに、チャネルの優先度によりエラー発生率が異なるため、通信路容量も異なる。
【００５９】
さらに、暗号化が失敗のときの第３の方法は、上記の第１および第２の方法を組み合わせたものである。
【００６０】
すなわち、例えば、チャネルに優先順位をつけ、優先順位の高いほうから幾つかのチャネルでエラーを発生した場合は符号化失敗のシンボルを送出し、残りのチャネルに対しては、順番に論理積を取って行って、ａ＝０となったら、そのチャネルをスキップするというものである。これにより、優先順位の高いチャネルのデータ消失率を小さくすることができる。
【００６１】
そして、暗号化が失敗のときの第４の方法は、２Lの暗号シンボルを幾つかのグループに分け、どのチャネルにエラーが発生するかによって、そのグループを切り替えることで、復号のときに訂正可能とするものである。
【００６２】
なお、本第４の方法においても、暗号化の失敗を示すシンボルを設定することもできる。また、ｑ(c)の長さが短くなるため、すべてのチャネルの論理積がすべて「０」となる確率は高まるが、訂正を行うことができるので全体としての消失率や誤り率はほぼ同等である。さらに、本第４の方法は、ビットパターンが短くすることができるという利点を有するが、多重化によるデータの攪拌効果は低下する。
【００６３】
図５は本発明に係るストリーム暗号方法の第２実施例を説明するためのブロック図である。
【００６４】
図５に示されるように、本第２実施例では、ｒ(c)からｐ(c)へのマッピングのための回路（ＲＯＭなどで実現）を用いる。ｐ(c)として「０」と「１」の数がほぼ同じであるビットパターンのみを用いると、ｑ(c)として０が多いパターンが選ばれてエラーが発生しやすくなることが避けられるので、特にチャネル数が少ない場合の暗号化の成功の確率を上げることができる。
【００６５】
また、既知平文攻撃によりｐs(c)が知られてしまっても、それからｒ(c)の特定のビットが知られてしまうわけではないので、乱数系列の推定がより困難になると考えられる。ｐ(c)からｒ(c)の推定を困難にするため、ｒ(c)からｐ(c)へのマッピングは非線形であることが望ましい。
【００６６】
次に、本発明に係るストリーム暗号方法の第３実施例を説明する。この本発明に係るストリーム暗号方法の第３実施例は、３値のｐ(c)を用いるものである。ここで、ｐ(c)は「−１」と「１」の数がほぼ同じパターンであることが望ましい。
【００６７】
すなわち、ｑi(c)＝ｐi(c)×（２ｔ(c)−１）により、各チャネルのパターンを決定する。まず、ｑ(c)のうち「１」の部分のみを「１」としたビットパターンを用いて、暗号シンボルの絞り込みを行うが、失敗した場合には、ｑ(c)のうち「−１」でない部分を「１」としたパターンを用いて暗号シンボルの絞り込みを行う。
【００６８】
図６は本発明に係るストリーム暗号方法の第４実施例を説明するためのブロック図である。この第４実施例は、上述した第２および第３実施例におけるマッピングの手法としてハミング距離を用いたものである。
【００６９】
まず、簡単のため、Ｌが奇数の場合を考える。
ｐ(c)として、Ｌビット分の擬似乱数系列ｒ(c)とそのビット番号のハミング距離がＬ／２より大きいか否かにより、「０」か「１」を決める手法を用いる。
【数９】
2008081516.tif 000032
暗号化は、前述した第２実施例と同じであるが、復号を容易に行うことができる。すなわち暗号文Ｓと擬似乱数系列のビット毎の排他的論理和を多数決回路に入れることで平文を得ることができる。
【００７０】
次に、Ｌが偶数の場合は、
【数１０】
2008081516.tif 000033
とすることで、３値パターンを発生させることができる。復号は偶数入力の多数決回路を用いることで、「０」，「１」および「消失」を判定することができる。
【００７１】
また、ハミング距離の計算は必ずしもＬビットすべてに対して行う必要はない、Ｌビットのうち一部のＭビットのみが「１」であるマスクビットパターンを用いて、
【数１１】
2008081516.tif 000034
とすることもできる。このようにすることでＬの奇偶にかかわらず、２値または３値のｐ(c)を発生させることができる。なお、マスクビットパターンは、固定でも良いが、擬似乱数に応じて決めることもできる。
【００７２】
次に、本発明に係るストリーム暗号方法の第５実施例を説明する。この本発明に係るストリーム暗号方法の第５実施例は、暗号シンボルの符号長Ｌを可変にしたものである。
【００７３】
前述した第１実施例の第１の手法のように、例えば、暗号化失敗のシンボルを用いた場合は、送ろうとしていたデータは次の暗号シンボルを用いて送られるので、実質的には可変符号長と考えることもできるが、ここでは、別の実施例について説明する。
【００７４】
まず、前述した第１実施例と同様にｐ(c)として擬似乱数系列ｒ(c)をそのまま用いる。ただし、擬似乱数系列ｒ(c)が１ビット発生する毎に全チャネルのｑi(c)の論理積をとり、その結果が最初に「１」となるビット番号を送信データとし、カウンタをリセットする。
【００７５】
ここで、ビット番号をそのまま送るのは効率が悪いため、例えば、ビット番号に上限を設けてハフマン符号化等による圧縮を行い暗号化する。チャネル数がＮの時の送信データの情報量は、Ｎ−（２N−１）ｌｏｇ2（１−２-N）であるため、Ｎが大きくかつ圧縮が十分効率的に行なえれば、Ｎ／（Ｎ＋ｌｏｇ2ｅ）程度の符号化率が期待できる。
【００７６】
図７は本発明に係るストリーム暗号システムにおける暗号器（符号器）の一例を示すブロック図であり、図８は本発明に係るストリーム暗号システムにおける復号器の一例を示すブロック図である。なお、図７に示す暗号器および図８に示す復号器は、前述した図５に示すストリーム暗号方法の第２実施例に対応するものである。
【００７７】
暗号器１は、Ｎ個の各チャネルにおいて、それぞれ暗号鍵ｋ(c)（ｋ(1)〜ｋ(N)）に応じてｒ(c)（ｒ(1)〜ｒ(N)）を発生する疑似乱数発生器１１（１１−１〜１１−Ｎ），ｒ(c)（ｒ(1)〜ｒ(N)）からｐ(c)（ｐ(1)〜ｐ(N)）を発生するパターン発生器１２（１２−１〜１２−Ｎ），平文ｔ（ｔ(1)〜ｔ(N)）を反転するインバータ１４（１４−１〜１４−Ｎ），パターン発生器１２（１２−１〜１２−Ｎ）の出力とインバータの出力を加算する加算器１４（１４−１〜１４−Ｎ），および，各加算器１４（１４−１〜１４−Ｎ）から出力された各チャネル１〜Ｎに対するビットパターンｑ(c)（ｑ(1)〜ｑ(N)）を符号化して暗号文Ｓを出力するエンコーダ１５を備えている。この暗号文Ｓは、様々な通信回線（伝送路）を介して受け側の復号器２へ伝送される。
【００７８】
復号器２は、Ｎ個の各チャネルにおいて、それぞれ暗号鍵ｋ(c)（ｋ(1)〜ｋ(N)）に応じてｒ(c)（ｒ(1)〜ｒ(N)）を発生する疑似乱数発生器２１（２１−１〜２１−Ｎ），ｒ(c)（ｒ(1)〜ｒ(N)）からｐ(c)（ｐ(1)〜ｐ(N)）を発生するパターン発生器２２（２２−１〜２２−Ｎ），および，パターン発生器２２（２２−１〜２２−Ｎ）の出力に応じて暗号文Ｓで指定されたビット番号の値を選択するセレクタ２３（２３−１〜２３−Ｎ）を備えている。ここで、復号器２における疑似乱数発生器２１（２１−１〜２１−Ｎ）の出力ｒ(c)（ｒ(1)〜ｒ(N)）およびパターン発生器２２（２２−１〜２２−Ｎ）の出力ｐ(c)（ｐ(1)〜ｐ(N)）は、それぞれ同じ暗号鍵ｋ(c)（ｋ(1)〜ｋ(N)）により暗号器１における疑似乱数発生器１１（１１−１〜１１−Ｎ）およびパターン発生器１２（１２−１〜１２−Ｎ）の出力と同じである。
【００７９】
なお、図７および図８の暗号器および符号器（暗号システム）は単なる例であり、上述した各実施例およびその変形例等に応じて様々に変化させることができるのはいうまでもない。
【００８０】
以上、詳述したように、本発明に係る暗号方法および暗号システムは、順次チャネル毎に擬似乱数系列を用いて暗号シンボルの集合を２分し、平文データによりその一方を選ぶことにより、暗号シンボルの候補を絞り込んで行き、最後に残ったものを採用するといった技術的思想に基づいている。
【００８１】
ただし、分割の仕方やエラーの対処等に関しては様々な手法が考えられ、上述した各実施例の説明は、その単なる例を説明するものに過ぎず、上述した実施例の他に様々な構成を適用することができるのはいうまでもない。
【００８２】
そして、本発明を適用することにより、互いに独立な入力信号と擬似乱数系列をまとめてビット毎に暗号化することができ、符号化率の低下を抑制しつつ既知平文攻撃によっても擬似暗号系列が推定されにくい暗号方法および暗号システムを提供することが可能になる。
【００８３】
なお、本発明は、上述したストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置にも適用することができる。
【００８４】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化し、且つ、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化するストリーム暗号方法であって、
前記Ｎ個の擬似乱数系列を使用してＬビットの暗号シンボル集合を平均的に２等分し、
対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、
選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号方法。
【００８５】
（付記２）
付記１に記載のストリーム暗号方法において、
前記選択されたＮ個の部分集合の共通部分となる集合の要素が１つも無いときは、符号化失敗を表すシンボルを暗号シンボルとすることを特徴とするストリーム暗号方法。
【００８６】
（付記３）
付記１に記載のストリーム暗号方法において、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、前記分割をスキップすることを特徴とするストリーム暗号方法。
【００８７】
（付記４）
付記１に記載のストリーム暗号方法において、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、そのチャネル番号に応じて、符号化失敗を表すシンボルを暗号シンボルとするか、或いは、前記分割をスキップすることを特徴とするストリーム暗号方法。
【００８８】
（付記５）
付記１に記載のストリーム暗号方法において、
前記暗号シンボル集合を、前記Ｎ個の擬似乱数系列を使用して平均的に２等分する代わりに、第１の平文に対応する第１の部分集合，第２の平文に対応する第２の部分集合および暗号化失敗に対応する第３の部分集合の３つに分割し、
前記第１の部分集合と前記第２の部分集合との共通部分となる集合の要素が１つも無いときは、前記第３の部分集合を使用してエラーが他の信号系列に及ぶのを低減することを特徴とするストリーム暗号方法。
【００８９】
（付記６）
付記１に記載のストリーム暗号方法において、
前記暗号シンボル集合の分割を、チャネル番号に応じて制御することを特徴とするストリーム暗号方法。
【００９０】
（付記７）
付記１に記載のストリーム暗号方法において、
前記疑似乱数系列を２のＬ乗ビットの乱数系列とし、前記暗号シンボルの番号に対応する乱数ビットに応じて前記暗号シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【００９１】
（付記８）
付記１に記載のストリーム暗号方法において、
前記暗号シンボル集合の分割に使用する前記擬似乱数系列から、２のＬ乗ビットのビットパターンを生成し、且つ、
前記暗号シンボル集合の番号に対応するビットに応じて、前記シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【００９２】
（付記９）
付記１に記載のストリーム暗号方法において、
前記疑似乱数を使用して疑似乱数と暗号シンボルを２進数で表したときのビット毎の排他的論理和と所定のマスクパターンの論理積をとり、
その結果のビットパターンの「１」の数に応じて、シンボル集合の分割を制御することを特徴とするストリーム暗号方法。
【００９３】
（付記１０）
付記１に記載のストリーム暗号方法において、さらに、
暗号化シンボルのビット数Ｌを可変とすることにより、符号化率を向上させるようにしたことを特徴とするストリーム暗号方法。
【００９４】
（付記１１）
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器と、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器と、を備えるストリーム暗号システムであって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とするストリーム暗号システム。
【００９５】
（付記１２）
付記１１に記載のストリーム暗号システムにおいて、
前記選択されたＮ個の部分集合の共通部分となる集合の要素が１つも無いときは、符号化失敗を表すシンボルを暗号シンボルとすることを特徴とするストリーム暗号システム。
【００９６】
（付記１３）
付記１１に記載のストリーム暗号システムにおいて、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、前記分割をスキップすることを特徴とするストリーム暗号システム。
【００９７】
（付記１４）
付記１１に記載のストリーム暗号システムにおいて、
前記Ｎ個の部分集合を、前記暗号シンボル集合を予め定められた順序で分割して決定し、
該決定されたＮ個の部分集合の共通部分となる集合の要素を監視し、
該分割により共通部分となる集合の要素が１つも無いときは、そのチャネル番号に応じて、符号化失敗を表すシンボルを暗号シンボルとするか、或いは、前記分割をスキップすることを特徴とするストリーム暗号システム。
【００９８】
（付記１５）
付記１１に記載のストリーム暗号システムにおいて、
前記暗号シンボル集合を、前記Ｎ個の擬似乱数系列を使用して平均的に２等分する代わりに、第１の平文に対応する第１の部分集合，第２の平文に対応する第２の部分集合および暗号化失敗に対応する第３の部分集合の３つに分割し、
前記第１の部分集合と前記第２の部分集合との共通部分となる集合の要素が１つも無いときは、前記第３の部分集合を使用してエラーが他の信号系列に及ぶのを低減することを特徴とするストリーム暗号システム。
【００９９】
（付記１６）
付記１１に記載のストリーム暗号システムにおいて、
前記暗号シンボル集合の分割を、チャネル番号に応じて制御することを特徴とするストリーム暗号システム。
【０１００】
（付記１７）
付記１１に記載のストリーム暗号システムにおいて、
前記疑似乱数系列を２のＬ乗ビットの乱数系列とし、前記暗号シンボルの番号に対応する乱数ビットに応じて前記暗号シンボル集合の分割を制御することを特徴とするストリーム暗号システム。
【０１０１】
（付記１８）
付記１１に記載のストリーム暗号システムにおいて、
前記暗号シンボル集合の分割に使用する前記擬似乱数系列から、２のＬ乗ビットのビットパターンを生成し、且つ、
前記暗号シンボル集合の番号に対応するビットに応じて、前記シンボル集合の分割を制御することを特徴とするストリーム暗号システム。
【０１０２】
（付記１９）
付記１１に記載のストリーム暗号システムにおいて、
前記疑似乱数を使用して疑似乱数と暗号シンボルを２進数で表したときのビット毎の排他的論理和と所定のマスクパターンの論理積をとり、
その結果のビットパターンの「１」の数に応じて、シンボル集合の分割を制御することを特徴とするストリーム暗号システム。
【０１０３】
（付記２０）
付記１１に記載のストリーム暗号システムにおいて、さらに、
暗号化シンボルのビット数Ｌを可変とすることにより、符号化率を向上させるようにしたことを特徴とするストリーム暗号システム。
【０１０４】
（付記２１）
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いてＬ（Ｌは、Ｎ以上）ビットの暗号文に符号化する暗号器であって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとすることを特徴とする暗号器。
【０１０５】
（付記２２）
Ｎ個の１ビット入力信号系列の平文をＮ個の擬似乱数系列を用いて符号化されたＬ（Ｌは、Ｎ以上）ビットの暗号文を、該暗号化に用いた１つの擬似乱数系列のみを使用して対応する１つの平文を復号化する復号器であって、
前記Ｎ個の擬似乱数系列を、それぞれＬビットの暗号シンボル集合を平均的に２等分するために使用し、対応する１ビットの平文系列により２分された部分集合のいずれかを選択し、選択されたＮ個の部分集合の共通部分となる集合の要素が１つ以上あるときは、そのうちの１つを暗号シンボルとした暗号文を復号化して前記１つの平文を得ることを特徴とする符号器。
【０１０６】
（付記２３）
付記１〜１０のいずれか１項に記載のストリーム暗号方法を行うことにより、Ｎ個の独立なコンテンツを予め記録し、ユーザがライセンスを得たコンテンツのみを対応する暗号鍵を用いて取出すことを可能とした記録装置。
【図面の簡単な説明】
【０１０７】
【図１】従来のストリーム暗号方法の一例を説明するためのブロック図である。
【図２】従来のストリーム暗号方法の他の例を説明するためのブロック図である。
【図３】本発明に係るストリーム暗号方法の原理を説明するためのブロック図である。
【図４】本発明に係るストリーム暗号方法の第１実施例を説明するためのブロック図である。
【図５】本発明に係るストリーム暗号方法の第２実施例を説明するためのブロック図である。
【図６】本発明に係るストリーム暗号方法の第４実施例を説明するためのブロック図である。
【図７】本発明に係るストリーム暗号システムにおける暗号器（符号器）の一例を示すブロック図である。
【図８】本発明に係るストリーム暗号システムにおける復号器の一例を示すブロック図である。
【符号の説明】
【０１０８】
１    暗号器（送り側）
２    復号器（受け側）
１１    疑似乱数発生器
１２    パターン発生器
１３    インバータ
１４    加算器
１５    エンコーダ
２１    疑似乱数発生器
２２    パターン発生器
２３    セレクタ
【国際調査報告】
2008081516.tif 000035
2008081516.tif 000036