前の文書 次の文書 閉じる 登録PDF 公開PDF ブックマークに登録 集合登録 ログイン
出願番号特願平8-0603281996/02/23
国際出願番号
公開番号特開平9-2330661997/09/05
公表/再公表番号
国際公開番号
公告番号
請求公告番号
登録番号
評価スコア係数
AECIL
引用           
引用文献
被引用特願平11-255471, 特願2000-315049, 特願2005-095097, 特願2007-545683, 特願2008-015416
被引用文献
関係図の参照
発明の名称暗号化/解読化方法および装置
出願人・権利者ソニー株式会社
発明者・考案者江成正彦
代理人脇篤夫(外1名)
要約
【要約】
【課題】解読化側の構成の規模を低減できるようにする。
【解決手段】送信側のスクランブラにおいてはデータ鍵とシステム鍵からワーク鍵を生成するDecryptor 16と、OFBモードの暗号化を行うDecryptor 14の解読アルゴリズムを同一とする。すると、受信側のデスクランブラにおいては、データ鍵とシステム鍵からワーク鍵を生成するDecryptor 26とOFBモードの暗号化を行うDecryptor 14の解読アルゴリズムを同一とできる。さらに、Decryptor 21の解読アルゴリズムも同一とすることができるので、Decryptor 21,25,26を1つのDecryptor を兼用して実現することができる。これにより、デスクランブラの構成の規模を小さいものとすることができる。
請求の範囲
【特許請求の範囲】
【請求項1】 解読アルゴリズムを実行することによりワーク鍵を生成するワーク鍵生成ステップと、
該ワーク鍵生成ステップで生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理ステップと、
を備えていることを特徴とする暗号化方法。
【請求項2】 暗号処理に使用されたワーク鍵を解読アルゴリズムを実行することにより生成するワーク鍵生成ステップと、
該ワーク鍵生成ステップで生成されたワーク鍵を用いて暗号文に前記解読アルゴリズムの解読処理を施すことにより元の平文を得る解読ステップと、
を備えていることを特徴とする解読化方法。
【請求項3】 暗号化側に、解読アルゴリズムを実行することによりワーク鍵を生成する暗号用ワーク鍵生成ステップと、
該暗号用ワーク鍵生成ステップで生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理ステップとが備えられ、
解読化側に、暗号処理に使用された前記ワーク鍵を前記解読アルゴリズムを実行することにより生成する解読用ワーク鍵生成ステップと、
該解読用ワーク鍵生成ステップで生成された前記ワーク鍵を用いて前記暗号文に前記解読アルゴリズムの解読処理を施すことにより前記平文を得る解読処理ステップとが備えられていることを特徴とする暗号化/解読化方法。
【請求項4】 鍵情報を用いて解読アルゴリズムを実行することによりワーク鍵を生成する鍵スケジュール手段と、
該鍵スケジュール手段により生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理手段と、
を少なくとも備えていることを特徴とする暗号化装置。
【請求項5】 暗号処理に使用されたワーク鍵を解読アルゴリズムを実行することにより生成する鍵スケジュール手段と、
該鍵スケジュール手段で生成されたワーク鍵を用いて暗号文に前記解読アルゴリズムの解読処理を施すことにより元の平文を得る解読手段と、
を少なくとも備えていることを特徴とする解読化装置。
【請求項6】 暗号化側に、解読アルゴリズムを実行することによりワーク鍵を生成する暗号用鍵スケジュール手段と、
該暗号用鍵スケジュール手段で生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理手段とが備えられ、
解読化側に、前記暗号処理手段で使用された前記ワーク鍵を前記解読アルゴリズムを実行することにより生成する解読用鍵スケジュール手段と、
該解読用鍵スケジュール手段で生成された前記ワーク鍵を用いて前記暗号文に前記解読アルゴリズムの解読処理を施すことにより前記平文を得る解読処理手段とが備えられていることを特徴とする暗号化/解読化装置。
利用分野
【0001】
【発明の属する技術分野】本発明は、平文を暗号化する暗号化方法および装置、および暗号文を解読化する解読化方法および装置に関するものである。
従来の技術
【0002】
【従来の技術】通信や記録等における情報を秘匿するために、情報を暗号化することが従来から知られている。この暗号化では、情報を意味のわからない情報になるよう暗号化し、暗号化された情報を送信したり、記録媒体等に記録する。そして、暗号化された情報を受けて、解読化することにより、元の情報を得るようにする。このような暗号化・解読化には、大きく分けて秘密鍵暗号方式(慣用鍵暗号方式)と、公開鍵暗号方式とがある。秘密鍵暗号方式は、暗号化と解読化とに同じ鍵を利用しており、暗号化側と解読化側とで同じ鍵を秘密に持つ方式である。一方、公開鍵暗号方式は、暗号化側と解読化側とで異なる鍵を使用し、暗号化側の鍵は公開するが、解読化側の鍵は公開しない方式である。
【0003】このような暗号化・解読化方式の慣用鍵暗号方式の一つとして、米国における標準方式であるDES(Data Encryption Standard)方式の暗号アルゴリズムが知られている。このDES方式は、暗号アルゴリズムを公開し、暗号鍵だけで暗号強度を保っている。暗号アルゴリズムを公開するのは、公開しても暗号鍵がなければ、解読するための演算が膨大な量となり、高速な演算装置を使用しても数100年ないし数1000年以上かかると予想されているからである。ところで、暗号化は基本的には文字の順序を入れ替える転置と、一定の規則にしたがってある文字を別の文字に置き換える換字とを組み合わせて実施している。そして、どのような順序で文字を入れ替えるか、どの文字とどの文字とを置き換えるかを示すのが暗号アルゴリズムと暗号鍵となる。
【0004】ところで、暗号アルゴリズムにはDESに限らず多種・多様なものがあり、より安全性・高速性に優れた方式が開発されている。この一例として、米国特許第4,982,429号明細書、米国特許第5,103,479号明細書、および特開平1−276189号公報等に記載されている暗号方式(MULTI2方式)が知られている。また、国際標準化機構(ISO)においてもISO9979/0009として登録された暗号化方式や、ISO/IEC10116として登録された暗号化利用モードがある。
【0005】上記MULTI2方式の暗号化方式においては、入力データサイズが64ビット、出力データサイズが64ビットであり、暗号化を行うための256ビットサイズのワーク鍵を、256ビットサイズのシステム鍵と、64ビットサイズのデータ鍵から生成している。また、暗号化段数は正の整数段とされている。このMULTI2方式における暗号化アルゴリズムの概略構成を図12に示す。MULTI2方式は、図12に示すように64ビットのデータ鍵Ksに256ビットのシステム鍵Jを用いて暗号アルゴリズムを実行することにより、256ビットのワーク鍵Kwを生成する。これを鍵スケジュール処理といい、この鍵スケジュール処理は暗号アルゴリズム実行手段Cにより実行される。生成されたワーク鍵Kwは、暗号アルゴリズム実行手段Fに供給されて入力された64ビットブロックの平文が暗号化される。なお、暗号アルゴリズム実行手段Cと暗号アルゴリズム実行手段Fとで実行される暗号アルゴリズムは、同一の暗号アルゴリズムとすることができる。
【0006】このような暗号化がMULTI2方式の基本的な暗号化アルゴリズムであるが、これでは予め文字、あるいは単語が出現する頻度の分布を統計処理しておき、入手した暗号化文の文字列パターンの頻度分布とのマッチングを取ることにより、平文が推定(解読)されてしまうおそれがある。そこで、暗号化された64ビットの暗号ブロックと、次に入力される64ビットの入力データとの排他的論理和を演算して暗号文を作成する手法がある。この手法を行って暗号化するモードをCBC(Cipher Block Chaining)モードとよんでいる。なお、前記した暗号アルゴリズム実行手段Fにおいては、このようなCBCモードの暗号アルゴリズムが実行されている。
【0007】また、例えばパケット通信のように通信を行うデータの単位が予め決められている通信方式があるが、64ビットを1ブロックとするようなブロック暗号化方式では、1ブロックのビット数で割り切れないデータ単位が入力された場合に、1ブロックに満たない端数データがでることになる。そこで、その端数処理をOFB(Output Feedback )モードで処理するようにしている。すなわち、データに端数部分がある場合は、データの端数部分が暗号アルゴリズム実行手段Gに供給され、ワーク鍵Kw用いて生成された乱数を使用して暗号化するようにしたOFBモードとされる。これにより、64ビットを1ブロックとした時に64ビットに満たないデータの暗号文を得ることができるようになる。なお、CBCモードおよびOFBモードは暗号化利用モードと呼ばれる。
【0008】また、MULTI2方式における解読化アルゴリズムの概略構成を図13に示す。図13に示すように、64ビットのデータ鍵Ksに256ビットのシステム鍵Jを用いて暗号アルゴリズムを実行することにより256ビットのワーク鍵Kwを生成する。このワーク鍵の生成は、暗号化側と同一の暗号アルゴリズムの鍵スケジュール処理により行われる。この暗号アルゴリズムは暗号アルゴリズム実行手段cにより実行される。生成されたワーク鍵Kwは、解読アルゴリズム実行手段fに供給されて入力された64ビットの暗号文が解読化される。
【0009】この解読アルゴリズムでは、暗号アルゴリズム実行手段Fの暗号アルゴリズムにおける、換字と転置のアルゴリズムが逆の順序のアルゴリズムで行われることになる。なお、OFBモードで暗号化されている暗号文は、暗号アルゴリズム実行手段gに供給され、ワーク鍵Kwを用いて生成された乱数を使用することにより解読化される。これにより、1ブロック64ビットの暗号文を解読化して64ビットブロックの平文を得ることができる。また、解読アルゴリズム実行手段fはCBCモードの解読アルゴリズムを実行するようにされている。
【0010】ここで、暗号化利用モードの説明を図14を参照しながら行うが、図14(a)にCBCモードの暗号化・解読化の概略構成を示し、図14(b)にOFBモードの暗号化・解読化の概略構成を示している。CBCモードでは、図14(a)に示すようにi番目の平文ブロックM(i) が、排他的論理和回路101に入力され、レジスタ(REG)103により遅延されてフィードバックされた1ブロック前の暗号文ブロックC(i-1) との排他的論理和が演算される。演算されたデータは暗号アルゴリズム実行手段102において、データ鍵Ksに基づいて生成されたワーク鍵により暗号化される。この暗号化されたi番目の暗号文ブロックC(i) は、
C(i) =EKs(M(i) .EOR.C(i-1) )
と表せる。ただし、EKs(m)はmをKsで暗号化することを意味しており、EORは排他的論理和の演算を行うことを示している。
【0011】そして、この暗号文ブロックC(i) は送信され、受信側において受信されることになる。受信された暗号文ブロックC(i) は、解読アルゴリズム実行手段111においてデータ鍵Ksに基づいて生成されたワーク鍵を用いて解読され、排他的論和回路113に供給される。この排他的論理和回路113にはレジスタ(REG)112において遅延された、1ブロック前の暗号文ブロックC(i-1) が入力されて、両者の排他的論和が演算される。この時、送信側と受信側のデータ鍵Ksは等しく、これにより、排他的論理和回路113からi番目の平文ブロックM(i) が解読される。i番目の平文ブロックM(i) は次のように表せる。
M(i) =DKs(C(i) .EOR.C(i-1) )
ただし、DKs(c)はKsでcを解読化することを示している。
【0012】また、OFBモード時では、i番目の平文ブロックM(i) は排他的論理和回路105に供給される。この排他的論理和回路105には、データ鍵Ksに基づいて生成されたワーク鍵により乱数化された暗号アルゴリズム実行手段104の出力が供給されている。なお、暗号アルゴリズム実行手段104の出力は、レジスタ103により1ブロック遅延されて暗号アルゴリズム実行手段104に1ブロック遅延されて戻されている。これにより、排他的論理和回路105からは乱数により暗号化された暗号文ブロックC(i) が出力される。
【0013】そして、この暗号文ブロックC(i) は送信され、受信側において受信されることになる。受信された暗号文ブロックC(i) は、排他的論和回路114に供給される。この排他的論和回路114には、暗号アルゴリズム実行手段115においてデータ鍵Ksに基づいて生成されたワーク鍵を用いて乱数化された出力が供給されている。この暗号アルゴリズム実行手段115の出力は、レジスタ(REG)112において1ブロック遅延されて暗号アルゴリズム実行手段115に戻されている。この場合、排他的論理和回路114に供給される乱数は、排他的論理和回路105に供給される乱数と等しく、これにより、排他的論理和回路114から解読されたi番目の平文ブロックM(i) が得られる。
【0014】以上説明した暗号化利用モードを有する暗号化・解読化方式の概略構成を図15に示す。この図において、送信側にはデータを暗号化するスクランブラ100が備えられており、スクランブラ100により入力データがスクランブル、すなわち暗号化されて送信されている。このスクランブルされた送信データは、空間等の伝送路を伝播されて受信側で受信される。受信側には、デスクランブラ110が備えられており、このデスクランブラ110によりスクランブルされた送信データがデスクランブル、すなわち解読化されて、元のデータに戻されて出力されるようになる。
【0015】スクランブラ100は、入力された入力データ(平文)を暗号化する暗号アルゴリズム実行手段であるEncryptor 102と、レジスタ103と、排他的論理和回路(EX−OR)101からなるCBCモード暗号化部と、暗号アルゴリズム実行手段であるEncryptor 104と、排他的論理和回路(EX−OR)105からなるOFBモード暗号化部から構成されている。なお、データ鍵とシステム鍵からワーク鍵を生成するEncryptor 106もスクランブラ100内に備えられている。生成されたワーク鍵はEncryptor 102,104に供給される。ところで、Encryptor 102、Encryptor 104、Encryptor 106は同一の暗号アルゴリズムとすることができるので、1つのEncryptor により3つのEncryptor を兼用することができる。CBCモード暗号化部およびOFBモード暗号化部の動作は前述したとおりであるので、ここでは省略する。
【0016】また、受信側に備えられたデスクランブラ110は、入力された受信データ(暗号文)を解読化する解読アルゴリズム実行手段であるDecryptor 111と、レジスタ112と、排他的論理和回路(EX−OR)113からなるCBCモード解読化部と、暗号アルゴリズム実行手段であるEncryptor 115と、排他的論理和回路(EX−OR)114からなるOFBモード解読化部から構成されている。なお、データ鍵とシステム鍵からワーク鍵を生成するEncryptor 116もデスクランブラ110内に備えられている。生成されたワーク鍵はDecryptor 111と、Encryptor 115に供給される。なお、Encryptor 115、Encryptor 116は同一の暗号アルゴリズムとすることができるので、1つのEncryptor により2つのEncryptor を兼用することができる。また、CBCモード解読化部およびOFBモード解読化部の動作は前述したとおりであるので、ここでは省略する。
課題
【0017】
【発明が解決しようとする課題】ところで、上述した図15に示すような暗号化・解読化方式においては、暗号化側では暗号アルゴリズムを実行するだけでよいが、解読化側では解読処理を行う解読アルゴリズムと、解読処理に必要なワーク鍵を生成する暗号アルゴリズムを実行することが必要となる。すなわち、解読化側においては、解読アルゴリズムと暗号アルゴリズムを実行するハードウェアをそれぞれ設けなければならず、そのために暗号化側に比べ解読側のハードウェアが大型化するという問題点があった。しかも、この暗号化・解読化方式が衛星放送等の放送システムに応用された場合は、送信側より受信設備のコスト上昇につながり、ひいては放送システムの普及促進が妨げられることになる。
【0018】そこで、本発明は所定の暗号アルゴリズムで暗号化された暗号文を、受信側において簡単な構成で解読処理を行えるようにした暗号化/解読化方法および装置を提供することを目的としている。
手段
【0019】
【課題を解決するための手段】上記の目的を達成するために、本発明の暗号化方法は、解読アルゴリズムを実行することによりワーク鍵を生成するワーク鍵生成ステップと、該ワーク鍵生成ステップで生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理ステップと、を備えている。
【0020】また、本発明の解読化方法は、暗号処理に使用されたワーク鍵を解読アルゴリズムを実行することにより生成するワーク鍵生成ステップと、該ワーク鍵生成ステップで生成されたワーク鍵を用いて暗号文に前記解読アルゴリズムの解読処理を施すことにより元の平文を得る解読ステップと、を備えている。
【0021】さらに、本発明の暗号化/解読化方法は、暗号化側に、解読アルゴリズムを実行することによりワーク鍵を生成する暗号用ワーク鍵生成ステップと、該暗号用ワーク鍵生成ステップで生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理ステップとが備えられ、解読化側に、暗号処理に使用された前記ワーク鍵を前記解読アルゴリズムを実行することにより生成する解読用ワーク鍵生成ステップと、該解読用ワーク鍵生成ステップで生成された前記ワーク鍵を用いて前記暗号文に前記解読アルゴリズムの解読処理を施すことにより前記平文を得る解読処理ステップとが備えられている。
【0022】さらにまた、本発明の暗号化装置は、鍵情報を用いて解読アルゴリズムを実行することによりワーク鍵を生成する鍵スケジュール手段と、該鍵スケジュール手段により生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理手段と、を少なくとも備えている。
【0023】さらにまた、本発明の解読化装置は、暗号処理に使用されたワーク鍵を解読アルゴリズムを実行することにより生成する鍵スケジュール手段と、該鍵スケジュール手段で生成されたワーク鍵を用いて暗号文に前記解読アルゴリズムの解読処理を施すことにより元の平文を得る解読手段と、を少なくとも備えている。
【0024】さらにまた、本発明の暗号化/解読化装置においては、暗号化側に、解読アルゴリズムを実行することによりワーク鍵を生成する暗号用鍵スケジュール手段と、該暗号用鍵スケジュール手段で生成されたワーク鍵を用いて、平文に所定の暗号アルゴリズムの暗号処理を施すことにより暗号文を作成する暗号処理手段とが備えられ、解読化側に、前記暗号処理手段で使用された前記ワーク鍵を前記解読アルゴリズムを実行することにより生成する解読用鍵スケジュール手段と、該解読用鍵スケジュール手段で生成された前記ワーク鍵を用いて前記暗号文に前記解読アルゴリズムの解読処理を施すことにより前記平文を得る解読処理手段とが備えられている。
【0025】このような本発明の暗号化方法および解読化方法によれば、解読処理を行うために必要なワーク鍵を解読アルゴリズムを実行することにより生成することができる。したがって、ワーク鍵を生成する解読アルゴリズムの実行手段と、暗号文を解読処理する解読アルゴリズムの実行手段とを兼用することができるようになり、解読化側の構成を簡略化することができる。また、OFBモード時に解読アルゴリズムを実行することにより生成した乱数を用いて暗号化されている場合は、OFBモードで暗号化された暗号文を、解読アルゴリズムを実行することにより生成された乱数を用いて解読することができるため、OFBモードにおける乱数を生成するための解読アルゴリズムの実行手段も兼用することができる。したがって、いっそう解読化側の構成を簡略化することができる。
効果
【0068】
【発明の効果】本発明は以上のように構成されているので、解読処理を行うために必要なワーク鍵を解読アルゴリズムを実行することにより生成することができる。したがって、ワーク鍵を生成する解読アルゴリズムの実行手段と、暗号文を解読処理する解読アルゴリズムの実行手段とを兼用することができるようになり、解読化側の構成を簡略化することができる。
【0069】また、OFBモード時に解読アルゴリズムを実行することにより生成した乱数を用いて暗号化されている場合は、OFBモードで暗号化された暗号文を、解読アルゴリズムを実行することにより生成された乱数を用いて解読することができるため、OFBモードにおける乱数を生成するための解読アルゴリズムの実行手段も兼用することができる。したがって、いっそう解読化側の構成を簡略化することができる。さらに、本発明を放送システムに応用した場合には、受信設備の構成を簡略化してコストを低減することができるので、放送システムの普及の促進を図ることができる。
実施例
【0026】
【発明の実施の形態】本発明の暗号化利用モードを有する暗号化/解読化方法を実行する本発明の暗号化/解読化装置の実施の形態の概略構成例を示すブロック図を図1に示す。なお、送信側において本発明の暗号化方法が実施されており、受信側において本発明の解読化方法が実施されている。この図において、送信側にはスクランブラ1が備えられており、スクランブラ1により送信すべき入力データがスクランブル、すなわち暗号化されて送信されている。このスクランブルされた送信データは、空間等の伝送路を伝播されて受信側で受信される。受信側には、デスクランブラ2が備えられており、このデスクランブラ2によりスクランブルされた送信データがデスクランブル、すなわち解読化されて、元のデータに戻されるようになる。
【0027】この場合、送信データ(受信データ)のフォ−マットは、例えばISO/IEC13818として規定されているトランスポートストリーム(TS)とされている。トランスポートストリームは、188バイトのパケット構造とされており、1パケットは通常4バイトのヘッダの後に184バイトのペイロードが続くようにされている。さらに、伝送エラーに対するエラー訂正のために、16バイトのパリティーを付加するダミー期間がパケットに付加されている。トランスポートストリームは、このようなパケットの繰り返しのストリームとされる。
【0028】このトランスポートストリームのヘッダには、そのパケットがビデオデータで構成されているのか、オーディオデータで構成されているのか、あるいは他のデータ列で構成されているのかを示すPID(Packet Identification )情報や、暗号化されているのか否かを示すTSC(Transport Scrambling Control)情報等の、パケットの属性情報が含まれている。なお、パケットのヘッダを解釈した結果、受信データが暗号化されていないと判断された場合は、デスクランブラ2からは遅延部を通すだけで、トランスポートストリームがそのまま出力される。この遅延部の遅延時間は、デスクランブラ2においてデスクランブルに要する時間とされる。
【0029】ここで、スクランブラ1は、入力された平文を暗号化する暗号アルゴリズム実行手段であるEncryptor 12の出力を1ブロック遅延するレジスタ(reg)13と、排他的論理和回路(EX−OR)11からなるCBCモード暗号化部と、解読アルゴリズム実行手段であるDecryptor 14と、排他的論理和回路(EX−OR)15からなるOFBモード暗号化部から構成されている。なお、データ鍵とシステム鍵からワーク鍵を生成する解読アルゴリズム実行手段であるDecryptor 16もスクランブラ1内に備えられている。ここで、生成されたワーク鍵はEncryptor 12およびDecryptor 14に供給される。
【0030】次に、スクランブラ1の動作を説明すると、CBCモードの場合は、切り換え手段30、切り換え手段31が共に端子a側に切り換えられ、入力されたブロック毎の入力データ(平文)は排他的論理和回路(EX−OR)11に入力される。そして、Encryptor 12の出力を1ブロック遅延するレジスタ(reg)13からの出力との排他的論理和が演算され、演算されたEX−OR11からの出力は、暗号アルゴリズム実行手段であるEncryptor 12に入力される。Encryptor12では、ワーク鍵を用いて暗号アルゴリズムが実行されて平文が暗号化される。暗号化された暗号文は、切り換え手段31を介して送信される。
【0031】また、ブロック化した時に端数とされた入力データはOFBモードで暗号化されるが、OFBモード時には、切り換え手段30、切り換え手段31が共に端子b側に切り換えられ、入力されたブロック毎の入力データ(平文)は排他的論理和回路(EX−OR)15に入力される。そして、Decryptor 14からの乱数出力との排他的論理和が演算されて暗号化される。この場合、Decryptor 14はワーク鍵を用いて解読アルゴリズムを実行し、乱数を出力している。そして、暗号化された暗号文は、切り換え手段31を介して送信される。なお、Encryptor 12およびDecryptor 14に供給されているワーク鍵は、暗号化処理に先だって、予めデータ鍵とシステム鍵とを用いて解読アルゴリズムをDecryptor 16において実行することにより生成されている。
【0032】ところで、Decryptor 14、Decryptor 16は暗号化処理において同時に使用することはないと共に、Decryptor 14、Decryptor 16の実行する解読アルゴリズムは同一とすることができるため、1つのDecryptor で2つのDecryptor 14,16を兼用するようにしている。
【0033】また、受信側に備えられたデスクランブラ2は、入力された受信データ(暗号文)を解読化する解読アルゴリズム実行手段であるDecryptor 21と、入力された受信データを1ブロック遅延するレジスタ22と、排他的論理和回路(EX−OR)23からなるCBCモード解読化部と、解読アルゴリズム実行手段であるDecryptor 25と、排他的論理和回路(EX−OR)24からなるOFBモード解読化部から構成されている。なお、データ鍵とシステム鍵からワーク鍵を生成するDecryptor 26もデスクランブラ2内に備えられている。ここで生成されたワーク鍵はDecryptor 21と、Decryptor 25に供給される。
【0034】次に、デスクランブラ2の動作を説明すると、受信データがCBCモードで暗号化されている場合は、切り換え手段32、切り換え手段33が共に端子a側に切り換えられ、入力されたブロック毎の受信データ(暗号文)はDecryptor 21に入力される。Decryptor 21にはDecryptor 26により生成された暗号処理に使用されたワーク鍵と同じワーク鍵が供給されており、このワーク鍵を用いて解読アルゴリズムを実行することにより、暗号文が解読される。解読されたブロック毎のデータは、排他的論理和回路(EX−OR)23に入力され、1ブロック遅延されたレジスタ(reg)22からの受信された暗号文との排他的論理和が演算される。この演算結果が解読処理された平文となり、この平文は、切り換え手段33を介して出力される。
【0035】また、ブロックした時に端数とされたOFBモードで暗号化された暗号文を解読するOFBモード時は、切り換え手段32、切り換え手段33が共に端子b側に切り換えられ、受信されたブロック毎の受信データ(暗号文)は排他的論理和回路(EX−OR)24に入力される。そして、Decryptor 25からの乱数出力との排他的論理和が演算されて解読化される。この場合、Decryptor 25は前記したDecryptor 26により生成されたワーク鍵を用いて解読アルゴリズムを実行することにより、送信側と同じ乱数を作成して出力している。そして、解読化された平文は、切り換え手段33を介して出力される。なお、Decryptor 21、Decryptor 25に供給されているワーク鍵は、解読化処理に先だって、予め送信側と同じデータ鍵とシステム鍵とを用いて、解読アルゴリズムをDecryptor 26において実行することにより生成されている。
【0036】ところでスクランブラ1とデスクランブラ2とにおいて、Decryptor 14とDecryptor 25とは同一の解読アルゴリズムとする必要があり、Decryptor 16とDecryptor 26も同一の解読アルゴリズムとする必要がある。さらに、スクランブラ1においてDecryptor 14とDecryptor 16とを兼用している場合は、デスクランブラ2において、Decryptor 25とDecryptor 26の解読アルゴリズムは同一となる。
【0037】また、スクランブラ1においてDecryptor 14の解読アルゴリズムを、Encryptor 12の暗号アルゴリズムを解読する解読アルゴリズムとすることができ、このようにすると、デスクランブラ2においてDecryptor 21とDecryptor 25との解読アルゴリズムを同一とすることができる。すなわち、デスクランブラ2において、Decryptor 21、Decryptor 25、Decryptor 26の解読アルゴリズムを同一とすることができる。さらに、Decryptor 21、Decryptor 25、Decryptor 26は解読処理時に同時に使用することがないので、これらのDecryptor 21,25,26を兼用して1つのDecryptor で構成することができる。本発明は、このようにDecryptor を兼用して使用することを特徴としており、本発明はデスクランブラ2の構成、すなわち解読手段の構成を大幅に簡略化することができる。
【0038】次に、本発明の暗号化方法を実行する暗号化アルゴリズムを図2を参照しながら説明する。図2に示す本発明の暗号化アルゴリズムにおいては、入力データサイズが64ビット、出力データサイズが64ビットにブロック化されており、暗号化を行うための256ビットサイズのワーク鍵を、256ビットサイズのシステム鍵と、64ビットサイズのデータ鍵から生成している。また、暗号化段数は正の整数段とされている。すなわち、64ビットのデータ鍵Ksに256ビットのシステム鍵Jを用いて解読アルゴリズムを実行することにより、256ビットのワーク鍵Kwを生成する。これを鍵スケジュール処理といい、この鍵スケジュール処理は解読アルゴリズム実行手段E3により実行される。生成されたワーク鍵Kwは、暗号アルゴリズム実行手段E6に供給されて入力された64ビットブロックの平文が暗号化される。なお、解読アルゴリズム実行手段E3で実行される解読アルゴリズムは、暗号アルゴリズム実行手段E6で実行される暗号アルゴリズムを解読することができる解読アルゴリズムとされている。
【0039】また、このように暗号化された暗号文では、予め文字、あるいは単語が出現する頻度の分布を統計処理しておき、入手した暗号化文の文字列パターンの頻度分布とのマッチングを取ることにより、平文が推定(解読)されてしまうおそれがある。そのため、前述したように、暗号化された64ビットの暗号ブロックと、次に入力される64ビットブロックの入力データ(平文)との排他的論理和を演算して暗号文を作成しているCBC(Cipher Block Chaining)モードが採用されている。なお、前記した暗号アルゴリズム実行手段E6においては、このようなCBCモードの暗号アルゴリズムが実行されている。
【0040】また、データの単位が予め決められている方式とされて、例えば64ビットを1ブロックとして暗号化処理が行われる場合には、1ブロックのビット数で割り切れないデータ単位が入力された場合に、暗号化されない端数データがでることになる。そこで、前述したようにその端数処理をOFB(Output Feedback )モードで処理するようにしている。すなわち、データに端数部分がある場合は、データの端数部分が解読アルゴリズム実行手段E7に供給され、256ビットの幅のワーク鍵Kwを用いて生成された乱数を使用することにより暗号化するようにしたOFBモードとされる。これにより、64ビットを1ブロックとして暗号化処理しても64ビットに満たない入力データの暗号文を得ることができるようになる。なお、CBCモードおよびOFBモードは暗号化利用モードと呼ばれる。
【0041】なお、前述したようにワーク鍵Kwを生成する解読アルゴリズム実行手段E3と、OFBモードの暗号化手段である解読アルゴリズム実行手段E7の解読アルゴリズムは同一の解読アルゴリズムであり、実際には1つの解読アルゴリズム実行手段が2つの処理を兼用して行っている。そこで、1つの解読アルゴリズム実行手段が2つの処理を兼用するようにしたスクランブラ1の構成を図4に示す。なお、図4においては図1に示すDecryptor 14およびDecryptor 16の2つを兼用しているDecryptor を14(16)として示し、2つのEX−ORを兼用しているEX−ORを11(15)として示している。
【0042】この図において、64ビット幅のデータ鍵はデータ鍵レジスタ(Data_Key Register )17に予め書き込まれており、256ビット幅のシステム毎に割り当てられたシステム鍵はシステム鍵レジスタ(System_Key Register )18に暗号化処理に先立ち予め書き込まれている。なお、データ鍵は暗号強度を高めるために数秒ないし数十秒毎に更新される。この状態において、まず、切り換え手段42および切り換え手段43を共に端子a側に切り換えるようにする。すると、Decryptor 14(16)にはデータ鍵レジスタ17に記憶されている64ビット幅のデータ鍵と、システム鍵レジスタ18に記憶されているからの256ビット幅のシステム鍵とが供給され、Decryptor 14(16)において解読アルゴリズムが実行されることにより256ビット幅のワーク鍵が生成される。このワーク鍵はワーク鍵レジスタ(Work_Key Register )19に書き込まれる。
【0043】このようにしてワーク鍵が生成されると、切り換え手段41および切り換え手段44が共に端子b側へ切り換えられる。すると、64ビット幅にブロック化された入力データはEX−OR11(15)に入力され、レジスタ13により1ブロック遅延された暗号化されたデータとの排他的論理和が演算される。演算結果は、Encryptor 12に入力され、Encryptor 12に供給されているワーク鍵レジスタ19から読み出されたワーク鍵を用いて暗号アルゴリズムが実行されることにより暗号化される。このEncryptor 12から出力される暗号化された暗号文はCBCモードの暗号文であり、切り換え手段44を介して出力される。なお、電源投入時等に初期処理が行われた時は、レジスタ13には初期値がセットされる。
【0044】また、端数データが入力されると、切り換え手段42および切り換え手段43が端子c側に切り換えられると共に、切り換え手段41および切り換え手段44が共に端子c側へ切り換えられる。すると、レジスタ13により遅延された暗号化されたデータが切り換え手段42を介してDecryptor 14(16)に入力され、Decryptor 14(16)に供給されているワーク鍵レジスタ19から読み出されたワーク鍵を用いて解読アルゴリズムが実行されることにより、さらに乱数化される。このDecryptor 14(16)により生成された乱数は切り換え手段41を介してEX−OR11(15)に入力されて、端数の入力データとの排他的論理和が演算され、暗号化される。このようにして暗号化されたOFBモードの暗号文は切り換え手段44を介して出力される。
【0045】次に、本発明の解読化方法を実行する解読化アルゴリズムを図3を参照しながら説明する。図3に示すように、64ビットのデータ鍵Ksに256ビットのシステム鍵Jを用いて解読アルゴリズムを実行することにより256ビットのワーク鍵Kwが生成される。このワーク鍵の生成は、暗号化側と同一の解読アルゴリズムの鍵スケジュール処理により行われる。この解読アルゴリズムは解読アルゴリズム実行手段D3により実行される。生成されたワーク鍵Kwは、解読アルゴリズム実行手段D6に供給されて入力されたCBCモードの64ビットブロックの暗号文が解読化される。この解読アルゴリズムでは、図2に示す暗号アルゴリズム実行手段E6の暗号アルゴリズムにおける、換字と転置のアルゴリズムが逆の順序で行われるアルゴリズムとなる。
【0046】また、OFBモードで暗号化されている暗号文は、解読アルゴリズム実行手段D7に供給され、ワーク鍵Kwを用いて生成された乱数を使用することにより解読化される。また、解読アルゴリズム実行手段D7は図2に示す解読アルゴリズム実行手段E7と同じ解読アルゴリズムを実行するようにされている。なお、前述したようにワーク鍵Kwを生成する解読アルゴリズム実行手段D3と、OFBモードの暗号化手段である解読アルゴリズム実行手段D7の解読アルゴリズムは同一のアルゴリズムであると共に、暗号文を解読する解読アルゴリズム実行手段D6の解読アルゴリズムも同一であり、解読化処理では、1つの解読アルゴリズム実行手段で3つの処理を兼用して行うようにしている。そこで、1つの解読アルゴリズム実行手段が3つの処理を兼用しているデスクランブラ2の構成を図5に示す。なお、図5においては図1に示すDecryptor 21、Decryptor 25およびDecryptor 26の3つを兼用しているDecryptor を21(25,26)として示し、2つのEX−ORを兼用しているEX−ORを23(24)として示している。
【0047】図5において、64ビット幅のデータ鍵はデータ鍵レジスタ(Data_Key Register )27に予め書き込まれており、256ビット幅のシステム鍵はシステム鍵レジスタ(System_Key Register )28に予め書き込まれている。この状態において、まず、切り換え手段50および切り換え手段51を共に端子a側に切り換えるようにする。すると、Decryptor 21(25,26)にはデータ鍵レジスタ27に記憶されている64ビット幅のデータ鍵と、システム鍵レジスタ28に記憶されている256ビット幅のシステム鍵とが供給され、Decryptor 21(25,26)において解読アルゴリズムが実行されることにより256ビット幅のワーク鍵が生成される。このワーク鍵はワーク鍵レジスタ(Work_Key Register )29に書き込まれる。
【0048】このようにしてワーク鍵が生成されてワーク鍵レジスタ29に格納されると、CBCモードの時は切り換え手段50、切り換え手段51および切り換え手段52が共に端子b側へ切り換えられる。すると、64ビットブロックの暗号化された受信データは切り換え手段50を介してDecryptor 21(25,26)に入力される。Decryptor 21(25,26)は、ワーク鍵レジスタ29から読み出されたワーク鍵を用いて解読アルゴリズムを実行することにより、受信データが解読される。解読されたデータは、EX−OR23(24)に入力されて、切り換え手段52を介してEX−OR23(24)に入力されているレジスタ22により1ブロック遅延された受信データとの排他的論理和が演算され、CBCモードの暗号文が解読化された平文が得られる。
【0049】また、暗号化された端数データが入力されると、切り換え手段50および切り換え手段52が端子c側に切り換えられる。すると、レジスタ22により1ブロック遅延された受信データが切り換え手段50を介してDecryptor 21(25,26)に入力され、Decryptor 21(25,26)に供給されているワーク鍵レジスタ29から読み出されたワーク鍵を用いて解読アルゴリズムが実行されることにより、さらに乱数化される。このDecryptor 21(25,26)により生成された乱数はEX−OR23(24)に入力されて、切り換え手段52を介して入力された暗号化された端数の受信データとの排他的論理和が演算され、OFBモードの暗号文を解読した平文が得られる。このように、本発明の解読化方法が実行される本発明の解読化装置であるデスクランブラ2においては、解読アルゴリズムを実行する1つのDecryptor により、3つのDecryptor を兼用することができるため、その構成を大幅に低減することができる。
【0050】次に、Encryptor が実行する暗号アルゴリズムと、Decryptor が実行する解読アルゴリズムの詳細を図6ないし図11を参照して説明する。図6は暗号アルゴリズムを示しており、64ビット幅の入力データは、上位32ビットのデータと下位の32ビットのデータに分割されて4段の演算段60,61からなる最初の暗号8段に入力される。この4段の演算段60,61では、それぞれ異なる関数の演算が行われる。すなわち、入力された上位32ビットのデータと下位の32ビットのデータに、4段の演算段60内の初段において関数π1の演算が施される。ついで、第2段において初段の出力に関数π2の演算が施される。この場合、第2段には32ビット幅のワーク鍵K1が入力され、このワーク鍵K1を用いて第2段の演算が行われている。
【0051】さらに、第3段において第2段の出力に関数π3の演算が施される。この場合、第3段には32ビット幅のワーク鍵K2,K3が入力され、このワーク鍵K2,K3を用いて演算が行われている。続いて、第4段において第3段の出力に関数π4の演算が施される。この場合、第4段には32ビット幅のワーク鍵K4が入力され、このワーク鍵K4を用いて演算が行われている。さらに残る4段の演算を行う演算段61の初段において、演算段60からの出力に関数π1の演算が施される。ついで、第2段において初段の出力に関数π2の演算が施される。この場合、第2段には32ビット幅のワーク鍵K5が入力され、このワーク鍵K5を用いて演算が行われている。
【0052】さらに、第3段において第2段の出力に関数π3の演算が施される。この場合、第3段には32ビット幅のワーク鍵K6,K7が入力され、このワーク鍵K6,K7を用いて演算が行われている。続いて、第4段において第3段の出力に関数π4の演算が施される。この場合、第4段には32ビット幅のワーク鍵K8が入力され、このワーク鍵K8を用いて演算が行われている。このように256ビットのワーク鍵が32ビット幅に8分割(鍵K1〜鍵K8)されて各演算段に供給され、暗号処理の行われた上位32ビット、下位32ビットの合計64ビット幅のデータは、さらに暗号8段62に入力される。この暗号8段62においては、上述した暗号8段の演算と同様の演算が施されて、上位32ビット、下位32ビットの合計64ビット幅のさらにランダム化された出力データが得られる。
【0053】なお図示しているように、暗号8段の繰返し数は2回に限らず、所望の回数繰り返すことができる。この回数を多く繰り返すほど、出力データは高度にランダム化されて、暗号強度を高めることができる。なお、演算段の各段で行われている関数の演算は、一定の規則に従ってある文字を他の文字に置き換える換字と、文字の順序を入れ替える転置を行う演算とされている。
【0054】次に、解読アルゴリズムを図7に示すが、解読アルゴリズムは、前述した暗号アルゴリズムの出力側からの演算を逆に行うようにしている。すなわち、暗号8段のうちの最初の4段の演算段63の初段において、上位32ビットと下位32ビットに分割された64ビット幅の暗号化されている入力データに、32ビット幅のワーク鍵K8を用いて関数π4の演算を施している。次いで、第2段において、初段の出力データにワーク鍵K7,K6を用いて関数π3の演算を施している。さらに、第3段において、第2段の出力データにワーク鍵5を用いて関数π2の演算を施している。さらにまた第4段において、第3段の出力データに関数π1の演算を施している。
【0055】このような4段の演算が、次の4段の演算段64においてワーク鍵K4〜K1を用いて同様に行われる。さらに、上記した暗号8段の演算が縦続されている暗号8段65においても同様の処理が実行されて、解読化された上位32ビット、下位32ビットの計64ビット幅の出力データが得られるようになる。なお、暗号8段の繰り返し回数は、暗号アルゴリズムにおいて実行された暗号8段の繰返し回数と同じ回数とされる。
【0056】次に、演算段で行われている演算の詳細を暗号アルゴリズムの演算段60を例に上げて図8を参照しながらに詳細に説明する。初段の関数π1の演算では、入力された32ビットに分割された上位ビットは、演算されることなくそのまま出力され、一方、上位ビットと下位ビットのビット毎の排他的論理和が演算されて下位ビットとして出力される。続く、第2段の関数π2の演算では、下位32ビットのデータxにワーク鍵K1が232を法として加算されて、x+K1がまず演算される。次いで、x+K1をyとした時に、yを1ビット左巡回シフトし、その値に232を法として演算されたy−1を加算してzを得る。次に、zを4ビット左巡回シフトし、その値とzとのビット毎の排他的論理和を得る。この演算結果と、上位32ビットのビット毎の排他的論理和が演算されて、上位32ビットの演算データが出力される。この場合、下位32ビットは入力されたデータが、演算されることなくそのまま出力される。
【0057】また、第3段の関数π3の演算では、上位32ビットのデータxにワーク鍵K2が232を法として加算されて、x+K2がまず演算される。次いで、x+K2をyとした時に、yを2ビット左巡回シフトし、その値に232を法として演算されたy+1を加算してzを得る。次に、zを8ビット左巡回シフトし、その値とzとのビット毎の排他的論理和aを得る。さらに、aにワーク鍵K3が232を法として加算されて、a+K3が演算される。次いで、a+K3をbとした時に、bを1ビット左巡回シフトし、その値に−bを232を法として加算してcを得る。次に、aとxのビット毎の論理和と、cを16ビット左巡回シフトした値とのビット毎の排他的論理和を演算する。この演算結果と、下位32ビットのデータとのビット毎の排他的論理和を演算して、演算された下位32ビットのデータを出力する。なお、上位32ビットのデータは、演算されることなくそのまま上位32ビットの出力データとなる。
【0058】さらにまた、第4段の関数π4の演算では、下位32ビットのデータxにワーク鍵K4が232を法として加算されて、x+K4がまず演算される。次いで、x+K4をyとした時に、yを2ビット左巡回シフトし、その値に232を法として演算されたy+1を加算する。この演算結果と、上位32ビットの排他的論理和が演算されて、演算された上位32ビットのデータが出力される。この場合、下位32ビットのデータは演算されることなく、そのまま下位32ビットのデータとして出力される。
【0059】上記演算において、ワーク鍵K1〜K4をデータに加算することにより、文字を他の文字で置き換える換字処理が行われ、データを巡回シフトさせることにより文字の位置を入れ替える転置が行われている。このように、換字と転置のアルゴリズムを行うことにより平文がランダム化されて暗号化されることになる。また、解読化する場合には、暗号化と逆の換字と転置のアルゴリズムを行うことにより元の平文に解読することができる。
【0060】次に、上述した関数の演算を行う構成をさらに詳細に説明するが、関数π2の演算例を図9に上げて説明するものとする。図9において、第1の32ビット加算器Add80において、下位32ビットの入力データxと32ビットのワーク鍵K1とが加算され、加算データyが出力される。この加算データyは第1左巡回シフター81において1ビット左巡回シフトされると共に、第2の32ビット加算器82において、第1左巡回シフター81の出力と加算される。この加算結果に第3の32ビット加算器84において−1が加算されて、データzが演算される。このデータzは第2左巡回シフター85において4ビット左巡回シフトされると共に、排他的論理和回路86に供給される。この排他的論理和回路86には第2左巡回シフター85の出力データ、データz、上位32ビット入力データが入力され、3つのデータのビット毎の排他的論理和が演算される。排他的論理和回路86の演算結果は、次段に入力される上位32ビット入力データとなる。また、下位32ビット入力データは、演算されることなく次段に入力される下位32ビット入力データとなる。
【0061】次に、64ビット幅のデータ鍵と256ビット幅のシステム鍵から256ビット幅のワーク鍵を生成する鍵スケジュール処理のアルゴリズムを図10に示す。鍵スケジュール処理は図10に示すように4段の演算段66,67が2段と、1段の演算段68が縦続接続されたアルゴリズムとされている。すなわち、最初の4段の演算段66の初段において、上位32ビットと下位32ビットに分割された64ビット幅のデータ鍵に、32ビット幅のシステム鍵J4を用いて関数π4の演算が施される。次いで、第2段において初段の出力データに32ビット幅のシステム鍵J3,J2を用いて関数π3の演算が施され、上位32ビット幅の出力がワーク鍵K1として出力される。次いで、第3段において、第2段の出力データにシステム鍵J1を用いて関数π2の演算が施され、下位32ビット幅の出力がワーク鍵K2として出力される。さらに、第4段において、第3段の出力データに関数π1の演算が施され、上位32ビット幅の出力がワーク鍵K3として出力される。
【0062】続いて、次の4段の演算段67の初段において、演算段66の出力データに32ビット幅のシステム鍵J8を用いて関数π4の演算が施され、下位32ビット幅の出力がワーク鍵K4として出力される。次いで、第2段において初段の出力データに32ビット幅のシステム鍵J7,J6を用いて関数π3の演算が施されて、上位32ビット幅の出力がワーク鍵K5として出力される。次いで、第3段において、第2段の出力データにシステム鍵J5を用いて関数π2の演算が施され、下位32ビット幅の出力がワーク鍵K6として出力される。さらに、第4段において、第3段の出力データに関数π1の演算が施されて、上位32ビット幅の出力がワーク鍵K7として出力される。さらに、続く演算段68において、演算段67の出力データに32ビット幅のシステム鍵J4を用いて関数π4の演算が施され、下位32ビット幅の出力がワーク鍵K8として出力される。
【0063】ところで、上述した暗号アルゴリズムを実行するEncryptor は、暗号アルゴリズムの基本アルゴリズムが前記図6に示すように繰り返されている。そこで、図6に示す4段の演算段をEncryptor コアとすると、図11(a)に示すように、Encryptor コアを循環させて使用することにより、Encryptor の暗号アルゴリズムを実行することができる。なお、この場合Encryptor コアに供給するワーク鍵は、最初はワーク鍵Ks1〜Ks4を供給し、循環させた2度目はワーク鍵Ks5〜Ks8を供給するようにする。
【0064】また、上述した解読アルゴリズムを実行するDecryptor は、解読アルゴリズムの基本アルゴリズムが前記図7に示すように繰り返されている。そこで、図7に示す4段の演算段をDecryptor コアとすると、図11(b)に示すように、Decryptor コアを少なくとも4回循環させて使用することにより、Decryptor の解読アルゴリズムを実行することができる。なお、この場合Decryptor コアに供給するワーク鍵は、最初はワーク鍵Ks8〜Ks5を供給し、循環させた2度目はワーク鍵Ks4〜Ks1を供給するようにする。さらに、このようなDecryptor コアを2回と1/4循環させて使用することにより、図10に示す鍵スケジュール処理のアルゴリズムを実行することもできる。この場合は、ワーク鍵に替えてシステム鍵を供給すると共に、データ鍵を入力することはいうまでもない。
【0065】このように、Encryptor コアだけで暗号アルゴリズムを実行することができ、Decryptor コアだけで解読アルゴリズムおよび鍵スケジュール処理のアルゴリズムを実行することができるようになる。したがって、そのハードウェアの規模を小さくすることができる。特に、デスクランブラにおいてはその効果が大きい。さらに、このような本発明を適用したデスクランブラが放送システムの受信機に搭載されている場合、デスクランブラを備える受信機は各ユーザが備えることになるが、その受信機のコストを削減することができるため、放送システムの普及促進を図ることができる。
【0066】以上の説明では、64ビットブロックの平文を64ビットのデータ鍵、および256ビットのシステム鍵を用いて64ビットブロックの暗号文を生成し、64ビットブロックの暗号文を64ビットのデータ鍵、および256ビットのシステム鍵を用いて64ビットブロックの平文に解読するものとして説明したが、本発明はこれらのビット数に限定されるものではなく、任意のビット数とすることができる。さらに、本発明は上述した転置および換字を繰り返すような暗号化・解読化方式に限定されるものではなく、他の暗号化・解読化方式にも適用することができるものである。
【0067】また、本発明はCATV、衛星通信、ネットワーク等に適用することができる。この場合、システム鍵やデータ鍵等を通信データ中で伝送したり、あるいはプリペイドカードや電話等の手段を用いてユーザが取得できるようにして、聴取料を支払ったユーザだけが解読できるようにすることができる。
図の説明
【図1】本発明の暗号化方法および解読化方法を実行する本発明の暗号化装置および解読化装置の実施の形態の構成例を示すブロック図である。
【図2】本発明の暗号化方法を実行する暗号アルゴリズムを示す図である。
【図3】本発明の解読化方法を実行する解読アルゴリズムを示す図である。
【図4】本発明の暗号方法を適用したスクランブラの構成を示すブロック図である。
【図5】本発明の解読方法を適用したデスクランブラの構成を示すブロック図である。
【図6】本発明の暗号方法および装置の暗号アルゴリズムを示す図である。
【図7】本発明の解読方法および装置の解読アルゴリズムを示す図である。
【図8】図6に示す暗号アルゴリズムの基本関数の詳細を示す図である。
【図9】図8に示す基本関数中の関数π2を演算するための詳細な構成を示す図である。
【図10】本発明の鍵スケジュール処理のアルゴリズムを示す図である。
【図11】Encryptor コアとDecryptor コアの構成を示す図である。
【図12】従来の暗号化のアルゴリズムを示す図である。
【図13】従来の解読化のアルゴリズムを示す図である。
【図14】CBCモードとOFBモードの暗号化利用モードの構成を示す図である。
【図15】従来の暗号化・解読化方式の構成を示す図である。
【符号の説明】
1 スクランブラ、2 デスクランブラ、11,15,23,24,86 排他的論理和回路(EX−OR)、12 Encryptor 、13,22 レジスタ、14,16,21,25,26 Decryptor 、17,27 データ鍵レジスタ、18,28 システム鍵レジスタ、19,29 ワーク鍵レジスタ、30,31,32,33,41,42,43,4450,51,52 切り換え手段、60,61,62,63,64,65,66,67,68 演算段、80,82,8432ビット加算器、81,85 左巡回シフター
その他
状態の移り変わり
1997/09/05  公開