(57)【要約】メディアコンバータに暗号化／復号化部を設ける。入力したｎバイト可変長データ２０１を固定長ｍに分割した際の余りデータ長ｒを算出し、固定長ｍと余りデータ長ｒとの差を付加データ長ｋとして決定する。ｋバイト付加データ２０２をｎバイト可変長データ２０１の最後尾に付加し、付加データ長を決定するための参照データを（ｎ＋ｋ）バイトデータ２０５の最後尾に配置する。（ｎ＋ｋ）バイトデータ２０５に対して暗号化を実行する。暗号化データの復号化は、参照データから付加データ長を決定し、それに応じたデータを削除することで元の可変長データを復元する。
2003094419.tif 000002
【特許請求の範囲】
【請求項１】
異なる種類の伝送媒体を接続するメディアコンバータにおいて、
第１伝送媒体を接続するための第１物理層インタフェースと、
第２伝送媒体を接続するための第２物理層インタフェースと、
前記第１及び第２物理層インタフェースの間に接続され、前記第１物理層インタフェースから入力する可変長データを所定の固定長データに変換して暗号化し、暗号化されたデータを前記第２物理層インタフェースへ出力する暗号化手段と、
を有し、
前記暗号化手段は、
前記可変長データを所定の固定長に分割した際の余りデータ長を算出し、前記固定長と前記余りデータ長との差を付加データ長として決定する演算手段と、
前記付加データ長を決定するための参照データを所定位置に含めた付加データを生成し、前記可変長データに前記付加データを付加することで暗号化処理が実行可能な拡張されたデータを生成する拡張データ付加手段と、
前記拡張されたデータを前記暗号化処理することで前記暗号化されたデータを生成する暗号化処理手段と、
を有することを特徴とするメディアコンバータ。
【請求項２】
前記第１及び第２物理層インタフェースの間に接続され、前記第２物理層インタフェースから入力する暗号化されたデータを復号化して可変長データを生成し、前記第１物理層インタフェースへ出力する復号化手段をさらに有し、
前記復号化手段は、
前記暗号化されたデータを復号化して前記拡張されたデータに対応する受信データを生成する復号化処理手段と、
前記受信データの前記所定位置から前記参照データを読み出し、前記参照データから前記付加データ長を決定し、前記受信データから前記付加データ長に相当するデータを除去する拡張データ除去手段と、
を有することを特徴とする請求の範囲第１項記載のメディアコンバータ。
【請求項３】
前記拡張データ付加手段は、前記参照データを前記拡張されたデータの最後尾に配置することを特徴とする請求の範囲第１項記載のメディアコンバータ。
【請求項４】
前記暗号化処理手段は、前記拡張されたデータを前記固定長ごとに分割し、固定長データをそれぞれ暗号化することを特徴とする請求の範囲第１項記載のメディアコンバータ。
【請求項５】
種類の異なる第１伝送媒体及び第２伝送媒体を接続するメディアコンバータにおける可変長データの暗号化方法において、
ａ）前記可変長データを所定の固定長に分割した際の余りデータ長を算出し、
ｂ）前記固定長と前記余りデータ長との差を付加データ長として決定し、
ｃ）前記付加データ長を決定するための参照データを含めた付加データを生成し、
ｄ）前記可変長データに前記付加データを付加することで暗号化処理が実行可能な拡張されたデータを生成し、
ｅ）前記拡張されたデータを前記固定長ごとに暗号化する、
ことを特徴とするメディアコンバータにおける暗号化方法。
【請求項６】
前記付加データの予め定められた位置に前記参照データを配置し、前記可変長データの予め定められた位置に前記付加データを配置する、ことを特徴とする請求の範囲第５項記載のメディアコンバータにおける暗号化方法。
【請求項７】
前記参照データを前記拡張されたデータの最後尾に配置することを特徴とする請求の範囲第６項記載のメディアコンバータにおける暗号化方法。
【請求項８】
前記参照データは前記余りデータ長であることを特徴とする請求の範囲第５項記載のメディアコンバータにおける暗号化方法。
【請求項９】
請求の範囲第５項記載の暗号化方法により生成された暗号化データの復号化方法において、
ａ）前記暗号化データを受信し、
ｂ）前記受信した暗号化データに対して復号化処理を実行することで受信データを生成し、
ｃ）前記受信データの所定位置から参照データを読み出し、
ｄ）前記参照データから付加データ長を決定し、
ｅ）前記受信データから前記付加データ長に相当するデータを除去することで元の可変長データを復元する、
ことを特徴とするメディアコンバータにおける復号化方法。
【請求項１０】
前記参照データを前記拡張されたデータの最後尾に配置することを特徴とする請求の範囲第９項記載のメディアコンバータにおける復号化方法。
【請求項１１】
前記参照データは前記余りデータ長であることを特徴とする請求の範囲第９項記載のメディアコンバータにおける復号化方法。
【請求項１２】
種類の異なる第１伝送媒体及び第２伝送媒体を接続するメディアコンバータにおけるコンピュータに、ｎ（ｎは自然数）バイトの可変長データを固定長ｍ（０＜ｍ＜ｎ）バイト単位で暗号化する処理を実行させるためのプログラムにおいて、
ｎ／ｍの余りｒを算出するステップと、
前記固定長ｍと前記余りｒとの差を付加データ長ｋとして決定するステップと、
前記付加データ長ｋを特定するための参照データｒを含めた付加データを生成するステップと、
前記可変長データに前記付加データを付加することで（ｎ＋ｋ）バイトの拡張されたデータを生成するステップと、
前記（ｎ＋ｋ）バイトの拡張されたデータを前記固定長ｍごとに分割して暗号化するステップと、
を有することを特徴とするプログラム。
【請求項１３】
請求の範囲第１２項に記載された暗号化データを復号化し、元の可変長データを復元させる処理を実行させるためのプログラムにおいて、
前記暗号化データを復号化することで、前記拡張されたデータに対応する（ｎ＋ｋ）バイトの受信データを生成するステップと、
前記（ｎ＋ｋ）バイトの受信データの前記所定位置から前記参照データを読み出し、前記参照データから前記付加データ長ｋを決定するステップと、
前記（ｎ＋ｋ）バイトの受信データから前記付加データ長ｋに相当するデータを除去することで、元のｎバイトの可変長データを復元するステップと、
を有することを特徴とするプログラム。
【発明の詳細な説明】
技術分野
本発明は異なる種類の伝送媒体を接続するためのメディアコンバータに係り、特にメディアコンバータにおける暗号化／復号化方法及び装置に関する。
背景技術
近年、各家庭まで光ファイバ回線をのばして、音楽や動画像、医療データなどを高速回線で自在にやり取りできるＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）が話題を集めている。このようなＦＴＴＨが実現されると、光ファイバ回線をオフィスあるいは家庭内のコンピュータに接続するためのメディアコンバータが不可欠となる。
メディアコンバータには、一般に、光ケーブルを接続するためのポートとＵＴＰケーブルを接続するためのポートとが設けられ、それぞれに物理層デバイスが接続されている。各物理層デバイスはＩＥＥＥ８０２．３規格によって規定されたＭＩＩ（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）をサポートしている。また、メディアコンバータの性質上、一方のリンクが切断された場合に他方のリンクを自動的に切断するミッシングリング機能を有するものが一般的である。
このようなメディアコンバータを用いることで光ケーブルを介した長距離伝送が可能となる。たとえば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のマネジメントスイッチをＵＴＰ（Ｕｎｓｈｉｅｌｄｅｄ  Ｔｗｉｓｔｅｄ  Ｐａｉｒ）ケーブルを用いてメディアコンバータの一方のポートに接続し、他方のポートに光ケーブルを接続する。相手側も同様に、メディアコンバータを用いて光ケーブルをＵＴＰケーブルに変換し、マネジメントスイッチに接続する。こうして光通信回線を通してＬＡＮ同士が単一ドメインを構成することができる。
このような通信システムにおいて、光通信回線やＬＡＮにおけるセキュリティは重要な問題の１つである。そこで、データの暗号化／復号化機能をメディアコンバータに組み込むことが考えられている。
しかしながら、暗号技術の一つであるＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号を使用して可変長ｎバイトのデータを暗号化する場合、ＤＥＳへの入力を８バイト単位に分割しなければならない。この場合、ｎの値によっては分割する際に８バイト未満の余りが生じる。このために、その余り部分をＤＥＳ入力可能な８バイトに拡張する技術が必要である。
従来、可変長データを固定長データに変換する技術は種々提案されている。例えば、特開平０８−０３０４３７号公報には、可変長データを最適な固定長データに分割し複数の演算処理部で並列処理を行う計算機が開示されている。また、特開２００１−３３２９７８号公報に開示されたデータストリーム変換方法では、可変長データをレジスタに転送し、そのレジスタのデータ量が所定ビットを超えたときに、固定長ビット数ごとに順次出力することで固定長データを生成する。最後にレジスタに残ったデータは、次の入力データと結合され、次回の固定長データとして出力される。
しかしながら、上記特開平０８−０３０４３７号公報に開示された計算機では、可変長データの長さが固定長データの整数倍に設定されており、可変長データを分割したときに余りが生じることは想定されていない。
これに対して、上記特開２００１−３３２９７８号公報には、可変長データを固定長データごとに分割出力した後にレジスタに残ったデータ（余り）の処理について言及されている。
しかしながら、この従来の方法は可変長データを固定長データのストリームとして出力することを目的としており、ある可変長データを一組として固定長データに分割し、それぞれの固定長データをデータ処理するわけではない。したがって、最後にレジスタに残ったデータを次の入力データと結合させることができ、次回の固定長データとして出力できるわけである。
本発明の目的は、可変長データを固定長データに変換して暗号化処理を行うメディアコンバータにおける暗号化／復号化方法及び装置を提供することにある。
本発明の他の目的は、可変長データを固定長データに分割した際に余りが生じても各固定長データの効率的な暗号化処理を可能にする暗号化方法及び装置を提供することにある。
更に、本発明の別の目的は、可変長データの暗号化処理により得られたデータを容易に元の可変長データに復号化することができる復号化方法及び装置を提供することにある。
発明の開示
本発明の第１の観点によれば、可変長データを固定長処理するためにデータ変換する方法において、前記可変長データを所定の固定長に分割した際の余りデータ長を算出し、前記固定長と前記余りデータ長との差を付加データ長として決定し、前記付加データ長を決定するための参照データを含めた付加データを生成し、前記可変長データに前記付加データを付加することで前記固定長処理が実行可能な拡張されたデータを生成する、ことを特徴とする。
参照データは拡張されたデータの予め定められた位置に配置されることが望ましい。特に、参照データを拡張されたデータの最後尾に配置することが望ましい。
本発明の第２の観点によれば、可変長データを固定長処理することで得られたデータを前記可変長データに変換する方法において、前記可変長データを所定の固定長に分割した際の余りデータ長を算出し、前記固定長と前記余りデータ長との差を付加データ長として決定し、前記付加データ長を決定するための参照データを含む前記付加データ長の付加データを生成し、前記付加データを前記可変長データに付加し、前記参照データが所定位置に存在する拡張されたデータを生成し、前記拡張されたデータに対して前記固定長処理を実行することで固定処理結果データを生成し、前記固定処理結果データに対して前記固定処理とは逆の固定処理を実行することで、前記拡張されたデータに対応する受信データを生成し、前記受信データの前記所定位置から前記参照データを読み出し、前記参照データから前記付加データ長を決定し、前記受信データから前記付加データ長に相当するデータを除去することで、元の可変長データを復元する、ことを特徴とする。
前記固定長処理は、前記拡張されたデータを前記固定長ごとに分割し、固定長データをそれぞれ処理することを特徴とする。好ましくは、前記固定長処理は暗号化処理であり、前記逆の固定処理は前記暗号化処理に対応する復号化処理である。
発明を実施するための最良の形態
１．メディアコンバータ
第１図は、本発明による暗号化／復号化方法を適用したメディアコンバータの一例を示すブロック図である。メディアコンバータ１０の一対のポートにはそれぞれ物理層デバイス（ＰＨＹ）１１および１２が設けられ、一方の物理層デバイス１１はＵＴＰケーブルに、他方の物理層デバイス１２は光ケーブルに、それぞれ接続されている。上述したように、物理層デバイス１１および１２の各々は、ＩＥＥＥ８０２．３によって規定されたＭＩＩ（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）をサポートする。
物理層デバイス１１と物理層デバイス１２との間には、ＦＩＦＯ（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  ｏｕｔ）メモリを含む暗号化／復号化部１３が設けられ、後述するように、送受信データの暗号化／復号化が行われる。また、ＦＩＦＯメモリによって送受信間の周波数偏差を吸収することもできる。たとえば、一方の物理層デバイスで受信された可変長データはＦＩＦＯメモリに順次書き込まれ、書き込まれた順に読み出されて固定長データで暗号化処理された後、他方の物理層デバイスへ送出される。逆に、他方の物理層デバイスで受信された暗号化されたデータはＦＩＦＯメモリに順次書き込まれ、書き込まれた順に読み出されて復号化された後、可変長データとして他方の物理層デバイスへ送出される。
なお、本実施形態による暗号化／復号化部１３は特定用途向け集積回路（ＡＳＩＣ）により構成され、暗号化／復号化鍵の生成を含むメディアコンバータ全体の動作制御も行う。
２．暗号化／復号化システムの構成
第２図は、本発明の一実施形態による暗号化／復号化手法を採用したデータ処理システムの概略的ブロック図である。
第２図において、送信側は拡張データ付加部１０１、付加バイト長計算部１０２、および暗号化処理部１０３を有し、受信側は復号化処理部１０４、拡張データ除去部１０５、および付加バイト長計算部１０６を有する。ここでは、可変長データの長さをｎバイト（ｎは自然数）とし、暗号化処理部１０３は固定長ｍバイト（ｍは１以上の自然数）のデータのみを暗号化処理できるものとする。
拡張データ付加部１０１は、可変長ｎバイトデータを入力すると、可変長ｎバイトデータが過不足なく暗号化処理部１０３で処理されるようにデータを拡張する。まず、拡張データ付加部１０１は可変長ｎバイトデータのデータ長ｎを付加バイト長計算部１０２へわたす。付加バイト長計算部１０２は、ｎ／ｍの余りバイト数ｒと付加バイト長ｋとを計算して拡張データ付加部１０１へかえす（詳しくは後述する）。
拡張データ付加部１０１は、所定位置に余りバイト数ｒを含むｋバイトの拡張データを生成し、それを可変長ｎバイトデータの所定位置に付加し、（ｎ＋ｋ）バイトデータとして暗号化処理部１０３へ出力する。拡張データは、可変長ｎバイトデータの最後尾に付加されるのが望ましい。その際、余りバイト数ｒを表すデータが（ｎ＋ｋ）バイトデータの最後尾からどの位置に存在するかを特定する必要がある。したがって、望ましいのは、余りバイト数ｒを表すデータを（ｎ＋ｋ）バイトデータの最後尾に配置することである。
暗号化処理部１０３は、（ｎ＋ｋ）バイトデータを固定長ｍバイトごとに分割し、分割された固定長ｍバイトデータの各々に対して暗号化処理を実行する。こうして処理された結果としてのデータは、たとえば伝送路を通して受信側へ送出される。
受信側の復号化処理部１０４は、受信データに対して暗号化処理部１０３の処理とは逆の処理を施して固定長ｍバイトデータを復号化し、それらを合成して（ｎ＋ｋ）バイトデータとして拡張データ除去部１０５へ出力する。
拡張データ除去部１０５は、入力した（ｎ＋ｋ）バイトデータの所定位置から余りバイト数ｒを読み出し、付加バイト長計算部１０６へわたす。付加バイト長計算部１０６は余りバイト数ｒから付加されたバイト長ｋを算出し、拡張データ除去部１０５へかえす。拡張データ除去部１０５は、（ｎ＋ｋ）バイトデータの所定位置からｋバイト拡張データを除去し、元の可変長ｎバイトデータを出力する。
３．拡張データの生成および付加
第３図は本発明の一実施形態による拡張データ付加動作の一例を示す流れ図であり、第４図は拡張データの生成を説明するためのフォーマット図である。
第３図に示すように、可変長ｎバイトデータ２０１のバイト数ｎを入力すると、付加バイト長計算部１０２はｎをｍで除算した余りｒ（＝ｎＭＯＤｍ）を計算し、暗号化処理部１０３の固定長ｍから当該余りｒを差し引いた値を付加バイト長ｋとして算出する（ステップＳ２０）。
第４図を参照しながら、固定長ｍ、余りバイト長ｒおよび付加バイト長ｋの間の関係を説明する。既に述べたように、暗号化処理部１０３は固定長ｍバイトしか受け付けないために、可変長ｎバイトデータ２０１を固定長ｍバイトごとに分割しなければならない。その際、ｒバイト（０≦ｒ＜ｍ）の余りデータが生じる場合がある。
このｒバイトの余りデータも暗号化処理部１０３で処理するために、ｋ（＝ｍ−ｒ）バイトの拡張データ２０２をｎバイトデータ２０１の所定位置（ここでは、最後尾）に付加する。これによって、固定長ｍで割り切れるバイト長（ｎ＋ｋ）のデータ２０５が得られる。
拡張データ２０２は最終的には除去されるから、拡張データ２０２の長さを計算可能にする参照データを拡張データ２０２に書き込んでおく必要がある。本実施形態では、参照データとして余りデータ長ｒの値を拡張データ２０２の所定位置（ここでは最後尾）に書き込んでおく。
たとえば、固定長ｍの範囲を１＜ｍ＜２５６とすれば、ｒ＜ｍであるから、余りデータ長ｒを表すために１バイト（≦２５５）のデータ領域を確保しておけば十分である。
こうして、付加データ長計算部１０２は余りデータ長ｒと付加バイト長ｋとを算出し、拡張データ付加部１０１へかえす。拡張データ付加部１０１は、第３図に示すように、（ｋ−１）バイトのパドル２０３と１バイトの参照データ２０４とからなるｋバイト拡張データ２０２を生成し、それをｎバイトデータ２０１の所定位置（ここでは、最後尾）に付加する（ステップＳ２１）。
これによって、固定長ｍで割り切れるバイト長（ｎ＋ｋ）のデータ２０５が暗号化処理部１０３に与えられ、（ｎ＋ｋ）／ｍ個の固定長ｍバイトデータに対する分割処理が実行される（ステップＳ２２）。このように、少量の拡張データ２０２を付加するだけで、可変長データ２０１の固定長処理が可能となる。
４．拡張データの削除
第５図は、本発明の一実施形態による拡張データ削除動作の一例を示す流れ図である。まず、復号化処理部１０４は、受信データに対して暗号化処理部１０３の処理とは逆の処理を施して固定長ｍバイトデータを復号し、それらを合成した（ｎ＋ｋ）バイトデータ２０５を拡張データ除去部１０５へ出力する。
上述したように、入力した（ｎ＋ｋ）バイトデータ２０５の所定位置（ここでは最後尾の１バイト）には参照データとして余りバイト数ｒが書き込まれている。従って、拡張データ除去部１０５は、最後尾の１バイトのデータを読み出し、付加バイト長計算部１０６へわたす。付加バイト長計算部１０６は、固定長ｍから余りバイト数ｒを差し引いて付加バイト長ｋ＝ｍ−ｒを算出し（ステップＳ２３）、その値ｋを拡張データ除去部１０５へかえす。
拡張データ除去部１０５は、（ｎ＋ｋ）バイトデータ２０５の最後尾のｋバイト、すなわち拡張データ２０２、を除去し（ステップＳ２４）、オリジナルの可変長ｎバイトデータ２０１を出力する。このように、固定長暗号化処理系からの出力データを元の可変長データに容易に復元することができる。
５．実施例
以下、具体例として、送信すべきデータをＤＥＳ暗号化して送信し、ＤＥＳ暗号化されたデータから受信データを復号するメディアコンバータについて説明する。この場合、第２図における暗号化処理部１０３はＤＥＳ暗号化モジュールに対応し、復号化処理部１０４はＤＥＳ復号化モジュールに対応する。
第６図は、第１図の暗号化／復号化部１３の詳細なブロック図である。データ処理部（図示せず）から出力された可変長バイトの送信データは、物理層３００ａを通して入力ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリ３０１に入力し、順次、パドル付加モジュール３０２へ出力される。
パドル付加モジュール３０２は、第２図の拡張データ付加部１０１および付加バイト長計算部１０２に対応する。パドル付加モジュール３０２は、入力したｎバイト送信データにｋバイト拡張データを付加し、（ｎ＋ｋ）バイトデータを暗号化モジュール３０３へ出力する。
暗号化モジュール３０３では、（ｎ＋ｋ）バイトデータを固定長バイトｍデータごとに分割し、それぞれに対して暗号化キーに従った暗号化処理を実行する。暗号化された（ｎ＋ｋ）バイトデータは出力ＦＩＦＯメモリ３０４を介して物理層３００ｂへ送出される。
物理層３００ｂから受信したデータは、順次、入力ＦＩＦＯメモリ３０５を介して復号化モジュール３０６に入力する。復号化モジュール３０６は、暗号化キーに従って、受信したデータから固定長ｍバイトデータを復号化し、それらを合成して（ｎ＋ｋ）バイトデータとしてパドル除去モジュール３０７へ出力する。
パドル除去モジュール３０７は、第２図の拡張データ除去部１０５および付加バイト長計算部１０６に対応する。パドル除去モジュール３０７は、最後尾の１バイトのデータから付加バイト長ｋを算出し、（ｎ＋ｋ）バイトデータの最後尾のｋバイトデータを除去して可変長ｎバイトデータを生成し、出力ＦＩＦＯメモリ３０８を通して物理層３００ａへ出力する。
なお、送信部の入力ＦＩＦＯメモリ３０１は、物理層３００ａ側の送信クロックと暗号化／復号化モジュールのクロックとの位相差を吸収するために設けられ、出力ＦＩＦＯメモリ３０４は、他方の物理層３００ｂ側の送信クロックと暗号化／復号化モジュールのクロックとの位相差を吸収するために設けられている。同様に、受信部の入力ＦＩＦＯメモリ３０５は、物理層３００ｂ側の受信クロックと暗号化／復号化モジュールのクロックとの位相差を吸収するために設けられ、出力ＦＩＦＯメモリ３０８は、物理層３００ａ側の受信クロックと暗号化／復号化モジュールのクロックとの位相差を吸収するために設けられている。
第７図は、第６図に示す送受信部の暗号化／復号化の流れを示す図である。ここでは、ＤＥＳ暗号化モジュール３０３の固定長バイト数ｍ＝８、０≦ｒ＜８とし、可変長バイト数ｎ＝６７のデータを送受信する場合について説明する。
まず、６７バイトの送信データが入力すると（第７図（ａ））、６７バイト／８バイト＝８余り３であるから、ｒ＝３、ｋ＝ｍ−ｒ＝５である（第７図（ｂ））。したがって、６７バイトの送信データに、末尾の１バイトにｒ＝３を含む５バイトのパドルデータ（０ｘ０００００００００３）を付加して、送信データを７２バイトに拡張する（第７図（ｃ））。
続いて、７２バイトの拡張された送信データを８バイト単位に分割し、分割された９個の８バイトデータをＤＥＳ  ＥＣＢモードによりそれぞれ暗号化する（第７図（ｄ））。こうして、７２バイトの暗号化データが得られる（第７図（ｅ））。このように、少量のパドルデータを付加するだけで、可変長データのＤＥＳ暗号化処理が可能となる。
他方、このような暗号化データが受信されると、ＤＥＳ復号化モジュール３０６は８バイトデータをそれぞれ復号化する（第７図（ｆ））。復号化された８バイトデータが合成されて７２バイトデータが得られ、その最後の１バイト（０ｘ０３）から付加パドル長ｋが計算される。ここでは、ｋ＝８−３＝５バイトであるから、末尾の５バイトのパドルデータ（０ｘ０００００００００３）が７２バイトデータから除去される（第７図（ｈ））。こうして、元の６７バイトデータを得る（第７図（ｉ））。このように、ＤＥＳ暗号化データを元の可変長データに容易に復元することができる。
なお、本実施例では、ＤＥＳ暗号技術を一例として説明したが、これに限定されるものではない。本発明は、可変長の入力データに対する処理に固定長データのみを受け入れる暗号化処理技術を使用する場合に適用することができる。
また、第２図に示す送信側の拡張データ付加部１０１、付加バイト長計算部１０２、および暗号化処理部１０３、あるいは受信側の復号化処理部１０４、拡張データ除去部１０５、および付加バイト長計算部１０６は、ハードウエアとして構成することもできるが、ソフトウエアにより実現することも可能である。すなわち、第３図〜第５図で説明した拡張データ生成、付加および除去動作をコンピュータに指令するプログラムをメモリに格納しておき、各動作に対応するプログラムをコンピュータ上で走らせることで同様の機能を実現できる。
以上説明したように、本発明によれば、可変長データを所定の固定長に分割した際の余りデータ長を算出し、固定長と余りデータ長との差を付加データ長として決定する。そして、付加データ長を決定するための参照データを含めた付加データを可変長データに付加することで、固定長暗号化処理を実行可能な拡張されたデータが生成される。したがって、少量の付加データを可変長データに付加するだけで、可変長データの固定長暗号化処理が可能となる。
また、拡張されたデータから参照データを読み出して、それに付加された付加データ長を決定できるために、拡張されたデータから付加データ長分のデータを除去することで、容易に元の可変長データを復元することができる。
このように、本発明は、可変長データに対して、入力が固定長となっている暗号化処理を実行する場合にきわめて有効な手法である。
【図面の簡単な説明】
第１図は、本発明による暗号化／復号化方法を適用したメディアコンバータの一例を示すブロック図であり、
第２図は、本発明の一実施形態による暗号化／復号化手法を採用したデータ処理システムの概略的ブロック図であり、
第３図は、本発明の一実施形態による拡張データ付加動作の一例を示す流れ図であり、
第４図は、拡張データの生成を説明するためのフォーマット図であり、
第５図は、本発明の一実施形態による拡張データ削除動作の一例を示す流れ図であり、
第６図は、第１図の暗号化／復号化部１３のブロック図であり、
第７図は、第６図に示す暗号化／復号化処理部の暗号化／復号化の流れを示す図である。
【図１】
2003094419.tif 000003
【図２】
2003094419.tif 000004
【図３】
2003094419.tif 000005
【図４】
2003094419.tif 000006
【図５】
2003094419.tif 000007
【図６】
2003094419.tif 000008
【図７】
2003094419.tif 000009
【国際調査報告】
2003094419.tif 000010
2003094419.tif 000011