JP2013011702A - 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置 - Google Patents

暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置 Download PDF

Info

Publication number
JP2013011702A
JP2013011702A JP2011143588A JP2011143588A JP2013011702A JP 2013011702 A JP2013011702 A JP 2013011702A JP 2011143588 A JP2011143588 A JP 2011143588A JP 2011143588 A JP2011143588 A JP 2011143588A JP 2013011702 A JP2013011702 A JP 2013011702A
Authority
JP
Japan
Prior art keywords
block
plaintext
ciphertext
exchange
common key
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
JP2011143588A
Other languages
English (en)
Inventor
Fukio Handa
富己男 半田
Yoshihiro Yano
義博 矢野
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2011143588A priority Critical patent/JP2013011702A/ja
Publication of JP2013011702A publication Critical patent/JP2013011702A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】平文を暗号化する際、暗号文の先頭ブロックが暗号解読の足掛かりになることを防止できると共に、平文と暗号文の長さが同じになる方法を提供する。
【解決手段】暗号化装置10は、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号mを予め定めたアルゴリズムで共通鍵Kから導出し、平文(P1・・・Pn)を暗号化する前に、平文平文(P1・・・Pn)の先頭ブロック(P1)と交換ブロック番号mに対応する平文ブロック(Pm)を交換する。
【選択図】図2

Description

