説明

暗号復号方法

【課題】リソースの消費を軽減する暗号化方法およびプログラムを提供することを目的とする。
【解決手段】送信コンピュータは、元データ21を分割データ22に分割し、2つの分割データ22間で排他的論理和を算出することによって、暗号化データ23を生成し、生成した暗号化データ23と、次の分割データ22の排他的論理和を算出することによって、次の暗号化データ23を生成することを繰り返し、生成したすべての暗号化データ23を送信コンピュータへ送信し、最初の分割データ22aは復号化キー24として、暗号化データとは異なるルートで送信コンピュータへ送られることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号復号方法の技術に関する。
【背景技術】
【0002】
コンピュータネットワークの発達に伴い、送信データの暗号化が重要な技術となっている。
このような暗号化では、従来は特許文献1や非特許文献1に記載の技術のように伝送の対象となるデータの他に暗号化を行うためのデジタルビット列の両方を用意して、暗号化を行うことが一般的である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−35135号公報
【非特許文献】
【0004】
【非特許文献1】ブルース・シュナイアー著、山形 浩生監訳、「暗号技術大全」、ソフトバンクパブリッシング、2003年、p.15−81
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術や、非特許文献1に記載の技術では暗号化を行うためのスクランブルパタンが別途に必要である。特許文献1に記載の技術や、非特許文献1に記載の技術では、このようなスクランブルパタンにより暗号の強度を高めているが、例えば暗号化を行うためのスクランブルパタンを生成するためにCPU(Central Processing Unit)負荷がかかる、もしくは別途暗号器が必要となる、さらにはメモリやディスクなどのリソースを大量に消費するといった課題がある。
【0006】
このような背景に鑑みて本発明がなされたのであり、本発明は、リソースの消費を軽減する暗号復号方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明における暗号装置は、元データを分割データに分割し、2つの分割データ間で排他的論理和を算出することによって、暗号化データを生成し、生成した暗号化データと、次の分割データの排他的論理和を算出することによって、次の暗号化データを生成することを繰り返し、生成したすべての暗号化データを復号装置へ送信し、最初の分割データは復号化キーとして、暗号化データとは異なるルートで復号装置へ送られ、復号装置では、復号化キーと、最初の暗号化データとの排他的論理和を算出することによって、分割データを復号し、復号した分割データと、次の暗号化データとの排他的論理和を算出することによって、次の分割データを復号することを繰り返すことを特徴とする。
その他の解決手段については、実施形態中で説明する。
【発明の効果】
【0008】
本発明によれば、リソースの消費を軽減する暗号復号方法を提供することができる。
【図面の簡単な説明】
【0009】
【図1】本実施形態に係る暗号システムの構成例を示す図である。
【図2】第1実施形態に係る暗号化処理の概要を示す図である。
【図3】第1実施形態に係る暗号化処理の手順を示すフローチャートである。
【図4】第1実施形態に係る復号化処理の手順を示すフローチャートである。
【図5】第1実施形態に係る暗号化処理の具体例を示す図である。
【図6】第1実施形態に係る復号化処理の具体例を示す図である。
【図7】第2実施形態に係る暗号化処理の概要を示す図である。
【図8】第3実施形態に係る暗号化処理の概要を示す図である。
【図9】第4実施形態に係る暗号化処理の概要を示す図である。
【図10】第4実施形態に係る暗号化処理の手順を示すフローチャートである。
【図11】本実施形態に係るデータの送信方法の例を示す図である(その1)。
【図12】本実施形態に係るデータの送信方法の例を示す図である(その2)。
【発明を実施するための形態】
【0010】
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。なお、本実施形態において、「XOR」は排他的論理和を示すものとする。
【0011】
《第1実施形態》
まず、図1〜図6を参照して、本発明に係る第1実施形態を説明する。
【0012】
<システム構成>
図1は、本実施形態に係る暗号システムの構成例を示す図である。
暗号システム10は、送信コンピュータ(暗号装置)1と受信コンピュータ(復号装置)2とがWAN(Wide Area Network)やLAN(Local Area Network)などのネットワーク3を介して通信可能に接続されている。
送信コンピュータ1および受信コンピュータ2は、CPU120.220、RAM(Random Access Memory)などのメモリ110,210、HD(Hard Disk)などの記憶装置130,230を有している。
【0013】
送信コンピュータ1のメモリ110に、記憶装置130に格納されているプログラムが展開され、CPU120によって実行されることにより、データ読込部111、データ分割処理部112、暗号化処理部113、データ送信部114が具現化している。
データ読込部111は、記憶装置130から元データを読み込む機能を有する。データ分割処理部112は読み込んだ元データを分割データに分割する機能を有する。暗号化処理部113は、分割データから暗号データを生成する機能を有する。データ送信部114は、生成した暗号データをネットワーク3へ送信する機能を有する。
【0014】
受信コンピュータ2のメモリ210に、記憶装置230に格納されているプログラムが展開され、CPU220によって実行されることにより、データ受信部211、復号化処理部212、データ結合部213、データ格納部214が具現化している。
データ受信部211は、送信コンピュータ1から送信された暗号化データを受信する機能を有する。復号化処理部212は、受信した暗号化データと、暗号化データとは別途送られた復号化キーを用いて、分割データを復号する機能を有する。データ結合部213は、復号した分割データを結合して、元データを復元する機能を有する。データ格納部214は、復元した元データを記憶装置230などに格納する機能を有する。
【0015】
<暗号化の概要>
次に、図1を参照しつつ、図2に沿って第1実施形態に係る暗号化処理の概要を示す。
図2は、第1実施形態に係る暗号化処理の概要を示す図である。
送信コンピュータ1のデータ分割処理部112は、まず、暗号化の対象となる元データ21を任意の長さで分割することによって、複数の分割データ22を生成する。
そして、送信コンピュータ1の暗号化処理部113は、生成した分割データ22のうち、先頭の分割データ22aを復号化キー24とする。そして、先頭の分割データ22aと、2番目の分割データ22bとに対し、ビット毎に排他的論理和を算出することにより、1番目の暗号化データ23aを生成する。
次に、暗号化処理部113は、1番目の暗号化データ23aと、3番目の分割データ22cとに対し、ビット毎に排他的論理和を算出することにより、2番目の暗号化データ23bを生成する。これは、デジタルデータが有するランダム性を利用したものである。
以下、同様にして3番目以降の暗号化データ23を作成していく。
暗号化処理部113は、最後の分割データ22まで暗号化を終えると、各暗号化データ23(23a,23b,・・・)を送信暗号化データとしてネットワーク3を介して受信コンピュータ2へ送信する。
復号化キー24である先頭の分割データ22aは、暗号化データ23とは別のルートで受信コンピュータ2へ送られる。
受信コンピュータ2では、暗号化とは逆の手順を用いて復号化が行われる。
なお、暗号化および復号化の具体的な処理は、図3および図4で後記する。
【0016】
<フローチャート>
次に、図1および図2を適宜参照しつつ、図3および図4に沿って暗号化および復号化の手順を説明する。
【0017】
(暗号化処理)
図3は、第1実施形態に係る暗号化処理の手順を示すフローチャートである。
まず、データ読込部111が、記憶装置130や、図示しない入力装置を介すことによって、暗号化対象のデータである元データ21(ビット列)を読み込む(S101)。
次に、データ分割処理部112が、任意の方法でデータを分割し(S102)、複数の分割データ22を生成する。データの分割は、例えば、固定長分割で1024バイトごとの分割をすると指定して、1024Kバイトのデータがあったとしたら、1024バイトすなわち8192ビット毎に1024分割する。この分割の方法はパラメタで指定し、受信コンピュータ2と、予め整合性を合わせておいてもよい。なお、分割データ22の先頭に何番目の分割データであるかを示す情報を付してもよい。
次に、暗号化処理部113が、分割データ22に対し、相互に排他的論理和演算を実行する(S103)ことによりして暗号化を行う。
【0018】
そして、暗号化処理部113は、分割データ22のすべてを暗号化したか否かを判定する(S104)。
すべての分割データ22を暗号化していない場合(S104→No)、暗号化処理部113はステップS103へ処理を戻す。
すえての分割データ22を暗号化している場合(S104→Yes)、データ送信部114が、すべての暗号化データ23をネットワーク3を介して受信コンピュータ2へ送信する(S105)。
また、暗号化処理部113は、先頭の分割データ22を復号化キー24とし、この復号化キー24を文字列化してパスワードとし(S106)、暗号化データ23とは異なるルートで受信コンピュータ2へ送信する。
【0019】
なお、ステップS103で、暗号化処理部113が暗号化データ23を生成すると同時に、データ送信部114が生成した暗号化データ23を逐次的に送信してもよい。このようにすることで、送信コンピュータ1のパフォーマンスを向上させることができる。これにより、音声、画像などの大容量のデータでも、逐次的に暗号化して送信することが可能となる。
また、ICカードなどを利用することにより、直接バイナリデータを扱うことができる場合には、ステップS106の処理を省略してもよい。
なお、暗号化データ23は結合させた状態で送信することが望ましい。これにより、何ビットで分割されているのかが分からない限り、データを復号化させることが、より困難となるからである。
【0020】
(復号化処理)
図4は、第1実施形態に係る復号化処理の手順を示すフローチャートである。
まず、受信コンピュータ2は、暗号化データ23とは異なるルートで取得しているパスワードを、元のビットパターン(復号化キー24)に戻すため、このパスワードをビットパターン化する(S201)。
次に、データ受信部211が、送信コンピュータ1より送信されたすべての暗号化データ23を受信する(S202)。
なお、ステップS201と、ステップS202の処理順番は逆となってもよい。
【0021】
次に、復号化処理部212は、ビットパターン化したパスワード(復号化キー24)と、受信した暗号化データ23に対し、順番に排他的論理和演算を行うことにより(S203)、復号化を行い、分割データ22を生成する。何ビットずつ排他的論理和を行えばよいかは、復号化キー24の長さからわかる。
そして、データ結合部213は、復号化された分割データ22を、前回の処理で復号化された分割データ22の後に結合することにより、データの結合を行う(S204)。
【0022】
続いて、復号化処理部212は、すべての暗号化データ23を復号したか否かを判定する(S205)
ステップS205の結果、すべての暗号化データ23を復号していない場合(S205→No)、復号化処理部212はステップS203へ処理を戻す。
ステップS205の結果、すべての暗号化データ23を復号している場合(S205→Yes)、データ格納部214は、分割データ22を結合することによって復元された元データ21を記憶装置230に書き込む(S206)。ステップS206の処理は、必要に応じて省略してもよい。
【0023】
<具体例>
次に、図5および図6を参照して、暗号化処理および復号化処理の具体例を説明する。
図5は、第1実施形態に係る暗号化処理の具体例を示す図である。
図5では、元データaを3つの分割データb1,b2,b3に分割した場合について説明する。
まず、先頭の分割データb1は、復号化キーとなり、暗号化データとは異なるルートで受信コンピュータ2に送られる。
そして、暗号化処理部113は、分割データb1と分割データb2との排他的論理和を算出して暗号化データc1を生成する。
次に、暗号化処理部113は、暗号化データc1と分割データb3との排他的論理和を算出して暗号化データc2を生成する。
その後、データ送信部114が、暗号化データc1,c2を受信コンピュータ2へ送信する。
【0024】
図6は、第1実施形態に係る復号化処理の具体例を示す図である。
まず、受信コンピュータ2は、暗号化データc1,c2を受信し、暗号化データとは異なるルートで復号化キーb1を取得する。
そして、復号化処理部212は、復号化キーb1と、暗号化データc1との排他的論理和を算出して分割データb2を復号化する。
さらに、復号化処理部212は、暗号化データc1と、暗号化データc2との排他的論理和を算出して分割データb3を復号化する。
そして、データ結合部213が、復号化キーb1と、復号化された分割データb2,b3とを結合することにより元データaを復元する。なお、図6における「*」はデータの結合を示す。
【0025】
図5および図6で説明した内容を、元データaをN分割することで、一般化すると以下のようになる。
データ分割処理部112は、元データaから分割データb1,b2,b3,・・・,bNを生成する。
そして、式(1)〜(6)の計算によりN−1個の暗号化データが生成される。ここで、bmは分割データを示し、cmは暗号化データを示す。
【0026】
b1 XOR b2=c1 ・・・ (1)
c1 XOR b3=c2 ・・・ (2)
c2 XOR b4=c3 ・・・ (3)
c3 XOR b5=c4 ・・・ (4)
・・・
cm XOR bm+2=cm+1 ・・・ (5)
・・・
cN−2 XOR bN+=cN−1 ・・・ (6)
【0027】
このように生成されたN−1個の暗号化データから分割データを復号する手順は以下の式(7)〜(12)に示す手順である。ここで、b1は復号化キーとして、暗号化データc1〜cN−1とは異なるルートで受信コンピュータ2へ送られるデータである。
【0028】
b1 XOR c1=b2 ・・・ (7)
c1 XOR c2=b3 ・・・ (8)
c2 XOR c3=b4 ・・・ (9)
c3 XOR c4=b5 ・・・ (10)
・・・
cm XOR cm+1=bm+2 ・・・ (11)
・・・
cN−2 XOR cN−1=bN ・・・ (12)
【0029】
第1実施形態によれば、別途スクランブルコードを生成することなく、完全暗号による暗号化を行うことができる。これにより、CPU120の処理負荷を軽減し、メモリ110やディスクなどのリソースを節約することができる。
【0030】
《第2実施形態》
次に、図7を参照して本発明に係る第2実施形態を説明する。
図7は、第2実施形態に係る暗号化処理の概要を示す図である。
第2実施形態では、元データ31の先頭に任意のビットパターン32を付加するものである。図7の例では、分割データ33の長さと同等の長さのビットパターン32が付加されているが、分割データ33より短いビットパターン32を付加してもよいし、分割データ33より長いビットパターン32を付加してもよい。また、ビットパターン32は、ランダムなビットパターンであることが望ましいが、規則的なビットパターンでもよい。
図7に示す暗号化処理の手順は、元データ31の先頭にビットパターン32を付加する手順が最初に加わる以外は図3と同様である。
すなわち、送信コンピュータ1の暗号化処理部113は、生成した分割データ33のうち、先頭の分割データ33a(つまり、ビットパターン32)を復号化キー35とする。そして、先頭の分割データ33aと、2番目の分割データ33bとに対し、ビット毎に排他的論理和を算出することにより、1番目の暗号化データ34aを生成する。
次に、暗号化処理部113は、1番目の暗号化データ34aと、3番目の分割データ33cとに対し、ビット毎に排他的論理和を算出することにより、2番目の暗号化データ34bを生成する。
【0031】
以下、暗号化処理部113は同様にして3番目以降の暗号化データ34を作成していく。
送信コンピュータ1は、最後の分割データ33まで暗号化を終えると、各暗号化データ34を送信暗号化データとしてネットワーク3を介して受信コンピュータ2へ送信する。
復号化キー35である先頭の分割データ33a(ビットパターン32)は、暗号化データ34とは別のルートで受信コンピュータ2へ送られる。
また、復号化の手順は、復元されたデータから最初のビットパターン32を取り除く手順が最後に加わる以外は図4と同様であるため説明を省略する。
【0032】
第2実施形態によれば、ランダムなビットパターン32を付加することにより、第1実施形態より暗号強度を向上させることができる。
【0033】
《第3実施形態》
次に、図8を参照して本発明に係る第3実施形態を説明する。
図8は、第3実施形態に係る暗号化処理の概要を示す図である。
第3実施形態では、元データ71を単位データ72に分割した後、この単位データ72毎に第1実施形態と同様の処理を行うものである。
図8に示す暗号化処理の手順は、元データ71を単位データ72に分割する処理の後、各単位データ72毎に図3と同様の処理を行うことにより、分割データ73を生成し、復号化キー75および暗号化データ74を生成することである。
また、復号化処理においても、各単位データ72毎に図4の処理を行って単位データ72を復元した後、各単位データ72を結合させることにより実現できる。
【0034】
第3実施形態によれば、異なる復号化キー(パスワード)を複数生成することができるため、第1実施形態より暗号強度を上げることが可能となる。
【0035】
《第4実施形態》
次に、図9および図10を参照して本発明に係る第4実施形態を説明する。
図9は、第4実施形態に係る暗号化処理の概要を示す図である。
第4実施形態では、元データ91から生成する分割データ92の長さを可変長にした一例を示す。
ここでは、暗号化処理部113は、まず元データ92を2分割した後、この2分割した分割データ92a,92bに対し排他的論理和演算を行い、暗号化データ93aを生成する。
次に、暗号化処理部113は、片方の分割データ92aを2分割し、生成された分割データ92c,92dに対し排他的論理和演算を行い、暗号化データ93bを生成する。
さらに、暗号化処理部113は、片方の分割データ92cを2分割し、生成された分割データ92に対し排他的論理和演算を行い、暗号化データ93を生成する(図の「・・・」の部分)。
この処理を所定の回数繰り返し、最後に残った分割データ92を復号化キー94とする。このとき、復号化キー94は、元データの1/2となる(Nは分割回数)。
【0036】
図10は、第4実施形態に係る暗号化処理の手順を示すフローチャートである。
図10において、図3のフローチャートと異なる点は、ステップS301で予め設定されている所定回数の分割が終了したか否かを判定している点である。
ステップS301の結果、所定回数の分割が終了していない場合(S301→No)、ステップS102の処理へ戻り、データ分割処理部112が分割データ92の分割を行う。
ステップS301の結果、所定回数の分割が終了している場合(S301→Yes)、データ送信部114がステップS105の処理を行う。
ステップS301で「Yes」が選択された結果、ステップS102の処理へ戻るのは、1回1回の分割データ92(図9)の長さが異なっているためである。
【0037】
暗号化処理の具体例を示すと式(13)〜(22)に示す手順となる。ここで、aは元データを示し、bmは分割データを示し、cmは暗号化データを示す。また、bc*bdは、分割データbcと分割データbdの結合データであることを示す。
【0038】
a=b1*b2 ・・・ (13)
b1 XOR b2=c1 ・・・ (14)
b2=b3*b4 ・・・ (15)
b3 XOR b4=c2 ・・・ (16)
b4=b5*b6 ・・・ (17)
b5 XOR b6=c3 ・・・ (18)
・・・
bk−3=bk−2*bk−2 ・・・ (19)
bk−2 XOR bk−1=cK−1 ・・・ (20)
bk−1=bk*bk+1 ・・・ (21)
bk XOR bk+1=cK ・・・ (22)
【0039】
また、復号化処理は、以下のような処理で実現される(bk+1を復号化キーとする)。
cK XOR bk+1=bk ・・・ (23)
bk*bk+1=bk−1 ・・・ (24)
bk−1 XOR cK−1=bk−2 ・・・ (25)
bk−1*bk−2=bk−3 ・・・ (26)
bk−3 XOR cK−2=bk−4 ・・・ (27)
・・・
b7*b8=b6 ・・・ (28)
b6 XOR c3=b5 ・・・ (29)
b5*b6=b4 ・・・ (30)
b4 XOR c2=b3 ・・・ (31)
b3*b4=b2 ・・・ (32)
b2 XOR c1=b1 ・・・ (33)
b1*b2=a ・・・ (34)
【0040】
これを図4のフローチャートに対応させると、cK XOR bk+1=bk(式(23))、bk−1 XOR cK−1=bk−2(式(25))などがステップS203に相当し、bk*bk+1=bk−1(式(24))、b7*b8=b6(式(28))などがステップS204に相当する。
【0041】
第4実施形態によれば、データの分割回数を減らすことができ、暗号化強度を上げることができる。また、復号化した分割データを使用しなければ、次の分割データを復号することができないため、第1〜第3実施形態より暗号強度を上げることができる。
なお、分割はビット単位で可能であるので意図的に奇数長で分割するなどの暗号の強度を高める処置などもできるが、必ずしも必須ではない。
【0042】
《送信例》
図11および図12は、本実施形態に係るデータの送信方法の例を示す図である。
まず、図11では、暗号化データ1111は、送信コンピュータ1から受信コンピュータ2へとネットワーク3を介して送信されているが、復号化キー1112は、送信コンピュータ1および受信コンピュータ2とは、別の中継装置1101を介し、セキュアな方法を用いることにより受信コンピュータ2へ届けられる。このセキュアな方法とは、暗号化データ1111とは別の送信路を利用する、郵便を利用する、CD−ROM(Compact Disk-Read Only Memory)、IC(Integrated Circuit)カードやUSB(Universal Serial Bus)メモリなどの電子媒体に登録するなどの方法が考えられる。
【0043】
図11に示す方法によれば、第3者が独立に送信コンピュータ1と受信コンピュータ2へ復号化キー1112を送るので、暗号強度を上げることができる。
【0044】
図12は、第2実施形態に係るデータの送信方法の例を示す図である。
なお、図12は公開暗号方式によるデータの送信方法を示している。
図12では、送信コンピュータ1および受信コンピュータ2とは、別に設置されているランダムビット生成器1102により生成されたランダムビットが、ビットパターン1113(図7におけるビットパターン32)として受信コンピュータ2へ送信される。受信コンピュータ2では、このビットパターン1113を元データの先頭に付加した後、図7に示す方法で暗号化データ1111を生成する。
【0045】
一方、ランダムビット生成器1102で生成されたランダムビットは、ビットパターン1113として別途受信コンピュータ2にも送信される。図7の方法によれば、ビットパターン1113は復号化キー1112となるので、受信コンピュータ2ではランダムビット生成器1102から送信されたビットパターン1113を復号化キー1112として復号化処理を行う。
【0046】
なお、、元データとして使用されるデータとして、音声データや、動画データなどが考えられる。また、送信コンピュータ1や、受信コンピュータ2には、PC(Personal Computer)、携帯電話、ゲーム機など、デジタルデータを排他的論理和演算できる機器であればよい。
【0047】
なお、第2実施形態および第4実施形態に記載されている暗号化方法を、第3実施形態に適用してもよい。つまり、送信コンピュータ1は、第3実施形態のように元データを単位データに分割した後、それぞれの単位データ毎に第2実施形態および第4実施形態に記載されている暗号化方法を行ってもよい。この場合の復号化は、単位データ毎に第2実施形態および第4実施形態の復号化方法を行った後、復号化した単位データを結合すればよい。
【符号の説明】
【0048】
1 送信コンピュータ(暗号装置)
2 受信コンピュータ(復号装置)
10 暗号システム
21,31,71,91 元データ
22,33,73,92 分割データ
23,34,74,92,1111 暗号化データ
24,35,75,94,1112 復号化キー
32,1113 ビットパターン
72 単位データ
110 メモリ(送信コンピュータ)
111 データ読込部
112 データ分割処理部
113 暗号化処理部
114 データ送信部
120 CPU(送信コンピュータ)
130 記憶装置(送信コンピュータ)
210 メモリ(受信コンピュータ)
211 データ受信部
212 復号化処理部
213 データ結合部
214 データ格納部
220 CPU(受信コンピュータ)
230 記憶装置(受信コンピュータ)
1101 中継装置
1102 ランダムビット生成器

