(57)【要約】【課題】  処理速度を維持しながら回路をより小型化できる暗号化装置を提供する。【解決手段】  各々が演算の段階ごとに設けられたπ１回路１０１〜π4回路１０４、π１回路１０１〜π４回路１０４の各々に対応して設けられ、演算の結果を保持するレジスタ１０５ａ〜１０５ｄで演算ユニット１０６ａを構成する。演算ユニット１０６ａにおいて、π１回路１０１は、２つの入力データを使って演算し、データを生成する。レジスタ１０５ａは、生成されたデータを保持する。π２回路１０２は、レジスタ１０５ａによって保持されているデータとπ１回路１０１に入力されたデータの一つとを使ってデータを生成し、このデータをレジスタ１０５ｂが保持する。π３回路１０３は、レジスタ１０５ｂによって保持されているデータとπ２回路１０２に入力されたデータの一つとを使ってデータを生成し、このデータをレジスタ１０５ｃが保持する。【選択図】  図１
2006064812.tif 000002
【特許請求の範囲】
【請求項１】
暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置であって、
各々が演算の段階ごとに設けられた複数の演算手段と、該演算手段の各々に対応して設けられ、演算手段による演算の結果を保持する保持手段とを有する演算ユニットを備え、
前記演算ユニットは、
前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段暗号データを生成する初段演算手段と、
前記初段演算手段の演算によって得られた初段暗号データを保持する初段暗号データ保持手段と、
前記初段暗号データ保持手段によって保持されている初段暗号データと、前記初段演算手段に入力された入力データの一つとを使って前段暗号データを生成する前段演算手段と、
前記前段演算手段の演算によって得られた前段暗号データを保持する前段暗号データ保持手段と、
前記前段暗号データ保持手段によって保持されている前段暗号データと、前記前段演算手段に入力した入力データの一つとを使って後段暗号データを生成する後段演算手段と、  を含むことを特徴とする暗号化装置。
【請求項２】
前記演算ユニットは、
前記放送データを二分割して得られる第１データと第２データとによって第３データを生成する第１演算手段と、
前記第３データを保持する第３データ保持手段と、
前記第１データと前記第３データ保持手段に保持されている第３データとによって第４データを生成する第２演算手段と、
前記第４データを保持する第４データ保持手段と、
前記第３データと前記第４データ保持手段に保持されている第４データとによって第５データを生成する第３演算手段と、
前記第５データを保持する第５データ保持手段と、
前記第４データと前記第５データ保持手段に保持されている第５データとによって第６データを生成する第４演算手段と、
を含むことを特徴とする請求項１に記載の暗号化装置。
【請求項３】
暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置であって、
放送データを段階的に演算する演算手段を所定の数ずつユニット化した演算ユニットと、
前記演算ユニット間に設けられ、該演算ユニットに含まれる前記演算手段の各々による演算結果を保持する保持手段と、
を備えることを特徴とする暗号化装置。
【請求項４】
暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置であって、
互いに並列に設けられ、かつ各々が放送データを段階的に演算する複数の演算手段と、
複数の前記演算手段の演算によって得られた演算結果のうち、少なくとも２つの前記演算手段の演算によって得られた演算結果を保持する共用保持手段と、
前記共用保持手段に保持されている演算結果から、任意の演算結果を選択し、前記演算手段のうち次段階の演算を行う演算手段に入力させる演算結果選択手段と、
を備えることを特徴とする暗号化装置。
【請求項５】
復号化すべき放送データを段階的に演算することによって復号化する復号化装置であって、
各々が演算の段階ごとに設けられた複数の演算手段と、該演算手段の各々に対応して設けられ、演算手段による演算の結果を保持する保持手段とを有する演算ユニットを備え、
前記演算ユニットは、
前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段復号データを生成する初段演算手段と、
前記初段演算手段の演算によって得られた初段復号データを保持する初段復号データ保持手段と、
前記初段復号データ保持手段によって保持されている初段復号データと、前記初段演算手段に入力された入力データの一つとを使って前段復号データを生成する前段演算手段と、
前記前段演算手段の演算によって得られた前段復号データを保持する前段復号データ保持手段と、
前記前段復号データ保持手段によって保持されている前段復号データと、前記前段演算手段に入力された入力データの一つとを使って後段復号データを生成する後段演算手段と、
を含むことを特徴とする復号化装置。
【請求項６】
前記演算ユニットは、
前記放送データを二分割して得られる第１データと第２データとによって第３データを生成する第１演算手段と、
前記第３データを保持する第３データ保持手段と、
前記第１データと前記第３データ保持手段に保持されている第３データとによって第４データを生成する第２演算手段と、
前記第４データを保持する第４データ保持手段と、
前記第３データと前記第４データ保持手段に保持されている第４データとによって第５データを生成する第３演算手段と、
前記第５データを保持する第５データ保持手段と、
前記第４データと前記第５データ保持手段に保持されている第５データとによって第６データを生成する第４演算手段と、
を含むことを特徴とする請求項５に記載の復号化装置。
【請求項７】
復号化すべき放送データを段階的に演算することによって復号化する復号化装置であって、
放送データを段階的に演算する演算手段を所定の数ずつユニット化した演算ユニットと、
前記演算ユニット間に設けられ、該演算ユニットに含まれる前記演算手段の各々による演算結果を保持する保持手段と、
を備えることを特徴とする復号化装置。
【請求項８】
復号化すべき放送データを段階的に演算することによって復号化する復号化装置であって、
互いに並列に設けられ、かつ各々が放送データを段階的に演算する複数の演算手段と、
複数の前記演算手段の演算によって得られた演算結果のうち、少なくとも２つの前記演算手段の演算によって得られた演算結果を保持する共用保持手段と、
前記共用保持手段に保持されている演算結果から、任意の演算結果を選択し、前記演算手段のうち次段階の演算を行う演算手段に入力させる演算結果選択手段と、
を備えることを特徴とする復号化装置。
【請求項９】
暗号化すべき放送データを段階的に演算することによって暗号化する暗号化方法であって、
前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段暗号データを生成する初段演算工程と、
前記初段演算工程において得られた初段暗号データを保持する初段暗号データ保持工程と、
前記初段暗号データ保持工程において保持されている初段暗号データと、前記初段演算工程において入力された入力データの一つとを使って前段暗号データを生成する前段演算工程と、
前記前段演算工程において得られた前段暗号データを保持する前段暗号データ保持工程と、
前記前段暗号データ保持工程において保持されている前段暗号データと、前記前段演算工程において入力された入力データの一つとを使って後段暗号データを生成する後段演算工程と、
を含むことを特徴とする暗号化方法。
【請求項１０】
復号化すべき放送データを段階的に演算することによって復号化する復号化方法であって、
前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段復号データを生成する初段演算工程と、
前記初段演算工程において得られた初段復号データを保持する初段復号データ保持工程と、
前記初段復号データ保持工程において保持されている初段復号データと、前記初段演算工程において入力された入力データの一つとを使って前段復号データを生成する前段演算工程と、
前記前段演算工程において得られた前段復号データを保持する前段復号データ保持工程と、
前記前段復号データ保持工程において保持されている前段復号データと、前記前段演算工程において入力された入力データの一つとを使って後段復号データを生成する後段演算工程と、
を含むことを特徴とする復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化装置、暗号化方法及び復号化装置、復号化方法に係り、特にデジタル放送の信号波を暗号化する暗号化装置、暗号化方法及び復号化装置、復号化方法に関する。
【背景技術】
【０００２】
現在、有料で提供されるデジタル放送（有料放送）の配信が行われている。有料放送における著作権等の権利を保護するため、放送の提供にあたっては、放送の信号波を電気的に攪拌する、スクランブルと呼ばれる暗号化の処理がなされる。スクランブルは、放送が有料放送を受ける正当な権利を有する受信装置によって受信された場合にのみ放送を視聴可能な状態にするための処理である。
【０００３】
スクランブルされた放送の受信側は、受信した放送を復号化して視聴可能にする。この復号化の処理をデスクランブルという。有料放送が正当な受信装置で受信された場合にだけデスクランブルを可能にするため、スクランブルとデスクランブルとを、共通の鍵（暗号化や復号化に使用される文字列やビット列）を使って行う方式がある。このような方式の例として、ＭＵＬＴＩ−２方式が挙げられる。
【０００４】
ＭＵＬＴＩ−２方式は、データをブロックに区切り、このブロックごとに鍵を使って信号波をスクランブル、あるいはデスクランブルする。１つのブロックの信号波は、複数段の演算回路で構成される復号化装置を使ってスクランブル、あるいはデスクランブルされる。このような暗号化装置または復号化装置では、複数段の演算回路（暗号基本関数ブロック）でなされる処理を１つの処理単位とし、この処理単位にあわせて１サイクルの時間を設定していた。
【０００５】
ＭＵＬＴＩ−２方式を使った暗号化、復号化に関する従来技術として、例えば、特許文献１に記載された発明が挙げられる。特許文献１は、暗号化装置に関するものであって、この暗号化装置を図８に簡単に示す。特許文献１に記載された発明は、ＭＵＬＴＩ−２方式が、複数段の演算回路８０１ａ〜８０１ｈの処理時間に合わせて１サイクルが設定されているために１サイクルが長くなることを解消することを目的にしてなされたものである。
【０００６】
この目的のため、特許文献１の発明は、複数段の暗号化装置をレジスタ８０２で分割し、複数サイクルでスクランブルするものとした。このため、１サイクルの時間が短縮でき、暗号化装置の動作を高速化することが可能になった。なお、図８において、各演算回路８０１ａ〜８０１ｈへのデータの入力端子、出力端子が各々２つずつあるのは、ＭＵＬＴＩ−２方式が６４ビットの暗号データを入力し、３２ビットずつに分けて入出力する構成によるものである。
【特許文献１】特開２００２−２９７０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記した従来技術は、各演算回路の出力端子ごとにレジスタ８０２が設けられている。このため、暗号化装置や復号化装置に設けられるレジスタの数が大きくなり、暗号化装置、あるいは復号化装置を構成する回路構成が大型化するという欠点がある。
本発明は、上記した点に鑑みてなされたものであり、特許文献１に記載された発明で得られる処理速度を維持しながら回路をより小型化する暗号化装置、暗号化方法及び復号化装置、復号化方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の課題を解決するため、本発明の暗号化装置は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置であって、各々が演算の段階ごとに設けられた複数の演算手段と、該演算手段の各々に対応して設けられ、演算手段による演算の結果を保持する保持手段と、を有する演算ユニットを備え、前記演算ユニットが、前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段暗号データを生成する初段演算手段と、前記初段演算手段の演算によって得られた初段暗号データを保持する初段暗号データ保持手段と、前記初段暗号データ保持手段によって保持されている初段暗号データと、前記初段演算手段に入力された入力データの一つとを使って前段暗号データを生成する前段演算手段と、前記前段演算手段の演算によって得られた前段暗号データを保持する前段暗号データ保持手段と、前記前段暗号データ保持手段によって保持されている前段暗号データと前記前段演算手段に入力された入力データの一つとを使って後段暗号データを生成する後段演算手段と、を含むことを特徴とする。
【０００９】
このような発明によれば、前記放送データを二分割して得られるデータに基づく２つの入力データを使って演算することにより初段暗号データを生成することができる。また、初段暗号データを保持しておき、保持されている初段暗号データと、初段演算手段に入力された入力データとを使って前段暗号データを生成することができる。
また、前段暗号データ保持手段によって前段暗号データを保持し、保持されている前段暗号データと、前段演算手段に入力された入力データの一つとを使って後段暗号データを生成することができる。
【００１０】
このため、前段暗号データ、後段暗号データのいずれの生成にあってもデータを２つ使用し、かつ、このうちの１つが保持手段に保持されており、１つは前段の演算手段に入力されたデータをそのまま使用することができる。このため、各演算手段においてそのまま使用可能なデータを保持する保持手段を省き、暗号化装置の回路を小型化することができる。
【００１１】
また、本発明の暗号化装置は、前記演算ユニットが、前記放送データを二分割して得られる第１データと第２データとによって第３データを生成する第１演算手段と、前記第３データを保持する第３データ保持手段と、前記第１データと前記第３データ保持手段に保持されている第３データとによって第４データを生成する第２演算手段と、前記第４データを保持する第４データ保持手段と、前記第３データと前記第４データ保持手段に保持されている第４データとによって第５データを生成する第３演算手段と、前記第５データを保持する第５データ保持手段と、前記第４データと前記第５データ保持手段に保持されている第５データとによって第６データを生成する第４演算手段と、を含むことを特徴とする。
【００１２】
このような発明によれば、第４データないし第６データの生成にあたり、データ生成に使用されるデータの一方だけを保持手段で保持し、他方は保持の必要がない。このため、保持の必要がないデータの出力端に保持手段を設けることをなくし、暗号化装置に設けられる保持手段の個数を低減することができる。
また、本発明の暗号化装置は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置であって、放送データを段階的に演算する演算手段を所定の数ずつユニット化した演算ユニットと、前記演算ユニット間に設けられ、該演算ユニットに含まれる前記演算手段の各々による演算結果を保持する保持手段と、を備えることを特徴とする。
【００１３】
このような発明によれば、所定の数の演算手段ごとに演算結果を保持する保持手段を備えたため、各演算手段に保持手段を設ける構成よりも暗号化装置に備えら得る保持手段の個数を低減することができる。このため、暗号化装置の回路をより小型化することができる。
また、本発明の暗号化装置は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置であって、互いに並列に設けられ、かつ各々が放送データを段階的に演算する複数の演算手段と、複数の前記演算手段の演算によって得られた演算結果のうち、少なくとも２つの前記演算手段の演算によって得られた演算結果を保持する共用保持手段と、前記共用保持手段に保持されている演算結果から、任意の演算結果を選択し、前記演算手段のうち次段階の演算を行う演算手段に入力させる演算結果選択手段と、を備えることを特徴とする。
【００１４】
このような発明によれば、共用保持手段によって少なくとも２つの前記演算手段の演算によって得られた演算結果を保持し、保持された演算結果を選択して演算に使用することができる。このため、暗号化装置に必要な保持手段を最小限にし、暗号化装置の回路をいっそう小型化することができる。
【００１５】
また、本発明の復号化装置は、復号化すべき放送データを段階的に演算することによって復号化する復号化装置であって、演算の段階ごとに各々設けられた複数の演算手段と、該演算手段の各々に対応して設けられ、演算手段による演算の結果を保持する保持手段とを有する演算ユニットを備え、前記演算ユニットは、前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段復号データを生成する初段演算手段と、前記初段演算手段の演算によって得られた初段復号データを保持する初段復号データ保持手段と、前記初段復号データ保持手段によって保持されている初段復号データと、前記初段演算手段に入力された入力データの一つとを使って前段復号データを生成する前段演算手段と、前記前段演算手段の演算によって得られた前段復号データを保持する前段復号データ保持手段と、前記前段復号データ保持手段によって保持されている前段復号データと前記前段演算手段に入力された入力データの一つとを使って後段復号データを生成する後段演算手段とを含むことを特徴とする。
【００１６】
このような発明によれば、復号化すべき放送データを二分割して得られるデータに基づく２つの入力データを使って演算することにより初段復号データを生成することができる。また、初段復号データを保持しておき、保持されている初段復号データと、初段演算手段に入力された入力データとを使って前段復号データを生成することができる。
【００１７】
また、前段復号データ保持手段によって前段復号データを保持し、保持されている前段復号データと前段演算手段に入力された入力データの一つとを使って後段復号データを生成することができる。
このため、前段復号データ、後段復号データのいずれの生成にあってもデータを２つ使用し、かつ、このうちの１つが保持手段に保持されており、１つは前段の演算手段に入力されたデータをそのまま使用することができる。このため、各演算手段においてそのまま使用可能なデータを保持する保持手段を省き、復号化装置の回路を小型化することができる。
【００１８】
また、本発明の復号化装置は、前記演算ユニットが、前記放送データを二分割して得られる第１データと第２データとによって第３データを生成する第１演算手段と、前記第３データを保持する第３データ保持手段と、前記第１データと前記第３データ保持手段に保持されている第３データとによって第４データを生成する第２演算手段と、前記第４データを保持する第４データ保持手段と、前記第３データと前記第４データ保持手段に保持されている第４データとによって第５データを生成する第３演算手段と、前記第５データを保持する第５データ保持手段と、前記第４データと前記第５データ保持手段に保持されている第５データとによって第６データを生成する第４演算手段と、を含むことを特徴とする。
【００１９】
このような発明によれば、第４データないし第６データの生成にあたり、データ生成に使用されるデータの一方だけを保持手段で保持し、他方は保持の必要がない。このため、保持の必要がないデータの出力端に保持手段を設けることをなくし、復号化装置に設けられる保持手段の個数を低減することができる。
【００２０】
また、本発明の復号化装置は、復号化すべき放送データを段階的に演算することによって復号化する復号化装置であって、放送データを段階的に演算する演算手段を所定の数ずつユニット化した演算ユニットと、前記演算ユニット間に設けられ、該演算ユニットに含まれる前記演算手段の各々による演算結果を保持する保持手段と、を備えることを特徴とする。
【００２１】
このような発明によれば、所定の数の演算手段ごとに演算結果を保持する保持手段を備えたため、各演算手段に保持手段を設ける構成よりも復号化装置に備えら得る保持手段の個数を低減することができる。このため、復号化装置の回路をより小型化することができる。
【００２２】
また、本発明の復号化装置は、復号化すべき放送データを段階的に演算することによって復号化する復号化装置であって、互いに並列に設けられ、かつ各々が放送データを段階的に演算する複数の演算手段と、複数の前記演算手段の演算によって得られた演算結果のうち、少なくとも２つの前記演算手段の演算によって得られた演算結果を保持する共用保持手段と、前記共用保持手段に保持されている演算結果から、任意の演算結果を選択し、前記演算手段のうち次段階の演算を行う演算手段に入力させる演算結果選択手段と、を備えることを特徴とする。
【００２３】
このような発明によれば、共用保持手段によって少なくとも２つの演算手段の演算によって得られた演算結果を保持し、保持された演算結果を選択して演算に使用することができる。このため、復号化装置に必要な保持手段を最小限にし、復号化装置の回路をいっそう小型化することができる。
【００２４】
また、本発明の暗号化方法は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化方法であって、前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段暗号データを生成する初段演算工程と、前記初段演算工程において得られた初段暗号データを保持する初段暗号データ保持工程と、前記初段暗号データ保持工程において保持されている初段暗号データと前記初段演算工程において入力された入力データの一つとを使って前段暗号データを生成する前段演算工程と、前記前段演算工程において得られた前段暗号データを保持する前段暗号データ保持工程と、前記前段暗号データ保持工程において保持されている前段暗号データと前記前段演算工程において入力された入力データの一つとを使って後段暗号データを生成する後段演算工程とを含むことを特徴とする。
【００２５】
このような発明によれば、前記放送データを二分割して得られるデータに基づく２つの入力データを使って演算することにより初段暗号データを生成することができる。また、初段暗号データを保持しておき、保持されている初段暗号データと、初段演算手段に入力された入力データとを使って前段暗号データを生成することができる。
【００２６】
また、前段暗号データ保持手段によって前段暗号データを保持し、保持されている前段暗号データと前段演算手段に入力された入力データの一つとを使って後段暗号データを生成することができる。
【００２７】
このため、前段暗号データ、後段暗号データのいずれの生成にあってもデータを２つ使用し、かつ、このうちの１つだけを保持し、１つは前段の演算工程において入力されたデータをそのまま使用することができる。このため、各演算工程においてそのまま使用可能なデータを保持する保持工程を省き、暗号化方法に適用される暗号化装置の回路を小型化することができる。
【００２８】
また、本発明の復号化方法は、復号化すべき放送データを段階的に演算することによって復号化する復号化方法であって、前記放送データを二分割して得られるデータに基づく２つの入力データが入力され、該入力データを使って演算することにより初段復号データを生成する初段演算工程と、前記初段演算工程において得られた初段復号データを保持する初段復号データ保持工程と、前記初段復号データ保持工程において保持されている初段復号データと前記初段演算工程において入力された入力データの一つとを使って前段復号データを生成する前段演算工程と、前記前段演算工程において得られた前段復号データを保持する前段復号データ保持工程と、前記前段復号データ保持工程において保持されている前段復号データと前記前段演算工程において入力された入力データの一つとを使って後段復号データを生成する後段演算工程と、を含むことを特徴とする。
【００２９】
このような発明によれば、前記放送データを二分割して得られるデータに基づく２つの入力データを使って演算することにより初段復号データを生成することができる。また、初段復号データを保持しておき、保持されている初段復号データと、初段演算手段に入力された入力データとを使って前段復号データを生成することができる。
【００３０】
また、前段復号データ保持手段によって前段復号データを保持し、保持されている前段復号データと前段演算手段に入力された入力データの一つとを使って後段復号データを生成することができる。
このため、前段復号データ、後段復号データのいずれの生成にあってもデータを２つ使用し、かつ、このうちの１つだけを保持し、１つは前段の演算工程において入力されたデータをそのまま使用することができる。このため、各演算工程においてそのまま使用可能なデータを保持する保持工程を省き、復号化方法に適用される復号化装置の回路を小型化することができる。
【発明を実施するための最良の形態】
【００３１】
以下、図を参照して本発明に係る暗号化装置、暗号化方法及び復号化装置、復号化方法の実施形態１、実施形態２、実施形態３を説明する。
（実施形態１）
図１は、実施形態１の暗号化装置、復号化装置を説明するための図であって、図１（ａ）は暗号化装置を、（ｂ）は復号化装置を示している。なお、実施形態１の暗号化装置、復号化装置は、いずれもＭＵＬＴＩ−２方式を採用したものである。暗号化装置は、有料放送等の限定受信方式の送信側に設けられるものである。また、復号化装置は、限定受信方式の受信側に設けられる。
なお、実施形態１の暗号化装置と復号化装置とは、同様の構成要素を組み替えて互いに反対の処理手順で放送データを処理するものである。このため、実施形態１では、図１（ａ）に示した暗号化装置について主に説明し、（ｂ）の復号化装置については同様の部材に同様の符号を付して説明を省くものとする。
【００３２】
図１（ａ）に示した暗号化装置は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置である。そして、このために、演算手段となる演算回路を複数備えている。演算回路は、各々が放送データに対して行われる演算の段階ごとに設けられ放送データを暗号化するために演算する回路である。実施形態１では、複数の演算回路を演算の段階に応じてπ１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４と記す。
【００３３】
また、実施形態１の暗号化装置は、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４の各々に対応して設けられ、各回路による演算の結果を保持するレジスタ１０５ａ〜１０５ｄを備えている。実施形態１では、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４と、各回路に対応する４つのレジスタ１０５とを演算ユニットとする。実施形態１では、レジスタ１０５ａ〜１０５ｄを、いずれもパイプラインレジスタとし、暗号化装置をパイプライン処理が可能な構成とした。
【００３４】
図１（ａ）に示した暗号化装置は、２つの演算ユニット１０６ａ、１０６ｂを備えている。演算ユニット１０６ａ、１０６ｂは、各々が暗号化すべきデータを１ブロックずつ処理するものである。
また、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４の各々は、レジスタ１０５によって保持されている前段の演算回路によって得られた演算結果と、前段の演算回路に入力される入力データの１つを分岐して得られたデータとを使って演算する。そして、この演算結果と、分岐して得られたデータとを出力する。レジスタ１０５ａ〜１０５ｄは、出力されたデータのうち、いずれも演算回路の演算結果のみを保持するものである。
【００３５】
なお、図中に示すｋ1〜ｋ8は、各々暗号に使用される鍵情報を示す。ｋ1〜ｋ8は、鍵スケジュールを使って拡大された２５６ビットのワーク鍵を３２ビットずつに分割したものである。ワーク鍵は、データ鍵とシステム鍵から生成され、暗号化に使用される。また、スクランブルによって暗号化されたデータに多重化され、受信側にある復号化装置における復号化に使用される。
【００３６】
図１（ａ）の暗号化装置に入力するデータは暗号化されるべき６４ビットの平文のデータである。実施形態１では、ＭＵＬＴＩ−２方式により、平文のデータを２分割して３２ビットのデータとする。そして、２つのデータをそれぞれ暗号化装置の初段演算回路となるπ１回路１０１に入力する。平文のデータを２分割して生成された２つのデータを、各々左３２ビットＬ、右３２ビットＲとも記す。
【００３７】
図２、図３は、このような実施形態１のπ１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４をより詳細に説明するための図である。図２（ａ）はπ１回路１０１を示し、（ｂ）はπ２回路１０２を示す。また、図３（ａ）はπ３回路１０３を示し、（ｂ）はπ４回路１０４を示す。
π１回路１０１は、左３２ビットＬ、右３２ビットＲを入力し、左３２ビットＬをそのまま出力する。また、同時に左３２ビットＬと右３２ビットＲとを使って図中に示した演算を行い、出力する。このような演算は、以下のように表される。
【００３８】
π1（T）＝T[left]ll（T[left]○T[right]）
実施形態１において、このようなπ１回路は、放送データを二分割して得られるデータに基づく２つの入力データ左３２ビットＬ、右３２ビットＲが入力され、この入力データを使った演算により得られるデータＤ1（初段暗号データ）を生成する初段演算手段となる。
【００３９】
また、レジスタ１０５ａは、π１回路１０１の演算によって得られたデータＤ1を保持する初段暗号データ保持手段となる。
π２回路１０２は、レジスタ１０５ａによって保持されているデータＤ1と、π１回路１０１に入力された左３２ビットＬとを使ってデータＤ2（前段暗号データ）を生成する前段演算手段となる。また、レジスタ１０５ｂは、π２回路１０２の演算によって得られたデータＤ2を保持する前段暗号データ保持手段となる。
【００４０】
すなわち、π２回路１０２には、図２（ｂ）に示したように、レジスタ１０５ａによって保持されているデータＤ1と、左３２ビットＬとが入力される。そして、データＤ1をそのままの状態で後段の演算回路π３回路に出力すると共に、分岐して図中に示した演算を行う。
ｘ＝T[right]
ｙ＝ｘ＋ｋ1
ｚ＝Rot1（ｙ）＋ｙ−１
π2ｋ1（T）＝（T[left]）○（Rot4（ｚ）○ｚ))ll T[right]
以上の演算によって生成されたデータＤ2は、レジスタ１０５ｂに保持される。
【００４１】
また、π３回路１０３は、レジスタ１０５ｂによって保持されているデータと、π２回路に入力したデータＤ1とを使ってデータＤ3（後段暗号データ）を生成する後段演算手段となる。さらに、π４回路１０４も、π３回路を前段の演算回路とする後段演算回路となる。
すなわち、図３（ａ）に示すように、π３回路１０３は、データＤ1とデータＤ2とを入力し、データＤ2をそのまま出力すると共に、分岐して図中に示した演算を行う。
【００４２】
ｘ＝T[left]
ｙ＝ｘ＋ｋ2
ｚ＝Rot2（ｙ）＋ｙ＋１
ａ＝Rot8（ｚ）○ｚ
ｂ＝ａ＋ｋ3
ｃ＝Rot1（ｂ）−ｂ
π3ｋ2，ｋ3（T）＝T[left]ll T[right]○（Rot16（ｃ）○（ｃＶｘ）））
π３回路１０３は、以上の演算によってデータＤ3を生成する。生成されたデータＤ3は、レジスタ１０５ｃに保持される。
【００４３】
さらに、π４回路１０４は、データＤ2とデータＤ3とを入力し、データＤ3をそのまま出力すると共に、分岐して図中に示した演算を行う。
ｘ＝T[right]
ｙ＝ｘ＋ｋ4
π4ｋ4（T）＝（T[left]○（Rot2（ｙ）＋ｙ＋１））ll T[right]
π４回路１０４は、以上の演算によってデータＤ4を生成する。生成されたデータＤ4は、レジスタ１０５ｄに保持される。
なお、以上述べたπ１回路１０１〜π４回路１０４が行う演算処理における演算記号の意味は、以下に示すとおりである。
【００４４】
T[left]：ブロック（データ）Tの左３２ビット
T[right]：ブロック（データ）Tの右３２ビット
○：ビットごとの排他的論理和
ll：ブロックデータの結合
＋：２32を法とした加算
−：２32を法とした減算
Rotn：左巡回ｎビットシフト
Ｖはビットごとの論理和
以上述べた実施形態１の構成では、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４の４つの演算回路を単位にして演算ユニット１０６ａ、１０６ｂを形成した。また、演算ユニット１０６ａ、１０６ｂは、各演算回路によって生成されたデータＤ1、Ｄ2、Ｄ3、Ｄ4を、対応する各演算回路の直後で保持するレジスタ１０５ａ、１０５ｂ、１０５ｃ、１０５ｄを備えている。
【００４５】
したがって、図２に示した構成では、演算ユニット１０６ａ、１０６ｂは、放送データを二分割して得られる左３２ビットＬ、右３２ビットＲによってデータＤ1を生成するπ１回路１０１及びデータＤ1を保持するレジスタ１０５ａ、右３２ビットＲとレジスタ１０５ａに保持されているデータＤ1とによってデータＤ2を生成するπ２回路１０２及びデータＤ2を保持するレジスタ１０５ｂ、データＤ1とレジスタ１０５ｂに保持されているデータＤ2とによってデータＤ3を生成するπ３回路１０３及びデータＤ3を保持するレジスタ１０５ｃ、データＤ2とレジスタ１０５ｃに保持されているデータＤ3とによってデータＤ4を生成するπ４回路１０４を含む。
【００４６】
このような実施形態１の構成では、演算回路の各々が暗号化されるべき平文データを演算し、演算の結果得られたデータがそれぞれ対応するレジスタ１０５ａに保持されるまでの処理時間が処理の１サイクルに設定される。このため、実施形態１は、図８に示した従来の構成と１サイクルにかかる時間が等しく、暗号化または復号化装置の動作をより高速化する効果については、従来例として挙げた発明で得られる効果と同程度の効果を得ることができる。
【００４７】
また、実施形態１は、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４でなされる演算において、いずれの場合も２つのデータを入力し、一方を処理することなくそのまま出力すると共に、他方のみを演算して出力することに着目した。そして、演算によって得られたデータを保持するレジスタのみを設け、処理することなく出力されるデータを保持するレジスタを演算ユニットの構成から排した。
【００４８】
このため、実施形態１の暗号化装置は、従来例の構成によって得られる動作速度と同等の動作速度で動作でき、しかもレジスタの個数を低減して回路をより小型化できる。
ただし、以上述べた実施形態１は、演算回路から出力される２つのデータのうち、一方をレジスタに保持して他方を直接次段の演算回路に入力している。このため、次段に対して出力される２つのデータのタイミングを合わせることが難しくなる。このため、実施形態１では、次のようにして各演算回路及びレジスタの動作タイミングを調整する。
【００４９】
図４、図５は、実施形態１の暗号化装置の動作タイミングを説明するための図であって、図４は、図８に従来例として示した装置のタイミングチャートである。また、図５は、図１（ａ）に示した暗号化装置のタイミングチャートである。
図８に示した従来の装置では、クロック信号（ＣＬＫ）を基準にして暗号化すべきデータが常に一定のタイミングでπ１回路１０１〜π４回路１０４に入力される。そして、演算された後に同じタイミングで各演算回路後段のレジスタに出力される。
【００５０】
しかし、実施形態１の暗号化装置では、図５に示したように、演算回路の処理結果の出力タイミングやレジスタによるデータの保持期間を制御する制御信号が出力される。この制御信号には、入力データを有効なデータとして検出すべき期間を示す入力データ有効信号、レジスタのデータ保持タイミング、演算処理によって得られるデータＤ等の出力タイミングを制御する処理結果信号がある。
【００５１】
図示したタイミングチャートによれば、実施形態１の暗号化装置が、入力データの有効信号の立ち上がりから次の立ち上がりまでデータを有効として入力し、入力の開始後にπ１回路１０１の後段レジスタ１０５ａにデータが保持される。また、レジスタ１０５ａにデータが保持されている間にπ２回路１０２が演算によってデータＤ2を生成する。
また、π２回路１０２の後段レジスタ１０５ｂは、後段レジスタ保持信号がアクティブになったときのクロックの立上りに同期してπ２回路１０２で得られた演算の結果を保持する。π３回路１０３、π４回路１０４も同様に、前段のレジスタにデータが保持されている間に演算し、データＤ3、データＤ4を生成する。π３回路１０３、π４回路１０４の後段レジスタは、後段レジスタ保持信号がアクティブになったときのクロックの立上りに同期して、対応する演算回路で得られた演算の結果を保持する。
【００５２】
実施形態１は、以上述べた構成によってデータの入力タイミング及びレジスタの保持タイミングを調整している。このため、実施形態１は、各演算回路が、そのまま出力されたデータと、このデータを分岐して演算処理されたデータとを使って演算し、この結果を後段の演算回路またはレジスタに送出することができる。
さらに、本実施形態１は、以上述べた構成によって復号化装置をも構成することができる。すなわち、復号化は、暗号化の処理を反対に行うことによって可能になる。このため、実施形態１は、図１（ｂ）のように、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４を図１（ａ）に示した暗号化装置と反対に配置することにより、復号化装置を構成することが可能である。
【００５３】
なお、実施形態1は、以上説明したタイミングの調整を、例えば、π１回路１０１とレジスタ１０５ａとの間に位置するセレクタと、このセレクタに入力データの有効信号を出力するカウンタ、あるいはシーケンサとを設け、さらに、π２回路１０２とレジスタ１０５ｂ、π３回路１０３とレジスタ１０５ｃ、π４回路１０４とレジスタ１０５ｄとの間にもセレクタを設けることによって実現する。π１回路１０１後段のセレクタは、入力された入力データの有効信号に同期してレジスタ保持信号を出力する。
【００５４】
このような構成によれば、π１回路よりも後段の回路でレジスタ保持信号が入力データの有効信号と同様の機能を果たし、レジスト保持信号がアクティブのとき、演算の結果をレジスタ１０５ｂ〜１０５ｄに保持することが可能になる。
【００５５】
（実施形態２）
次に、本発明の実施形態２について説明する。図６（ａ）、（ｂ）は、本発明の実施形態２の構成を説明するための図であって、（ａ）は暗号化装置を、（ｂ）は復号化装置を示している。なお、実施形態２の暗号化装置と復号化装置とは、同様の構成要素を組み替えて互いに反対の処理手順で放送データを処理するものである。このため、実施形態２では、図６（ａ）に示した暗号化装置について主に説明し、（ｂ）の復号化装置については同様の部材に同様の符号を付し、説明を省くものとする。
【００５６】
実施形態２の暗号化装置は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置である。そして、放送データを段階的に演算する演算手段であるπ１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４を所定の数ずつユニット化した演算ユニットを備えている。実施形態２では、演算ユニットに含まれる演算回路を２つとし、π１回路１０１、π２回路１０２を１組の演算回路とした。また、π３回路１０３、π４回路１０４を１組の演算回路とした。
【００５７】
実施形態２の暗号化装置は、このような演算ユニットを４つ備えるものとし、各演算ユニットに６０１ａ、６０１ｂ、６０１ｃ、６０１ｄの符号を付して区別した。
また、実施形態２の暗号化装置は、演算ユニット６０１ａ〜６０１ｄ同士の間に設けられ、演算ユニットに含まれる演算回路の各々で得られた演算結果を保持するレジスタ１０５ａ、１０５ｂ、１０５ｃ、１０５ｄを備える。
【００５８】
このような実施形態２の暗号化装置は、以下のように動作する。すなわち、平文のデータは、左３２ビットＬと右３２ビットＲとに分割される。そして、各々π１回路１０１に入力する。π１回路１０１は、左３２ビットＬと右３２ビットＲとを使って図２（ａ）に示した演算を行い、データＤ1を出力する。データＤ1は、出力後に分岐して一方がπ２回路１０２に出力される。また、他方は、レジスタ１０５ｂに出力され、レジスタ１０５ｂに保持される。
【００５９】
また、π１回路１０１に入力された左３２ビットＬは、入力される以前に分岐してπ２回路１０２に出力される。π２回路１０２は、データＤ1と左３２ビットＬとを使い、図２（ｂ）に示した演算を行ってデータＤ2を生成する。データＤ2は、レジスタ１０５ａに保持される。そして、データＤ2とレジスタ１０５ｂに保持されているデータＤ1とは、一致するタイミングで各々レジスタから出力される。この結果、データＤ1とデータＤ2とは、同じタイミングで演算ユニット６０１ｂに出力される。
【００６０】
次に、演算ユニット６０１ｂのπ３回路１０３は、データＤ1とデータＤ2を用いて図３（ａ）に示した演算を行い、データＤ3を生成する。データＤ3は、π３回路１０３から出力後、分岐する。分岐したデータＤ3の一方は、演算ユニット６０１ｂ後段のレジスタ１０５ｄに保持される。他方は、π４回路１０４に出力される。
π４回路１０４は、データＤ2とデータＤ3とを用い、図３（ｂ）に示した演算を行ってデータＤ4を生成する。データＤ4は、レジスタ１０５ｃに保持される。そして、データＤ4とレジスタ１０５ｄに保持されているデータＤ3とは、一致するタイミングで各々レジスタから出力される。この結果、データＤ3とデータＤ4とは、同じタイミングで演算ユニット６０１ｃに出力される。
【００６１】
以上述べた実施形態２の暗号化装置は、複数の演算回路で演算ユニットを構成し、演算ユニット間にレジスタを設けた。このため、暗号化装置に設けられるレジスタの数を図８に示した従来の構成よりも低減して回路構成を小型化することができる。
ただし、実施形態２の構成は、演算ユニット内にレジスタがないため、１サイクルで１つの演算処理ユニットの処理を行う必要がある。このため、実施形態２の暗号化装置は、１サイクルの時間が長くなり、図８に示した構成と同程度の動作速度を得ることができない可能性がある。
【００６２】
このため、実施形態２の暗号化装置の実施にあたっては、動作速度に着目して演算ユニットとして組み合わされる演算回路の演算内容や処理時間を検討することが望ましい。
なお、実施形態２においても、演算回路であるπ１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４を、パイプライン処理が反対の順序で行われるよう配置することができる。演算回路の配置を反対にすることによって、実施形態２の暗号化装置で暗号化された暗号を復号化する復号化装置を構成することができる。
【００６３】
（実施形態３）
次に、本発明の実施形態３について説明する。図７（ａ）、（ｂ）は、本発明の実施形態３の構成を説明するための図であって、（ａ）は暗号化装置を、（ｂ）は復号化装置を示している。なお、実施形態３の暗号化装置と復号化装置とは、同様の構成要素を組み替えて互いに反対の処理手順で放送データを処理するものである。このため、実施形態３では、図７（ａ）に示した暗号化装置について主に説明し、（ｂ）の復号化装置については同様の部材に同様の符号を付し、説明を省くものとする。
実施形態３の暗号化装置は、暗号化すべき放送データを段階的に演算することによって暗号化する暗号化装置である。そして、互いに並列に設けられ、かつ放送データを段階的に演算する複数の演算回路であるπ１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４を備えている。
【００６４】
また、実施形態３の暗号化装置は、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４の演算によって得られた演算結果のうち、少なくとも２つの演算回路の演算によって得られた演算結果を保持するレジスタ７０５ａ、７０５ｂを備えている。レジスタ７０５ａ、７０５ｂは、共用保持手段として機能する。
さらに、実施形態３の暗号化装置は、シーケンサ７０１及びセレクタ７０３ａ、７０３ｂ、７０３ｃ、７０３ｄ、７０３ｅを備えている。シーケンサ７０１及びセレクタ７０３ａ〜７０３ｅは、レジスタ７０５ａ、７０５ｂに保持されている演算結果から、任意の演算結果を選択し、演算回路のうち次段階の演算を行う演算回路に入力させる演算結果選択手段として機能する。
【００６５】
以上述べた実施形態３の暗号化装置は、以下のように動作する。すなわち、実施形態３の暗号化装置は、シーケンサ７０１を備えている。シーケンサ７０１は、５本の選択信号７ａ、７ｂ、７ｃ、７ｄ、７ｅを出力する。各信号７ａ〜７ｅは、セレクタ７０３ａ、７０３ｂ、７０３ｃ、７０３ｄ、７０３ｅのうちの各々対応するものを制御する信号である。
【００６６】
暗号化されるべき平文のデータは、左３２ビットＬ、右３２ビットＲの２つのデータに分割される。右３２ビットＲは、セレクタ７０３ａに入力する。また、左３２ビットＬは分岐してセレクタ７０３ｂとセレクタ７０３ｃとに入力する。
セレクタ７０３ａは、右３２ビットＲを選択する。この結果、右３２ビットＲは、π１回路１０１に入力される。また、セレクタ７０３ｂは左３２ビットＬを選択し、左３２ビットＬがπ１回路に入力される。π１回路１０１は、右３２ビットＲと左３２ビットＬとを用い、図２（ａ）に示した演算を行ってデータＤ1を生成する。データＤ1は、セレクタ７０３ｄに入力し、セレクタ７０３ｄがデータＤ1をレジスタ７０５ａに保持させる。
【００６７】
また、セレクタ７０３ｃは、左３２ビットＬを選択し、π２回路１０２に入力する。また、セレクタ７０３ｄがレジスタ７０５ａに保持されているデータＤ1を選択し、π２回路１０２に出力する。π２回路１０２は、左３２ビットＬとデータＤ1とによって図２（ｂ）に示した演算を実行する。この結果、データＤ2が生成され、セレクタ７０３ｅを通じてレジスタ７０５ｂに格納される。
【００６８】
次に、シーケンサ７０１は、選択信号７ｄによってセレクタ７０３ｄを制御し、レジスタ７０５ａに保持されているデータＤ1を選択する。また、選択信号７ｅによってセレクタ７０３ｅを制御し、レジスタ７０５ｂに保持されているデータＤ2を選択する。データＤ1とデータＤ2とは、π３回路１０３に出力される。π３回路１０３は、データＤ1とデータＤ2とを用いて図３（ａ）に示した演算を行い、データＤ3を生成する。データＤ3は、セレクタ７０３ｄを介してレジスタ７０５ａに保持される。
【００６９】
また、シーケンサ７０１は、選択信号７ｅによってセレクタ７０３ｅを制御し、レジスタ７０５ｂに保持されているデータＤ2を選択する。また、選択信号７ｄによってセレクタ７０３ｄを制御し、レジスタ７０５ａに保持されているデータＤ3を選択する。データＤ2とデータＤ3とは、π４回路１０４に出力される。π４回路１０４は、データＤ2とデータＤ3とを用いて図３（ｂ）に示した演算を行ってデータＤ4を生成する。データＤ4は、セレクタ７０３ｄを介してレジスタ７０５ａに保持される。
【００７０】
以上述べた実施形態３の暗号化装置は、π１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４が、互いに並列に設けられている。このため、実施形態１、実施形態２の暗号化装置とは異なり、パイプライン処理によって暗号化を行うことはできない。
しかし、実施形態３の暗号化装置は、シーケンサ７０１等の演算結果選択手段を設け、演算に使用すべきデータを選択することができる。このため、暗号化の演算の途中でデータを保持するレジスタを最小限にし、実施形態１、実施形態２よりもいっそう回路を小型化することができる。
【００７１】
なお、実施形態３は、図８に示した従来の構成と１サイクルで処理すべき演算の処理量が変わらない。このため、実施形態３の暗号化装置は、図８に示した従来の装置で得られる動作速度と同様の動作速度を得ることができる。
なお、以上述べた実施形態３は、暗号化装置をレジスタや演算回路のハードウェアで構成する例を示した。しかし、実施形態３は、このような構成に限定されるものではなく、ソフトウェアによって実現することも可能である。
【００７２】
また、実施形態３においても、暗号化装置におけるπ１回路１０１、π２回路１０２、π３回路１０３、π４回路１０４を反対に配置して暗号化の処理を反対の手順で行うことができる。このような構成は、実施形態３の暗号化装置で暗号化された暗号データを復号化する復号化装置となる。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態１の暗号化装置、復号化装置を説明するための図である。
【図２】図1に示した実施形態１の演算回路における演算を説明するための図である。
【図３】図1に示した実施形態１の演算回路における演算を説明するための他の図である。
【図４】図８に従来例として示した暗号化装置のタイミングチャートである。
【図５】図１（ａ）に示した本発明の実施形態１の暗号化装置のタイミングチャートである。
【図６】本発明の実施形態２の暗号化装置を説明するための図である。
【図７】本発明の実施形態３の暗号化装置を説明するための図である。
【図８】従来の暗号化装置を説明するための図である。
【符号の説明】
【００７４】
１０１  π１回路、１０２  π２回路、１０３  π３回路、１０４  π４回路、
１０５ａ、１０５ｂ、１０５ｃ、１０５ｄ  レジスタ
１０６ａ、１０６ｂ、６０１ａ、６０１ｂ、６０１ｃ、６０１ｄ  演算ユニット
７０１  シーケンサ、７０３ａ、７０３ｂ、７０３ｃ、７０３ｄ、７０３ｅ  セレクタ
７０５ａ、７０５ｂ  レジスタ
【図１】
2006064812.tif 000003
【図２】
2006064812.tif 000004
【図３】
2006064812.tif 000005
【図４】
2006064812.tif 000006
【図５】
2006064812.tif 000007
【図６】
2006064812.tif 000008
【図７】
2006064812.tif 000009
【図８】
2006064812.tif 000010