本発明は、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)など、暗号化を行う側と復号を行う側で同一の共通鍵を用い、定められたブロック長のブロック単位で暗号化/復号を行うブロック暗号に係わる発明である。
DES(Data Encryption Standard)やAES(Advanced Encryption Standard)など、暗号化を行う側と復号を行う側で同一の共通鍵を用い、定められたブロック長のブロック単位で暗号化/復号を行うブロック暗号の動作モードには、暗号文ブロック連鎖しないECBモード(Electronic Code Book)もあるが、ECBモードは平文の中の反復が暗号文にそのまま反映されるため、暗号解読に脆弱であることから、暗号文ブロック連鎖する暗号文ブロック連鎖モード(Cipher Block Chaining)が利用されることが多い。
数式1は暗号文ブロック連鎖モードの暗号化関数を説明する式である。数式1に示したように、暗号文ブロック連鎖モードの暗号化関数は、i番目の平文ブロック(Pi)を暗号化した暗号文ブロック(Ci)を演算する際に、一つ前の平文ブロック(Pi−1)を暗号化して得られた暗号文ブロック(Ci−1)と平文ブロック(Pi)の排他的論理和を演算し、その結果を暗号化した結果を暗号文ブロック(Ci)とする関数となり、暗号文ブロック連鎖モードにおける復号関数は、暗号文ブロック連鎖モードにおける暗号化関数の逆関数になる。
Figure 2013011702
このように、暗号文ブロック連鎖モードにおいては暗号ブロックが連鎖するため、ECBモードと比較して暗号解読に強いが、平文の先頭ブロック(P1)には一つ前の平文ブロックが存在しないため、先頭ブロック(P1)には、暗号文ブロックの代わりにIV(Initial Vector)が排他的論理和され、平文の先頭ブロック(P1)を暗号化した暗号文ブロック(C1)が、暗号解読の足掛かりになってしまう恐れがある。
特に、通信プロトコルのメッセージを暗号化するときなど、平文の先頭ブロック(P1)が、固定や連番など予測可能な場合、平文を暗号化した暗号文が得られれば、予測可能な先頭ブロック(P1)と暗号文の先頭ブロック(C1)を用い、共通鍵の総当り攻撃を行うことで、いつかは暗号鍵Kを知ることができる。
暗号文の先頭ブロック(C1)の脆弱性を解消する一つの手法として、特許文献1において、乱数により生成された所定の長さの冗長ビットを平文の先頭に付加する発明が開示されているが、特許文献1で開示されている手法を用いると、冗長ビットを平文の先頭に付加することにより、暗号文のデータ長が平文のデータ長よりも長くなってしまい、このことが暗号解読の足掛かりになってしまう可能性がある。
特許2541113号公報
そこで、本発明は、所定のブロック暗号の暗号ブロック連鎖モードに従い平文を暗号化する際、暗号文の先頭ブロックが暗号解読の足掛かりになることを防止できると共に、平文と暗号文の長さが同じになる方法等を提供することを目的とする。
上述した課題を解決する第1の発明は、方法に係る発明で、暗号文の先頭ブロックが暗号解読の足掛かりになることを防止できると共に、暗号文と平文の長さと同じになるようにするために、暗号化装置が、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文を暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換することを特徴とする暗号化方法である。
更に、第2の発明は、第1の発明に記載の暗号化方法において、前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号導出するアルゴリズムとしたことを特徴とする。
更に、第3の発明は、コンピュータプログラムに係る発明で、暗号文の先頭ブロックが暗号解読の足掛かりになることを防止できると共に、暗号文と平文の長さと同じになるようにするために、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文を暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する処理をコンピュータに実行させることを特徴とする暗号化プログラムである。
更に、第4の発明は、第3の発明に記載の暗号化プログラムにおいて、前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号を導出するアルゴリズムとしたことを特徴とする。
更に、第5の発明は、装置に係る発明で、暗号文の先頭ブロックが暗号解読の足掛かりになることを防止できると共に、暗号文と平文の長さと同じになるようにするために、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文を暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する暗号化部を備えたことを特徴とする暗号化装置である。
更に、第6の発明は、第5の発明に記載の暗号化装置において、前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号を導出するアルゴリズムとしたことを特徴とする。
更に、第7の発明は、第1の発明に係る方法で得られた暗号文を復号する方法で、復号装置が、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、前記共通鍵を用いて暗号文を復号した後に、前記暗号文を復号した平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて前記暗号文を復号する前に、前記暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換することを特徴とする復号方法である。
更に、第8の発明は、第7の発明に記載の復号方法において、前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号導出するアルゴリズムとしたことを特徴とする。
更に、上述した課題を解決する第9の発明は、第3の発明の暗号化プログラムにより得られた暗号文を復号するためのコンピュータプログラムで、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、前記共通鍵を用いて暗号文を復号した後に、前記暗号文を復号した平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて前記暗号文を復号する前に、前記暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する処理をコンピュータに実行させるための復号プログラムである。
更に、第10の発明は、第9の発明に記載の復号方法において、前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号導出するアルゴリズムとしたことを特徴とする。
更に、第11の発明は、第5の発明の暗号化装置が生成した暗号文を復号する装置で、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、前記共通鍵を用いて暗号文を復号した後に、前記暗号文を復号した平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて前記暗号文を復号する前に、前記暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する復号部を備えたことを特徴とする復号装置である。
更に、第12の発明は、第11の発明に記載の復号装置において、前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号を導出するアルゴリズムとしたことを特徴とする。
上述した発明によれば、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文の暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換することで、いずれの場合であっても、前記平文の先頭ブロックに対応する暗号ブロックは、前記交換ブロック番号に配置されるため、先頭の暗号文ブロックが暗号解読の足掛かりになることを防止できる。また、ブロックを交換する処理においてはデータの長さは変更されないため、平文と暗号文の長さを同じにでき、暗号化する際に特別な処理が実施されていることがわからなくなる。
本実施形態に係る暗号化装置及び復号装置を配置したシステムを説明する図。 第1の実施形態において、暗号化装置の暗号化部が実行する手順を示したフロー図。 第1の実施形態において、復号装置の復号部が実行する手順を示したフロー図。 第2の実施形態において、暗号化装置の暗号化部が実行する手順を示したフロー図。 第2の実施形態において、復号装置の復号部が実行する手順を示したフロー図。
ここから,本発明の実施形態について,本発明の技術分野に係わる当業者が,発明の内容を理解し,発明を実施できる程度に説明する。なお、これから説明する実施形態は本発明の一実施形態にしか過ぎず、本発明は,これから説明する実施形態に限定されることなく、種々の変形や変更が可能である。
まず、本発明のシステムに係る実施形態について説明する。図1は、本実施形態に係る暗号化装置10及び復号装置11を配置したシステム1を説明する図である。
図1で図示したシステム1は、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)など、暗号化を行う側と復号を行う側で同一の共通鍵Kを利用し、定められたブロック長のブロック単位で処理を行うブロック暗号により暗号化/復号を実行するシステムで、所定のブロック暗号の暗号文ブロック連鎖モードに従い、共通鍵Kを用いて平文(P1・・・Pn)を暗号化する暗号化部100が備えられた暗号化装置10と、所定のブロック暗号の暗号文ブロック連鎖モードに従い、共通鍵Kを用いて暗号化装置10が生成した暗号文を復号する復号部110が備えられた復号装置11が含まれ、暗号化装置10及び復号装置11はインターネット12を介して接続している。
暗号化装置10は、CPU、チップセット及びハードディスクが実装されたコンピュータで実現され、平文(P1・・・Pn)を暗号化した暗号文(Cm・・・Cn)を生成する暗号化部100を備え、暗号文(Cm・・・Cn)を生成する暗号化部100は、暗号化装置10として機能させるコンピュータに実装されたコンピュータプログラムにて実現される。
本実施形態の暗号化装置10の暗号化部100は、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号mを予め定めたアルゴリズムで共通鍵から導出し、平文(P1・・・Pn)を暗号化する前に、平文(P1・・・Pn)の先頭ブロック(P1)と交換ブロック番号mに対応する平文(P1・・・Pn)の平文ブロック(Pm)を交換する、又は、共通鍵Kを用いて平文(P1・・・Pn)を暗号化した後に、平文(P1・・・Pn)を暗号化した暗号文(C1・・・Cn)の先頭ブロック(C1)と交換ブロック番号mに対応する暗号文(C1・・・Cn)の暗号ブロック(Cm)を交換することで、平文ブロック(P1)に対応する暗号文ブロック(C1)が交換ブロック番号mに配置される暗号文(Cm・・・Cn)を生成し、平文ブロック(P1)に対応する暗号ブロック(C1)が暗号解読の足掛かりになることを防止する。
また、平文ブロック(P1)の暗号文ブロック(C1)が交換ブロック番号mに配置される暗号文(Cm・・・Cn)の長さは平文(P1・・・Pn)と同じであるため、暗号化する際に特別な処理が実施されていることがわからなくなる。
本実施形態の復号装置11は、共通鍵Kを用いて、暗号化装置10が生成した暗号文(Cm・・・Cn)を復号する際、復号に利用する共通鍵から、先頭ブロックと入れ替えるブロックのブロック番号を示す交換ブロック番号mを暗号化装置10と同じ手順で求め、暗号化装置10の逆の手順で該暗号文を復号する処理を行い、暗号文(Cm・・・Cn)の基になった平文(P1・・・Pn)を生成する復号部110を備え、暗号文(Cm・・・Cn)の基になった平文(P1・・・Pn)を生成する復号部110は、復号装置11として機能させるコンピュータに実装されたコンピュータプログラムにて実現される。
[第1の実施形態]
ここから、平文(P1・・・Pn)の先頭ブロック(P1)と交換ブロック番号mに対応する平文(P1・・・Pn)の平文ブロック(Pm)を交換する形態について詳細に説明する。
まず、第1の実施形態において、暗号化装置10の暗号化部100が実行する手順について説明する。図2は、第1の実施形態において、暗号化装置10の暗号化部100が実行する手順を示したフロー図である。
暗号化装置10が平文(P1・・・Pn)を暗号化する際、まず、暗号化の対象となる平文(P1・・・Pn)が暗号化装置10に指定された後(S1)、暗号化に利用する共通鍵Kが暗号化装置10に指定される(S2)。
S1及びS2において、平文(P1・・・Pn)及び共通鍵Kが暗号化装置10に記憶されていない場合、平文(P1・・・Pn)及び共通鍵Kは、操作者や外部装置によって暗号化装置10に入力されることになり、また、平文(P1・・・Pn)及び共通鍵Kが暗号化装置10に記憶されている場合、暗号化装置10に記憶されている平文(P1・・・Pn)及び共通鍵Kが、操作者や外部装置によって指定されることになる。
なお、ブロック暗号ではブロック長のブロック単位で処理するため、指定された平文のデータ長がブロック暗号のブロック長の整数倍でない場合、データ長がブロック暗号のブロック長の整数倍になるように、PKCS#5などの規格に従い所定のデータが平文にパディングされる。
例えば、ブロック暗号がDESの場合、指定された平文のデータ長がDESのブロック長(64ビット)の整数倍になるようにデータがパディングされ、また、ブロック暗号がAESの場合、指定された平文のデータ長がAESのブロック長(128ビット)の整数倍になるようにデータがパディングされる。
次に、暗号化装置10の暗号化部100は、指定された共通鍵Kを用いて、平文(P1・・・Pn)の先頭ブロック(P1)と交換する平文ブロックのブロック番号を示す交換ブロック番号mを予め定められたアルゴリズムで算出する(S3)。交換ブロック番号nを算出するアルゴリズムは任意であるが、例えば、数式2に示したように、共通鍵Kを平文(P1・・・Pn)のブロック数で剰余演算するアルゴリズムを利用できる。
Figure 2013011702
なお、数式2で交換ブロック番号mを求めると、交換ブロック番号mが「1」、すなわち、先頭ブロック(P1)と入れ替える平文ブロック(Pm)が先頭ブロック(P1)自身になってしまうことがあるため、交換ブロック番号mが「1」になる場合は、共通鍵Kに所定の数を足すようにするとよい。
平文ブロック(P1)と交換するブロックのブロック番号を示す交換ブロック番号mを求めると、暗号化装置10の暗号化部100は、平文(P1・・・Pn)の先頭ブロック(P1)と交換ブロック番号mに対応する平文ブロック(Pm)を入れ替えた後(S4)、共通鍵Kを用い、先頭ブロック(P1)と平文ブロック(Pm)を交換した平文(Pm・・・Pn)を暗号化することで、平文ブロック(P1)の暗号文ブロック(C1)が交換ブロック番号mに配置される暗号文(Cm・・・Cn)を生成し(S5)、図2の手順は終了する。
次に、第1の実施形態において、復号装置11の復号部110が実行する手順について説明する。図3は、第1の実施形態において、復号装置11の復号部110が実行する手順を示したフロー図である。
復号装置11の復号部110が暗号文(Cm・・・Cn)を復号する際、復号の対象となる暗号文(Cm・・・Cn)が復号装置11に指定された後(S10)、暗号文(Cm・・・Cn)の復号に利用する共通鍵Kが復号装置11に指定される(S11)。
なお、平文(P1・・・Pn)のデータ長はブロック暗号のブロック長の整数倍にされているため、暗号文(Cm・・・Cn)のデータ長は必ずブロック暗号のブロック長の整数倍になっている。
共通鍵Kが指定されると、復号装置11の復号部110は、指定された共通鍵Kから、暗号文(Cm・・・Cn)を復号して得られた平文(Pm・・・Pn)の先頭ブロック(Pm)と交換する平文ブロックのブロック番号を示す交換ブロック番号mを暗号化装置10と同じアルゴリズムで算出する(S12)。
交換ブロック番号mを算出すると、復号装置11の復号部110は、指定された共通鍵Kを用いて暗号文(Cm・・・Cn)を復号し、暗号文(Cm・・・Cn)を復号した平文(Pm・・・Pn)を生成した後(S13)、平文(Pm・・・Pn)の先頭ブロック(Pm)と、交換ブロック番号mに対応する平文ブロックを交換する処理を実行して、暗号文(Cm・・・Cn)を生成するときの基になった平文を生成する(S14)。
第1の実施形態において、暗号化装置10の暗号化部100は、平文(P1・・・Pn)の先頭ブロック(P1)と、共通鍵Kから算出した交換ブロック番号mに対応する平文ブロック(Pm)を交換した後に暗号化しているため、交換ブロック番号mに対応する平文ブロックは平文ブロック(P1)になり、S14において、復号装置11の復号部110が生成する暗号文(Cm・・・Cn)の平文は平文(P1・・・Pn)になる。
なお、PKCS#5などの規格に従い所定のデータがパディングされて平文が暗号化されている場合、PKCS#5などの規格に従いパディングされた所定のデータが、平文(P1・・・Pn)から除去される。
[第2の実施形態]
次に、平文(P1・・・Pn)を暗号化して得られた暗号文(C1・・・Cn)の先頭ブロック(C1)を入れ替える形態について詳細に説明する。
まず、第2の実施形態において、暗号化装置10の暗号化部100が実行する手順について説明する。図4は、第2の実施形態において、暗号化装置10の暗号化部100が実行する手順を示したフロー図である。
暗号化装置10の暗号化部100が平文(P1・・・Pn)を暗号化する際、まず、暗号化の対象となる平文(P1・・・Pn)が暗号化装置10に指定された後(S20)、暗号化に利用する共通鍵Kが暗号化装置10に指定される(S21)。
なお、ブロック暗号ではブロック長のブロック単位で処理するため、指定された平文のデータ長がブロック暗号のブロック長の整数倍でない場合、データ長がブロック暗号のブロック長の整数倍になるように、PKCS#5などの規格に従い所定のデータが平文にパディングされる。
次に、暗号化装置10の暗号化部100は、指定された共通鍵Kを用いて、平文(P1・・・Pn)を暗号化した暗号文(C1・・・Cn)の先頭ブロック(C1)と交換する暗号文ブロックのブロック番号を示す交換ブロック番号mを予め定められたアルゴリズムで算出する(S22)。第1の実施形態と同様に、交換ブロック番号mを算出するアルゴリズムは任意で、例えば、上述した数式2を利用できる。
交換ブロック番号mを算出すると、暗号化装置10の暗号化部100は、指定された共通鍵Kを用いて平文(P1・・・Pn)を暗号化し、平文(P1・・・Pn)を暗号化した暗号文(C1・・・Cn)を生成した後(S23)、暗号文(C1・・・Cn)の先頭ブロック(C1)と交換ブロック番号mに対応する暗号文ブロック(Cm)を入れ替える処理を行い、平文ブロック(P1)の暗号文ブロック(C1)が交換ブロック番号mに配置される暗号文(Cm・・・Cn)を生成し(S24)、図4の手順は終了する。
次に、第2の実施形態において、復号装置11の復号部110が実行する手順について説明する。図5は、第2の実施形態において、復号装置11の復号部110が実行する手順を示したフロー図である。
復号装置11の復号部110が暗号文(Cm・・・Cn)を復号する際、復号の対象となる暗号文(Cm・・・Cn)が復号装置11に指定された後(S30)、暗号文(Cm・・・Cn)の復号に利用する共通鍵Kが復号装置11に指定される(S31)。
なお、平文(P1・・・Pn)のデータ長はブロック暗号のブロック長の整数倍にされているため、暗号文(Cm・・・Cn)のデータ長は必ずブロック暗号のブロック長の整数倍になっている。
共通鍵Kが指定されると、復号装置11の復号部110は、指定された共通鍵Kから、暗号文(Cm・・・Cn)の先頭ブロック(Cm)と交換する暗号ブロックのブロック番号を示す交換ブロック番号mを暗号化装置10と同じアルゴリズムで算出する(S32)。
交換ブロック番号mを算出すると、復号装置11の復号部110は、暗号文(Cm・・・Cn)の先頭ブロック(Cm)と、交換ブロック番号mに対応する暗号文ブロックを交換する処理を実行した後(S33)、指定された共通鍵Kを用いて、暗号文(Cm・・・Cn)の先頭ブロック(C1)を交換した状態の暗号文(C1・・・Cn)を復号して、暗号文(Cm・・・Cn)の基になった平文を生成する(S34)。
第2の実施形態において、暗号化装置10の暗号化部100は、平文(P1・・・Pn)を暗号化した暗号文(C1・・・Cm)の先頭ブロック(C1)と、共通鍵Kから算出した交換ブロック番号mに対応する暗号文ブロック(Cm)を入れ替えているため、交換ブロック番号mに対応する暗号文ブロックは暗号文ブロック(C1)になり、S34において、復号装置11の復号部110が生成する暗号文(Cm・・・Cn)の平文は平文(P1・・・Pn)になる。
なお、PKCS#5などの規格に従い所定のデータがパディングされて平文が暗号化されている場合、PKCS#5などの規格に従いパディングされた所定のデータが、平文(P1・・・Pt)から除去される。
10 暗号化装置
100 暗号化部
11 復号装置
110 復号部

Claims (12)

  1. 暗号化装置が、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文を暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換することを特徴とする暗号化方法。
  2. 前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号導出するアルゴリズムとしたことを特徴とする、請求項1に記載の暗号化方法。
  3. 先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文を暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する処理をコンピュータに実行させることを特徴とする暗号化プログラム。
  4. 前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号を導出するアルゴリズムとしたことを特徴とする、請求項3に記載の暗号化プログラム。
  5. 先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、平文を暗号化する前に、前記平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて平文を暗号化した後に、前記平文を暗号化した暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する暗号化部を備えたことを特徴とする暗号化装置。
  6. 前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号を導出するアルゴリズムとしたことを特徴とする、請求項5に記載の暗号化装置。
  7. 復号装置が、先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、前記共通鍵を用いて暗号文を復号した後に、前記暗号文を復号した平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて前記暗号文を復号する前に、前記暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換することを特徴とする復号方法。
  8. 前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号導出するアルゴリズムとしたことを特徴とする、請求項7に記載の復号方法。
  9. 先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、前記共通鍵を用いて暗号文を復号した後に、前記暗号文を復号した平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて前記暗号文を復号する前に、前記暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する処理をコンピュータに実行させるための復号プログラム。
  10. 前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号導出するアルゴリズムとしたことを特徴とする、請求項9に記載の復号プログラム。
  11. 先頭ブロックと交換するブロックのブロック番号を示す交換ブロック番号を予め定めたアルゴリズムで共通鍵から導出し、前記共通鍵を用いて暗号文を復号した後に、前記暗号文を復号した平文の先頭ブロックと前記交換ブロック番号に対応する前記平文のブロックを交換する、又は、前記共通鍵を用いて前記暗号文を復号する前に、前記暗号文の先頭ブロックと前記交換ブロック番号に対応する前記暗号文のブロックを交換する復号部を備えたことを特徴とする復号装置。
  12. 前記交換ブロック番号を導出するアルゴリズムを、前記共通鍵を前記平文のブロック数で割ったときの余りから前記交換ブロック番号を導出するアルゴリズムとしたことを特徴とする、請求項11に記載の復号装置。
