JPH10333566A - データ変換装置 - Google Patents

データ変換装置

Info

Publication number
JPH10333566A
JPH10333566A JP14241097A JP14241097A JPH10333566A JP H10333566 A JPH10333566 A JP H10333566A JP 14241097 A JP14241097 A JP 14241097A JP 14241097 A JP14241097 A JP 14241097A JP H10333566 A JPH10333566 A JP H10333566A
Authority
JP
Japan
Prior art keywords
data
block
variable
value
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP14241097A
Other languages
English (en)
Inventor
Michisuke Nomura
享右 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taisei Corp
Original Assignee
Taisei Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taisei Corp filed Critical Taisei Corp
Priority to JP14241097A priority Critical patent/JPH10333566A/ja
Publication of JPH10333566A publication Critical patent/JPH10333566A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 暗号化データを生成するときと同一の処理
で、その暗号化データを復号化することによって、費用
や時間、または手間などをの面で有利に開発することが
できるとともに、完成するソフトのデータサイズも比較
的コンパクトに抑えることのできるデータ変換装置を提
供する。 【解決手段】 データを所定データ量のブロックが複数
個構成されるように分割し、前記データ内における各ブ
ロックの位置を特定する位置アドレスに所定順序で仮想
番号を付与し、仮想番号の先頭番号から末尾番号に向け
て順次選択される各ブロックが、その仮想番号の末尾番
号から先頭番号に向けて順次配置されるように、各ブロ
ックを仮想番号に対して逆順序に並び換える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術の分野】本発明は、データを暗号化
および復号化するデータ変換装置に係り、特に、暗号化
データを生成するときと同一の処理で、その暗号化デー
タを復号化することのできるデータ変換装置に関する。
【0002】
【従来の技術】従来のデータ変換装置としては、通信デ
ータの盗聴、改ざんなどの不正アクセスから通信データ
を保護するために用いられる暗号化技術がある。これに
は、例えば、ソフトウェアを利用してデータを暗号化お
よび復号化するものがあり、次のようにしてデータの送
受信を行う。
【0003】送信元コンピュータでは、データを送信し
ようとする送信者が暗号化ソフトを利用し、送信対象と
なる平文データを、送信者によって指定された所定の暗
号キーに基づいて暗号化し、その暗号化データを送信す
る。
【0004】このとき、例えば、DES(Data Encrypti
on Standard)方式によってデータを暗号化する暗号化ソ
フトは、図9(a)に示すように、平文データを暗号化
するデータ処理部と、指定された暗号キーから暗号化す
るために必要なキー情報系列を生成するキースケジュー
ラ部とで構成されている。データ処理部では、64ビッ
トごとに平文データを分割し、分割したデータ列をキー
スケジューラ部で生成されたキー情報系列を用い、同一
の変換を16段繰り返して64ビットの暗号化データを
生成する。一方、キースケジューラ部では、64ビット
で構成される暗号キーを用いて16段のキー情報系列K
1 、K2 、…、K16を生成する。なお、図中、fは、図
9(b)に示すように、非線形変換であって、6ビット
入力4ビット出力のテーブルで与えられる8個のSボッ
クスからなっている。
【0005】一方、送信先コンピュータでは、データを
受信した受信者が復号化ソフトを利用し、受信した暗号
化データを、受信者によって指定された所定の復号キー
に基づいて復号化する。
【0006】このとき、例えば、DES方式によってデ
ータを復号化する復号化ソフトは、図9(a)におい
て、キースケジューラ部で生成するキー情報系列を暗号
化したときとは逆に、K16、K15、…、K1 とすれば、
元の平文データが得られる。ただし、受信者が指定した
復号キーと送信者が指定した暗号キーとが一致しなけれ
ば、元の平文データを得ることができない。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
データ変換装置は、暗号化するときのキー情報系列に対
して、復号化するときのキー情報系列を逆の順序で生成
する必要があるため、暗号化するためのデータ処理部と
復号化するためのデータ処理部とを個別に設計しなけれ
ばならなかった。
【0008】このため、従来、暗号化/復号化ソフトを
開発する際には、暗号化または復号化するためのデータ
処理部をそれぞれ個別に設計する必要があること、ま
た、暗号化データ処理部で生成された暗号化データを、
復号化データ処理部で確実に復号化することができるか
否かを厳密にテストする必要があることなどから、費用
や時間や手間などがかかるとともに、完成するソフトの
データサイズも大きなものになってしまう。
【0009】そこで、本発明は、このような従来の問題
を解決することを課題としており、暗号化データを生成
するときと同一の処理で、その暗号化データを復号化す
ることによって、費用や時間、または手間などの面で有
利に開発することができるとともに、完成するソフトの
データサイズも比較的コンパクトに抑えることのできる
データ変換装置を提供することを目的としている。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係る請求項1記載のデータ変換装置は、コ
ンピュータの記憶手段に格納されているデータを、暗号
化及び復号化するデータ変換装置において、データの所
定領域を所定データ量のブロックが複数個構成されるよ
うに分割するデータ分割手段と、前記所定領域内におけ
る前記各ブロックの位置を特定する位置アドレスに所定
順序で仮想番号を付与する仮想番号付与手段と、前記仮
想番号の先頭番号から末尾番号に向けて順次選択される
各ブロックが、その仮想番号の末尾番号から先頭番号に
向けて順次配置されるように、前記各ブロックを前記仮
想番号に対して逆順序に並び換えるブロック再配置手段
と、を備える。
【0011】このような構成であれば、平文データを暗
号化するときには、暗号化しようとする平文データは、
データ分割手段で、所定データ量のブロックに分割さ
れ、ブロックの位置を特定する位置アドレスには、仮想
番号付与手段で、所定順序に基づいて仮想番号が付与さ
れる。そうして、仮想番号が付与されている位置アドレ
スの各ブロックは、ブロック再配置手段で、仮想番号の
先頭から1番目のブロックと末尾から1番目のブロック
とが、先頭から2番目のブロックと末尾から2番目のブ
ロックとが入れ換えられるといった要領で、仮想番号に
対して逆順序に並び換えられる。その結果、この平文デ
ータは、ブロックの配置が拡散されるので、解読困難な
暗号化データに暗号化される。
【0012】なお、このとき、ブロックのデータ量は、
ブロックが複数個構成されるように、平文データの総デ
ータ量に応じて決定してもよいし、また逆に、ブロック
のデータ量をあらかじめ決定しておき、平文データにダ
ミーデータを付加することによって、ブロックが複数個
構成されるように調整してもよい。
【0013】一方、このように暗号化された平文データ
を復号化するときには、暗号化データは、データ分割手
段で、平文データを分割したときと同一データ量のブロ
ックに分割され、位置アドレスには、仮想番号付与手段
で、平文データの位置アドレスに付与したのと同様の順
序に基づいて仮想番号が付与される。そうして、仮想番
号が付与されている位置アドレスの各ブロックは、ブロ
ック再配置手段で、仮想番号の先頭から1番目のブロッ
クと末尾から1番目のブロックとが、先頭から2番目の
ブロックと末尾から2番目のブロックとが入れ換えられ
るといった要領で、仮想番号に対して逆順序に並び換え
られる。その結果、この暗号化データは、拡散されたブ
ロックの配置が初期の状態に戻されるので、解読可能な
元の平文データに復号化される。
【0014】なお、平文データまたは暗号化データは、
部分的に暗号化または復号化してもよく、そのような場
合には、平文データのうち暗号化しようとする領域を、
前記所定データ量のブロックが複数個構成されるように
分割する。ただし、暗号化したときの分割領域と、復号
化するときの分割領域とを一致させなければならない。
また、その他に、一部の位置アドレスに仮想番号を付与
するようにしてもよい。
【0015】端的にいえば、暗号化データを生成すると
きと同一の処理で、その暗号化データを復号化するに
は、平文データを暗号化データに変換する写像関数と、
暗号化データを平文データに変換する写像関数とが逆関
数の関係にある必要がある。したがって、一のブロック
を任意の位置に移動させた場合には、移動先にある他の
ブロックを、その一のブロックが配置されていた位置に
移動することが条件となる。この請求項1記載の発明で
は、この条件を満たすように、各ブロックを再配置する
ようになっている。
【0016】また、本発明に係る請求項2記載のデータ
変換装置は、請求項1記載のデータ変換装置において、
前記ブロック再配置手段は、前記各ブロックを、前記仮
想番号の先頭番号から末尾番号に向けて前記記憶手段の
別領域に順次複写していき、複写した各ブロックを最後
に複写したブロックから、前記仮想番号の先頭番号から
末尾番号に向けて選択される前記位置アドレスに順次再
複写していく。
【0017】このような構成であれば、ブロック再配置
手段で、始めに仮想番号の先頭から1番目のブロック
が、次いで先頭から2番目のブロックが記憶手段の別領
域に順次複写されていくといった要領で、仮想番号が付
与されている位置アドレスの各ブロックは、仮想番号の
先頭番号から末尾番号に向けて記憶手段の別領域に順次
複写されていく。そうして、複写された各ブロックは、
最後に複写されたブロックから、すなわち、始めに仮想
番号の末尾から1番目の番号が付与されていたブロッ
ク、次いで末尾から2番目の番号が付与されていたブロ
ックといった順序で、仮想番号の先頭番号から末尾番号
に向けて選択される位置アドレスに順次再複写されてい
く。その結果、各ブロックは、仮想番号の先頭番号から
末尾番号に向けて順次選択される各ブロックが、その仮
想番号の末尾番号から先頭番号に向けて順次配置される
ように、仮想番号に対して逆順序に並び換えられる。
【0018】さらに、本発明に係る請求項3記載のデー
タ変換装置は、請求項1または2記載のデータ変換装置
において、データの前記所定領域を構成するビットを反
転するビット反転手段を備える。
【0019】このような構成であれば、平文データを暗
号化するときには、その平文データは、ビット反転手段
で、構成するビットが反転されて解読困難な暗号化デー
タに暗号化される一方で、暗号化データを復号化すると
きには、その暗号化データは、反転されたビットがさら
に反転されて元の平文データに復号化される。
【0020】このとき、構成するすべてのビットを反転
する必要はなく、特定のビットのみを反転するようにし
てもよい。さらに、本発明に係る請求項4記載のデータ
変換装置は、請求項1、2または3記載のデータ変換装
置において、前記仮想番号を付与するための特定キーを
入力する特定キー入力手段を備え、前記仮想番号付与手
段は、特定キー入力手段から入力された前記特定キーに
基づいて、前記位置アドレスに仮想番号を付与してい
る。
【0021】このような構成であれば、ブロックの位置
を特定する位置アドレスには、仮想番号付与手段で、特
定キー入力手段から入力された特定キーによって特定さ
れる順序に基づいて仮想番号が付与される。
【0022】したがって、暗号化データを生成するとき
に入力した特定キーと、その暗号化データを復号化しよ
うとするときに入力する特定キーとが一致しなければ、
その暗号化データは、元の平文データに復号化されな
い。
【0023】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら説明する。図1は、本発明に係るデータ
変換装置による第1の実施の形態の構成を示すブロック
図である。図2は、図1におけるコンピュータの構成を
示すブロック図である。
【0024】この第1の実施の形態は、本発明に係るデ
ータ変換装置を、図1に示すように、2台のコンピュー
タ間で、平文データを暗号化して送受信する場合につい
て適用したものである。
【0025】このデータ変換装置は、平文データを暗号
化して送信するコンピュータ1aと、受信した暗号化デ
ータを復号化するコンピュータ1bとで構成されてお
り、コンピュータ1aとコンピュータ1bとは、暗号化
データを伝送するためのデータ伝送路2で接続されてい
る。
【0026】同一機能を有する各コンピュータ1a,1
bは、図2に示すように、演算およびシステム全体を制
御する演算処理部3と、データの読み出しおよび書き込
みが可能な主記憶部4および補助記憶部5と、外部から
データ入力が可能なヒューマンインターフェースとして
のキーボード6と、キーボード6からデータを入力し、
かつ、データ伝送路2を介して他方のコンピュータと暗
号化データの入出力を行うインターフェース部7とで構
成されており、演算処理部3、主記憶部4、補助記憶部
5およびインターフェース部7は、データを伝送するた
めのバスで相互に接続されている。
【0027】主記憶部4は、ROMおよびRAM等の記
憶素子からなり、あらかじめ演算処理部3の制御プログ
ラム等が格納されており、補助記憶部4から読み込んだ
データおよび演算処理部3の演算過程で必要な演算結果
を格納するように構成されている。
【0028】補助記憶部5は、ハードディスクまたはF
D等からなり、暗号化しようとする平文データ、また
は、復号化しようとする暗号化データを格納するように
構成されている。
【0029】演算処理部3は、マイクロプロセスユニッ
トMPU等からなり、補助記憶部5に格納されている平
文データを暗号化しようとするときに、または、暗号化
データを復号化しようとするときには、主記憶部4のR
OMに格納されている所定のプログラムを起動させ、図
3のフローチャートに示す処理を実行するように構成さ
れている。ここで、図3は、平文データを暗号化し、ま
たは、暗号化データを復号化するための処理を示すフロ
ーチャートである。
【0030】まず、この図3に示す処理は、大別する
と、データ分割処理部と、仮想番号付与処理部と、ブロ
ック再配置処理部との3つの処理部から構成されてい
る。つまり、データ分割処理部としてのステップS1か
らS3までは、処理対象となる対象データを複数のブロ
ックに分割し、各ブロックを2次元マトリクスに仮想的
に配置する処理であり、仮想番号付与処理部としてのス
テップS4からS17までは、そのマトリクスに配置さ
れた各ブロックの位置アドレスを、左上を起点としてマ
トリクスの外辺をたどりながら中心部に向けて右螺旋状
に順次選択していく処理であり、ブロック再配置処理部
としてのステップS18からS19までは、各ブロック
を選択された順序に対して逆順序に並び換える処理であ
る。
【0031】これら各部の処理をさらに詳らかにする
と、演算処理部3では、次のようにして処理を実行す
る。始めに、データ分割処理部では、図3に示すよう
に、ステップS1に移行して、データを格納するための
バッファDに補助記憶部5から対象データを読み込み、
ステップS2に移行して、変数Gに対象データを分割し
て構成しようとするグループ数を、変数Bに各グループ
を分割して構成しようとするブロック数をキーボード6
から入力し、ステップS3に移行して、バッファDを変
数Gが示す個数のグループに分割し、さらに、各グルー
プを変数Bが示す個数のブロックに分割する。
【0032】すなわち、バッファDに読み込んだ対象デ
ータは、グループが変数Gが示す個数だけ構成されるよ
うに分割され、さらに、各グループは、ブロックが変数
Bが示す個数だけ構成されるように分割される。このと
き、各グループのデータ量は、対象データの総データ量
を変数Gの値で除算した値で決定され、各ブロックのデ
ータ量は、同様に、一のグループのデータ量を変数Bの
値で除算した値で決定される。
【0033】なお、以降、対象データの先頭からy(1
≦y≦G)番目のグループで、かつ、そのグループの先
頭からx(1≦x≦B)番目のブロックにデータを格納
するためのバッファを示す場合には、D(x,y)と、
バッファD(x,y)の位置アドレスを示す場合には、
&D(x,y)と表記する。ここで、位置アドレスと
は、二次元配列で表されるバッファD(x,y)の位置
を、一次元配列のアドレスで示すものであって、例え
ば、&D(1,1)には“1”、&D(B,1)には
“B”、&D(1,2)には“B+1”、&D(B,
G)には“B×G”が割り当てられるものである。
【0034】その次に、仮想番号付与処理部では、ステ
ップS3からS4に移行して、処理回数を計数するため
の変数nおよびmに変数BおよびGの値を、データの位
置を特定するための変数xおよびyに“0”および
“1”を、処理を分岐するための変数kに“0”を、選
択する位置アドレスの順序を計数するための変数jに
“1”を設定する。
【0035】次いで、ステップS5に移行して、変数k
を“4”で除算した余数が“0”〜“3”のいずれかで
あるかを判定し、余数が“0”であると判定されたとき
には、ステップS6に移行して、変数xの加減値を決定
する変数Δxに“1”を設定し、ステップS7に移行し
て、変数yの加減値を決定する変数Δyに“0”を、処
理回数を計数するための変数iに変数nの値を設定した
のちに、変数nの値から“1”を減算する。
【0036】次いで、ステップS8に移行して、変数x
の値に変数Δxの値を加算するとともに、変数yの値に
変数Δyの値を加算し、ステップS9に移行して、位置
アドレスを格納するためのポインタバッファPであっ
て、そのポインタバッファPにおける変数jが示す位置
P(j)に位置アドレス&D(x,y)を格納する。
【0037】なお、以降、ポインタバッファPの先頭か
らj(1≦j≦B×G)番目の位置に位置アドレスを格
納するためのバッファを示す場合には、P(j)と、P
(j)に格納されている位置アドレスで示されるバッフ
ァを示す場合には、*P(j)と表記する。例えば、P
(1)に位置アドレス&D(1,1)が格納されたもの
とすると、*P(1)は、D(1,1)となる。
【0038】次いで、ステップS10に移行して、変数
jの値に“1”を加算するとともに、変数iの値から
“1”を減算し、ステップS11に移行して、変数iの
値が“0”よりも大きいか否かを判定し、大きいと判定
されたときには、ステップS8に移行して、大きくない
と判定されたときには、ステップS12に移行する。
【0039】ステップS12では、変数kの値に“1”
を加算し、ステップS13に移行して、変数nの値また
は変数mの値のいずれか一方が“0”であるか否かを判
定し、いずれか一方が“0”であると判定されたときに
は、ステップS18に移行するが、いずれとも“0”で
ないと判定されたときには、ステップS5に移行する。
【0040】一方、ステップS5で、変数kを“4”で
除算した余数が“2”であると判定されたときには、ス
テップS14に移行して、変数Δxに“−1”を設定
し、ステップS7に移行する。
【0041】また一方、ステップS5で、変数kを
“4”で除算した余数が“1”であると判定されたとき
には、ステップS15に移行して、変数Δyに“1”を
設定し、ステップS16に移行して、変数Δxに“0”
を、変数iに変数mの値から“1”を減算した値を設定
したのちに、変数mの値から“1”を減算し、ステップ
S8に移行する。
【0042】また一方、ステップS5で、変数kを
“4”で除算した余数が“3”であると判定されたとき
には、ステップS17に移行して、変数Δyに“−1”
を設定し、ステップS16に移行する。
【0043】すなわち、ステップS4からS17までの
処理は、変数kの値を“1”づつ加算しながら、ステッ
プS13を介するごとに、ステップS5で、ステップS
6、S15、S14およびS17の順序で処理を分岐す
る。始めに、ステップS6では、変数nの値だけ、変数
xの値を“1”づつ加算しながらステップS9からS1
1までの処理を繰り返し、その次に、ステップS15で
は、変数mの値から“1”を減算した値だけ、変数yの
値を“1”づつ加算しながら同処理を繰り返し、その次
に、ステップS14では、変数nの値から“1”を減算
した値だけ、変数xの値を“1”づつ減算しながら同処
理を繰り返し、その次に、ステップS17では、変数m
の値から“2”を減算した値だけ、変数yの値を“1”
づつ減算しながら同処理を繰り返す。そうして、変数n
の値または変数mの値のいずれか一方が“0”となった
ときに、ステップS18に移行する。
【0044】要するに、各ブロックを、G(グループ
数)行B(ブロック数)列のマトリクスに仮想的に配置
することを想定したときに、左上の位置アドレス&D
(1,1)を起点として、&D(2,1)…&D(n,
0)、&D(n,1)…&D(n,m)と、マトリクス
の外辺をたどりながら中心部に向けて右螺旋状に選択し
ていく位置アドレス&D(x,y)を、ポインタバッフ
ァP(j)に順次格納していくのである。
【0045】その次に、ブロック再配置処理部では、ス
テップS13からS18に移行して、変数jの値に
“1”を設定し、ステップS19に移行して、*P
(j)と*P(B×G−j+1)とに格納されているデ
ータを構成するすべてのビットを反転し、ステップS2
0に移行して、*P(j)と*P(B×G−j+1)と
に格納されているデータを入れ換える。
【0046】次いで、ステップS21に移行して、変数
jの値に“1”を加算して、ステップS22に移行し
て、変数jの値が変数Bの値と変数Gの値とを乗算した
半値よりも小さいか否かを判定し、小さいと判定された
ときには、ステップS19に移行するが、小さくないと
判定されたときには、ステップS23に移行する。
【0047】すなわち、ステップS18からステップS
22までの処理は、変数jの値を“1”から“B×G/
2”まで変化しながら、*P(j)に、*P(B×G−
j+1)に格納されているデータを構成するすべてのビ
ットを反転したものを格納し、*P(B×G−j+1)
に、*P(j)に格納されているデータを構成するすべ
てのビットを反転したものを格納していく。
【0048】そうして、ステップS23では、このよう
に対象データのブロックの配置を拡散したものであるバ
ッファDを、補助記憶部5の所定領域に格納し、一連の
処理を終了する。
【0049】このような上記各部の処理によって、マト
リクスの外辺をたどりながら中心部に向けて右螺旋状に
選択された位置アドレスの各ブロックは、ポインタバッ
ファPの先頭に格納されている位置アドレスのブロック
と、ポインタバッファPの末尾に格納されている位置ア
ドレスのブロックとが入れ換えられるように、選択され
た順序に対して逆順序に並び換えられる。
【0050】次に、上記第1の実施の形態の動作を図面
を参照しながら説明する。図4は、平文データを暗号化
した結果と暗号化データを復号化した結果を示すブロッ
ク図である。図5は、平文データを暗号化する場合を説
明するブロック図である。図6は、暗号化データを復号
化する場合を説明するブロック図である。
【0051】始めに、コンピュータ1aの補助記憶部5
に格納されている平文データを暗号化して、その暗号化
データをコンピュータ1bに送信する場合について説明
する。
【0052】まず、データを送信しようとする送信者
は、ステップS1において、送信対象となる平文データ
をバッファDに読み込み、ステップS2において、暗号
キーとして、例えば、グループ数Gに“3”を、ブロッ
ク数Bに“3”をそれぞれ入力するものとする。
【0053】そうすると、ステップS3において、バッ
ファDに格納された平文データは、図4(a)に示すよ
うに、3個のグループが構成されるように分割されたの
ち、さらに、各グループは、3個のブロックが構成され
るように分割される。
【0054】このとき、D(1〜3,1)には、各ブロ
ックのデータとして、データd1 〜d3 が格納されてお
り、D(1〜3,2)には、データd4 〜d6 が格納さ
れており、D(1〜3,3)には、データd7 〜d9
納されているものとする。そうして、&D(1〜3,
1)には、位置アドレスとして、“1”〜“3”が割り
当てられ、&D(1〜3,2)には、“4”〜“6”が
割り当てられ、&D(1〜3,3)には、“7”〜
“9”が割り当てられているものとする。
【0055】次いで、図5に示すように、ステップS4
において、変数kの値が“0”であるので、ステップS
5からS13までを経て、P(1〜3)に&D(1〜
3,1)が格納され、ステップS13を介して、変数k
の値が“1”となるので、ステップS5、S15、S1
6、ステップS8からS13までを経て、P(4〜5)
に&D(3,2〜3)が格納され、ステップS13を介
して、変数kの値が“2”となるので、ステップS5、
S14、S7、ステップS8からS13までを経て、P
(6〜7)に&D(2〜1,3)が格納される。
【0056】さらに、ステップS13を介して、変数k
の値が“3”となるので、ステップS5、S17、S1
6、ステップS8からS13までを経て、P(8)に&
D(1,2)が格納され、ステップS13を介して、変
数kの値が“4”となるので、ステップS5からS13
までを経て、P(9)に&D(2,2)が格納され、ス
テップS13において、変数nの値が“0”となるの
で、ステップS18に処理が移行される。
【0057】したがって、P(1〜9)には、位置アド
レスとして“1”、“2”、“3”、“6”、“9”、
“8”、“7”、“4”、“5”が格納される。次い
で、ステップS18からS22までを経て、各ブロック
のデータは、構成するすべてのビットが反転されるとと
もに、ポインタバッファPの先頭に格納されている位置
アドレスのデータと、ポインタバッファPの末尾に格納
されている位置アドレスのデータとが入れ換えられるよ
うに、選択された順序に対して逆順序に並び換えられ
る。
【0058】すなわち、P(1)には“1”、P(9)
には“5”が格納されているので、位置アドレス“1”
に格納されているデータd1 のビットが反転されたデー
タ/d1 と位置アドレス“5”に格納されているデータ
5 のビットが反転されたデータ/d5 とが入れ換えら
れ、次いで、P(2)には“2”、P(8)には“4”
が格納されているので、位置アドレス“2”に格納され
ているデータd2 のビットが反転されたデータ/d2
位置アドレス“4”に格納されているデータd 4 のビッ
トが反転されたデータ/d4 とが入れ換えられる。後は
同様にして、P(3)とP(7)とに、P(4)とP
(6)とに格納されている位置アドレスのデータがそれ
ぞれ入れ換えられる。
【0059】なお、ここで、“/”は、データを構成す
るすべてのビットが反転された状態を示すための表記で
ある。したがって、図4(b)に示すように、D(1〜
3,1)には、データ/d5、/d4 、/d7 が格納さ
れており、D(1〜3,2)には、データ/d2 、/d
1 、/d8 が格納されており、D(1〜3,3)には、
データ/d3 、/d6、/d9 が格納される。
【0060】すなわち、この平文データは、ブロックの
配置が拡散されるので、解読困難な暗号化データとな
り、ステップS23において、補助記憶部5の所定領域
に格納される。そうして、送信者は、この暗号化データ
をデータ伝送路2を介して、コンピュータ1bに送信す
る。
【0061】その次に、コンピュータ1bにおいて、コ
ンピュータ1aから送信された暗号化データを復号化す
る場合について説明する。まず、データ伝送路2を介し
て送信された暗号化データは、インターフェース部7で
受信され、補助記憶部5の所定領域に格納される。
【0062】次いで、この暗号化データを受信した受信
者は、ステップS1において、復号化しようとする平文
データをバッファDに読み込む。ここで、受信者は、送
信者から暗号化データの利用を許諾された者であって、
復号化するための復号キーを所持している者であるとす
ると、ステップS2において、復号キーとして、グルー
プ数Gに“3”を、ブロック数Bに“3”をそれぞれ入
力する。
【0063】そうすると、ステップS3において、バッ
ファDに格納された暗号化データは、図4(b)に示す
ように、3個のグループが構成されるように分割された
のち、さらに、各グループは、3個のブロックが構成さ
れるように分割される。
【0064】このとき、平文データを分割したときと同
一データ量のグループおよびそれらグループを分割した
ときと同一データ量のブロックが構成されるように、暗
号化データを分割するので、D(1〜3,1)には、デ
ータ/d5 、/d4 、/d7が格納されており、D(1
〜3,2)には、データ/d2 、/d1 、/d8 が格納
されており、D(1〜3,3)には、データ/d3 、/
6 、/d9 が格納されていることになる。
【0065】次いで、図6に示すように、変数kの値が
“0”となったときに、P(1〜3)に&D(1〜3,
1)が格納され、変数kの値が“1”となったときに、
P(4〜5)に&D(3,2〜3)が格納され、変数k
の値が“2”となったときに、P(6〜7)に&D(2
〜1,3)が格納される。
【0066】さらに、変数kの値が“3”となったとき
に、P(8)に&D(1,2)が格納され、変数kの値
が“4”となったときに、P(9)に&D(2,2)が
格納される。そうして、変数nの値が“0”となったと
きに、ステップS18に処理が移行される。
【0067】したがって、P(1〜9)には、位置アド
レスとして“1”、“2”、“3”、“6”、“9”、
“8”、“7”、“4”、“5”が格納される。次い
で、ステップS18からS22までを経て、各ブロック
のデータは、構成するすべてのビットが反転されるとと
もに、ポインタバッファPの先頭に格納されている位置
アドレスのデータと、ポインタバッファPの末尾に格納
されている位置アドレスのデータとが入れ換えられるよ
うに、選択された順序に対して逆順序に並び換えられ
る。
【0068】すなわち、P(1)には“1”、P(9)
には“5”が格納されているので、位置アドレス“1”
に格納されているデータ/d5 のビットが反転されたデ
ータd5 と位置アドレス“5”に格納されているデータ
/d1 のビットが反転されたデータd1 とが入れ換えら
れ、次いで、P(2)には“2”、P(8)には“4”
が格納されているので、位置アドレス“2”に格納され
ているデータ/d4 のビットが反転されたデータd4
位置アドレス“4”に格納されているデータ/d2 のビ
ットが反転されたデータd2 とが入れ換えられる。後は
同様にして、P(3)とP(7)とに、P(4)とP
(6)とに格納されている位置アドレスのデータがそれ
ぞれ入れ換えられる。
【0069】したがって、図4(c)に示すように、D
(1〜3,1)には、データd1 〜d3 が格納されてお
り、D(1〜3,2)には、データd4 〜d6 が格納さ
れており、D(1〜3,3)には、データd7 〜d9
格納される。
【0070】すなわち、この暗号化データは、拡散され
たブロックの配置が初期の状態に戻されるので、解読可
能な元の平文データとなり、ステップS23において、
補助記憶部5の所定領域に格納される。
【0071】なお、平文データを暗号化したときに暗号
キーとして入力したグループ数Gおよびブロック数B
と、暗号化データを復号化するときに復号キーとして入
力するグループ数Gおよびブロック数Bとが一致しなけ
れば、バッファDに読み込まれた暗号化データは、暗号
化したときと異なるデータ量のブロックで分割されるこ
とになるので、元の平文データに復号化されることはな
い。
【0072】このようにして、あらかじめ設定した順序
でブロックの位置アドレスを選択していき、各ブロック
を選択した順序に対して逆順序で並び換えるようにした
から、平文データを暗号化するときと同一の処理で、暗
号化データを元の平文データに復号化することができ
る。
【0073】このため、暗号化または復号化するための
データ処理部とをそれぞれ個別に設計する必要がなく、
時間や費用、または手間などの面で有利に開発すること
ができるとともに、完成するソフトのデータサイズも比
較的コンパクトに抑えることができる。
【0074】また、ブロックを入れ換える際に、そのブ
ロックのデータを構成するビットを反転させれば、より
解読困難な暗号化データを生成することができる。特
に、上記第1の実施の形態における処理では、構成した
ブロックの配置を拡散することを特徴としているため、
平文データが文書データである場合に、構成するブロッ
クのデータ量を大きく設定してしまうと、第三者がその
生成された暗号化データを一瞥することによって、暗号
化データの拡散規則が解読される可能性があるが、この
ように、構成するすべてのビットを反転しておけば、そ
の拡散規則を解読することが極めて困難となる。
【0075】さらに、構成するブロック数を暗号キー/
復号キーとして用いるようにしたから、平文データを暗
号化するときと同一の処理で、暗号化データを元の平文
データに復号化することを妨げずに、通常の暗号化技術
と同様に暗号キー/復号キーを用いてデータの機密性を
保護することができる。特に、構成するブロック数を大
きく設定してやれば、より複雑で解読困難な暗号化デー
タを生成することができる。
【0076】次に、第2の実施の形態を説明する。この
第2の実施の形態は、本発明に係るデータ変換装置を、
各ブロックの位置アドレスを選択していく順序に関する
情報を暗号キー/復号キーとして用いて、平文データを
暗号化し、または、暗号化データを復号化する場合につ
いて適用したものである。
【0077】このデータ変換装置は、上記第1の実施の
形態における演算処理部3の構成を変更したものであっ
て、演算処理部3は、補助記憶部5に格納されている平
文データを暗号化しようとするとき、または、暗号化デ
ータを復号化しようとするときには、図7のフローチャ
ートに示す処理を実行するように構成されている。
【0078】つまり、平文データを暗号化し、または、
暗号化データを復号化しようとするときに、演算処理部
3では、次のようにして処理を実行する。まず、図7に
示すように、ステップS31からS33までを経て、バ
ッファDに補助記憶部5から対象データを読み込み、変
数Bに分割して構成しようとするブロック数を設定し、
バッファDおよび作業領域としてのバッファWを変数B
が示す個数のブロックが構成されるように分割する。こ
こで、変数Bに設定するブロック数は、あらかじめ設定
した固定の値を用いるものとする。
【0079】なお、以降、対象データの先頭からj(1
≦j≦B)番目のブロックにデータを格納するためのバ
ッファを示す場合には、D(j)と、バッファWの先頭
からj(1≦j≦B)番目のブロックにデータを格納す
るためのバッファを示す場合には、W(j)と表記す
る。
【0080】次いで、ステップS34に移行して、変数
Xにブロックの配置を拡散するための暗号キーまたは復
号キーをキーボード6から入力し、ステップS35に移
行して、処理回数を計数するための変数iに“0”を、
変数xに変数Xの値を、フラグデータを格納するための
フラグ変数F(1〜B)に“0”を設定し、ステップS
36に移行して、処理回数を計数するための変数jおよ
びkに“0”を設定する。
【0081】次いで、ステップS37に移行して、フラ
グ変数F(j+k+1)の値が“0”であるか否かを判
定し、“0”であると判定されたときには、ステップS
38に移行して、変数kの値に“1”を加算し、ステッ
プS39に移行して、変数kの値が、変数xの値を変数
Bの値と変数iの値との差値で除算した余数よりも大き
いか否かを判定し、大きいと判定されたときには、ステ
ップS40に移行するが、大きくないと判定されたとき
には、ステップS37に移行する。
【0082】ステップS40では、バッファW(i+
1)とバッファD(j+k)とに格納されているデータ
を入れ換えるとともに、フラグ変数F(j+k)に
“1”を設定し、ステップS41に移行して、変数x
に、変数xの値を変数Bの値と変数iの値との差値で除
算した値を整数化したものを設定したのちに、変数iの
値に“1”を加算し、ステップS42に移行して、変数
iの値が変数Bの値以上であるか否かを判定し、以上で
あると判定されたときには、ステップS43に移行する
が、以上でないと判定されたときには、ステップS36
に移行する。
【0083】ステップS43では、バッファW(1〜
B)に格納されているデータを、格納位置の順序に対し
て逆順序W(B〜1)に並び換え、ステップS44に移
行して、処理が一巡目であるか否かを判定し、一巡目で
あると判定されたときには、ステップS35に移行する
が、一巡目でないと判定されたときには、ステップS4
5に移行する。
【0084】ステップS45では、このように対象デー
タのブロックの配置を拡散したものであるバッファD
を、補助記憶部5の所定領域に格納して、一連の処理を
終了する。
【0085】一方、ステップS37で、フラグ変数F
(j+k+1)の値が“0”でないと判定されたときに
は、ステップS46に移行して、変数jの値に“1”を
加算し、ステップS39に移行する。
【0086】次に、上記第2の実施の形態の動作を図面
を参照しながら説明する。図8は、暗号キー/復号キー
の値に応じて位置アドレスを選択していく順序を変化さ
せる場合を説明するブロック図である。
【0087】ここでは、平文データを4つのブロックに
分割したときに、入力する暗号キーの値に応じて、それ
らブロックの位置アドレスを選択していく順序を決定す
る場合について説明する。なお、ステップS21からS
23までを経て、平文データを4つのブロックに分割し
たときに、D(1〜4)には、各ブロックのデータとし
て、データd1 〜d4 が格納されているものとする。
【0088】始めに、送信者は、例えば、暗号キーとし
て変数Xに“14”を入力するものとすると、ステップ
S35からS39までを経て、変数kの値が“2”(変
数xの値“14”を“4”で除算した余数)よりも大き
くなるまで加算される一方で、F(1〜4)の値がいず
れも“0”であるので、変数jの値は、加算されないま
まステップS40に処理が移行される。
【0089】このとき、変数i、j、kの値は、それぞ
れ“0”、“0”、“3”であるので、ステップS40
からS42までを経て、W(1)に、D(3)のデータ
3が格納され、F(3)に“1”が、変数xに“3”
(変数xの値“14”を“4”で除算した値)が設定さ
れ、変数iの値に“1”が加算される。
【0090】次いで、ステップS36に処理が戻され、
変数kの値が“0”(変数xの値“3”を“3”で除算
した余数)よりも大きくなるまで加算され、ステップS
40に処理が移行される。
【0091】このとき、変数i、j、kの値は、それぞ
れ“1”、“0”、“1”であるので、W(2)に、D
(1)のデータd1 が格納され、F(1)に“1”が、
変数xに“1”(変数xの値“3”を“3”で除算した
値)が設定され、変数iの値に“1”が加算される。
【0092】次いで、ステップS36に処理が戻され、
変数kの値が“1”(変数xの値“1”を“2”で除算
した余数)よりも大きくなるまで加算される一方で、F
(1)、F(3)の値が“1”であるので、変数jの値
に“2”が加算され、ステップS40に処理が移行され
る。
【0093】このとき、変数i、j、kの値は、それぞ
れ“2”、“2”、“2”であるので、W(3)に、D
(4)のデータd4 が格納され、F(4)に“1”が、
変数xに“0”(変数xの値“1”を“2”で除算した
値)が設定され、変数iの値に“1”が加算される。
【0094】次いで、ステップS36に処理が戻され、
変数kの値が“0”(変数xの値“0”を“1”で除算
した余数)よりも大きくなるまで加算される一方で、F
(1)、F(3)、F(4)の値が“1”であるので、
変数jの値に“1”が加算され、ステップS40に処理
が移行される。
【0095】このとき、変数i、j、kの値は、それぞ
れ“3”、“1”、“1”であるので、W(4)に、D
(2)のデータd2 が格納され、ステップS43に処理
が移行される。
【0096】ステップS43において、W(1〜4)の
各データが、格納位置の順序に対して逆順序W(4〜
1)となるように並び換えられ、上記同一の処理が再度
繰り返されると、D(1〜4)には、データd4
3 、d2 、d1 がそれぞれ格納されることになる。
【0097】すなわち、暗号キー“14”で暗号化した
ときには、図8(a)の上段に示すように、d1
2 、d3 、d4 の順序で構成されていた平文データ
は、d4 、d3 、d2 、d1 の順序で並び換えられた暗
号化データとなる。
【0098】その次に、送信者は、例えば、暗号キーと
しての変数Xに“16”を入力するものとすると、変数
kの値が“0”よりも大きくなるまで加算される一方
で、F(1〜4)の値がいずれも“0”であるので、変
数jの値は、加算されないままステップS40に処理が
移行される。そうして、W(1)に、D(1)のデータ
1 が格納され、F(1)に“1”が、変数xに“4”
が設定される。
【0099】次いで、ステップS36に処理が戻され、
変数kの値が“1”よりも大きくなるまで加算される一
方で、F(1)の値が“1”であるので、変数jの値に
“1”が加算され、ステップS40に処理が移行され
る。そうして、W(2)に、D(3)のデータd3 が格
納され、F(3)に“1”が、変数xに“1”が設定さ
れる。
【0100】次いで、ステップS36に処理が戻され、
変数kの値が“1”よりも大きくなるまで加算される一
方で、F(1)、F(3)の値が“1”であるので、変
数jの値に“2”が加算され、ステップS40に処理が
移行される。そうして、W(3)に、D(4)のデータ
4 が格納され、F(4)に“1”が、変数xに“0”
が設定される。
【0101】次いで、ステップS36に処理が戻され、
変数kの値が“0”よりも大きくなるまで加算される一
方で、F(1)、F(3)、F(4)の値が“1”であ
るので、変数jの値に“1”が加算され、ステップS4
0に処理が移行される。そうして、W(4)に、D
(2)のデータd2 が格納され、ステップS43に処理
が移行される。
【0102】ステップS43において、W(1〜4)の
各データが、格納位置の順序に対して逆順序W(4〜
1)となるように並び換えられ、上記同一の処理が再度
繰り返されると、D(1〜4)には、データd2
1 、d4 、d3 がそれぞれ格納されることになる。
【0103】すなわち、暗号キー“16”で暗号化した
ときには、図8(a)の中段に示すように、d1
2 、d3 、d4 の順序で構成されていた平文データ
は、d2 、d1 、d4 、d3 の順序で並び換えられた暗
号化データとなる。
【0104】その次に、送信者は、例えば、暗号キーと
して変数Xに“18”を入力するものとすると、変数k
の値が“2”よりも大きくなるまで加算される一方で、
F(1〜4)の値がいずれも“0”であるので、変数j
の値は、加算されないままステップS40に処理が移行
される。そうして、W(1)に、D(3)のデータd 3
が格納され、F(3)に“1”が、変数xに“4”が設
定される。
【0105】次いで、ステップS36に処理が戻され、
変数kの値が“1”よりも大きくなるまで加算され、ス
テップS40に処理が移行される。そうして、W(2)
に、D(2)のデータd2 が格納され、F(2)に
“1”が、変数xに“1”が設定される。
【0106】次いで、ステップS36に処理が戻され、
変数kの値が“1”よりも大きくなるまで加算される一
方で、F(2)、F(3)の値が“1”であるので、変
数jの値に“2”が加算され、ステップS40に処理が
移行される。そうして、W(3)に、D(4)のデータ
4 が格納され、F(4)に“1”が、変数xに“0”
が設定される。
【0107】次いで、ステップS36に処理が戻され、
変数kの値が“0”よりも大きくなるまで加算され、ス
テップS40に処理が移行される。そうして、W(4)
に、D(1)のデータd1 が格納され、ステップS43
に処理が移行される。
【0108】ステップS43において、W(1〜4)の
各データが、格納位置の順序に対して逆順序W(4〜
1)となるように並び換えられ、上記同一の処理が再度
繰り返されると、D(1〜4)には、データd3
4 、d1 、d2 がそれぞれ格納されることになる。
【0109】すなわち、暗号キー“18”で暗号化した
ときには、図8(a)の下段に示すように、d1
2 、d3 、d4 の順序で構成されていた平文データ
は、d3 、d4 、d1 、d2 の順序で並び換えられた暗
号化データとなる。
【0110】なお、これらの暗号化データは、暗号化し
たときに変数Xに入力した値と同一の値を入力すれば、
図8(b)に示すように、解読可能な元の平文データに
復号化される。
【0111】このようにして、各ブロックの位置アドレ
スを選択していく順序に関する情報を定量的にしたか
ら、平文データを暗号化するときと同一の処理で、暗号
化データを元の平文データに復号化することを妨げず
に、通常の暗号化技術と同様に暗号キー/復号キーを用
いてデータの機密性を保護することができる。
【0112】特に、構成するブロック数を増大させれ
ば、それに伴って位置アドレスを選択していく順序の組
み合わせが巾乗に比例して増大していくから、より複雑
で解読困難な暗号化データを生成することができる。
【0113】さらに、ステップS40では、バッファD
と作業領域としてのバッファWとに格納されているデー
タを入れ換えるようにしたから、ステップS35からS
44までの処理を2度繰り返すだけで、所望の結果を得
ることができる。
【0114】なお、上記第1の実施の形態においては、
ブロックを入れ換える際に、そのブロックのデータを構
成するビットを反転させるように構成した場合について
説明したが、これに限らず、ビットを反転させないよう
に構成してもよい。
【0115】また、上記第2の実施の形態においては、
ブロックを入れ換える際に、そのブロックのデータを構
成するビットを反転させないように構成した場合につい
て説明したが、これに限らず、ビットを反転させるよう
に構成してもよい。
【0116】さらに、上記第2の実施の形態において
は、作業領域としてのバッファWを用いて各ブロックを
再配置する構成した場合について説明したが、これに限
らず、ステップS36からS42までの最初の処理で順
次入れ換えていくデータを、FILOメモリからなるス
タックポインタに退避するようにし、次の巡回でそのス
タックポインタから格納したデータを復帰させて各ブロ
ックを再配置するように構成してもよい。
【0117】このような構成であれば、ステップS43
の処理でみるような選択した各ブロックを、選択した順
序に対して逆順序に並び換えるという処理を省略するこ
とができるから、より効率的な処理を実現することがで
きる。
【0118】さらに、上記実施の形態においては、ブロ
ックのデータを構成するすべてのビットを反転させるよ
うに構成した場合について説明したが、これに限らず、
あらかじめ設定した特定のビットのみを反転させるよう
に構成してもよい。
【0119】このような構成であれば、例えば、ビット
を反転させる位置を特定する情報を暗号キー/復号キー
として用いることもできる。さらに、上記実施の形態に
おいて、演算処理部3で、図3および図7のフローチャ
ートに示す処理はいずれも、主記憶部4にあらかじめ格
納されているプログラムを実行する場合について説明し
たが、これに限らず、これらの手順を示したプログラム
が記録された記録媒体から、そのプログラムを主記憶部
4に読み込んで実行するようにしてもよい。
【0120】ここで、記録媒体とは、RAM、ROM、
FD、コンパクトディスク、ハードディスクまたは光磁
気ディスク等の記録媒体であって、電子的、磁気的、光
学的等の記録方法のいかんを問わず、コンピュータで読
み取り可能な記録媒体であれば、あらゆる記録媒体を指
していうものである。
【0121】さらに、上記実施の形態において、図3お
よび図7のフローチャートに示す処理はいずれも、ソフ
トウェアで構成した場合について説明したが、これに代
えて、比較回路、演算回路、論理回路等の電子回路を組
み合わせるように構成してもよい。
【0122】上記実施の形態において、ステップS2お
よびS3、または、ステップS32およびS33は、請
求項1記載のデータ分割手段に対応し、ステップS4か
らS17までは、請求項1または4記載の仮想番号付与
手段に対応し、ステップS18からS22までは、請求
項1記載のブロック再配置手段に対応している。
【0123】また、上記実施の形態において、ステップ
S40からS44までは、請求項2記載のブロック再配
置手段に対応し、ステップS19は、請求項3記載のビ
ット反転手段に対応し、キーボード6およびステップS
2、または、キーボード6およびステップS34は、請
求項4記載の特定キー入力手段に対応している。
【0124】
【発明の効果】以上説明したように、本発明に係るデー
タ変換装置によれば、暗号化データを生成するときと同
一の処理で、その暗号化データを復号化することができ
るから、従来に比して時間や費用、または手間などの面
で有利に開発することができるとともに、完成するソフ
トのデータサイズも比較的コンパクトに抑えることがで
きるという効果が得られる。
【0125】さらに、本発明に係る請求項3記載のデー
タ変換装置によれば、より解読困難な暗号化データを生
成することができるという効果も得られる。さらに、本
発明に係る請求項4記載のデータ変換装置によれば、平
文データを暗号化するときと同一の処理で、暗号化デー
タを元の平文データに復号化することを妨げずに、通常
の暗号化技術と同様に暗号キー/復号キーを用いてデー
タの機密性を保護することができるという効果も得られ
る。
【図面の簡単な説明】
【図1】第1の実施の形態の構成を示すブロック図であ
る。
【図2】第1の実施の形態におけるコンピュータ1a,
1bの構成を示すブロック図である。
【図3】データを暗号化または復号化するための第1の
処理を示すフローチャートである。
【図4】平文データを暗号化した結果と暗号化データを
復号化した結果を示すブロック図である。
【図5】平文データを暗号化する場合を説明するための
ブロック図である。
【図6】暗号化データを復号化する場合を説明するため
のブロック図である。
【図7】データを暗号化または復号化するための第2の
処理を示すフローチャートである。
【図8】暗号キー/復号キーの値に応じて位置アドレス
を選択していく順序を変化させる場合を説明するブロッ
ク図である。
【図9】従来のデータ変換装置におけるデータの処理過
程を示すブロック図である。
【符号の説明】
1a,1b コンピュータ 2 データ伝送路 3 演算処理部 4 主記憶部 5 補助記憶部 6 キーボード 7 インターフェース部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータの記憶手段に格納されてい
    るデータを、暗号化及び復号化するデータ変換装置にお
    いて、 データの所定領域を所定データ量のブロックが複数個構
    成されるように分割するデータ分割手段と、前記所定領
    域内における前記各ブロックの位置を特定する位置アド
    レスに所定順序で仮想番号を付与する仮想番号付与手段
    と、前記仮想番号の先頭番号から末尾番号に向けて順次
    選択される各ブロックが、その仮想番号の末尾番号から
    先頭番号に向けて順次配置されるように、前記各ブロッ
    クを前記仮想番号に対して逆順序に並び換えるブロック
    再配置手段と、を備えることを特徴とするデータ変換装
    置。
  2. 【請求項2】 前記ブロック再配置手段は、前記各ブロ
    ックを、前記仮想番号の先頭番号から末尾番号に向けて
    前記記憶手段の別領域に順次複写していき、複写した各
    ブロックを最後に複写したブロックから、前記仮想番号
    の先頭番号から末尾番号に向けて選択される前記位置ア
    ドレスに順次再複写していくことを特徴とする請求項1
    記載のデータ変換装置。
  3. 【請求項3】 データの前記所定領域を構成するビット
    を反転するビット反転手段を備えることを特徴とする請
    求項1又は2記載のデータ変換装置。
  4. 【請求項4】 前記仮想番号を付与するための特定キー
    を入力する特定キー入力手段を備え、 前記仮想番号付与手段は、特定キー入力手段から入力さ
    れた前記特定キーに基づいて、前記位置アドレスに仮想
    番号を付与することを特徴とする請求項1、2又は3記
    載のデータ変換装置。
