(57)【要約】【課題】可変長フレームを入力とする暗号計算回路の規模を削減できる暗号化装置を提供する。【解決手段】固定長のヘッダと可変長のペイロードとからなるフレームを入力するアイドルデータ挿入部と、このアイドルデータ挿入部の出力を入力とする暗号化部とからなり、アイドルデータ挿入部は、ペイロードに含まれる処理ブロックの長さが所定の値に満たないとき、処理ブロックの後にアイドルデータを付加して暗号化部に送信する暗号化装置により、達成できる。【選択図】図２３
2008160318.tif 000002
【特許請求の範囲】
【請求項１】
固定長のヘッダと可変長のペイロードとからなるフレームを入力するアイドルデータ挿入部と、このアイドルデータ挿入部の出力を入力とする暗号化部とからなる暗号化装置であって、
前記アイドルデータ挿入部は、前記ペイロードに含まれる処理ブロックの長さが所定の値に満たないとき、前記処理ブロックの後にアイドルデータを付加して前記暗号化部に送信することを特徴とする暗号化装置。
【請求項２】
固定長のヘッダと可変長のペイロードとからなるフレームを入力するアイドルデータ挿入部と、このアイドルデータ挿入部の出力を入力とする暗号化部とからなる暗号化装置であって、
前記アイドルデータ挿入部は、前記ペイロードに含まれる第１の処理ブロックの第１の長さと第２の処理ブロックの第２の長さとの和が所定の値に満たないとき、前記第２の処理ブロックの後にアイドルデータを付加して前記暗号化部に送信し、
前記暗号化部は、第１の暗号計算部と第２の暗号計算部とを含み、前記アイドルデータ挿入部から受信した処理単位ごとに、前記第１の暗号計算部と前記第２の暗号計算部とを交互に用いて暗号演算することを特徴とする暗号化装置。
【請求項３】
請求項１または請求項２に記載の暗号化装置であって、
前記アイドルデータ挿入部は、前記フレームの受信停止を検出したとき、アイドルデータを前記暗号化部に送信することを特徴とする暗号化装置。
【請求項４】
請求項１または請求項２に記載の暗号化装置であって、
前記アイドルデータ挿入部は、前記フレームが非暗号対象のとき、そのまま前記暗号化部に送信することを特徴とする暗号化装置。
【請求項５】
請求項１または請求項２に記載の暗号化装置であって、
前記アイドルデータ挿入部は、前記フレームが鍵型のとき、予め定めたパターンとなるようにアイドルデータを付加して、前記暗号化部に送信することを特徴とする暗号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化装置に係り、とくに任意の長さのパケットを暗号化する暗号化装置に関する。
【背景技術】
【０００２】
音声や画像など、データを転送する公衆通信網の中で、ユーザを局に収容するアクセス網には、電話加入者網やＡＤＳＬ等が利用されてきた。更に近年になって、光アクセスシステムの導入が始まっている。
【０００３】
この光アクセスシステムとしては、局と加入者の間を１対ｎで接続する形態として、ＰＯＮ（Passive Optical Network）が知られている。ＰＯＮでは、上り用と下り用に光波長を１つずつ割り当て、局舎に設けたＯＬＴ（Optical Line Terminal）と複数個の加入者宅のＯＮＴ（Optical Network Terminal）の間で、帯域を共用してデータ通信を行う。ＯＬＴからＯＮＴに向かう下り側信号は途中スプリッタにおいて光信号が分配され、ＯＮＴで自分宛の信号のみを取り出すことで通信を行う。上り信号に関しては、ＯＬＴがＯＮＴに対して送信時間タイミングを通知し、そのタイミングに合わせてＯＮＴがＯＬＴに対して信号を送信することにより、ひとつの波長を複数のＯＮＴで共用してＯＬＴとの通信を行う。
【０００４】
この様な光アクセスシステムとしては、Ｂ−ＰＯＮ（Broadband PON）、Ａ−ＰＯＮ（ATM PON）、ＧＥ−ＰＯＮ（Giga-bit Ether PON）、Ｇ−ＰＯＮ（Generic PON）が知られている。特に、Ｇ−ＰＯＮは、最高速度が上り１.２５Ｇｂｉｔ／ｓ、下り２.５Ｇｂｉｔ／ｓと最も高速で、ＡＴＭ、イーサネット（登録商標）、ＷＤＭプロトコルをサービスするネイティブＧＥＭ（Generic Encapsulation Method/G-PON Encapsulation Method）を採用することで、複数のプロトコルをサービスする点で、注目を浴びている。
【０００５】
Ｇ−ＰＯＮでは、下りＰＯＮフレームは固定長、下りＰＯＮヘッダも固定長である。一方、上りＰＯＮフレームは可変長、上りＰＯＮヘッダはほぼ固定長である。また、暗号化に関して、Ｇ−ＰＯＮは、下りの信号のＡＥＳ（Advanced Encryption Standard）−１２８による暗号化を規定しているものの、可変長フレームである上りの暗号化は規格になっていない。しかし、可変長フレームに対する暗号化も今後必須である。また、ＩＴＵ−Ｔ Ｇ９８４.３に準拠するためには、任意の長さのＧＥＭパケット（特に長さが最小単位の６バイトのＧＥＭパケット）が、連続することを考慮する必要がある。
【０００６】
Ｇ−ＰＯＮが使用する暗号ＡＥＳ−１２８は、鍵長１２８ｂｉｔ、暗号ブロック長１２８ｂｉｔで１０回のラウンド計算を必要とする。１回分のラウンド計算を１個のクロック周期で実行できれば、データ取り込みも含めて１１クロック周期で１個の暗号ブロックの計算を行える。逆に、暗号計算は、一定の処理時間が必要であり、以下の図面では「Ｐ」と記載している。ＡＥＳ−１２８ではＰ＝１１であり、任意の長さのＧＥＭパケットを処理するために、２.４Ｇｂｉｔ／ｓスループット考慮すると、１クロックで１バイト処理する８ビット並列回路のとき、暗号計算面を２面必要とする。また、１クロックで２バイト処理する１６ビット並列回路のとき、暗号計算面を４面必要とする。
【０００７】
現状のＶＬＳＩ技術では、トランジスタ等の構成要素の動作速度はデータ線１本当たり（１ｂｉｔ当たり）１５０Ｍｂｉｔ／ｓのオーダが限度であり、普通の大規模集積回路で２.４Ｇｂｉｔ／ｓ（あるいは２.４ＧＨｚ）のスループットを実現するには、データ線１６本を１クロック周期で同時に処理する１６ｂｉｔ並列の回路アーキテクチャが必要である。この結果、暗号計算面を４面持つと、安価な製造プロセス、安価なチップサイズ（１０ｍｍｘ１０ｍｍ）を使用した場合、暗号計算回路が全体の規模の７割程度を占有してしまい、ＰＯＮの処理回路、イーサの処理回路まで実装できない。高価で実装率の高い製造プロセスを使用しても暗号計算回路が４割程度を占有し、ＰＯＮの処理回路やイーサの処理回路を入れるにはかなり高価なチップサイズ（１５ｍｍｘ１５ｍｍ）を使用する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、可変長フレームを入力とする暗号計算回路の規模を削減できる暗号化装置を提供する。
【課題を解決するための手段】
【０００９】
上述した課題は、  固定長のヘッダと可変長のペイロードとからなるフレームを入力するアイドルデータ挿入部と、このアイドルデータ挿入部の出力を入力とする暗号化部とからなり、アイドルデータ挿入部は、ペイロードに含まれる処理ブロックの長さが所定の値に満たないとき、処理ブロックの後にアイドルデータを付加して、暗号化部に送信する暗号化装置により、達成できる。
【００１０】
また、固定長のヘッダと可変長のペイロードとからなるフレームを入力するアイドルデータ挿入部と、このアイドルデータ挿入部の出力を入力とする暗号化部とからなり、アイドルデータ挿入部は、ペイロードに含まれる第１の処理ブロックの第１の長さと第２の処理ブロックの第２の長さとの和が所定の値に満たないとき、第２の処理ブロックの後にアイドルデータを付加して暗号化部に送信し、暗号化部は、第１の暗号計算部と第２の暗号計算部とを含み、アイドルデータ挿入部から受信した受信単位ごとに、第１の暗号計算部と第２の暗号計算部と交互に用いて暗号演算する暗号化装置により、達成できる。
【発明の効果】
【００１１】
本発明によれば、可変長フレームを入力とする暗号計算回路の規模を削減できる暗号化装置を提供することことができる。
【発明を実施するための最良の形態】
【００１２】
以下本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【００１３】
図１は光アクセスネットワークのブロック図である。光アクセスネットワーク１０は、光集線装置（以下、ＯＬＴ）１、光加入者装置（以下、ＯＮＴ）２、スプリッタ３、ＯＬＴ１とスプリッタ３との間の幹線ファイバ８およびスプリッタ３とＯＮＴ２との間の加入者ファイバ９で構成されている。ＯＮＴ２はＩＰシステム４およびＴＤＭシステム５に接続されている。また、ＯＬＴ１はＩＰネットワーク６およびＴＤＭネットワーク７に接続されている。
【００１４】
ＴＤＭシステム５からのＴＤＭ信号は光アクセスネットワーク１０を介してＴＤＭネットワーク７に収容される。またＩＰシステム４からの信号は光アクセスネットワーク１０を介してＩＰネットワーク７へと収容される。これらの信号を上り信号と呼ぶ。
【００１５】
また、逆にＴＤＭネットワー７からのＴＤＭ信号は、光アクセスネットワーク１０を介してＴＤＭシステム５に収容される。またＩＰネットワーク６からの信号は光アクセスネットワーク１０を介してＩＰシステム４へと収容される。これらの信号を下り信号と呼ぶ。
なお、以下説明する図７までのブロック図において、信号の流れる方向（上り、下り）は、図１に合わせている。
【００１６】
図２はＯＬＴのブロック図である。幹線ファイバ８からの上り光信号は、光電変換モジュール７１で電気信号に変換された後、ＯＬＴ ＰＯＮ送受信ブロック７２でＧＥＭ終端される。変換された電気信号は、ＧＥＭ終端によって、イーサネット信号およびＴＤＭ信号に変換される。イーサネット信号とＴＤＭ信号は、それぞれイーサネットＰＨＹ７３およびＴＤＭ ＰＨＹ ７４を介して、ＩＰネットワーク６およびＴＤＭ信ネットワーク７へと送出される。
【００１７】
ＩＰネットワーク６およびＴＤＨネットワーク７から到来する下り信号は、それぞれイーサネットＰＨＹ７３またはＴＤＭ ＰＨＹ７４で受信された後、ＯＬＴ ＰＯＮ送受信ブロック７２に送信される。ＯＬＴ ＰＯＮ送受信ブロック７２は、ＧＥＭフレーム組み立てを行った後、光電変換モジュ−ル７１を介して幹線光ファイバ８へ送出される。ＭＰＵ７５、ＲＡＭ７６および制御系インターフェース７７は、ＯＬＴ１を制御するためのマイコン、ＲＡＭおよび外部よりＯＬＴ１に設定を行うためのインターフェースである。
【００１８】
図３はＯＮＴのブロック図である。加入者ファイバ９からの下り光信号は、光電変換モジュール８１で電気信号に変換された後にＯＮＴ ＰＯＮ送受信ブロック８２にてＧＥＭ終端される。ＯＮＴ ＰＯＮ送受信ブロック８２は、変換された電気信号を、イーサネットフレームおよびＴＤＭ信号に変換する。イーサネットフレームおよびＴＤＭ信号は、それぞれイーサネットＰＨＹ ８３およびＴＤＭ ＰＨＹ８４を介して、ＩＰシステム４およびＴＤＭシステム５へと送出される。
【００１９】
ＩＰシステム４およびＴＤＭシステム５からの上り信号は、それぞれイーサネットＰＨＹ８３またはＴＤＭ ＰＨＹ ８４で受信された後、ＯＮＴ ＰＯＮ送受信ブロック８２に送信される。ＯＮＴ ＰＯＮ送受信ブロック８２は、ＧＥＭフレーム組み立てを行った後、光電変換モジュール８１を介して、加入者ファイバ９へ送出される。ＭＰＵ８５、ＲＡＭ８６および制御系インターフェース８７は、ＯＮＴ２を制御するためのマイコン、ＲＡＭおよび外部よりＯＮＴ２に設定を行うためのインターフェースである。
【００２０】
図４はＯＬＴのＰＯＮ送受信ブロックのブロック図である。光電変換モジュール７１からの上りＰＯＮフレーム信号は、ＰＯＮ受倍部９０で同期処理とＧＥＭ切り出し処理を行った後に、切り出されたペイロードは、受信ＧＥＭ組立部９１に送信される。受信ＧＥＭ組立部９１は、複数の短期フレームに分割されて送信されたＧＥＭの組み立てを行う。その後、受信ＧＥＭバッファ９２に格納されて、ＯＬＴ受信テーブル９３のテーブル情報に応じて、ＯＬＴ上りイーサネットＧＥＭ終端部９４とＯＬＴ上りＴＤＭ ＧＥＭ終端部９６に振り分けられる。
【００２１】
ＯＬＴ上りイーサネットＧＥＭ終端部９４は、ＧＥＭフレームからイーサネットフレームを取り出し、取り出したイーサネットフレームをＯＬＴ上りイーサネットインターフェース９５を介してイーサネットＰＨＹ７３へと送出する。ＯＬＴ上りＴＤＭ ＧＥＭ終端部９６は、ＧＥＭフレームからＴＤＭ信号を抜き出し、抜き出したＴＤＭ信号を所望のタイミングでＯＬＴ上りＴＤＭインターフェース９７を介してＴＤＭ ＰＨＹ７４へと送出する。
【００２２】
下り信号に関しては、ＯＬＴ下りＴＤＭインターフェース１０４は、ＴＤＭ ＰＨＹ７４からＴＤＭ信号を受信する。ＯＬＴ下りＴＤＭ ＧＥＭ終端部１０３は、ＴＤＭ信号をバッファリングしてＧＥＭを生成する。ＯＬＴ下りイーサネットインターフェース１０６は、イーサネットＰＨＹ７３からのイーサフレームを受信する。ＯＬＴ下りイーサネットＧＥＭ終端部１０５は、ＧＥＭの生成を行う。ＯＬＴ送信スケジューラ１０２は、ＯＬＴ下りＴＤＭ ＧＥＭ終端部１０３を制御して、周期的にＴＤＭのＧＥＭを送信ＧＥＭバッファ１０１に送出する。ＯＬＴ送信スケジューラ１０２は、また、ＯＬＴ下りイーサネットＧＥＭ終端部１０５を制御して、空いたタイミングでイーサ信号のＧＥＭを送信ＧＥＭバッファ１０１に送出する。ＯＬＴ送信スケジューラ１０２は、送信ＧＥＭバッファ１０１を制御して、周期的にＴＤＭ信号のＧＥＭとイーサ信号のＧＥＭを送信ＧＥＭ組立部１００に転送する。送信ＧＥＭ組立部１００は、ＰＯＮフレームのペイロード分のＧＥＭを組み立て、ＰＯＮ送信部９９に転送する。ＰＯＮ送信部９９は、ヘッダを生成した後、ＰＯＮフレームの送信を行う。
【００２３】
ＯＬＴ１とＯＮＴ２との距離測定であるレンジングを行う場合には、レンジング制御部９８がレンジング信号を、ＯＬＴ送信スケジューラ１０２により許可されたタイミングで、ＰＯＮ送信部９９より送出する。ＯＮＴ２からの応答がＰＯＮ受信部９０を介してレンジング制御部９８に戻って＜ることで、レンジングが完了する。
なお、ＭＰＵインターフェース１０７は、ＭＰＵ７５の各制御ブロックに対する制御を仲介する。
【００２４】
図５はＯＮＴのＰＯＮ送受信ブロックのブロック図である。光電変換モジュール８１からの下り信号は、ＰＯＮ受信部１２７が受信する。ＰＯＮ受信部１２７は、同期処理、ＧＥＭ切り出し処理を行う。受信ＧＥＭ組立部１２６は、複数の短期フレームに分割されて送信されたＧＥＭの組み立てを行う。組み立てられたＧＥＭは、受信ＧＥＭバッファ１２５に格納されて、ＯＮＴ受信テーブル１２４のテーブル情報に応じて、ＯＮＴ下りイーサネットＧＥＭ終端部１２１とＯＮＴ下りＴＤＭ ＧＥＭ終端部１２３に振り分けられる。ＯＮＴ下りイーサネットＧＥＭ終端部１２１は、ＧＥＭからイーサネットフレームを抜き出す。イーサネットフレームは、ＯＮＴ下りイーサネットインターフェース１２０を介して、イーサネットＰＨＹ８３へ送出される。ＯＮＴ下りＴＤＭ ＧＥＭ終端部１２３は、ＧＥＭからＴＤＭ信号が抜き出し、予め定められたタイミングでＯＮＴ下りＴＤＭインターフェース１２２を介して、ＴＤＭ ＰＨＹ８４へと送出される。
【００２５】
上り信号に関しては、ＯＮＴ上りＴＤＭインターフェース１３４がＴＤＭ信号を受信する。ＯＮＴ上りＴＤＭ ＧＥＭ終端部１３３は、ＴＤＭ信号をバッファリングしてＧＥＭを組み立てる。ＯＮＴ上りイーサネットインターフェース１３６は、イーサフレームを受信する。ＯＮＴ上りイーサネットＧＥＭ終端部１３５は、ＧＥＭの生成を行う。ＯＮＴ送信スケジューラ１３１は、ＯＮＴ上りＴＤＭ ＧＥＭ終端部１３３を制御して、周期的にＴＤＭのＧＥＭを、送信ＧＥＭバッファ１３２に転送する。また、ＯＮＴ送信スケジューラ１３１は、ＯＮＴ上りイーサネットＧＥＭ終端部１３５を制御して、空いたタイミングで、イーサネットのＧＥＭを、送信ＧＥＭバッファ１３２に転送する。ＯＮＴ送信スケジューラ１３１は、送信ＧＥＭバッファ１３２を制御して、周期的にＴＤＭのＧＥＭとイーサネットのＧＥＭを送信ＧＥＭ組立部１３０に転送する。送信ＧＥＭ組立部１３０は、ＰＯＮフレームのペイロード分のＧＥＭを組み立て、ＰＯＮ送信部１２９に転送する。ＰＯＮ送信部１２９は、ヘッダを生成した後、ＰＯＮフレームの送信を行う。
【００２６】
レンジングを要求された場合には、ＰＯＮ受信部１２７で受信したレンジング要求信号をレンジング制御部１２８で処理し、折り返しＰＯＮ送信部１２９を介してレンジング受信信号を送り返す。
なお、ＭＰＵインターフェース１３７は、ＭＰＵ８５の各制御ブロックに対する制御を仲介する。受信ＧＥＭ組立部１２６は、Ｉｄｌｅ ＧＥＭを廃棄する。
【００２７】
図６はＯＬＴのＰＯＮ受信部とＰＯＮ送信部のブロック図である。また、図７はＯＮＴのＰＯＮ受信部とＰＯＮ送信部のブロック図である。図６（ａ）において、ＯＬＴ ＰＯＮ受信部９０は、上り信号のスクランブルを解除するデスクランブラ９０１と、デスクランブル信号のフレーム同期を取るフレーム同期部９０２と、情報ワードとＦＥＣ（Forward Error Correction）パリティを分離し、情報ワードの誤り修正を行うＦＥＣデコーダ９０３と、ＰＯＮフレーム終端部９０４と、暗号を復号する暗号デコーダ９０５とから構成される。図６（ｂ）において、ＯＬＴ ＰＯＮ送信部９９は、ＧＥＭにＩｄｌｅ ＧＥＭを挿入する非暗号ＧＥＭ挿入部９９０と、下り信号を暗号化する暗号エンコーダ９９１と、暗号化データをＰＯＮフレーム化するＰＯＮフレーム生成部９９２と、ＰＯＮフレームにＦＥＣパリティを加えるＦＥＣエンコーダ９９３と、フレーム同期信号を挿入するフレーム同期信号挿入部９９４と、スクランブラ９９５とから構成される。
なお、非暗号ＧＥＭ挿入部９９０は、ＯＬＴ ＰＯＮ送信部９９ではなく、送信ＧＥＭ組立部１００に置いても良い。
【００２８】
図７（ａ）のＯＮＴ ＰＯＮ受信部１２７は、図６（ａ）のＯＬＴ ＰＯＮ受信部９０と信号の流れを除いて同一構成である。また、図７（ｂ）のＯＮＴ ＰＯＮ送信部１２９は、図６（ｂ）のＯＬＴ ＰＯＮ送信部９９と信号の流れを除いて同一構成である。したがって、説明を省く。
なお、上り側で暗号を採用しない場合は、ＯＬＴ ＰＯＮ受信部９０の暗号デコーダ９０５と、ＯＮＴ ＰＯＮ送信部１２９の非暗号ＧＥＭ挿入部９９０、暗号エンコーダ９９１は不要である。
【００２９】
図８は暗号エンコード部のブロック図である。図８において、暗号エンコード部９９１はＧＥＭデータを受信し、暗号化ＧＥＭデータを送信する。暗号エンコード部９９１は、ＧＥＭデータを受信する暗号対象判定部１１と、暗号対象判定部１１と接続された計算回路振分部１２と、計算回路振分部１２からのＯＮＵ−ＩＤ（ＯＮＴのＩＤだが、一般にＯＮＵ−ＩＤと称する）に対して鍵を戻す暗号鍵取得部１７と、計算回路振分部１２によって振り分けられたＧＥＭデータを暗号化する暗号計算部１５−Ａ、Ｂと、２つの暗号計算結果の一方を選択する回路選択部２０と、暗号対象判定部１１に接続されたデータ遅延メモリ１４の出力と回路選択部２０の出力の排他的論理和を演算するＥＸＯＲ部２１と、暗号鍵取得部１７が参照する暗号鍵テーブル１９と、計算回路振分部にカウンタ値を供給する暗号カウンタ１８と、暗号対象判定部１１が参照する暗号ＯＮ／ＯＦＦテーブル１３とから構成される。暗号エンコード部９９１は、Ｐｏｒｔ−ＩＤとＯＮＵ−ＩＤとを対応付けるＰｏｒｔ−ＩＤ／ＯＮＵ−ＩＤ対応テーブル２５含んでも良い。
【００３０】
暗号化は、全てＧＥＭペイロード内の暗号ブロック単位に計算する。暗号鍵、暗号ＯＮ／ＯＦＦは、１個のＧＥＭ毎に変わり、ＧＥＭ内部の暗号ブロック単位には変わらない。
【００３１】
暗号鍵、暗号カウンタは１２８ｂｉｔであるが、特にそれには拘らない。ＡＥＳの規格で定められるように１２８ｂｉｔ以外の９６ｂｉｔや２５６ｂｉｔでもよい。また、ＡＥＳ暗号をカウンタモードで使用することを前提にしているが、他のモードで使用してもよい。いずれにしても暗号計算回路の規模を削減できることに変わりはない。
【００３２】
暗号対象判定部１１は、受信ＧＥＭデータのヘッダ内のＰｏｒｔ−ＩＤ情報をキーにして暗号ＯＮ／ＯＦＦテーブル１３を参照する。暗号対象判定部１１は、暗号ＯＮ／ＯＦＦテーブル１３からそのＧＥＭが暗号化対象か否かを判定する。暗号対象判定部１１は、データ遅延メモリ１４に対して、ＧＥＭデータと共に判定結果（暗号対象情報）を渡す。暗号化対象と判定したとき、暗号対象判定部１１は、計算回路振分部１２に対して暗号化実行指示、Ｐｏｒｔ−ＩＤ、 ＯＮＵ−ＩＤを受け渡す。ＯＮＵ−ＩＤは、前段のＧＥＭヘッダを付与する送信ＧＥＭ組立部１００から貰ってもよいし、この暗号エンコード部９９１でＰｏｒｔ−ＩＤからＯＮＵ−ＩＤを割り出してもよい。後者の場合はＰｏｒｔ−ＩＤ／ＯＮＵ−ＩＤ対応テーブル２５から割り出す。
【００３３】
計算回路振分部１２は、暗号対象判定部１１からの暗号化実行指示なされた場合、該当ＧＥＭに被せるべき暗号パターンを計算させる。計算回路振分部１２は、暗号鍵取得部１７にＯＮＵ−ＩＤを出して対応するＯＮＵの暗号鍵を受け取る。また、計算回路振分部１２は、暗号カウンタ１８から暗号カウンタ値を受け取る。計算回路振分部１２は、暗号鍵取得部１７にＯＮＵ−ＩＤを渡す代わりにＰｏｒｔ−ＩＤを渡してもよい。
【００３４】
計算回路振分部１２は、２面ある暗号計算部１５−Ａ、Ｂのうち、計算開始可能な方に、暗号鍵、暗号カウンタ値を受け渡して、計算開始を指示する。単純に交互に暗号計算Ａ、暗号計算Ｂを使ってもよい。計算回路振分部１２は、暗号ブロック単位のタイミングで振り分ける。
【００３５】
暗号鍵取得部１７は、計算回路振分部１２からのＯＮＵ−ＩＤから、暗号鍵テーブル１９を参照して暗号鍵を取得する。ＯＮＵ−ＩＤの代わりにＰｏｒｔ−ＩＤを受け取る場合は、暗号鍵取得部１７は、Ｐｏｒｔ−ＩＤ／ＯＮＵ−ＩＤ対応テーブル２５を参照してＯＮＵ−ＩＤを割り出した後、暗号鍵テーブル１９を参照して暗号鍵を取得する。 
暗号カウンタ部１８は、ＡＥＳ暗号をカウンタモードで使用するためのカウンタ値を生成し、計算回路振分部１２に受け渡す。暗号カウンタ部１８のカウンタ値の生成条件は、ＩＴＵ−Ｔ勧告Ｇ.９８４.３で規定されるように、 ＧＥＭがマッピングされるＰＯＮフレームのスーパーフレームカンタ値と、そのＰＯＮフレーム内にＧＥＭヘッダがマッピングされるタイムスロットから一意に決まる値である。
【００３６】
暗号計算部１５は、ＡＥＳ規格にもとづきカウンタモードで暗号計算を行う。１２８ｂｉｔの暗号カウンタ値、１２８ｂｉｔの暗号鍵を入力し、所定の時間後（Ｐクロック後）に１２８ｂｉｔの暗号パターンを生成出力する。Ｐは、ＡＥＳ方式上のラウンド計算数１０以上の時間がかかり、通常は１０〜１２クロック周期である。この時間はカウンタモードに依存しない。
【００３７】
回路選択部２０は、暗号計算部１５−Ａからの出力、暗号計算部１５−Ｂからの出力を選択する。回路選択部２０は、計算回路振分部１２で振り分けたスキームに応じて選択する。
【００３８】
計算回路振分部での振り分けタイミングと、回路選択部での選択タイミングは、暗号計算に必要な所定時間分だけズレたものである。
【００３９】
データ遅延メモリ１４は、暗号計算に要する一定の固定時間分だけ受信ＧＥＭデータ、暗号対象情報をバッファリングし遅延させて出力する。
【００４０】
ＥＸＯＲ部２１は、ＧＥＭデータが暗号化対象の際は、回路選択部２０からの暗号パターンとデータ遅延メモリ１４からのＧＥＭデータとをビット毎に排他的論理和を行う。ＧＥＭデータが暗号化対象ではない際は、排他的論理和を行わずＧＥＭデータをそのまま出力する。どちらかはデータ遅延メモリ１４からＧＥＭデータと共に受信する暗号対象情報から決める。暗号ブロックが１６バイトよりも短い場合は、ＥＸＯＲ部２１は、暗号パターンのうち、上位側のビットから暗号ブロック長に等しいビット分だけが有効で、暗号ブロックのデータと排他的論理和を行う。残りの暗号パターンのビットは無視する。
【００４１】
図９ないし図１１を参照して、非暗号ＧＥＭ挿入部を説明する。ここで、図９はＧＥＭ長からＩｄｌｅ ＧＥＭ挿入を判定する非暗号ＧＥＭ挿入部のブロック図である。図１０は暗号ブロック積算値から非暗号ＧＥＭ挿入を判定する非暗号ＧＥＭ挿入部のブロック図である。図１１は鍵型検出付きの非暗号ＧＥＭ挿入部のブロック図である。
【００４２】
図９において、非暗号ＧＥＭ挿入部９９０Ａは、送信ＧＥＭ組立部１００からのＧＥＭデータを受信し、送信ＧＥＭデータを暗号エンコード部に送信する。非暗号ＧＥＭ挿入部９９０Ａは、ＧＥＭデータを受信する次送信ＧＥＭ遅延メモリ３１、ＧＥＭ長検出部３２、暗号対象検出部３４と、送信ＧＥＭ選択部３８と、Ｉｄｌｅ ＧＥＭ生成部３５と、送信スケジュール部３７とから構成される。
【００４３】
非暗号ＧＥＭ挿入部９９０Ａは、ＧＥＭ毎にＩｄｌｅ ＧＥＭをパディング挿入するか否かを判定し、挿入する。非暗号ＧＥＭ挿入部９９０Ａは、判定に際してはＧＥＭ長を用いる。暗号鍵、暗号ＯＮ／ＯＦＦは、１個のＧＥＭ毎に変わり、１個のＧＥＭ内部の暗号ブロック単位には変わらない。
【００４４】
次送信ＧＥＭ遅延メモリ３１は、受信したＧＥＭデータに対して、送信ＧＥＭ選択部での判定を経て実際に出力するまでの間、待ち合せるために受信ＧＥＭデータをバッファリングする。次送信ＧＥＭ遅延メモリ３１は、ＧＥＭデータの到着順にバッファリングし、出力する。次送信ＧＥＭ遅延メモリ３１のバッファリング時間（入力から出力までの遅延時間）は、一定ではなく、Ｉｄｌｅ ＧＥＭを何個パディング挿入したか、ＧＥＭデータを受信しなかった時間の累計によってダイナミックに変化する。したがって、次送信ＧＥＭ遅延メモリ３１は、ある程度ダイナミックに変化しても溢れないだけの十分なメモリ容量を持つ。
【００４５】
ＧＥＭ長検出部３２は、受信ＧＥＭ長（ＧＥＭヘッダ先頭からＧＥＭペイロード末尾までの長さ）を検出し、送信ＧＥＭ選択部３８に渡す。検出方法は、以下がある。
【００４６】
・受信したＧＥＭデータ内のＧＥＭヘッダ内のＰＬＩフィールドからＧＥＭ長を取得する。
・送信ＧＥＭ組立部１００から組み立てたＧＥＭの長さをＧＥＭデータとともに非暗号対象ＧＥＭ挿入部９９０に通知する。
・送信ＧＥＭ組立部１００から組み立てたＧＥＭの長さをＧＥＭデータに先立って予め非暗号対象ＧＥＭ挿入部９９０に通知する。この場合、次送信ＧＥＭ遅延メモリ３１は不要となる。
【００４７】
暗号対象検出部３４は、後段の暗号エンコード部内の暗号対象判定部と同様に、受信ＧＥＭデータのヘッダ内のＰｏｒｔ−ＩＤをもとにして暗号ＯＮ／ＯＦＦテーブルを参照して、そのＧＥＭが暗号化対象か否かを判定する。送信ＧＥＭ選択部に、判定結果（暗号対象情報）を受け渡す。
【００４８】
Ｉｄｌｅ ＧＥＭ生成部３５は、５バイトの固定パターンからなるＩｄｌｅ ＧＥＭを生成する。常時４０ｂｉｔ分生成し、全て同時に（並列に）送信ＧＥＭ選択部に受け渡してもよいし、あるいは送信ＧＥＭ選択部からの指示を契機に生成してもよい。いずれにしても固定パターンなので生成時間は無視できる。
【００４９】
送信スケジュール部３７は、送信ＧＥＭ選択部で判定した受信ＧＥＭデータ、Ｉｄｌｅ ＧＥＭの送信スケジュールを保持する。次送信ＧＥＭ遅延メモリにバッファリングされている何番目の受信ＧＥＭデータの後にＩｄｌｅ ＧＥＭを挿入しない／何個挿入する、の形で保持する。
【００５０】
送信ＧＥＭ選択部３８は、ＧＥＭ長検出部３２から取得した受信ＧＥＭ長から、受信したＧＥＭデータの後にＩｄｌｅ ＧＥＭをパディングするか否かを判定する。パディングすると判定した場合は、次送信ＧＥＭ遅延メモリ３１からＧＥＭデータを読み出して出力した直後に、Ｉｄｌｅ ＧＥＭ生成部で生成したＩｄｌｅ ＧＥＭを挿入する。
【００５１】
送信ＧＥＭ選択部３８がＧＥＭを実際に送信するタイミングは、前ＧＥＭ（パディングしたＩｄｌｅ ＧＥＭも含む）の送信完了後であり、それまでのパディング量の累計に応じて、判定したタイミングからかなり後にズレうる。この間該当ＧＥＭデータ列は次送信ＧＥＭ遅延メモリ３１にバッファリングされる。そして、送信ＧＥＭ選択部３８は、どのＧＥＭの後に何個Ｉｄｌｅ ＧＥＭをパディングするかの情報を保持する。
【００５２】
図１０において、非暗号ＧＥＭ挿入部９９０Ｂは、図９の非暗号ＧＥＭ挿入部９９０Ａに、さらに暗号ブロック長計算部３３と、送信ＧＥＭ暗号ブロック長記憶部３６とを加えた構成である。
【００５３】
非暗号ＧＥＭ挿入部９９０Ｂは、ＧＥＭ毎にＩｄｌｅ ＧＥＭをパディング挿入するか否かを判定し、挿入する。非暗号ＧＥＭ挿入部９９０Ｂは、判定に際しては暗号ブロック単位の積算値を用いる。暗号鍵、暗号ＯＮ／ＯＦＦは、１個のＧＥＭ毎に変わり、１個のＧＥＭ内部の暗号ブロック単位には変わらない。
【００５４】
次送信ＧＥＭ遅延メモリ３１は、受信したＧＥＭデータに対して、送信ＧＥＭ選択部での判定を経て実際に出力するまでの間、待ち合せるために受信ＧＥＭデータをバッファリングする。次送信ＧＥＭ遅延メモリ３１は、ＧＥＭデータの到着順にバッファリングし、出力する。次送信ＧＥＭ遅延メモリ３１のバッファリング時間（入力から出力までの遅延時間）は、一定ではなく、Ｉｄｌｅ ＧＥＭを何個パディング挿入したか、やＧＥＭデータを受信しなかった時間の累計によってダイナミックに変化する。したがって、次送信ＧＥＭ遅延メモリ３１は、ある程度ダイナミックに変化しても溢れないだけの十分なメモリ容量を持つ。
【００５５】
次送信ＧＥＭ遅延メモリ３１は、送信ＧＥＭ選択部３８からの読み出し指示で１個のＧＥＭ単位に出力する。
【００５６】
ＧＥＭ長検出部３２は、受信ＧＥＭ長（ＧＥＭヘッダ先頭からＧＥＭペイロード末尾までの長さ）を検出し、暗号ブロック長計算部３３に渡す。以下に可能な受信ＧＥＭ長検出方法を挙げる。
【００５７】
・受信したＧＥＭデータ内のＧＥＭヘッダ内のＰＬＩフィールドからＧＥＭ長を取得する。
・送信ＧＥＭ組立部１００から組み立てたＧＥＭの長さをＧＥＭデータとともに非暗号対象ＧＥＭ挿入部に通知する。
・送信ＧＥＭ組立部１００から組み立てたＧＥＭの長さをＧＥＭデータに先立って予め非暗号対象ＧＥＭ挿入部に通知する。この場合、次送信ＧＥＭ遅延メモリ３１は不要となる。
【００５８】
暗号ブロック長計算部３３は、ＧＥＭ長検出部３２から受け取ったＧＥＭ長から、暗号ブロックの構造を計算し、送信ＧＥＭ選択部３８に受け渡す。
【００５９】
暗号ブロックの構造は、図１７〜図２０を用いて後述するように、ＧＥＭペイロードを１６バイト毎に区切ったもので、通常は１６バイトであるが、ＧＥＭ長が可変であるため、１つのＧＥＭの最後の暗号ブロックは１バイト以上１６バイト以下の任意の値となりうる。
【００６０】
暗号対象検出部３４は、後段の暗号エンコード部９９１内の暗号対象判定部１１と同様に、受信ＧＥＭデータのヘッダ内のＰｏｒｔ−ＩＤをもとにして暗号ＯＮ／ＯＦＦテーブル１３を参照して、そのＧＥＭが暗号化対象か否かを判定する。暗号対象検出部３４は、送信ＧＥＭ選択部３８に、判定結果（暗号対象情報）を受け渡す。
【００６１】
Ｉｄｌｅ ＧＥＭ生成部３５は、５バイトの固定パターンからなるＩｄｌｅ ＧＥＭを生成する。常時４０ｂｉｔ分生成し、全て同時に（並列に）送信ＧＥＭ選択部に受け渡してもよいし、あるいは送信ＧＥＭ選択部からの指示を契機に生成してもよい。いずれにしても固定パターンなので生成時間は無視できる。
【００６２】
送信ＧＥＭ暗号ブロック長記憶部３６は、送信ＧＥＭ選択部３８において送信を決定した最も新しい暗号対象ＧＥＭの、最後の暗号ブロックを含む最新のＱ個分の暗号ブロックの長さと総和Σを送信ＧＥＭ選択部から受け取り、保持する。送信ＧＥＭ暗号ブロック長記憶部３６は、この保持値をＧＥＭ選択部３８に受け渡す。
【００６３】
送信スケジュール部３７は、送信ＧＥＭ選択部３８で判定した受信ＧＥＭデータ、Ｉｄｌｅ ＧＥＭの送信スケジュールを保持する。次送信ＧＥＭ遅延メモリにバッファリングされている何番目の受信ＧＥＭデータの後にＩｄｌｅ ＧＥＭを挿入しない／何個挿入する、の形で保持する。
【００６４】
送信ＧＥＭ選択部３８は、送信スケジュール部からの送信スケジュール情報に基づいて受信ＧＥＭデータ、Ｉｄｌｅ ＧＥＭを送信する。受信ＧＥＭデータの場合、送信ＧＥＭ選択部３８は、次送信ＧＥＭ遅延メモリから該当するＧＥＭデータを読み出し、出力する。Ｉｄｌｅ ＧＥＭの場合、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭ生成部で生成したＩｄｌｅ ＧＥＭを出力する。
【００６５】
ＧＥＭデータを読み出す際、送信ＧＥＭ選択部３８は、次送信ＧＥＭ遅延メモリ３１に読み出し指示を行って１個のＧＥＭ単位で読み出す。
送信ＧＥＭ選択部３８は、暗号ブロック長計算部３３から取得した受信ＧＥＭデータの暗号ブロックの構造と、送信ＧＥＭ暗号ブロック長記憶部３６から取得した過去Ｑ個分（Ｑは以下で定義）の暗号ブロックの各々の長さＬ１〜ＬＱとＬ１〜ＬＱに挟まれたｇｅｍｈとの総和Σとから、受信したＧＥＭデータをそのまま送信するか、あるいはＩｄｌｅ ＧＥＭを挿入するかを判定する。
【００６６】
その際の判定条件は、過去Ｑ個の暗号ブロックの先頭の暗号ブロックの開始位置から、受信ＧＥＭデータの最初の暗号ブロックＳに達するまでのクロック周期の数Ｔｓが所定値Ｐ以上か否か等で決める。ここで、ＴｓはΣとｇｅｍｈとの加算値である。また、ｇｅｍｈはＧＥＭヘッダ受信に要するクロック周期の数である。
【００６７】
送信ＧＥＭ選択部３８は、判定した結果を送信スケジュール部に受け渡して送信スケジュール情報を更新、記憶する。
送信ＧＥＭ選択部３８は、送信を決定した最も新しいＧＥＭに対して、最後の暗号ブロックを含む最新のＱ個分の暗号ブロックの各々の長さＬ１〜ＬＱとＬ１〜ＬＱに挟まれたｇｅｍｈとの総和Σを計算して、送信ＧＥＭ暗号ブロック長記憶部３６に受け渡す。
このＧＥＭの暗号ブロック数が１個等の少ない場合は、１個前のＧＥＭ、さらには２個前のＧＥＭ迄等、過去複数個のＧＥＭに跨りうる。
【００６８】
なお、新たに送信を決定したＧＥＭが非暗号対象ＧＥＭまたはＩｄｌｅ ＧＥＭだった場合、送信ＧＥＭ選択部３８は、過去Ｑ個分の最後の暗号ブロック長ＬＱと総和Σに、新たなＧＥＭの長さＬｇｅｍまたはｇｅｍｈを加算したものを最新のＱ個分の新たなΣとして更新し、送信暗号ブロック長記憶部３８に受け渡す。
【００６９】
上述した説明でＱは、以下の通りである。
暗号エンコード部９９１の暗号計算部１５が１面の場合：Ｑ＝１
暗号エンコード部９９１の暗号計算部１５が２面の場合：Ｑ＝２ 図８に該当
暗号エンコード部９９１の暗号計算部１５が３面の場合：Ｑ＝３
図１１において、非暗号ＧＥＭ挿入部９９０Ｃは、図９の非暗号ＧＥＭ挿入部９９０Ａまたは図１０の非暗号ＧＥＭ挿入部９９０Ｂに鍵型検出部３９を追加した構成である。このため、非暗号ＧＥＭ挿入部９９０Ａと非暗号ＧＥＭ挿入部９９０Ｂとの間で共通でない、暗号ブロック長計算部３３、送信ＧＥＭ暗号ブロック長記憶部３６は、破線で囲まれたブロックとして、表現されている。
【００７０】
１６ビット並列回路で発生するＧＥＭ間の鍵型構造を常に一定に保つために、非暗号ＧＥＭ挿入部９９０Ｃは、Ｉｄｌｅ ＧＥＭをパディングして補正する。具体的には、非暗号ＧＥＭ挿入部９９０Ｃは、Ｉｄｌｅ ＧＥＭが５バイトと奇数長であることを利用する。
【００７１】
非暗号ＧＥＭ挿入部９９０、暗号エンコード部９９１を１６ビット並列回路で構成した場合、後述する図１９、図２０に示すように暗号ブロック、ＧＥＭヘッダが鍵型になる。しかもそれがＧＥＭの長さが可変であることから、ＧＥＭ毎に先頭が上位バイト位置から始まる場合と、下位バイト位置から始まる場合があり、鍵型の構造が動的に変化する。
【００７２】
鍵型の構造が動的に変化することをケアすると回路規模が増大する。このため、鍵型の構造を動的に変化させず固定化するため、鍵型の発生を検出して、非暗号ＧＥＭ挿入部９９０Ｃは、Ｉｄｌｅ ＧＥＭをパディング挿入することで一定の鍵型に抑える。
【００７３】
これによって、鍵型に対するケアを最小限に留めて回路を簡易化できる。常に図１９の状態のようにＧＥＭ先頭を上位バイト位置にするには、受信したＧＥＭ先頭が下位バイト位置の場合に、非暗号ＧＥＭ挿入部９９０Ｃは、Ｉｄｌｅ ＧＥＭを割り込み挿入し、受信したＧＥＭ先頭が上位バイト位置から始まるようにすればよい。
【００７４】
また、逆に常に図２０の状態のようにＧＥＭ先頭を下位バイト位置にするには、受信したＧＥＭ先頭が上位バイト位置の場合に、非暗号ＧＥＭ挿入部９９０Ｃは、Ｉｄｌｅ ＧＥＭを割り込み挿入し、受信したＧＥＭ先頭が下位バイト位置から始まるようにすればよい。
【００７５】
鍵型検出部３９は、受信したＧＥＭ先頭が鍵型で始まったか否か、つまり１６ビットの中の下位バイト位置から始まったか否かを検出し、送信ＧＥＭ選択部３８に受け渡す。
【００７６】
送信ＧＥＭ選択部３８は、非暗号ＧＥＭ挿入部９９０Ａまたは非暗号ＧＥＭ挿入部９９０Ｂでの判定条件に加え、暗号対象検出部３４からの暗号対象情報と、鍵型検出部３９からの鍵型発生情報から該当ＧＥＭの前にＩｄｌｅ ＧＥＭ挿入するか否かを判定し、挿入する。
【００７７】
非暗号ＧＥＭ挿入部９９０Ｃは、次のいずれかに決めて、受信した暗号対象ＧＥＭの先頭位置での鍵型構造を一定にすればよい。
・該当ＧＥＭが暗号対象でかつ、該当ＧＥＭ先頭で鍵型発生した場合、該当ＧＥＭ の前にＩｄｌｅ ＧＥＭ挿入する。
・該当ＧＥＭが暗号対象でかつ、該当ＧＥＭ先頭で鍵型発生しなかった場合、該当ＧＥＭ の前にＩｄｌｅ ＧＥＭ挿入する。
【００７８】
もしくは、鍵型検出部からの鍵型発生情報とＧＥＭ長検出部からのＧＥＭ長から該当ＧＥＭが鍵型で終了するか否か、つまり１６ビットの中の上位バイト位置で終了するか否かを検出し、非暗号ＧＥＭ挿入部９９０Ｃは、該当ＧＥＭの後にＩｄｌｅ ＧＥＭをパディング挿入するか否かを判定してもよい。この場合は暗号対象か否かに関わらない。
【００７９】
この場合も次のいずれかに決めておけばよい。次以降に受信する暗号対象ＧＥＭの鍵型構造が一定に成型できればよい。
・ＧＥＭが鍵型で終了する場合に該当ＧＥＭの後にＩｄｌｅ ＧＥＭをパディング挿入する。後述する図３５は、これを前提としている
・ＧＥＭが鍵型で終了しない場合に該当ＧＥＭの後にＩｄｌｅ ＧＥＭをパディング挿入する。
【００８０】
この判定は、図９、図１０を用いた説明での判定条件とは独立であり、図１０の判定でＩｄｌｅ ＧＥＭパディング挿入しない、の判定でも当判定条件でパディング挿入する、であればパディング挿入する。その逆も同じである。
【００８１】
図１２ないし図１６を参照して、各機能ブロックが参照する参照テーブルを説明する。ここで、図１２は暗号ＯＮ／ＯＦＦテーブルを説明する図である。図１３は暗号ＯＮ／ＯＦＦテーブルの補助テーブルを説明する図である。図１４は暗号鍵テーブルを説明する図である。図１５は暗号鍵テーブルの補助テーブルを説明する図である。図１６はＰｏｒｔ−ＩＤ／ＯＮＵ−ＩＤテーブルある。
【００８２】
図１２において、暗号ＯＮ／ＯＦＦテーブル１３は、番地と内容とから構成され、番地を指定した読み出し要求に対して、当該番地の内容を出力する。番地の最大数は４０９６であり、サポートするＰｏｒｔ−ＩＤ数分持てばよい。内容は、番地に該当するＧＥＭの暗号ＯＮ／ＯＦＦである。Ｐｏｒｔ−ＩＤと番地との対応は、Ｐｏｒｔ−ＩＤ番号が番地番号に等しくなるような固定的な対応でも良く、Ｐｏｒｔ−ＩＤ番号と番地番号を図１３の補助テーブル１３ａで設定しても良い。
【００８３】
図１３において、暗号ＯＮ／ＯＦＦテーブルの補助テーブル１３ａは、番地と内容とから構成され、番地を指定した読み出し要求に対して、当該番地の内容を出力する。番地の最大数は４０９６であり、サポートするＰｏｒｔ−ＩＤ数分持てばよい。内容は、番地（Ｐｏｒｔ−ＩＤ）に該当する暗号ＯＮ／ＯＦＦテーブルの番地である。
【００８４】
図１４において、暗号鍵テーブル１９は、番地と内容とから構成され、番地を指定した読み出し要求に対して、当該番地の内容を出力する。番地の最大数は６４であり、サポートするＯＮＵ−ＩＤ数分持てばよい。内容は、番地に該当するＯＮＵの暗号鍵である。ＯＮＵ−ＩＤと番地との対応は、ＯＮＵ−ＩＤ番号が番地番号に等しくなるような固定的な対応でも良く、ＯＮＵ−ＩＤ番号と番地番号を図１５の補助テーブル１９ａで設定しても良い。
【００８５】
図１５において、暗号鍵テーブルの補助テーブル１９ｂは、番地と内容とから構成され、番地を指定した読み出し要求に対して、当該番地の内容を出力する。番地の最大数は６４であり、サポートするＯＮＵ−ＩＤ数分持てばよい。内容は、番地（ＯＮＵ−ＩＤ）に該当する暗号鍵テーブルの番地である。
【００８６】
図１６において、Ｐｏｒｔ−ＩＤ／ＯＮＵ−ＩＤテーブル２５は、番地と内容とから構成され、番地を指定した読み出し要求に対して、当該番地の内容を出力する。番地の最大数は４０９６であり、サポートするＰｏｒｔ−ＩＤ数分持てばよい。内容は、番地に該当するＧＥＭの送信先ＯＮＴ２のＯＮＵ−ＩＤである。しかし、同時に複数個のＯＮＴ２へのマルチキャスト送信用のＰｏｒｔ−ＩＤをもつＧＥＭについては、ＯＮＵ−ＩＤではなく、マルチキャストであることを示す内容（例えばオール”１”）を格納する。マルチキャスト送信用のＰｏｒｔ−ＩＤは複数個もありうる。
【００８７】
図１７ないし図２０を参照して、ＧＥＭのフォーマットと信号の流れを説明する。ここで、図１７は、各１バイトはシリアルな８ビットのシーケンスのときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。図１８は、各１バイトはパラレルな８ビットのシーケンスのときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。図１９は、各２バイトはパラレルな１６ビットのシーケンスであり、ＧＥＭ先頭が上位バイト側で、ＧＥＭ長が奇数のときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。図２０は、各２バイトはパラレルな１６ビットのシーケンスであり、ＧＥＭ先頭が下位バイト側で、ＧＥＭ長が偶数のときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。
【００８８】
図１７において、ＧＥＭは、ＧＥＭ先頭から５バイトがＧＥＭヘッダで、ＧＥＭヘッダに引き続く１バイト〜４０９０バイトがＧＥＭペイロードである。暗号ブロック長は１６バイトであり、暗号ブロック＃１〜＃ｍ−１は１６バイトであるが、最後の暗号ブロック＃ｍはｋ（１≦ｋ≦１６）バイトである。
図１８は、図１７のシリアルデータをパラレルデータにしたのみの違いである。
【００８９】
図１９において、ＧＥＭ先頭が上位バイト側であるため、固定長５バイトのＧＥＭヘッダは、上位バイト側で終了する。本明細書では、このように上位バイト側での終了または下位バイト側での開始を鍵型と呼ぶこととする。また、ＧＥＭ長が奇数なのでＧＥＭ末尾が上位バイト側で終わり、鍵型となる。また、暗号ブロック＃１〜＃ｍはいずれも鍵型である。なお、ＧＥＭ末尾のタイミングの下位バイトは、次のＧＥＭの先頭である。
【００９０】
図２０において、ＧＥＭ先頭が下位バイトであり、ＧＥＭヘッダは鍵型を呈する。ＧＥＭ長が偶数なので暗号ブロック＃ｍが鍵型となる。ＧＥＭ先頭の上位バイトは前のＧＥＭの末尾である。
【００９１】
図２１および図２２を参照して、暗号計算面の必要面数を説明する。ここで、図２１は８ビット並列回路のＡＥＳ−１２８暗号計算面の必要面数を説明する図である。図２２は１６ビット並列回路のＡＥＳ−１２８暗号計算面の必要面数を説明する図である。
【００９２】
図２１において、ＡＥＳ−１２８は１０回のラウンド計算を要するので、１クロックで１回のラウンド計算を行い、データの取り込みにも１クロック必要なので、Ｐ＝１１となる。暗号対象であるＧＥＭ＃１は、５バイトのヘッダ、１６バイトの暗号ブロック＃１、１バイトの暗号ブロック＃２から構成され、ＧＥＭ＃２〜ＧＥＭ＃５は、いずれも５バイトのヘッダと１バイトの暗号ブロック＃１とから構成されている。ここでは、１クロックで１バイト処理する８ビット並列回路なので、１バイトは１クロックと等しく、ＧＥＭ＃１の暗号ブロック＃１は１６クロック周期以内で暗号計算Ｂ面で処理できる。しかし、ＧＥＭ＃１の暗号ブロック＃２以降の暗号ブロックは、いずれも１バイトなので、ヘッダ５バイトを考慮して、暗号計算の面数は２面（（５＋１）ｘ２＝１２＞１１））必要となる。
【００９３】
図２２において、１クロックで２バイト処理する１６ビット並列回路では、１クロック＝２バイトとなり、ヘッダの処理に２.５クロック、１６バイトの暗号ブロックは８クロック（２.５＋８＝１０.５＜１１）となり、暗号処理部は１つでは、足りないことが明らかである。暗号ブロックが１バイト（０.５クロック）のＧＥＭが連続するケースを想定すると少なくとも４面（（２.５＋０.５）ｘ４＝１２＞１１））必要となる。
【００９４】
なお、図２１および図２２において、ＡＥＳ−１２８とは鍵長の異なるＡＥＳ−１９２（鍵長１９２ｂｉｔ）、ＡＥＳ−２５６（鍵長２５６ｂｉｔ）はラウンド計算も１２回、１４回と異なるため、暗号計算の面数が、変わってくる。
【００９５】
図２３ないし図２７を参照して、暗号計算部の削減方法を説明する。ここで、図２３は暗号対象ＧＥＭの長さに基づくIｄｌｅ ＧＥＭ挿入による２面化を説明する図である。図２４は暗号対象ＧＥＭの長さに基づくIｄｌｅ ＧＥＭ挿入による３面化を説明する図である。図２５は暗号ブロックの積算情報を元に非暗号対象ＧＥＭ挿入による１面化を説明する図である。図２６は暗号ブロックの積算情報を元に非暗号対象ＧＥＭ挿入による２面化を説明する図である。図２７は暗号ブロックの積算情報を元に非暗号対象ＧＥＭ挿入による３面化を説明する図である。
【００９６】
図２３において、受信ＧＥＭデータ列、送信ＧＥＭデータ列は、図６または図７の非暗号ＧＥＭ挿入部９９０が、受信／送信するデータである。非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭデータ列にＩｄｌｅ ＧＥＭを挿入し、短い符号ブロックを意図的に長くして、暗号計算に余裕を持たせる。
【００９７】
ここで、受信ＧＥＭデータ列のＧＥＭ＃１〜＃４は全て暗号対象とする。非暗号ＧＥＭ挿入部９９０は、暗号対象のＧＥＭ＃ｉの長さＬｇｅｍ−ｉ（クロック周期数での換算）が所定の値Ｒに満たない場合、次のＧＥＭ＃ｊの開始までの時間Ｌｇｅｍ−ｉ’（クロック周期数）が所定の値Ｒ以上になるようように、ＧＥＭ＃ｉとＧＥＭ＃ｊの間に１個以上のＩｄｌｅ ＧＥＭをパディング挿入する。図２３では、非暗号ＧＥＭ挿入部９９０は、ＧＥＭ＃２、＃３の長さＬｇｅｍ−２、Ｌｇｅｍ−３がＲ未満なので、各々次のＧＥＭ＃３、＃４の開始までの時間Ｌｇｅｍ−２’、Ｌｇｅｍ−３’がＲ以上になるように、Ｉｄｌｅ ＧＥＭを挿入する。
なお、暗号対象でないＧＥＭ、あるいは長さがＲ以上のＧＥＭについては、Ｉｄｌｅ ＧＥＭのパディング挿入は不要である。
【００９８】
ここで、
Ｐ：暗号計算に必要なクロック周期の数
Ｒ：Ｐ≦１２のとき、Ｒ≧（Ｐ÷２）を満たす値
Ｐ≧１２のとき、Ｒ≧（Ｐ−６）を満たす値である。
【００９９】
８ｂｉｔ並列回路の場合、１クロック周期で１バイトのデータを処理するので、クロック周期数はバイト数に等しい。１６ｂｉｔ並列回路の場合、１クロック周期で２バイトのデータを処理するので、クロック周期数はバイト数の半分に等しい。クロック周期数が奇数の場合、Ｌｇｅｍ−２’等は小数点以下を切り捨ててＰ以上かを判定する。
【０１００】
８ｂｉｔ並列回路の場合は、全てのＬｇｅｍ−ｉは６以上であるため、Ｐ≦１２の暗号計算回路であればＩｄｌｅ ＧＥＭのパディング挿入は不要である。１６ｂｉｔ並列回路の場合は、全てのＬｇｅｍ−ｉ は３以上であるため、Ｐ≦６の暗号計算回路であればアイドルＧＥＭのパディング挿入は不要である。
【０１０１】
この方法によって、ＧＥＭ＃２と＃３の間にパディング挿入することで、斜線部の時間が出現し、暗号計算Ａ面でのオーバラップを回避できる。
なお、図２３では、実はＧＥＭ＃３と＃４の間にはパディング挿入しなくても問題はない。これは、ＧＥＭの長さだけでパディング判定していることに起因する。
【０１０２】
図２４において、受信ＧＥＭデータ列、送信ＧＥＭデータ列は、図６または図７の非暗号ＧＥＭ挿入部９９０が、受信／送信するデータである。非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭデータ列にＩｄｌｅ ＧＥＭを挿入し、短い符号ブロックを意図的に長くして、暗号計算に余裕を持たせる。
【０１０３】
ここで、受信ＧＥＭデータ列のＧＥＭ＃１〜＃４は全て暗号対象とする。非暗号ＧＥＭ挿入部９９０は、暗号対象のＧＥＭ＃ｉの長さＬｇｅｍ−ｉ（クロック周期数での換算）が所定の値Ｒに満たない場合、次のＧＥＭ＃ｊの開始までの時間Ｌｇｅｍ−ｉ’（クロック周期数）が所定の値Ｒ以上になるようように、ＧＥＭ＃ｉとＧＥＭ＃ｊの間に１個以上のＩｄｌｅ ＧＥＭをパディング挿入する。図２４では、非暗号ＧＥＭ挿入部９９０は、ＧＥＭ＃２、＃３の長さＬｇｅｍ−２、Ｌｇｅｍ−３がＲ未満なので、各々次のＧＥＭ＃３、＃４の開始までの時間Ｌｇｅｍ−２’、Ｌｇｅｍ−３’がＲ以上になるように、Ｉｄｌｅ ＧＥＭを挿入する。
なお、暗号対象でないＧＥＭ、あるいは長さがＲ以上のＧＥＭについては、後ろにアイドルＧＥＭのパディング挿入は不要である。
【０１０４】
ここで、
Ｒ：Ｐ≦１８のとき、Ｒ≧Ｐ÷３
Ｐ≧１８のとき、Ｒ≧（Ｐ−６）÷２である。
【０１０５】
８ｂｉｔ並列回路の場合 １クロック周期で１バイトのデータを処理するので、 クロック周期数はバイト数に等しい。１６ｂｉｔ並列回路の場合、１クロック周期で２バイトのデータを処理するので、クロック周期数はバイト数の半分に等しい。クロック周期数が奇数の場合、Ｌｇｅｍ−２’等は小数点以下を切り捨ててＰ以上かを判定する。
【０１０６】
８ｂｉｔ並列回路の場合は、全てのＬｇｅｍ−ｉは６以上であるため、Ｐ≦１８の暗号計算回路であればアイドルＧＥＭのパディング挿入は不要である。１６ｂｉｔ並列回路の場合は、全てのＬｇｅｍ−ｉは３以上であるため、Ｐ≦９の暗号計算回路であればアイドルＧＥＭのパディング挿入は不要である。
【０１０７】
この方法によって、ＧＥＭ＃２と＃３の間にパディング挿入することで、斜線部の時間が出現し、暗号計算Ｃ面でのオーバラップを回避できる。
なお、図２３と同様に、図２４でも、実はＧＥＭ＃３と＃４の間にはパディング挿入しなくても問題はない。これも、ＧＥＭの長さだけでパディング判定していることに起因する。
【０１０８】
図２５において、非暗号ＧＥＭ挿入部９９０は、次の暗号ブロックまでの長さＴ１、Ｔ１’、Ｔ１”、…がＰクロック周期分以上になるように非暗号対象のＧＥＭを単数個または複数個挿入する。つまり１個のＧＥＭ毎に、それまでの１個の暗号ブロック長を元に、非暗号対象のＧＥＭを挿入するか否かを判定する。ここで、非暗号対象のＧＥＭとは、受信したＧＥＭデータで暗号対象でないもの、またはＩｄｌｅ ＧＥＭである。また、ヘッダ部分は前の暗号ブロックに加算する。
このような非暗号ＧＥＭ挿入部９９０の後段の暗号エンコーダ９９１は、暗号計算は１面で構わない。
【０１０９】
図２６において、非暗号ＧＥＭ挿入部９９０は、２個先の暗号ブロックまでの各々の長さＴ２、Ｔ２’、Ｔ２”、…がＰクロック周期分以上になるように非暗号対象のＧＥＭを単数個または複数個挿入する。つまり１個のＧＥＭ毎に、それまでの２個の暗号ブロック長の積算値を元に、非暗号対象のＧＥＭを挿入するか否かを判定する。なお、ヘッダ部分は前の暗号ブロックに加算する。
このような非暗号ＧＥＭ挿入部９９０の後段の暗号エンコーダ９９１は、暗号計算は２面で構わない。また、過去２暗号ブロックの積算値に基づいているので、図２３、図２４で説明した不要なパディングが発生しない。
【０１１０】
図２７において、非暗号ＧＥＭ挿入部９９０は、３個先の暗号ブロックまでの各々の長さＴ３、Ｔ３’、Ｔ３”、…がＰクロック周期分以上になるように非暗号対象のＧＥＭを単数個または複数個挿入する。つまり１個のＧＥＭ毎に、それまでの３個の暗号ブロック長の積算値を元に、非暗号対象のＧＥＭを挿入するか否かを判定する。なお、ヘッダ部分は前の暗号ブロックに加算する。
このような非暗号ＧＥＭ挿入部９９０の後段の暗号エンコーダ９９１は、暗号計算は３面で構わない。
【０１１１】
図２８ないし図３２を参照して、送信ＧＥＭ選択部の判定の詳細を説明する。ここで、図２８は、Ｔｓ＜Ｐを判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。図２９は、ＧＥＭデータ受信なしを判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。図３０は、非暗号対象のＧＥＭを受信したことを判定したときの動作を説明する図である。図３１は、鍵型を判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。図３２は、鍵型を考慮してＴｓ＜Ｐを判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。
【０１１２】
図２８において、前提としてＱ＝２（暗号計算部２面）、受信ＧＥＭデータ列のＧＥＭ＃１、＃２、＃３、＃４は全て暗号対象とする。また、横軸は時間経過、縦軸は判定順序である。
【０１１３】
送信ＧＥＭ判定部３８は、ＧＥＭ＃２の送信判定をＧＥＭ＃２の送信前に実施する。Ｌ１はＧＥＭ＃１の暗号ブロック＃１の長さ、Ｌ２は暗号ブロック＃２の長さ、Ｑ＝２なのでΣ＝Ｌ１＋Ｌ２、Ｔｓ＝Σ＋ｇｅｍｈとなる。ここでは、Ｔｓ≧Ｐなので、送信ＧＥＭ判定部３８は、ＧＥＭ＃２をそのまま暗号エンコード部９９１に送信する。送信ＧＥＭ判定部３８は、ここでパラメータを更新する。なお、この更新をパラメータ更新Ｂ１と呼ぶ。すなわちＬ１をＧＥＭ＃１の暗号ブロック＃２の長さ（新Ｌ１←旧Ｌ２）、Ｌ２をＧＥＭ＃２の暗号ブロック＃１の長さ、Σ＝Ｌ１＋Ｌ２＋αとする。ここでαはＧＥＭ＃２のヘッダ長なのでｇｅｍｈである。
【０１１４】
送信ＧＥＭ判定部３８は、ＧＥＭ＃３の送信判定をＧＥＭ＃３の送信前に実施する。Σは演算済みなので、送信ＧＥＭ判定部３８は、Ｔｓ＝Σ＋ｇｅｍｈを求める。ここでは、Ｔｓ＜Ｐなので、送信ＧＥＭ判定部３８は、Ｉｄｌｅ ＧＥＭ数を演算する。ここではｎ個とすると、送信ＧＥＭ判定部３８は、ｎ個のＩｄｌｅ ＧＥＭを暗号エンコード部９９１に送信する。なお、Ｉｄｌｅ ＧＥＭをパディング完了まで、ＧＥＭ＃３はバッファリング状態にある。送信ＧＥＭ判定部３８は、ｎ個のＩｄｌｅ ＧＥＭをパディング完了して、はじめてＧＥＭ＃３を送信する。送信ＧＥＭ判定部３８は、ここでパラメータを更新する。なお、この更新をパラメータ更新Ａと呼ぶ。すなわちＬ１をＧＥＭ＃２の暗号ブロック＃１の長さ（新Ｌ１←旧Ｌ２）、Ｌ２はＧＥＭ＃３の暗号ブロック＃１の長さ、Σ＝Ｌ１＋Ｌ２＋α＋ｎｘｇｅｍｈとなる。ここでｎｘｇｅｍｈはＩｄｌｅ ＧＥＭ長である。
【０１１５】
Ｉｄｌｅ ＧＥＭパディング中にさらに次のＧＥＭ＃４、ＧＥＭ＃５、…も到着している。これらは到着したタイミングで判定すればよい。あるいはこれら各々のＧＥＭの暗号化対象、暗号化構造の情報を一次保持しておき、適当なタイミング（前ＧＥＭ＃３の送信開始タイミング）で判定してもよい。図３４のフローチャートは前者で、前ＧＥＭ＃３の受信完了まで待って、新たにＧＥＭ受信があるかないかを判定する
送信判定後のＧＥＭデータ列は、ＧＥＭ＃３までの送信スケジュールが確定している。破線で示すＧＥＭ＃４は、このデータ列のままで送信するか否かは未だ確定していない状態にある。
【０１１６】
Ｉｄｌｅ ＧＥＭを送信することを確定した時には、直前のＧＥＭ＃２の送信状態は送信待機中か、送信中か、または丁度送信完了したか、のいずれかであり、それはさらに前のＧＥＭ＃１の送信状態で決まる。ＧＥＭ＃１が送信待機中か、送信中であれば、ＧＥＭ＃２は送信待機中だし、ＧＥＭ＃１が既に送信完了していればＧＥＭ＃２は送信中か、または丁度送信完了したかのいずれかである。
【０１１７】
Ｉｄｌｅ ＧＥＭをパディングして送信するのはＧＥＭ＃２を送信完了してからである。ＧＥＭ＃２やＩｄｌｅ ＧＥＭが待機中でも、次のＧＥＭ＃３の送信判定を行うので、送信スケジュール情報（ＧＥＭを送る順序、そのＧＥＭの後にパディングするＩｄｌｅ ＧＥＭの個数）は待ち合わせが発生しうるＧＥＭの個数分だけ保持が必要である。
【０１１８】
図２９において、前提としてＱ＝２（暗号計算部２面）、受信ＧＥＭデータ列のＧＥＭ＃１、＃２、＃３は全て暗号対象とし、ＧＥＭ＃２と＃３の間にＧＥＭを受信しなかったとする。なお、最初のパラメータ更新Ｂ１までは図２８の説明と同様なので省略する。
【０１１９】
ＧＥＭ＃２の受信後、次のＧＥＭを受信していないとき、送信ＧＥＭ判定部３８は、ＧＥＭ未受信のためＩｄｌｅ ＧＥＭ挿入と判定する。送信ＧＥＭ判定部３８は、ここでパラメータを更新する。なお、この更新をパラメータ更新Ｃと呼ぶ。すなわちＬ１をＧＥＭ＃１の暗号ブロック＃２の長さのまま（新Ｌ１←旧Ｌ１）、Ｌ２はＧＥＭ＃２の暗号ブロック＃１の長さ＋ｇｅｍｈ（新Ｌ２←旧Ｌ２＋ｇｅｍｈ）、Σ＝Ｌ１＋Ｌ２＋α＋ｇｅｍｈ（新Σ←旧Σ＋ｇｅｍｈ）となる。
Ｉｄｌｅ ＧＥＭ挿入後、次のＧＥＭを受信していないとき、送信ＧＥＭ判定部３８は、ＧＥＭ未受信のためＩｄｌｅ ＧＥＭ挿入と判定し、上記を繰り返す。
【０１２０】
一方、ＧＥＭ＃３を受信したとき、送信ＧＥＭ判定部３８は、Ｔｓを演算する。ここでは、Ｔｓ≧Ｐなので、送信ＧＥＭ判定部３８は、ＧＥＭ＃３をそのまま暗号エンコード部９９１に送信する。送信ＧＥＭ判定部３８は、ここでパラメータ更新Ｂ１を実施する。
【０１２１】
パラメータ更新Ｃでは、挿入するＩｄｌｅ ＧＥＭ分の長さ（ｇｅｍｈ）を旧Ｌ２、旧Σに加算して更新しているが、パラメータ更新Ａと同様に計算してもよい。この場合、Ｌ１とＬ２を更新せず、Ｉｄｌｅ ＧＥＭの挿入のｋ個目を判定した時点ではパラメータ更新Ａにおけるｎにｋを代入してΣを計算する。
【０１２２】
図３０において、前提としてＱ＝２（暗号計算部２面）、受信ＧＥＭデータ列のＧＥＭ＃１、＃２、＃４は全て暗号対象とし、ＧＥＭ＃３は非暗号対象とする。なお、最初のパラメータ更新Ｂ１までは図２８の説明と同様なので省略する。
【０１２３】
送信ＧＥＭ判定部３８は、ＧＥＭ＃３を受信したとき、暗号対象でないことを検出して、そのまま暗号エンコード部９９１に送信する。送信ＧＥＭ判定部３８は、ここでパラメータ更新Ｂ２を実施する。パラメータ更新Ｂ２では、ＧＥＭ＃３分の長さ（Ｌｇｅｍ）を旧Ｌ２、旧Σに加算して更新する。
【０１２４】
ＧＥＭ＃４を受信したとき、送信ＧＥＭ判定部３８は、Ｔｓを演算する。ここでは、Ｔｓ≧Ｐなので、送信ＧＥＭ判定部３８は、ＧＥＭ＃４をそのまま暗号エンコード部９９１に送信する。送信ＧＥＭ判定部３８は、ここでパラメータ更新Ｂ１を実施する。
パラメータ更新Ｂ２は、パラメータ更新Ｂ１と同様に計算してもよい。この場合、Ｌ１とＬ２を更新せず、Ｌｇｅｍをαに含めて「Ｌ１＋Ｌ２＋α」をΣとして更新する。
【０１２５】
図３１において、前提としてＱ＝２（暗号計算部２面）、１６ビット並列回路、受信ＧＥＭデータ列のＧＥＭ＃１、＃２は暗号対象とし、ＧＥＭ＃１、＃２とも鍵型とする。
【０１２６】
送信ＧＥＭ判定部３８は、ＧＥＭ＃１の暗号ブロック＃１長をＬ１、暗号ブロック＃２長をＬ２、ΣをＬ１＋Ｌ２＋αとする。ただし、暗号ブロックがＧＥＭヘッダを跨がないのでα＝０である。送信ＧＥＭ判定部３８は、ＧＥＭ＃１の最後が鍵型のため、最後を鍵型としないＩｄｌｅ ＧＥＭ挿入と判定する。送信ＧＥＭ判定部３８は、パラメータ更新Ｃ’を実施する。パラメータ更新Ｃ’は、Ｌ１はそのまま、Ｌ２は旧Ｌ２＋ｇｅｍｈＢ、Σは旧Σ＋ｇｅｍｈＢとする。ここで、ｇｅｍｈＢは最後を鍵型としないＩｄｌｅ ＧＥＭ長である。
【０１２７】
送信ＧＥＭ判定部３８は、ＧＥＭ＃２の送信判定において、Ｔｓを演算する。ここでは、Ｔｓ≧Ｐなので、送信ＧＥＭ判定部３８は、ＧＥＭ＃２をそのまま暗号エンコード部９９１に送信する。送信ＧＥＭ判定部３８は、ここでパラメータ更新Ｂ１を実施する。送信ＧＥＭ判定部３８は、ＧＥＭ＃２の最後が鍵型のため、最後を鍵型としないＩｄｌｅ ＧＥＭ挿入と判定する。送信ＧＥＭ判定部３８は、パラメータ更新Ｃ’を実施する。
【０１２８】
なお、パラメータ更新Ｃ’では、挿入するＩｄｌｅ ＧＥＭ分の長さ（ｇｅｍｈＢ）を旧Ｌ２、旧Σに加算して更新しているが、パラメータ更新Ｂ１と同様に計算してもよい。この場合、Ｌ１とＬ２を更新せず、、ＧＥＭ分の長さ（ｇｅｍｈＢ）をαに含めて「Ｌ１＋Ｌ２＋α」をΣとして更新すればよい。なお、ＧＥＭ＃１のパラメータ更新Ｃ’はＧＥＭヘッダを跨がないので、αをｇｅｍｈＢとすればよい。ＧＥＭ＃２のパラメータ更新Ｃ’ではＧＥＭヘッダ１個を跨ぐので、αを（ｇｅｍｈ＋ｇｅｍｈＢ）とすればよい
図３２において、前提としてＱ＝２（暗号計算部２面）、１６ビット並列回路、受信ＧＥＭデータ列のＧＥＭ＃１、＃２は暗号対象とし、ＧＥＭ＃１、＃２とも非鍵型とする。
【０１２９】
送信ＧＥＭ判定部３８は、ＧＥＭ＃１の暗号ブロック＃１長をＬ１、暗号ブロック＃２長をＬ２、ΣをＬ１＋Ｌ２＋αとする。ただし、暗号ブロックがＧＥＭヘッダを跨がないのでα＝０である。送信ＧＥＭ判定部３８は、ＧＥＭ＃１の最後が非鍵型のため、鍵型判定ではＩｄｌｅ ＧＥＭを挿入しない。
【０１３０】
しかし、ＧＥＭ＃２の送信判定において、この場合Ｔｓ＜Ｐなので、送信ＧＥＭ判定部３８は、ｎ個（ｎ＝２ｍ）のＩｄｌｅ ＧＥＭの挿入を判定する。送信ＧＥＭ判定部３８は、パラメータ更新Ａ’を実施する。パラメータ更新Ａ’ha,
Ｌ１は旧Ｌ２に、Ｌ２は次（ＧＥＭ＃２の暗号ブロック＃１）の暗号ブロック長に、ΣはＬ１＋Ｌ２＋α＋ｎ／２ｘβである。ここでβは、挿入するＩｄｌｅ ＧＥＭの長さである。
ＧＥＭ＃２は、ｎ個のＩｄｌｅ ＧＥＭの送信完了まで、バッファに貯えられる。
【０１３１】
図３３ないし図３５を参照して、非暗号ＧＥＭ挿入部９９０の動作を説明する。ここで、図３３は、ＧＥＭ長を元に判定する動作を説明する図である。図３４は、過去の暗号ブロック情報を元に判定する動作を説明する図である。図３５は、過去の暗号ブロック情報と鍵型とを元に判定する動作を説明する図である。なお、図３３ないし図３５において、直列に記載したステップは逐次処理であるが、並列に記載したステップは並列処理である。
【０１３２】
図３３において、非暗号ＧＥＭ挿入部９９０は、まず送信スケジュール部３７の送信スケジュール情報を初期化する（Ｓ１０１）。非暗号ＧＥＭ挿入部９９０の送信ＧＥＭ選択部３８は、送信スケジュール情報に基づいて受信ＧＥＭ、Ｉｄｌｅ ＧＥＭを送信する（Ｓ１０２）。送信ＧＥＭ選択部３８は、また新たなＧＥＭデータの受信があるか判定する（Ｓ１０３）。新たなＧＥＭデータがないとき、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭ挿入を決定する（Ｓ１０４）。送信スケジュール部３７は、Ｉｄｌｅ ＧＥＭ挿入を送信スケジュール情報に記憶する（Ｓ１０５）。ステップ１０４、１０５と並行して、非暗号ＧＥＭ挿入部９９０はＩｄｌｅ ＧＥＭ長相当の時間分Ｗａｉｔし（Ｓ１０７）、ステップ１０３に戻る。なお、送信スケジュール情報の初期化はＰＯＮフレーム送信開始、ＰＯＮ１フレームごとのスタートタイミンブ、初期化割り込み発生等で行う。
【０１３３】
ステップ１０３で新たなＧＥＭデータの受信があるとき、送信ＧＥＭ選択部３８は、受信データは暗号対象か判定する（Ｓ１０８）。暗号対象外のとき、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭでパディングしないと判定する（Ｓ１０９）。送信スケジュール部３７は、受信ＧＥＭを送信スケジュール情報に記憶する（Ｓ１１０）。これらステップ１０９、１１０と並行して、非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭ長相当の時間分Ｗａｉｔし（Ｓ１１２）、ステップ１０３に戻る。
【０１３４】
ステップ１０８で暗号対象であるとき（ＹＥＳ）、送信ＧＥＭ選択部３８は、受信ＧＥＭ長がＲ以上か判定し（Ｓ１１３）、ＹＥＳならばステップ１０９に遷移する。ステップ１１３でＮＯならば、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭでパディングすると判定する（Ｓ１１４）。送信ＧＥＭ選択部３８は、パディングすべきＩｄｌｅ ＧＥＭの個数ｎを計算する（Ｓ１１５）。さらに、送信スケジュール部３７は、受信ＧＥＭとパディングすべきＩｄｌｅ ＧＥＭの個数ｎを送信スケジュール情報に記憶する（Ｓ１１７）。ステップ１１４〜１１７と並行して、非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭとＩｄｌｅ ＧＥＭｎ個相当の時間分Ｗａｉｔし（Ｓ１１８）、ステップ１０３に戻る。なお、Ｒは後段の暗号エンコード部における暗号計算に要する時間Ｐ（クロック周期の数）から、事前に演算しておく。
【０１３５】
前段の送信ＧＥＭ組立部１００において、出力すべきＧＥＭが無いときにＩｄｌｅ ＧＥＭを出力する構成とした場合は、非暗号ＧＥＭ挿入部はＩｄｌｅ ＧＥＭを受信しうる。Ｉｄｌｅ ＧＥＭを受信した際は、非暗号対象の５バイトのＧＥＭとして処理する。
【０１３６】
なお、ＧＥＭを実際に送信するタイミングは、前ＧＥＭ（パディングしたＩｄｌｅ ＧＥＭも含む）の送信完了後であり、それまでのパディング量の累計によっては、判定したタイミングからかなり後にズレうる。この間該当ＧＥＭデータ列は、次送信ＧＥＭ遅延メモリ３１にバッファリングされる。非暗号ＧＥＭ挿入部９９０は、どのＧＥＭの後に何個Ｉｄｌｅ ＧＥＭをパディングするかの情報を送信スケジュール部３７に追加、保持する。
【０１３７】
図３４において、非暗号ＧＥＭ挿入部９９０は、まず送信ＧＥＭ暗号ブロック長記憶部３６のパラメータと、送信スケジュール部３７の送信スケジュール情報を初期化する（Ｓ２０１）。非暗号ＧＥＭ挿入部９９０の送信ＧＥＭ選択部３８は、送信スケジュール情報に基づいて受信ＧＥＭ、Ｉｄｌｅ ＧＥＭを送信する（Ｓ２０２）。送信ＧＥＭ選択部３８は、また新たなＧＥＭデータの受信があるか判定する（Ｓ２０３）。新たなＧＥＭデータがないとき、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭ挿入を決定する（Ｓ２０４）。送信ＧＥＭ暗号ブロック長記憶部３６は、パラメータ更新Ｃを実施する（Ｓ２０５）。送信スケジュール部３７は、Ｉｄｌｅ ＧＥＭ挿入を送信スケジュール情報に記憶する（Ｓ２０７）。ステップ２０７と並行して、非暗号ＧＥＭ挿入部９９０はＩｄｌｅ ＧＥＭ長相当の時間分Ｗａｉｔし（Ｓ２０８）、ステップ２０３に戻る。なお、パラメータと送信スケジュール情報の初期化はＰＯＮフレーム送信開始、ＰＯＮ１フレームごとのスタートタイミンブ、初期化割り込み発生等で行う。
【０１３８】
ステップ２０３で新たなＧＥＭデータの受信があるとき、送信ＧＥＭ選択部３８は、受信データは暗号対象か判定する（Ｓ２０９）。暗号対象外のとき、送信ＧＥＭ選択部３８は、受信ＧＥＭデータの送信を決定する（Ｓ２１０）。送信ＧＥＭ暗号ブロック長記憶部３６は、パラメータ更新Ｂ１／Ｂ２を実施する（Ｓ２１２）。送信スケジュール部３７は、受信ＧＥＭを送信スケジュール情報に記憶する（Ｓ２１３）。これらステップ２１３と並行して、非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭ長相当の時間分Ｗａｉｔし（Ｓ２１４）、ステップ２０３に戻る。なお、ステップ２１２は、この場合暗号対象外なので、パラメータ更新Ｂ２である。
【０１３９】
ステップ２０９で暗号対象であるとき（ＹＥＳ）、送信ＧＥＭ選択部３８は、暗号ブロック長計算部３３から受信ＧＥＭデータの暗号ブロックの構造を取得し（Ｓ２１５）、過去Ｑ個の暗号ブロックの先頭の暗号ブロックの開始位置から、受信ＧＥＭデータの最初の暗号ブロックＳに達するまでのクロック周期数Ｔｓ（＝Σ＋ｇｅｍｈ）を計算する（Ｓ２１７）。送信ＧＥＭ選択部３８は、Ｔｓ≧Ｐか判定し（Ｓ２１８）、ＹＥＳならばステップ２１０に遷移する。なお、このときステップ２１２はパラメータ更新Ｂ１である。
【０１４０】
ステップ２１８でＮＯならば、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭでパディングすると判定する（Ｓ２１９）。送信ＧＥＭ選択部３８は、パディングすべきＩｄｌｅ ＧＥＭの個数ｎを計算する（Ｓ２２０）。送信ＧＥＭ暗号ブロック長記憶部３６は、パラメータ更新Ａを実施する（Ｓ２２２）。さらに、送信スケジュール部３７は、受信ＧＥＭとパディングすべきＩｄｌｅ ＧＥＭの個数ｎを送信スケジュール情報に記憶する（Ｓ２２３）。ステップ２２２〜２２３と並行して、非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭとＩｄｌｅ ＧＥＭｎ個相当の時間分Ｗａｉｔし（Ｓ２２４）、ステップ２０３に戻る。なお、Ｐは後段の暗号エンコード部における暗号計算に要する時間Ｐ（クロック周期の数）である。
【０１４１】
ここで、パラメータ更新をまとめておく。
（１）パラメータ更新Ａ
Ｌ１、Ｌ２、…、ＬＱ、Σを更新。
受信ＧＥＭデータの最後の暗号化ブロックＥを含む過去に遡ったＱ個の暗号ブロック（最新版）の長さをＬ１、Ｌ２、…、ＬＱ、（ＬＱが最後の暗号ブロックＥ）とし、その総和をΣとする。
【０１４２】
ｎをパディングするＩｄｌｅ ＧＥＭの個数とすると、
Σ←Ｌ１＋Ｌ２＋…＋ＬＱ＋α＋（ｎｘｇｅｍｈ）
（２）パラメータ更新Ｂ１…暗号対象のＧＥＭの場合
パラメータ更新Ａと同様。
ただし、Ｉｄｌｅ ＧＥＭパディングしないので、ｎ＝０でΣを計算する。
（３）パラメータ更新Ｂ２…暗号対象でないＧＥＭの場合
ＬＱ、Σを更新。
Ｌ１〜ＬＱ−１は更新しない。
ＬＱ←ＬＱ＋Ｌｇｅｍ
Σ←Σ＋Ｌｇｅｍ
（３）パラメータ更新Ｃ
ＬＱ、 Σを更新。
Ｌ１〜ＬＱ−１は更新しない。
ＬＱ←ＬＱ＋ｇｅｍｈ
Σ←Σ＋ｇｅｍｈ
パラメータ更新ＡまたはＢ２において、暗号ブロック（最新版）の数がＱ個に満たず、ｍ個のときは、そのｍ個分について総和計算と各々の長さを保持する。ただし、ｍ≧１である。
パラメータ更新Ｂ２またはＣにおいて、暗号ブロックの数がＱ個に満たず、 ｍ個のときは、そのｍ個分について更新を行う。ただし、ｍ≧０である。
【０１４３】
パラメータＬ１、Ｌ２、Ｌ３、…、ＬＱ、Σは、送信ＧＥＭ暗号ブロック長記憶部３６で保持する。Ｌ１、Ｌ２、…、ＬＱ、Σ、ｇｅｍｈ、Ｌｇｅｍ、Ｒは、全てクロック周期を単位とした値である。これらの値は、８ｂｉｔ並列回路の場合はバイト単位の値に等しく、１６ｂｉｔ並列回路の場合はバイト単位の値の半分となる。ここで、ｇｅｍｈは、ＧＥＭヘッダ５バイトの受信に要するクロック周期の数であり、８ｂｉｔ並列回路の場合；ｇｅｍｈ＝５、１６ｂｉｔ並列回路の場合；ｇｅｍｈ＝２である。また、Ｐ：暗号計算に要する時間（クロック周期の数）、Ｌｇｅｍ：受信ＧＥＭデータ長、α：暗号ブロック（最新版）が過去のＧＥＭに跨る場合の過去のＧＥＭ個数分のｇｅｍｈの合計値である。
【０１４４】
図３５において、非暗号ＧＥＭ挿入部９９０は、まず送信ＧＥＭ暗号ブロック長記憶部３６のパラメータと、送信スケジュール部３７の送信スケジュール情報を初期化する（Ｓ３０１）。非暗号ＧＥＭ挿入部９９０の送信ＧＥＭ選択部３８は、送信スケジュール情報に基づいて受信ＧＥＭ、Ｉｄｌｅ ＧＥＭを送信する（Ｓ３０２）。送信ＧＥＭ選択部３８は、前ＧＥＭの最後が鍵型か判定する（Ｓ３０３）。ＹＥＳのとき、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭ挿入を決定する（Ｓ３０４）。送信ＧＥＭ暗号ブロック長記憶部３６は、パラメータ更新Ｃ’を実施する（Ｓ３０５）。送信スケジュール部３７は、Ｉｄｌｅ ＧＥＭ挿入を送信スケジュール情報に記憶する（Ｓ３０７）。ステップ３０７と並行して、非暗号ＧＥＭ挿入部９９０はＩｄｌｅ ＧＥＭ長相当の時間分Ｗａｉｔし（Ｓ３０８）、ステップ３０９に遷移する。なお、パラメータと送信スケジュール情報の初期化はＰＯＮフレーム送信開始、ＰＯＮ１フレームごとのスタートタイミンブ、初期化割り込み発生等で行う。
【０１４５】
ステップ３０３においてＮＯのとき、送信ＧＥＭ選択部３８は、新たなＧＥＭデータの受信があるか判定する（Ｓ３０９）。新たなＧＥＭデータがないとき、送信ＧＥＭ選択部３８は、ステップ３０４に遷移する。ステップ３０９で新たなＧＥＭデータの受信があるとき、送信ＧＥＭ選択部３８は、受信データは暗号対象か判定する（Ｓ３１０）。暗号対象外のとき、送信ＧＥＭ選択部３８は、受信ＧＥＭデータの送信を決定する（Ｓ３１２）。送信ＧＥＭ暗号ブロック長記憶部３６は、パラメータ更新Ｂ１／Ｂ２を実施する（Ｓ３１３）。送信スケジュール部３７は、受信ＧＥＭを送信スケジュール情報に記憶する（Ｓ３１４）。これらステップ３１４と並行して、非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭ長相当の時間分Ｗａｉｔし（Ｓ３１５）、ステップ３０９に戻る。なお、ステップ３１３は、この場合暗号対象外なので、パラメータ更新Ｂ２である。
【０１４６】
ステップ３１０で暗号対象であるとき（ＹＥＳ）、送信ＧＥＭ選択部３８は、暗号ブロック長計算部３３から受信ＧＥＭデータの暗号ブロックの構造を取得し（Ｓ３１７）、過去Ｑ個の暗号ブロックの先頭の暗号ブロックの開始位置から、受信ＧＥＭデータの最初の暗号ブロックＳに達するまでのクロック周期数Ｔｓ（＝Σ＋ｇｅｍｈ）を計算する（Ｓ３１８）。送信ＧＥＭ選択部３８は、Ｔｓ≧Ｐか判定し（Ｓ３１９）、ＹＥＳならばステップ３１２に遷移する。なお、このときステップ３１３はパラメータ更新Ｂ１である。
【０１４７】
ステップ３１９でＮＯならば、送信ＧＥＭ選択部３８は、Ｉｄｌｅ ＧＥＭでパディングすると判定する（Ｓ３２０）。送信ＧＥＭ選択部３８は、パディングすべきＩｄｌｅ ＧＥＭの個数ｎを計算する（Ｓ３２２）。ここで、ｎは偶数である。送信ＧＥＭ暗号ブロック長記憶部３６は、パラメータ更新Ａ’を実施する（Ｓ３２３）。さらに、送信スケジュール部３７は、受信ＧＥＭとパディングすべきＩｄｌｅ ＧＥＭの個数ｎを送信スケジュール情報に記憶する（Ｓ３２４）。ステップ３２３〜３２４と並行して、非暗号ＧＥＭ挿入部９９０は、受信ＧＥＭとＩｄｌｅ ＧＥＭｎ個相当の時間分Ｗａｉｔし（Ｓ３２５）、ステップ３０９に戻る。なお、Ｐは後段の暗号エンコード部における暗号計算に要する時間Ｐ（クロック周期の数）である。
【０１４８】
ここで、パラメータ更新をまとめておく。
（１）パラメータ更新Ａ’
Ｌ１、Ｌ２、…、ＬＱ、Σを更新。
【０１４９】
受信ＧＥＭデータの最後の暗号化ブロックＥを含む過去に遡ったＱ個の暗号ブロック（最新版）の長さをＬ１、Ｌ２、…、ＬＱ、（ＬＱが最後の暗号ブロックＥ）、その総和をΣとする。
ｎはパディングするＩｄｌｅ ＧＥＭの個数で、偶数である。
Σ←Ｌ１＋Ｌ２＋…＋ＬＱ＋α＋ｎ／２ｘβ
（２）パラメータ更新Ｂ１…暗号対象のＧＥＭの場合
パラメータ更新Ａと同様。
ただし、Ｉｄｌｅ ＧＥＭパディングしないので、ｎ＝０でΣを計算する。
（３）パラメータ更新Ｂ２…暗号対象でないＧＥＭの場合
ＬＱ、 Σを更新。
Ｌ１〜ＬＱ−１は更新しない。
ＬＱ←ＬＱ＋Ｌｇｅｍ
Σ←Σ＋Ｌｇｅｍ
（４）パラメータ更新Ｃ’
ＬＱ、 Σを更新。
Ｌ１〜ＬＱ−１は更新しない。
ＬＱ←ＬＱ＋ｇｅｍｈＢ
Σ←Σ＋ｇｅｍｈＢ
パラメータ更新Ａ’またはＢ１において、暗号ブロック（最新版）の数がＱ個に満たず、ｍ個のときは、そのｍ個分について総和計算と各々の長さを保持する。ただし、ｍ≧１である。
パラメータ更新Ｂ２またはＣ’において、暗号ブロックの数がＱ個に満たず、ｍ個のときは、そのｍ個分について更新を行う。ただし、ｍ≧０である。
【０１５０】
パラメータＬ１、Ｌ２、Ｌ３、…、ＬＱ、Σは送信ＧＥＭ暗号ブロック長記憶部３６で保持する。ここで、Ｌ１、Ｌ２、…、ＬＱ、Σ、ｇｅｍｈ、Ｌｇｅｍ、Ｒは全てクロック周期を単位とした値であり、８ｂｉｔ並列回路の場合はバイト単位の値に等しく、１６ｂｉｔ並列回路の場合はバイト単位の値の半分となる。ここで、ｇｅｍｈは、ＧＥＭヘッダ５バイトの受信に要するクロック周期の数であり、８ｂｉｔ並列回路の場合；ｇｅｍｈ＝５、１６ｂｉｔ並列回路の場合；ｇｅｍｈ＝２である。また、
β＝２ｘｇｅｍｈ＋１（＝ｇｅｍｈ＋ｇｅｍｈＢ）
ｇｅｍｈＢ＝ｇｅｍｈ＋１
Ｐ：暗号計算に要する時間（クロック周期の数）
Ｌｇｅｍ：受信ＧＥＭデータ長
α：暗号ブロック（最新版）が過去のＧＥＭに跨る場合の過去のＧＥＭ個数分のｇｅｍｈの合計値である。
【０１５１】
本実施例に拠れば、暗号化回路の規模を削減した暗号化装置を得ることができる。
【図面の簡単な説明】
【０１５２】
【図１】光アクセスネットワークのブロック図である。
【図２】ＯＬＴのブロック図である。
【図３】ＯＮＴのブロック図である。
【図４】ＯＬＴのＰＯＮ送受信ブロックのブロック図である。
【図５】ＯＮＴのＰＯＮ送受信ブロックのブロック図である。
【図６】ＯＬＴのＰＯＮ受信部とＰＯＮ送信部のブロック図である。
【図７】ＯＮＴのＰＯＮ受信部とＰＯＮ送信部のブロック図である。
【図８】暗号エンコード部のブロック図である。
【図９】ＧＥＭ長からＩｄｌｅ ＧＥＭ挿入を判定する非暗号ＧＥＭ挿入部のブロック図である。
【図１０】暗号ブロック積算値から非暗号ＧＥＭ挿入を判定する非暗号ＧＥＭ挿入部のブロック図である。
【図１１】鍵型検出付きの非暗号ＧＥＭ挿入部のブロック図である。
【図１２】暗号ＯＮ／ＯＦＦテーブルを説明する図である。
【図１３】暗号ＯＮ／ＯＦＦテーブルの補助テーブルを説明する図である。
【図１４】暗号鍵テーブルを説明する図である。
【図１５】暗号鍵テーブルの補助テーブルを説明する図である。
【図１６】Ｐｏｒｔ−ＩＤ／ＯＮＵ−ＩＤテーブルある。
【図１７】各１バイトはシリアルな８ビットのシーケンスのときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。
【図１８】各１バイトはパラレルな８ビットのシーケンスのときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。
【図１９】各２バイトはパラレルな１６ビットのシーケンスであり、ＧＥＭ先頭が上位バイト側で、ＧＥＭ長が奇数のときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。
【図２０】各２バイトはパラレルな１６ビットのシーケンスであり、ＧＥＭ先頭が下位バイト側で、ＧＥＭ長が偶数のときの、ＧＥＭのフォーマットと暗号ブロックを説明する図である。
【図２１】８ビット並列回路のＡＥＳ−１２８暗号計算面の必要面数を説明する図である。
【図２２】１６ビット並列回路のＡＥＳ−１２８暗号計算面の必要面数を説明する図である。
【図２３】暗号対象ＧＥＭの長さに基づくIｄｌｅ ＧＥＭ挿入による２面化を説明する図である。
【図２４】暗号対象ＧＥＭの長さに基づくIｄｌｅ ＧＥＭ挿入による３面化を説明する図である。
【図２５】暗号ブロックの積算情報を元に非暗号対象ＧＥＭ挿入による１面化を説明する図である。
【図２６】暗号ブロックの積算情報を元に非暗号対象ＧＥＭ挿入による２面化を説明する図である。
【図２７】暗号ブロックの積算情報を元に非暗号対象ＧＥＭ挿入による３面化を説明する図である。
【図２８】Ｔｓ＜Ｐを判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。
【図２９】ＧＥＭデータ受信なしを判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。
【図３０】非暗号対象のＧＥＭを受信したことを判定したときの動作を説明する図である。
【図３１】鍵型を判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。
【図３２】鍵型を考慮してＴｓ＜Ｐを判定してＩｄｌｅ ＧＥＭを挿入する動作を説明する図である。
【図３３】ＧＥＭ長を元に判定する動作を説明する図である。
【図３４】過去の暗号ブロック情報を元に判定する動作を説明する図である。
【図３５】過去の暗号ブロック情報と鍵型とを元に判定する動作を説明する図である。
【符号の説明】
【０１５３】
１…光集線装置（ＯＬＴ）、２…光加入者装置（ＯＮＴ）、３…スプリッタ、４…ＩＰシステム、５…ＴＤＭシステム、６…ＩＰネットワーク、７…ＴＤＭネットワーク、８…幹線ファイバ、９…加入者ファイバ、１０…光アクセスネットワーク、１１…暗号対象判定部、１２…計算回路振分部、１３…暗号ＯＮ／ＯＦＦテーブル、１４…データ遅延メモリ、１５…暗号計算部、１７…暗号鍵取得部、１８…暗号カウンタ、１９…暗号鍵テーブル、２０…回路選択部、２１…ＥＸＯＲ部、２５…Ｐｏｒｔ−ＩＤ／ＯＮＵ−ＩＤ対応テーブル、３１…次送信ＧＥＭ遅延メモリ、３２…ＧＥＭ長検出部、３３…暗号ブロック長計算部、３４…暗号対象検出部、３５…Ｉｄｌｅ ＧＥＭ生成部、３６…送信ＧＥＭ暗号ブロック長記憶部、３７…送信スケジュール部、３８…送信ＧＥＭ選択部、３９…鍵型検出部、７１…光電変換モジュール、７２…ＯＬＴ ＰＯＮ送受信ブロック、７３…イーサネット ＰＨＹ、７４…ＴＤＭ ＰＨＹ、７５…ＭＰＵ、７６…ＲＡＭ、７７…制御系インターフェース、８１…光電変換モジュール、８２…ＯＮＴ ＰＯＮ送受信ブロック、８３…イーサネット ＰＨＹ、８４…ＴＤＭ ＰＨＹ、８５…ＭＰＵ、８６…ＲＡＭ、８７…制御系インターフェース、９０…ＰＯＮ受信部、９１…受信ＧＥＭ組立部、９２…受信ＧＥＭバッファ、９３…ＯＬＴ受信テーブル、９４…ＯＬＴ上りイーサネットＧＥＭ終端部、９５…ＯＬＴ上りイーサネットインターフェース、９６…ＯＬＴ上りＴＤＭ ＧＥＭ終端部、９７…ＯＬＴ上りＴＤＭインターフェース、９８…レンジング制御部、９９…ＰＯＮ送信部、１００…送信ＧＥＭ組立部、１０１…送信ＧＥＭバッファ、１０２…ＯＬＴ送信スケジューラ、１０３…ＯＬＴ下りＴＤＭ ＧＥＭ終端部、１０４…ＯＬＴ下りＴＤＭインターフェースＧＥＭ終端部、１０５…ＯＬＴ下りイーサネットＧＥＭ終端部、１０６…ＯＬＴ下りイーサネットインターフェース、１０７…ＭＰＵ ＩＦ、１２０…ＯＮＴ下りイーサネットインターフェース、１２１…ＯＮＴ下りイーサネットＧＥＭ終端部、１２２…ＯＮＴ下りＴＤＭインターフェース、１２３…ＯＮＴ下りＴＤＭ ＧＥＭ終端部、１２４…ＯＮＴ受信テーブル、１２５…受信ＧＥＭバッファ、１２６…受信ＧＥＭ組立部、１２７…ＰＯＮ受信部、１２８…レンジング制御部、１２９…ＰＯＮ送信部、１３０…送信ＧＥＭ組立部、１３１…ＯＮＴ送信スケジューラ、１３２…送信ＧＥＭバッファ、１３３…ＯＮＴ上りＴＤＭ ＧＥＭ終端部、１３４…ＯＮＴ上りＴＤＭインターフェース、１３５…ＯＮＴ上りイーサネットＧＥＭ終端部、１３６…ＯＮＴ上りイーサネットインターフェース、１３７…ＭＰＵ ＩＦ、９０１…デスクランブラ、９０２…フレーム同期部、９０３…ＦＥＣデコーダ、９０４…ＰＯＮフレーム終端部、９０５…暗号デコーダ、９９０…非暗号ＧＥＭ挿入部、９９１…暗号エンコーダ、９９２…ＰＯＮフレーム生成部、９９３…ＦＥＣエンコーダ、９９４…フレーム同期信号挿入部、９９５…スクランブラ。
【図１】
2008160318.tif 000003
【図２】
2008160318.tif 000004
【図３】
2008160318.tif 000005
【図４】
2008160318.tif 000006
【図５】
2008160318.tif 000007
【図６】
2008160318.tif 000008
【図７】
2008160318.tif 000009
【図８】
2008160318.tif 000010
【図９】
2008160318.tif 000011
【図１０】
2008160318.tif 000012
【図１１】
2008160318.tif 000013
【図１２】
2008160318.tif 000014
【図１３】
2008160318.tif 000015
【図１４】
2008160318.tif 000016
【図１５】
2008160318.tif 000017
【図１６】
2008160318.tif 000018
【図１７】
2008160318.tif 000019
【図１８】
2008160318.tif 000020
【図１９】
2008160318.tif 000021
【図２０】
2008160318.tif 000022
【図２１】
2008160318.tif 000023
【図２２】
2008160318.tif 000024
【図２３】
2008160318.tif 000025
【図２４】
2008160318.tif 000026
【図２５】
2008160318.tif 000027
【図２６】
2008160318.tif 000028
【図２７】
2008160318.tif 000029
【図２８】
2008160318.tif 000030
【図２９】
2008160318.tif 000031
【図３０】
2008160318.tif 000032
【図３１】
2008160318.tif 000033
【図３２】
2008160318.tif 000034
【図３３】
2008160318.tif 000035
【図３４】
2008160318.tif 000036
【図３５】
2008160318.tif 000037