JP2011143588A 2011-06-28 2011-06-28 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置 Pending JP2013011702A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011143588A JP2013011702A (ja) 2011-06-28 2011-06-28 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011143588A JP2013011702A (ja) 2011-06-28 2011-06-28 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置

Publications (1)

Publication Number Publication Date
JP2013011702A true JP2013011702A (ja) 2013-01-17

Family

ID=47685636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011143588A Pending JP2013011702A (ja) 2011-06-28 2011-06-28 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置

Country Status (1)

Country Link
JP (1) JP2013011702A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10173646A (ja) * 1996-12-13 1998-06-26 Mitsubishi Electric Corp 暗号化補助方法、復号化補助方法、およびそれらの方法を用いた装置
JP2001142396A (ja) * 1999-11-16 2001-05-25 Dainippon Printing Co Ltd 暗号化装置とその方法、暗号復号化装置とその方法および通信システム
JP2004302378A (ja) * 2003-04-01 2004-10-28 Io Network:Kk 暗号化方式、復号化方式並びに暗号化システム、復号化システム
JP2004537072A (ja) * 2001-04-07 2004-12-09 トムソン ライセンシング ソシエテ アノニム コンテンツを暗号化する方法および装置
JP2007133400A (ja) * 2005-11-08 2007-05-31 Irdeto Access Bv データのユニットをスクランブル及びデスクランブルする方法
JP2008039844A (ja) * 2006-08-01 2008-02-21 Fujitsu Broad Solution & Consulting Inc 暗号処理プログラムおよび暗号処理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10173646A (ja) * 1996-12-13 1998-06-26 Mitsubishi Electric Corp 暗号化補助方法、復号化補助方法、およびそれらの方法を用いた装置
JP2001142396A (ja) * 1999-11-16 2001-05-25 Dainippon Printing Co Ltd 暗号化装置とその方法、暗号復号化装置とその方法および通信システム
JP2004537072A (ja) * 2001-04-07 2004-12-09 トムソン ライセンシング ソシエテ アノニム コンテンツを暗号化する方法および装置
JP2004302378A (ja) * 2003-04-01 2004-10-28 Io Network:Kk 暗号化方式、復号化方式並びに暗号化システム、復号化システム
JP2007133400A (ja) * 2005-11-08 2007-05-31 Irdeto Access Bv データのユニットをスクランブル及びデスクランブルする方法
JP2008039844A (ja) * 2006-08-01 2008-02-21 Fujitsu Broad Solution & Consulting Inc 暗号処理プログラムおよび暗号処理方法