JP14241097A 1997-05-30 1997-05-30 データ変換装置 Pending JPH10333566A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14241097A JPH10333566A (ja) 1997-05-30 1997-05-30 データ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14241097A JPH10333566A (ja) 1997-05-30 1997-05-30 データ変換装置

Publications (1)

Publication Number Publication Date
JPH10333566A true JPH10333566A (ja) 1998-12-18

Family

ID=15314699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14241097A Pending JPH10333566A (ja) 1997-05-30 1997-05-30 データ変換装置

Country Status (1)

Country Link
JP (1) JPH10333566A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100250A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 難読化装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100250A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 難読化装置及びプログラム

Similar Documents

Publication Publication Date Title
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
EP0802653B1 (en) Multi-cycle non-parallel data encryption engine
DK1686722T3 (en) Block encryption device and block encryption method comprising rotation key programming
US6185304B1 (en) Method and apparatus for a symmetric block cipher using multiple stages
US5671284A (en) Data encryptor having a scalable clock
EP1081889A2 (en) Extended key generator, encryption / decryption unit, extended key generation method, and storage medium
JPH11109856A (ja) 復号装置
US8122075B2 (en) Pseudorandom number generator and encryption device using the same
JP3180836B2 (ja) 暗号通信装置
KR100291798B1 (ko) 소프트웨어 암호화 방법 및 소프트웨어 암호화 시스템
JPH10240500A (ja) 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
US20030174835A1 (en) Data encryption device, data decryption device, and data encryption/decryption device
KR20060110383A (ko) 네트워크 보안 프로세서의 다중모드 암호화 장치
JPH0697930A (ja) ブロック暗号処理装置
JPH10333566A (ja) データ変換装置
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
JPH07261662A (ja) 暗号演算回路
JP3389210B2 (ja) 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体
KR100200531B1 (ko) 암호화 방법 및 시스템
JPH10301489A (ja) データ変換装置
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JP2001509608A (ja) デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法
JPH0744375A (ja) 暗号化データ処理装置
JPH10322317A (ja) データ変換装置、データ送信装置及びデータ復元装置
JPH07177139A (ja) データ撹乱回路