【特許請求の範囲】
【請求項1】
暗号化データを生成・送信する暗号装置と、前記暗号化データを受信・復号する復号装置と、を有する暗号システムによる暗号復号方法であって、
前記暗号装置は、
送信するビット列の元データをN個(Nは2以上の自然数)のデータに分割して、N個の分割データを生成し、
前記分割した分割データの1番目と2番目の排他的論理和を算出することによって1番目の暗号化データを生成し、
n(n=1,2,・・・,N−2)番目の暗号化データと、n+2番目の分割データと、の排他的論理和を算出して、n+1番目の暗号化データを生成することを、前記nが、N−2となるまで繰り返すことで、N−1個の暗号化データを算出し、
前記算出したN−1個の暗号化データを前記復号装置へ送信し、
前記1番目の分割データを、復号化キーとして前記暗号化データとは異なるルートで前記復号装置へ送り、
前記復号装置は、
前記復号化キーを取得し、
前記N−1個の暗号化データを受信すると、
前記取得した復号化キーである前記1番目の分割データと、前記1番目の暗号化データとの排他的論理和を算出して、前記2番目の分割データを復号し、
前記n(n=1,2,・・・,N−2)番目の暗号化データと、n+1番目の暗号化データと、の排他的論理和を算出することにより、n+2番目の分割データを復号化することを、前記nがN−2となるまで繰り返し、
復号した分割データを結合して前記元データを復元する
ことを特徴とする暗号復号方法。
【請求項2】
前記暗号装置は、
前記元データの先頭に、所定のビットパターンを付加する
ことを特徴とする請求項1に記載の暗号復号方法。
【請求項3】
前記暗号装置は、
前記元データを複数の単位データに分割した後、前記単位データ毎に前記暗号化データと、復号化キーとを生成し、
前記復号装置は、
前記単位データ毎に、前記復号化キーと、前記暗号化データとから前記単位データを生成し、前記単位データを結合して前記元データを復元する
ことを特徴とする請求項1に記載の暗号復号方法。
【請求項4】
暗号化データを生成・送信する暗号装置と、前記暗号化データを受信・復号する復号装置と、を有する暗号システムによる暗号復号方法であって、
前記暗号装置は、
送信する元データを同じビット長の2つのデータに分割し、当該2つのデータの排他的論理和を算出することによって暗号化データを生成し、
前記2つのデータのうち、一方のデータを同じビット長の2つのデータに分割し、当該2つのデータの排他的論理和を算出することによって暗号化データを生成することを、予め設定された回数行い、
前記生成されたすべての暗号化データを前記復号装置へ送信し、
前記設定された回数後、残った平文データを、復号化キーとして前記暗号化データとは異なるルートで前記復号装置へ送り、
前記復号装置が、
前記復号化キーを取得し、
前記取得した復号化キーと、受信した暗号データのうち、最もビット長が短い暗号化データとの排他的論理和を算出し、当該算出結果と、前記復号化データと、を結合した第1の結合データを算出し、
前記結合データと、次にビット長が短い暗号化データとの排他的論理和を算出し、当該算出結果と、前記結合データと、を結合した第2の結合データを算出する処理を、各暗号化データについて行う
ことを特徴とする暗号復号方法。
【請求項5】
前記暗号装置は、
前記元データを複数の単位データに分割した後、前記単位データ毎に前記暗号化データと、復号化キーとを生成し、
前記復号装置は、
前記単位データ毎に、前記復号化キーと、前記暗号化データとから前記単位データを生成し、前記単位データを結合して前記元データを復元する
ことを特徴とする請求項4に記載の暗号復号方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−119985(P2011−119985A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−275439(P2009−275439)
【出願日】平成21年12月3日(2009.12.3)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】