Similar Documents

Publication Publication Date Title
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
KR101809386B1 (ko) 인증 암호 장치, 인증 암호 방법 및 컴퓨터 판독가능한 기록 매체
CN101753292B (zh) 用于链接式加密模式的方法和设备
JP5704159B2 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP2011120051A5 (ja)
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
JPWO2016027454A1 (ja) 認証暗号化方法、認証復号方法および情報処理装置
Reyad et al. Key-based enhancement of data encryption standard for text security
Singh Modified vigenere encryption algorithm and its hybrid implementation with Base64 and AES
JPWO2010024003A1 (ja) 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
More et al. Implementation of AES with time complexity measurement for various input
JP7323196B2 (ja) 暗号化装置、暗号化方法、プログラム、復号装置、復号方法
US8891761B2 (en) Block encryption device, decryption device, encrypting method, decrypting method and program
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
CN112866288A (zh) 一种双明文传输的数据对称加密方法
CN116366283B (zh) 一种基于对称加密的文件安全传输方法
CN102622561A (zh) 一种软件中调用数据的加密及解密方法
JP2013011702A (ja) 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置
JP5672037B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置及び暗号化/復号システム
WO2012011455A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム
CN103475466A (zh) 一种USBKey总线保护实现方法
JP5293612B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
KR20110042419A (ko) 멀티미디어 환경에 적용 가능한 블록암호 운용방법
KR101616717B1 (ko) 버냄 사이퍼 암호 알고리즘을 이용한 암복호화 서비스 제공 방법 및 시스템
Mohamed Wireless Communication Systems: Confidentiality: Encryption and Decryption

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150407