JP6070408B2 - 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム - Google Patents
暗号化装置、復号装置、暗号化方法、復号方法及びプログラム Download PDFInfo
- Publication number
- JP6070408B2 JP6070408B2 JP2013104377A JP2013104377A JP6070408B2 JP 6070408 B2 JP6070408 B2 JP 6070408B2 JP 2013104377 A JP2013104377 A JP 2013104377A JP 2013104377 A JP2013104377 A JP 2013104377A JP 6070408 B2 JP6070408 B2 JP 6070408B2
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- initialization vector
- block
- data
- plaintext
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 71
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 239000013598 vector Substances 0.000 claims description 428
- 230000005540 biological transmission Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Description
また、ブロック暗号方式としては、ECB(Electronic CodeBook)モード(暗号ブックモード)とCBC(Cipher Block Chaining)モード(暗号文ブロック連鎖モード)が知られている。ECBモードは、単純にブロック単位で暗号化、復号を行う。CBCモードは、前の平文ブロックを暗号化して得られた暗号文ブロックと現平文ブロックとで排他的論理和演算(XOR)を行い、排他的論理和演算の結果に対して暗号化を行う。ただし、CBCモードでは、先頭の平文ブロックの前の暗号文ブロックは存在しない。このため、先頭の平文ブロックについては、暗号文ブロックに代えて予め定めた初期化ベクタと排他的論理和演算を行って暗号化する。
しかし、特許文献1に記載の技術は、あくまでも、最初の暗号文ブロックが暗号解読の足掛かりとなることの防止を目的とした構成であるために、初期化ベクタの漏洩の防止を図ることはできない。
[暗号化装置と復号装置の構成例]
図1は、本実施形態の暗号化装置100と復号装置200の構成例を示している。
まず、暗号化装置100について説明する。
暗号化装置100は、平文データ出力部101、初期化ベクタ生成部102、暗号化部103、暗号文データ出力部104及び送信部105を備える。
平文データ出力部101は、暗号化対象の平文データを暗号化部103に出力する。具体的に、平文データ出力部101は、例えば平文データ記憶部(図示せず)を備え、記憶部が予め記憶している平文データを読み出し、暗号化部に出力するように構成することができる。あるいは、平文データ出力部101は、例えばデータインターフェースなどを経由して外部から入力された平文データを暗号化部103に出力するようにしてもよい。
本実施形態において、初期化ベクタの生成の仕方については特に限定されない。例えば、初期化ベクタ生成部102は、暗号化対象の平文データを利用して初期化ベクタを生成してよい。あるいは、初期化ベクタ生成部102は、乱数を発生させ、発生された乱数に基づいて初期化ベクタを生成してもよい。
つまり、暗号化部103は、ブロック暗号方式におけるCBC(Cipher Block Chaining)モードに対応したブロック単位の暗号化を行い、暗号文ブロックを得る。
そのうえで、暗号化部103は、初期化ベクタ取得情報についても、1つ前のブロックをブロック暗号化して得た暗号文ブロックを利用してブロック暗号化する。
初期化ベクタ取得情報は、復号装置200が復号に用いるべき初期化ベクタを取得するのに利用する情報である。
具体的に、第1の実施形態における初期化ベクタ取得情報は、初期化ベクタ生成部102が生成した初期化ベクタそのものである。つまり、この場合の復号装置200は、初期化ベクタ取得情報の暗号文ブロックのブロック復号により初期化ベクタ取得情報を取得することを以て初期化ベクタを取得することができる。
送信部105は、暗号文データ出力部104が出力した暗号文データを復号装置200に送信する。なお、送信部105に復号装置200を送信するための伝送路は、ネットワークあるいは所定のデータインターフェースなどであればよく、また、無線であってもよいし有線であってもよい。
復号装置200は、受信部201、復号部202及び平文データ生成部203を備える。
受信部201は、暗号化装置100から送信された暗号文データを受信する。
また、復号部202は、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号を行う。
つまり、復号部202は、受信部201にて受信された暗号文データに含まれる暗号文ブロックについて、暗号化装置100のブロック暗号化アルゴリズムに対応する復号を行って平文ブロックを得る。この際に、復号部202は、暗号文データに含まれている初期化ベクタ取得情報の暗号文ブロックを復号して初期化ベクタ取得情報を得る。そして、復号部202は、復号によって得られた初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して先頭の暗号文ブロックを復号する。
平文データ生成部203は、復号部202が復号して得た平文ブロックを利用して平文データを生成する。
図2は、本実施形態の暗号化装置100と復号装置200とを具現化した一例として、ICカード300及びリーダライタ400を示している。
ICカード300は、集積回路が実装されたカードである。リーダライタ400は、ICカード300と所定の通信方式による通信を行うことで、ICカード300からのデータの読み出し、あるいはICカード300に対するデータの書き込みを行う。
ICカード300がリーダライタ400にデータを送信するにあたり送受信データが暗号化されるときには、ICカード300が暗号化装置100として機能し、リーダライタ400が復号装置200として機能する。
また、リーダライタ400がICカード300にデータを送信するにあたり送受信データが暗号化されるときには、リーダライタ400が暗号化装置100として機能し、ICカード300が復号装置200として機能する。
本実施形態の暗号化装置100と復号装置200が対応するCBCモードは、ブロック暗号方式における利用モードの1つである。ブロック暗号方式は、共通鍵暗号方式の1つであり、固定長のブロック単位で暗号化、復号を行う。そのうえで、CBCモードでは、1つ前の平文ブロックを暗号化して得られた暗号文ブロックと現平文ブロックとで排他的論理和(exclusive or)演算を行い、排他的論理和演算の結果に対して暗号化を行う。
CBCモードでの暗号化では、暗号化対象の平文データを複数の固定長のブロックに分割する。図3の例では、平文データDplnを4つの平文ブロックM1,M2,M3,M4に分割した例を示している。
そこで、CBCモードにおいて先頭の平文ブロックM1を暗号化するにあたっては初期化ベクタDivを利用する。初期化ベクタDivは、予め定められた固定値であり、復号装置は暗号化装置と同じ初期化ベクタDivを共有している。そして、暗号化装置は、図3に示すように、先頭の平文ブロックM1と初期化ベクタDivとの排他的論理和演算を行う(ステップS11)。
次に、暗号化装置は、ステップS11による排他的論理和演算の結果を、予め定められた共通鍵を利用してブロック単位の暗号化(ブロック暗号化)を行う(ステップS21)。これにより、平文ブロックM1に対応する暗号文ブロックC1が得られる。
次に、暗号化装置は、平文ブロックM3と暗号文ブロックC2との排他的論理和演算を行い(ステップS13)、ブロック暗号化(ステップS23)を実行することにより、平文ブロックM3に対応する暗号文ブロックC3を得る。
次に、暗号化装置は、平文ブロックM4と暗号文ブロックC3との排他的論理和演算を行い(ステップS14)、ブロック暗号化(ステップS24)を実行することにより、平文ブロックM4に対応する暗号文ブロックC4を得る。
このようにして、CBCモードでは、平文ブロックM1〜M4ごとに対応する暗号文ブロックC1〜C4が得られる。そして、暗号文ブロックC1〜C4により、平文データDplnに対応する暗号文データDencが得られる。
この場合の暗号文データDencは、4つの暗号文ブロックC1〜C4を含む。復号装置は、暗号化装置が暗号化の際に利用したのと同じ初期化ベクタDivを共有している。そこで、復号装置は、先頭の暗号文ブロックC1については、まず、共通鍵を利用したブロック単位での復号(ブロック復号)を行い(ステップS31)、ステップS31による復号結果と初期化ベクタDivとの排他的論理和演算を行う(ステップS41)。これにより、暗号文ブロックC1に対応する平文ブロックM1が取得される。
また、復号装置は、2番目の暗号文ブロックC2についてブロック復号を行い(ステップS32)、復号結果と1つ前の暗号文ブロックC1との排他的論理和演算を行うことで(ステップS42)、暗号文ブロックC2に対応する平文ブロックM2を取得する。
また、復号装置は、3番目の暗号文ブロックC3についてブロック復号を行い(ステップS33)、復号結果と暗号文ブロックC2との排他的論理和演算を行うことで(ステップS43)、暗号文ブロックC3に対応する平文ブロックM3を取得する。
また、復号装置は、4番目の暗号文ブロックC4についてブロック復号を行い(ステップS34)、復号結果と暗号文ブロックC3との排他的論理和演算を行うことで(ステップS44)、暗号文ブロックC4に対応する平文ブロックM4を取得する。
このように取得された平文ブロックM1〜M4を順に配列することにより、復元された平文データDplnが取得される。
そこで、本実施形態では、以下に説明するようにしてCBCモードにおける暗号化と復号とを行うことで、初期化ベクタDivの漏洩に関するセキュリティを向上させる。
図5は、本実施形態の暗号化装置100が実行する暗号化の手順例を示している。なお、図5において、図3と同様の部分については図3と同じ符号を付している。
暗号化にあたり、暗号化装置100の平文データ出力部101は、平文データDplnを暗号化部103に出力する。また、初期化ベクタ生成部102は、初期化ベクタDivを所定のアルゴリズによって生成し、生成した初期化ベクタDivを暗号化部103に出力する。
次に、暗号化部103は、2番目の平文ブロックM2と、前の平文ブロックM1の暗号化により得られた暗号文ブロックC1との排他的論理和演算を行い(ステップS12)、ステップS12の演算結果をブロック暗号化し(ステップS22)、暗号文ブロックC2を得る。
次に、暗号化部103は、3番目の平文ブロックM3と、前の平文ブロックM2に対応する暗号文ブロックC2との排他的論理和演算(ステップS13)と、ステップS13の演算結果のブロック暗号化(ステップS23)により暗号文ブロックC3を得る。
次に、暗号化部103は、4番目の平文ブロックM4と、前の平文ブロックM3に対応する暗号文ブロックC3との排他的論理和演算(ステップS14)と、ステップS14の演算結果のブロック暗号化(ステップS24)により暗号文ブロックC4を得る。
第1の実施形態において、ステップS15にて排他的論理和演算に利用する初期化ベクタDivが初期化ベクタ取得情報である。つまり、ステップS15は、初期化ベクタ取得情報と1つ前の暗号化により得られた暗号文ブロックとの排他的論理和演算を実行する処理である。
送信部105は、暗号文データ出力部104が出力した暗号文データDencを復号装置に対して送信する。
このように、本実施形態の暗号化装置100は、平文データDplnから分割した平文ブロックとともに初期化ベクタ取得情報についてもブロック暗号化する。そして、暗号化装置100は、平文ブロックを暗号化した暗号文ブロックと、初期化ベクタDivを暗号化した暗号文ブロックとを利用して暗号文データDencを生成する。
復号装置200の復号部202は、受信部201にて受信された暗号文データDencを入力する。
つまり、復号部202は、暗号文ブロックC5について共通鍵を利用して復号する(ステップS35)。次に、復号部202は、ステップS35による復号結果と暗号文ブロックC5の1つ前の暗号文ブロックC4との排他的論理和演算を実行する(ステップS45)。復号部202は、ステップS45による演算結果として初期化ベクタDivを得ることができる。
つまり、復号部202は、暗号文ブロックC1について共通鍵を利用してブロック復号を行う(ステップS31)。次に、復号部202は、ステップS31による復号結果と、ステップS35、S45により取得した初期化ベクタDivとの排他的論理和演算を実行し(ステップS41)、平文ブロックM1を得る。
つまり、復号部202は、暗号文ブロックC2については、ブロック復号を行ったうえで(ステップS32)、その復号結果と暗号文ブロックC1との排他的論理和演算を実行し(ステップS42)、平文ブロックM2を得る。
また、復号部202は、暗号文ブロックC3についてブロック復号を行ったうえで(ステップS33)、その復号結果と暗号文ブロックC2との排他的論理和演算を実行し(ステップS43)、平文ブロックM3を得る。
また、復号部202は、暗号文ブロックC4についてブロック復号を行ったうえで(ステップS34)、その復号結果と暗号文ブロックC3との排他的論理和演算を実行し(ステップS44)、平文ブロックM4を得る。
上記の復号処理によって本実施形態の復号部202は、暗号化された初期化ベクタDivと平文ブロックM1〜M4を得ることができる。平文データ生成部203は、復号処理によって得た平文ブロックM1〜M4を連結して、平文データDplnを生成することができる。
ただし、他の暗号文ブロックの復号順については特に制限されるものではない。一例として、暗号文ブロックC2、C5、C4、C3、C2の順でブロック復号を行っても、暗号文ブロックC5のほうが暗号文ブロックC1よりも先に復号されているので、結果的に、暗号文ブロックC1〜C5を全て適切に復号できる。
復号装置200は、受信した暗号文データDencに含まれる初期化ベクタDiv(初期化ベクタ取得情報)の暗号文ブロックを復号して初期化ベクタDivを取得することができる。これにより、復号装置200は、取得した初期化ベクタDivを利用して先頭の暗号文ブロックを復号することができる。
[第2の実施形態における暗号化、復号の手順例]
続いて、第2の実施形態について説明する。
図7は、第2の実施形態における暗号化装置100が実行する暗号化の手順例を示している。なお、図7において、図5と同一部分には同一符号を付して説明を省略する。
図7に示すように、第2の実施形態における暗号化装置100の暗号化部103は、初期化ベクタ生成部102が生成した初期化ベクタDivを入力して初期化ベクタ生成情報Dgenを生成する情報変換を実行する(ステップS51)。
初期化ベクタ生成情報Dgenは、初期化ベクタ取得情報として初期化ベクタDivの生成の仕方を示す情報である。一例として、初期化ベクタDivが平文ブロックM2、M3を利用した所定の演算式の演算により生成されたものであった場合、暗号化部103は、ステップS51として、上記の演算式を示す情報を初期化ベクタ生成情報Dgenとして生成する。
暗号化部103は、初期化ベクタ生成情報Dgenについて、ステップS15、S25の処理により暗号文ブロックC5に暗号化する。暗号文データ出力部104は、第1の実施形態の場合と同様に、平文ブロックM1〜M4に対応する暗号文ブロックC1〜C4と、初期化ベクタ生成情報Dgenに対応する暗号文ブロックC5とにより生成した暗号文データDencを出力する。
第2の実施形態においては、先頭の暗号文ブロックC1の復号に先立って、初期化ベクタ生成情報Dgenに対応する暗号文ブロックC5を、ステップS35、S45により復号して初期化ベクタ生成情報Dgenを得る。
復号部202は、初期化ベクタ生成情報Dgenが示す内容に従って初期化ベクタを生成する(ステップS52)。前述の例のように、初期化ベクタ生成情報Dgenが、平文ブロックM2、M3を利用した所定の演算式の演算により初期化ベクタDivを生成すべきことを示している場合、復号部202は、以下のように初期化ベクタを生成する。つまり、復号部202は、ステップS32、S42により復号した平文ブロックM2と、ステップS33、S43により復号した平文ブロックM3とを取得する。そのうえで、復号部202は、取得した平文ブロックM2、M3を初期化ベクタ生成情報Dgenが示す演算式に代入して演算を実行する。この演算結果として、初期化ベクタDivが生成される。
復号部202は、先頭の暗号文ブロックC1を復号する際には、ステップS52により生成した初期化ベクタDivをステップS41の排他的論理和演算に利用する。
続いて、第3の実施形態について説明する。
暗号化装置100と復号装置200との間では、例えば1回のセッションにおいて、暗号文データDencの送受信を複数回行うことができる。なお、ここでのセッションとは、暗号化装置100と復号装置200との接続が開始されてから終了までにおける通信を指す。
第3の実施形態では、1セッションにおいて暗号文データDencの送受信を複数回行う場合において、1回の暗号文データDencの送受信ごとに初期化ベクタDivを変更して通信を行う。
現セッションにおける1番目の暗号文データDencの送受信にあたり、暗号化装置100における初期化ベクタ生成部102は、初期化ベクタ(図では「IV」と表記)を生成する(ステップS111−1)。
次に、暗号化部103は、ステップS111−1により生成された初期化ベクタを利用して例えば図5または図7にて説明したように、平文ブロックと初期化ベクタ取得情報の暗号化を行う(ステップS112−1)。
暗号文データ出力部104は、平文ブロックの暗号文ブロックと初期化ベクタ取得情報の暗号文ブロックとを含む暗号文データDencを生成し、生成した暗号文データDencを送信部105から復号装置200に対して送信させる(ステップS113−1)。
平文データ生成部203は、ステップS212−1により得られた平文ブロックを連結して平文データDplnを生成する(ステップS213−1)。
暗号文データ出力部104は、ステップS112−2によって得られた平文ブロックの暗号文ブロックと初期化ベクタ取得情報の暗号文ブロックとを含む暗号文データDencを生成し、復号装置200に対して送信する(ステップS113−2)。
暗号化部103は、ステップS111−3により生成された初期化ベクタDivを利用して3番目の平文データDplnの平文ブロックと初期化ベクタ取得情報の暗号化を行う(ステップS112−3)。
暗号文データ出力部104は、ステップS112−3によって得られた平文ブロックの暗号文ブロックと初期化ベクタ取得情報の暗号文ブロックとを含む暗号文データDencを生成し、復号装置200に対して送信する(ステップS113−3)。
以降、同様にして、暗号化装置100は、新たに平文データDplnを暗号化するにあたり前回までとは異なる初期化ベクタDivを生成する。そして、暗号化装置100は、生成した初期化ベクタDivを利用して、今回の平文データDplnの暗号化と初期化ベクタ取得情報の暗号化を行う。
また、復号装置200は、ステップS113−3により送信された暗号文データDencを受信し(ステップS211−3)、初期化ベクタ取得情報の暗号文ブロックのブロック復号を伴う暗号文データDencの復号を実行する(ステップS212−3)。
平文データ生成部203は、ステップS212−3により得られた平文ブロックを連結して平文データDplnを生成する(ステップS213−3)。
以降、同様にして、復号装置200は、新たに暗号文データDencを受信するごとに、初期化ベクタ取得情報の暗号文ブロックのブロック復号を伴う暗号文データDencの復号を実行して平文データDplnを得る。
なお、1セッションにおいては、暗号化しないデータを送受信する通信も含まれてよいのであるが、図9においては、例えば説明を簡単にするための便宜上、暗号文データDencを送受信する通信のみを示している。
また、第3の実施形態においては、セッションにおける初期化ベクタDivとしての初期化ベクタ取得情報を含む暗号分データDencの送受信と、初期化ベクタ生成情報としての初期化ベクタ取得情報を含む暗号分データDencの送受信とが混在してもよい。この場合において、初期化ベクタDivとしての初期化ベクタ取得情報を含む暗号分データDencの送受信と、初期化ベクタ生成情報としての初期化ベクタ取得情報を含む暗号分データDencの送受信は、所定回数ずつ交互に行われてもよいし、ランダムな順序で行われてもよい。
続いて、第4の実施形態について説明する。第4の実施形態においては、暗号化装置100と復号装置200との間で、1セッションにおいて複数回の暗号文データDencの送受信を行う場合において、各回に対応する暗号化と復号について共通の初期化ベクタDivを使用する。
現セッションにおける1番目の暗号文データDencの送受信にあたり、暗号化装置100における初期化ベクタ生成部102は、初期化ベクタDivを生成する(ステップS311−1)。
次に、暗号化部103は、ステップS311−1により生成された初期化ベクタDivを利用して例えば図5または図7にて説明したように暗号化を行う(ステップS312−1)。つまり、暗号化部103は、平文データを分割した平文ブロックについて暗号化した暗号文ブロックを得るとともに、初期化ベクタ取得情報を暗号化した暗号文ブロックを得る。
暗号文データ出力部104は、平文ブロックの暗号文ブロックと初期化ベクタ取得情報の暗号文ブロックとを含む暗号文データDencを生成し、送信部105から復号装置200に対して生成した暗号文データDencを送信させる(ステップS313−1)。
ステップS412−1による暗号文ブロックの復号は、図6または図8にて説明したように、初期化ベクタ取得情報(初期化ベクタDiv、初期化ベクタ生成情報)の暗号文ブロックのブロック復号を伴う。暗号化部103は、復号により得られた初期化ベクタ取得情報に基づいて取得した初期化ベクタDivを先頭の暗号文ブロックの復号時の排他的論理和演算に利用する。
平文データ生成部203は、ステップS412−1により得られた平文ブロックを連結して平文データDplnを生成する(ステップS413−1)。
つまり、暗号化部103は、ステップS314−1により保持している初期化ベクタを利用して2番目(第2)の平文データDplnの暗号化を行う(ステップS312−2)。
また、復号装置200側においても、ステップS414−1により1番目の暗号文データDencを復号するのに利用した初期化ベクタDivを保持しているため、2番目の暗号文データDencには初期化ベクタ取得情報を含めなくともよい。このため、ステップS312−2の暗号化にあたっては、暗号化部103は、初期化ベクタ取得情報の暗号化を伴うことなく、平文ブロックのみのブロック暗号を実行すればよい。
つまり、暗号化部103は、ステップS314−1により保持している初期化ベクタDivを利用して、2番目の平文データDplnの暗号化を行う(ステップS312−3)。この際、暗号化部103は、初期化ベクタ取得情報の暗号化を省略して、平文ブロックのみのブロック暗号化を実行すればよい。
また、暗号文データ出力部104は、平文ブロックに対応する暗号文ブロックを含み、初期化ベクタ取得情報に対応する暗号文ブロックは含まない暗号文データDencを生成し、復号装置200に対して送信する(ステップS313−3)。
そして、暗号化部103と暗号文データ出力部104は、4番目以降の平文データDplnを暗号化する際にも、ステップS312−3及びS313−3と同様の処理により、平文ブロックに対応する暗号文ブロックのみを含む暗号文データDencを送信する。
復号装置200の復号部202は、ステップS411−2にて受信された2番目の暗号文データDencについて、ステップS414−1により保持している初期化ベクタDivを利用して復号する(ステップS412−2)。ステップS414−1にて保持した初期化ベクタDivは、1番目の暗号文データDencの復号に際して利用した初期化ベクタDivである。
また、2番目の暗号文データDencには、初期化ベクタ取得情報の暗号文ブロックは含まれていない。従って、復号部202は、ステップS412−2においては、図4に示したように、初期化ベクタ取得情報の復号を伴わない復号を実行すればよい。
平文データ生成部203は、ステップS412−2により復号された平文ブロックを連結して平文データDplnを生成する(ステップS413−2)。
続いて、第5の実施形態について説明する。第5の実施形態では、1シーケンスの通信において、暗号化装置100が、1番目の暗号文データDencの復号に利用した初期化ベクタDivを、2番目以降の暗号文データDencの復号にも利用するように復号装置200に指示を行う。この指示にあたっては、暗号化装置100が初期化ベクタの利用の仕方を示す初期化ベクタ取得情報を生成し、生成した初期化ベクタ取得情報の暗号文ブロックを暗号文データDencに含めて復号装置200に送信する。
現セッションにおける1番目(第1)の暗号文データDencの送受信にあたり、暗号化装置100は、初期化ベクタDivの生成(ステップS511−1)、1番目(第1)の平文データの暗号化(ステップS512−1)、暗号文データDencの復号装置200への送信(ステップS513−1)を実行する。また、暗号化部103は、ステップS511−1により生成した初期化ベクタDivを保持する(ステップS514−1)
このように、ステップS511−1〜S514−1の処理は、それぞれ、図10のステップS311−1〜S314−1の処理と同様でよい。
具体的に、ステップS611−1〜S614−1の処理は、それぞれ、図10のステップS411−1〜S414−1の処理と同様である。
まず、暗号化部103は、初期化ベクタ取得情報として、復号における初期化ベクタDivの利用の仕方を示す情報を生成する(ステップS511−2)。この場合における初期化ベクタ取得情報は、1番目の暗号文データDencを復号する際に利用した初期化ベクタDivを、2番目以降の暗号文データDencを復号する際にも利用すべきことを示す。
また、ステップS512−2による2番目の平文データDplnの暗号化にあたり、暗号化部103は、ステップS511−2により生成した初期化ベクタ取得情報をブロック暗号化する。
暗号文データ出力部104は、ステップS512−3の暗号化により得られた、平文ブロックごとに対応する暗号文ブロックを含む暗号文データDencを生成し、復号装置200に送信する(ステップS513−3)。
暗号化部103と暗号文データ出力部104は、4番目以降の平文データDplnを暗号化する際には、ステップS512−3、S513−3と同様の処理により、平文ブロックに対応する暗号文ブロックのみを含む暗号文データDencを送信する。
つまり、復号装置200における受信部201は、2番目の暗号文データDencを受信する(ステップS611−2)。復号部202は、ステップS611−2にて受信された2番目の暗号文データDencについて、ステップS614−1にて保持した初期化ベクタDivを利用して復号する(ステップS612−2)。
復号部202は、復号により得た初期化ベクタ取得情報が示す初期化ベクタDivの利用の仕方を認識する。この場合、復号部202は、2番目以降の暗号文データDencの復号を行うにあたり、1番目の暗号文データDencの復号の際に利用した初期化ベクタを利用すべきことを認識する。
そこで、復号部202は、2番目の暗号文データDencにおける先頭の暗号文ブロックの復号にあたり、ステップS614−1にて保持されている初期化ベクタDivを利用する。
平文データ生成部203は、ステップS612−2により得られた平文データにより平文データDplnを生成する(ステップS613−2)。
つまり、復号装置200における受信部201は、2番目の暗号文データDencを受信する(ステップS611−3)。復号部202は、ステップS611−3にて受信された3番目の暗号文データDencについて、ステップS614−1にて保持した初期化ベクタDivを利用して復号する(ステップS612−3)。つまり、復号部202は、1番目の暗号文データDencの復号の際に利用した初期化ベクタにより復号を行う。
また、3番目の暗号文データには初期化ベクタ取得情報の暗号文ブロックは含まれていないため、ステップS612−3の復号にあたり、復号部202は、図4に例示したように、平文ブロックのみのブロック復号を行う。平文データ生成部203は、ステップS612−3により得られた平文データにより平文データDplnを生成する(ステップS613−3)。
また、例えば1つのセッションにおいては複数のトランザクションが実行され、1つのトランザクションにおいて複数の暗号文データDencの送受信を実行することができる。ここでのトランザクションは、関連する1以上のデータの送受信をいう。
そこで、第4及び第5の実施形態においては、トランザクションごとに異なる初期化ベクタDivを利用するようにしたうえで、1トランザクションにおいては、共通の初期化ベクタDivを利用するようにしてもよい。また、例えば1つのセッションまたはトランザクションにおいて、2回以上の所定回数による暗号文データDencの送受信ごとに初期化ベクタDivを変更していくようにしてもよい。
つまり、暗号化装置100は、1つのセッションあるいはトランザクションにおいて、ステップS311−1〜S314−1の処理(ステップS312−1において第1の平文データの暗号化を含む)と、これに続く所定回数のステップS312−2、S313−2と同様の処理(ステップS312−2において第2の平文データの暗号化を含む)による単位シーケンスを実行した後においては、順次、次の単位シーケンスが繰り返して実行されるようにしてもよい。
この際、ステップS312−2、S313−2と同様の処理の繰り返し回数は、単位シーケンス間で同じであってもよいし、適宜、異なっていてもよい。
つまり、暗号化装置100は、1つのセッションあるいはトランザクションにおいて、ステップS511−1〜S514−1の処理(ステップS512−1において第1の平文データの暗号化を含む)と、これに続くステップS511−2〜S513−2の処理(ステップS512−2において第2の平文データの暗号化を含む)と、これに続く所定回数のステップS512−3、S513−3の処理(ステップS512−3において第3の平文データの暗号化を含む)による単位シーケンスを実行した後においては、順次、次の単位シーケンスが繰り返して実行されるようにしてもよい。
この際、S512−3、S513−3と同様の処理の繰り返し回数は、単位シーケンス間で同じであってもよいし、適宜、異なっていてもよい。
一例として、例えば1つのセッションあるいはトランザクションにおいて、図9に示す所定回数分の暗号文データDencの送受信による単位シーケンスを実行し、続けて図10に対応する単位シーケンスを実行し、続けて図11に対応する単位シーケンスを実行し、以降、これらの単位シーケンスを定められた順序にしたがって順次実行していく、というものである。
続いて、第6の実施形態について説明する。
第1の実施形態として図5に示した暗号化の手順では、平文ブロックM1〜M5を順次ブロック暗号化した後、最後に、平文ブロックM5の暗号文ブロックC5を利用して初期化ベクタ取得情報である初期化ベクタDivをブロック暗号化している。
これに対して、第6の実施形態においては、2番目以降から最後の1つ前までのブロック暗号化順のうちのいずれかにおいて、初期化ベクタ取得情報のブロック暗号化が行われる。
図12においても、平文データDplnは4つの平文ブロックM1〜M4に分割されている。そのうえで、第6の実施形態における暗号化装置100の暗号化部103は、まず、先頭の平文ブロックM1と初期化ベクタDivとの排他的論理和演算を行い(ステップS11)、ステップS11の演算結果をブロック暗号化して(ステップS21)、暗号文ブロックC1を得る。
つまり、図12の例では、1番目から5番目までによるブロックの暗号化の順序において2番目に初期化ベクタ取得情報のブロックの暗号化を行う。
次に、暗号化部103は、4番目の暗号化として、平文ブロックM3について、暗号文ブロックC2との排他的論理和演算を行い(ステップS13)、演算結果をブロック暗号化する(ステップS23)。これにより、平文ブロックM3に対応する暗号文ブロックC3が得られる。
最後に、暗号化部103は、5番目の暗号化として、平文ブロックM4について、暗号文ブロックC3との排他的論理和演算を行い(ステップS14)、演算結果をブロック暗号化する(ステップS24)。これにより、平文ブロックM4に対応する暗号文ブロックC4が得られる。
暗号文データ出力部104は、暗号文ブロックC1,C5,C2,C3,C4の順で配列した暗号文データDencを生成し、復号装置200に送信する。
図13の場合、暗号文データDencは、暗号文ブロックC1,C5,C2,C3,C4の配列となっているが、これらの暗号文ブロックに対する復号の順序に関しては図6と同様でよい。つまり、復号部202は、先頭の暗号文ブロックC1を復号するにあたり、先に、初期化ベクタ取得情報としての初期化ベクタDivに対応する暗号文ブロックC5を復号して初期化ベクタDivを得るようにすればよい。
図13の例では、初期化ベクタDivを得るにあたり、復号部202は、暗号文データDencにおける暗号文ブロックのうちから、2番目に配列されている暗号文ブロックC5を取得する。そして、復号部202は、取得した暗号文ブロックC5について、1つ前に暗号化された暗号文ブロックC1を利用して復号を行い(ステップS35、S45)、初期化ベクタ取得情報としての初期化ベクタDivを得るようにすればよい。
上記のように初期化ベクタDivを取得した後、復号部202は、初期化ベクタDivを利用して、ステップS31、S41により先頭の暗号文ブロックC1を復号して平文ブロックM1を取得することができる。
暗号文データ出力部104は、上記のように得られた平文ブロックM1,M2,M3,M4を配列して平文データDplnを生成する。
そこで、図12のようにブロックの暗号化順の途中で初期化ベクタ取得情報のブロックを暗号化すれば、暗号文データDencにおいて初期化ベクタ取得情報の暗号文ブロックを最後よりも前に配列できる。これにより、バッファのサイズが小さくとも、初期化ベクタ取得情報の暗号文ブロックをバッファに先に取り込ませることが可能となって、例えば暗号文ブロックC2,C3,C4などよりも先に暗号文ブロックC1を復号できる。
そこで、バッファサイズが大きく、1つの暗号文データDencが一度で取り込めることが保証されているような場合には、暗号化装置100は、第1の実施形態による暗号化を行うとよい。
101 平文データ出力部
102 初期化ベクタ生成部
103 暗号化部
104 暗号文データ出力部
105 送信部
200 復号装置
201 受信部
202 復号部
203 平文データ生成部
300 ICカード
400 リーダライタ
Claims (22)
- 初期化ベクタを生成する初期化ベクタ生成部と、
平文データから分割された平文ブロックのうちの先頭の平文ブロックについて前記初期化ベクタを利用して暗号化し、先頭以外の平文ブロックについて、1つ前の暗号化によって得た暗号文ブロックを利用して暗号化し、復号装置が復号に用いるべき初期化ベクタを取得するのに利用する初期化ベクタ取得情報について、1つ前のブロックを暗号化して得た暗号文ブロックを利用して暗号化する暗号化部と
前記平文データに対応する暗号文ブロックと、前記初期化ベクタ取得情報に対応する暗号文ブロックとを含む暗号文データを出力する暗号文データ出力部と
を備える暗号化装置。 - 前記暗号化部は、
前記初期化ベクタ生成部が出力した初期化ベクタとしての初期化ベクタ取得情報を暗号化する
請求項1に記載の暗号化装置。 - 前記暗号化部は、
初期化ベクタの生成の仕方を示す情報としての前記初期化ベクタ取得情報を暗号化する
請求項1に記載の暗号化装置。 - 前記暗号化部は、
複数の平文データを暗号化するにあたり、共通の初期化ベクタを利用して各平文データにおける先頭の平文ブロックを暗号化し、
第1の平文データの暗号化にあたり、平文ブロックと前記初期化ベクタとしての初期化ベクタ取得情報とを暗号化し、第1の平文データより後ろの第2の平文データの暗号化にあたり、平文ブロックのみを暗号化し、
前記暗号文データ出力部は、
第1の平文データの暗号化の場合、初期化ベクタ取得情報の暗号文ブロックを含む暗号文データを出力し、第2の平文データの暗号化の場合、初期化ベクタ取得情報の暗号文ブロックを含まない暗号文データを出力する
請求項1から3のいずれか一項に記載の暗号化装置。 - 前記暗号化部は、
複数の平文データを暗号化するにあたり、共通の初期化ベクタを利用して各平文データにおける先頭の平文ブロックを暗号化し、
第1の平文データの暗号化にあたり、平文ブロックと前記初期化ベクタとしての初期化ベクタ取得情報とを暗号化し、
第1の平文データより後ろの第2の平文データの暗号化にあたり、前記共通の初期化ベクタを復号に利用すべきことを示す情報としての前記初期化ベクタ取得情報を暗号化し、
第2の平文データより後ろの第3の平文データの暗号化にあたり、前記平文データから分割された平文ブロックのみを暗号化し、
暗号文データ出力部は、
暗号文データ出力部は、
第1の平文データと第2の平文データの暗号化の場合、初期化ベクタ取得情報の暗号文ブロックを含む暗号文データを出力し、第3の平文データの暗号化の場合、初期化ベクタ取得情報の暗号文ブロックを含まない暗号文データを出力する
請求項1から3のいずれか一項に記載の暗号化装置。 - 前記初期化ベクタ生成部は、
複数の平文データを暗号化するにあたり、平文データごとに対応して異なる初期化ベクタを生成し、
前記暗号化部は、
前記複数の平文データのそれぞれを暗号化するにあたり、暗号化対象の平文データに対応する初期化ベクタを利用して先頭の平文ブロックを暗号化するとともに、暗号化対象の平文データに対応する初期化ベクタが特定される内容の初期化ベクタ取得情報を暗号化する
請求項1から3のいずれか一項に記載の暗号化装置。 - 前記暗号化部は、
前記平文データから分割された平文ブロックのうち、最後の平文ブロック以外の所定の平文ブロックを暗号化して得られた暗号文ブロックを利用して初期化ベクタ取得情報を暗号化し、当該初期化ベクタ取得情報を暗号化して得られた暗号文ブロックを利用して、前記所定の平文ブロックの次の平文ブロックを暗号化する
請求項1から6のいずれか一項に記載の暗号化装置。 - 前記暗号化部は、
前記平文データから分割された平文ブロックを暗号化して得られた暗号文ブロックにおける最後の暗号文ブロックを利用して前記前記初期化ベクタ取得情報を暗号化する
請求項1から6のいずれか一項に記載の暗号化装置。 - 暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号部を備え、
前記復号部は、
初期化ベクタ取得情報の暗号文ブロックを復号して得た初期化ベクタ取得情報が示す初期化ベクタの生成の仕方に従って初期化ベクタを生成する
復号装置。 - 暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号部を備え、
前記復号部は、
複数の暗号文データにおける第1の暗号文データを復号するにあたり、第1の暗号文データの復号によって得られた初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して先頭の暗号文ブロックを復号し、
第1の暗号文データより後ろの第2の暗号文ブロックを復号するにあたり、第1の暗号文データの先頭の暗号文ブロックの復号に利用した初期化ベクタを利用する
復号装置。 - 暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号部を備え、
前記復号部は、
複数の暗号文データにおける第1の暗号文データを復号するにあたり、第1の暗号文データの復号によって得られた初期化ベクタ取得情報として取得した初期化ベクタを利用して先頭の暗号文ブロックを復号し、
第1の暗号文データより後ろの第2の暗号文データが含む初期化ベクタ取得情報の暗号文ブロックの復号によって得られた初期化ベクタ取得情報が、第1の暗号文データの復号に利用した初期化ベクタを利用して第2の暗号文データ以降の暗号文データを復号すべきことを示している場合、第2の暗号文データ以降の復号にあたり、第1の暗号文データの復号に利用した初期化ベクタにより先頭の暗号文ブロックを復号する
復号装置。 - 前記復号部は、
初期化ベクタ取得情報の暗号文ブロックを復号して得た初期化ベクタ取得情報を初期化ベクタとして取得する
請求項10または11に記載の復号装置。 - 前記復号部は、
暗号文データに含まれる暗号文ブロックにおける最後と先頭以外の暗号文ブロックを復号して初期化ベクタ取得情報を取得する
請求項9から12のいずれか一項に記載の復号装置。 - 前記復号部は、
暗号文データに含まれる暗号文ブロックのうち最後の暗号文ブロックを復号して初期化ベクタ取得情報を取得する
請求項9から12のいずれか一項に記載の復号装置。 - 初期化ベクタ生成部が、初期化ベクタを生成する初期化ベクタ生成ステップと、
暗号化部が、平文データから分割された平文ブロックのうちの先頭の平文ブロックについて前記初期化ベクタを利用して暗号化し、先頭以外の平文ブロックについて、1つ前の暗号化によって得た暗号文ブロックを利用して暗号化し、復号装置が復号に用いるべき初期化ベクタを取得するのに利用する初期化ベクタ取得情報について、1つ前のブロックを暗号化して得た暗号文ブロックを利用して暗号化する暗号化ステップと
暗号文データ出力部が、前記平文データに対応する暗号文ブロックと、前記初期化ベクタ取得情報に対応する暗号文ブロックとを含む暗号文データを出力する暗号文データ出力ステップと
を備える暗号化装置が行う暗号化方法。 - 復号部が、暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号ステップを備え、
前記復号部は、
初期化ベクタ取得情報の暗号文ブロックを復号して得た初期化ベクタ取得情報が示す初期化ベクタの生成の仕方に従って初期化ベクタを生成する
復号装置が行う復号方法。 - 暗号化装置としてのコンピュータに、
初期化ベクタ生成部が、初期化ベクタを生成する初期化ベクタ生成ステップと、
暗号化部が、平文データから分割された平文ブロックのうちの先頭の平文ブロックについて前記初期化ベクタを利用して暗号化し、先頭以外の平文ブロックについて、1つ前の暗号化によって得た暗号文ブロックを利用して暗号化し、復号装置が復号に用いるべき初期化ベクタを取得するのに利用する初期化ベクタ取得情報について、1つ前のブロックを暗号化して得た暗号文ブロックを利用して暗号化する暗号化ステップと
暗号文データ出力部が、前記平文データに対応する暗号文ブロックと、前記初期化ベクタ取得情報に対応する暗号文ブロックとを含む暗号文データを出力する暗号文データ出力ステップと
を実行させるためのプログラム。 - 復号装置としてのコンピュータに、
復号部が、暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号ステップであって、
初期化ベクタ取得情報の暗号文ブロックを復号して得た初期化ベクタ取得情報が示す初期化ベクタの生成の仕方に従って初期化ベクタを生成する復号ステップ
を実行させるためのプログラム。 - 復号部が、暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号ステップを備え、
前記復号ステップは、
複数の暗号文データにおける第1の暗号文データを復号するにあたり、第1の暗号文データの復号によって得られた初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して先頭の暗号文ブロックを復号し、
第1の暗号文データより後ろの第2の暗号文ブロックを復号するにあたり、第1の暗号文データの先頭の暗号文ブロックの復号に利用した初期化ベクタを利用する
復号装置が行う復号方法。 - 復号部が、暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号ステップを備え、
前記復号ステップは、
複数の暗号文データにおける第1の暗号文データを復号するにあたり、第1の暗号文データの復号によって得られた初期化ベクタ取得情報として取得した初期化ベクタを利用して先頭の暗号文ブロックを復号し、
第1の暗号文データより後ろの第2の暗号文データが含む初期化ベクタ取得情報の暗号文ブロックの復号によって得られた初期化ベクタ取得情報が、第1の暗号文データの復号に利用した初期化ベクタを利用して第2の暗号文データ以降の暗号文データを復号すべきことを示している場合、第2の暗号文データ以降の復号にあたり、第1の暗号文データの復号に利用した初期化ベクタにより先頭の暗号文ブロックを復号する
復号装置が行う復号方法。 - 復号装置としてのコンピュータに、
復号部が、暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号ステップであって、
複数の暗号文データにおける第1の暗号文データを復号するにあたり、第1の暗号文データの復号によって得られた初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して先頭の暗号文ブロックを復号し、第1の暗号文データより後ろの第2の暗号文ブロックを復号するにあたり、第1の暗号文データの先頭の暗号文ブロックの復号に利用した初期化ベクタを利用する復号ステップ
を実行させるためのプログラム。 - 復号装置としてのコンピュータに、
復号部が、暗号文データに含まれる暗号文ブロックのそれぞれについて、1つ前の暗号文ブロックを利用して復号対象の暗号文ブロックを復号し、先頭の暗号文ブロックについては、当該先頭の暗号文ブロックよりも先に復号して得た初期化ベクタ取得情報に基づいて取得した初期化ベクタを利用して復号する復号ステップであって、
複数の暗号文データにおける第1の暗号文データを復号するにあたり、第1の暗号文データの復号によって得られた初期化ベクタ取得情報として取得した初期化ベクタを利用して先頭の暗号文ブロックを復号し、
第1の暗号文データより後ろの第2の暗号文データが含む初期化ベクタ取得情報の暗号文ブロックの復号によって得られた初期化ベクタ取得情報が、第1の暗号文データの復号に利用した初期化ベクタを利用して第2の暗号文データ以降の暗号文データを復号すべきことを示している場合、第2の暗号文データ以降の復号にあたり、第1の暗号文データの復号に利用した初期化ベクタにより先頭の暗号文ブロックを復号する復号ステップ
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013104377A JP6070408B2 (ja) | 2013-05-16 | 2013-05-16 | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013104377A JP6070408B2 (ja) | 2013-05-16 | 2013-05-16 | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014224925A JP2014224925A (ja) | 2014-12-04 |
JP6070408B2 true JP6070408B2 (ja) | 2017-02-01 |
Family
ID=52123641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013104377A Active JP6070408B2 (ja) | 2013-05-16 | 2013-05-16 | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6070408B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583217B (zh) * | 2018-11-21 | 2022-06-07 | 深圳市易讯天空网络技术有限公司 | 一种互联网电商平台用户隐私数据加密及解密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7055039B2 (en) * | 2003-04-14 | 2006-05-30 | Sony Corporation | Protection of digital content using block cipher crytography |
-
2013
- 2013-05-16 JP JP2013104377A patent/JP6070408B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014224925A (ja) | 2014-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6030103B2 (ja) | データ保護装置及びその方法 | |
KR101068367B1 (ko) | 병렬 연산 모드에서 aes 암호화 및 암호 해독을 최적화하는 방법 및 장치 | |
US8634549B2 (en) | Ciphertext key chaining | |
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
US9531534B2 (en) | Generating device, re-encrypting device, method, and computer program product | |
WO2016027454A1 (ja) | 認証暗号化方法、認証復号方法および情報処理装置 | |
US8781117B2 (en) | Generating pseudo random bits from polynomials | |
US9515818B2 (en) | Multi-block cryptographic operation | |
CN105406969B (zh) | 数据加密装置及方法 | |
JP2010529496A (ja) | 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化方法およびデバイス | |
US8804953B2 (en) | Extensive ciphertext feedback | |
US8041033B2 (en) | Cipher feedback with variable block chaining | |
JP6187624B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6167721B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム | |
Iftikhar et al. | Evaluating the Performance Parameters of Cryptographic Algorithms for IOT-based Devices | |
US8774402B2 (en) | Encryption/decryption apparatus and method using AES rijndael algorithm | |
JP6070408B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム | |
US20140294176A1 (en) | Generating device, encryption device, decryption device, generating method, encryption method, decryption method, and computer program product | |
JP6292195B2 (ja) | 情報処理装置及び情報処理方法 | |
JP6348273B2 (ja) | 情報処理システム | |
JP4287397B2 (ja) | 暗号文生成装置、暗号文復号装置、暗号文生成プログラム及び暗号文復号プログラム | |
JP6631989B2 (ja) | 暗号化装置、制御方法、及びプログラム | |
JP5945525B2 (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
WO2021044465A1 (ja) | 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造 | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20161114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6070408 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |