JP2016004170A - 暗号化装置及び復号装置、暗号化方法及び復号方法、並びに暗号化プログラム及び復号プログラム - Google Patents

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

Info

Publication number
JP2016004170A
JP2016004170A JP2014124726A JP2014124726A JP2016004170A JP 2016004170 A JP2016004170 A JP 2016004170A JP 2014124726 A JP2014124726 A JP 2014124726A JP 2014124726 A JP2014124726 A JP 2014124726A JP 2016004170 A JP2016004170 A JP 2016004170A
Authority
JP
Japan
Prior art keywords
plaintext
encryption
decryption
random number
intermediate 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.)
Pending
Application number
JP2014124726A
Other languages
English (en)
Inventor
清本 晋作
Shinsaku Kiyomoto
晋作 清本
三宅 優
Masaru Miyake
優 三宅
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2014124726A priority Critical patent/JP2016004170A/ja
Publication of JP2016004170A publication Critical patent/JP2016004170A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号化及び復号アルゴリズムを実現する暗号化装置及び復号装置並びに暗号化方法及び復号方法を提供すること。【解決手段】暗号化装置10は、乱数を発生させ、発生させた乱数と特定の関数とを用いて平文を暗号化し、暗号化した中間平文を作成し、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、中間平文に対して、ストリーム暗号化を行う。復号装置50は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、暗号化装置10によって暗号化された暗号文を復号した中間平文に対して、平文の暗号化に用いられた特定の関数の逆関数を作用させて中間平文を乱数と平文とに分けて、平文を出力する。【選択図】図1

Description

本発明は、暗号化装置及び復号装置、暗号化方法及び復号方法、並びに暗号化プログラム及び復号プログラムに関する。
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスにおいては、通信の秘匿を実現するため、暗号が利用される。暗号方式として最も一般的なものは、1つの鍵で暗号化と復号とを行う共通鍵暗号方式であるが、共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式の2つに分けられる。前者は、最も一般的に用いられている方式であるが、後者の方が処理速度に優れるため、近年注目を集めつつある。ストリーム暗号は、初期鍵と初期ベクトル(IV)を初期化処理により攪拌して、初期の内部状態を生成し、生成した状態を逐次更新しながら、暗号化の各系列を生成する。従来のストリーム暗号では、初期鍵は秘密情報として保持して毎回同じものを使うのに対し、初期ベクトルについては毎回異なる値を使用することで、安全性を確保している。
このようなストリーム暗号における同期型鍵ストリーム暗号方式において、簡易な鍵同期を実現した暗号通信システムを開示する特許文献1が知られている。この暗号通信システムは、暗号化装置が、乱数を復号装置へ送信し、その乱数を鍵によって変換し、変換した乱数を暗号化鍵として用いて平文を暗号化し、送信する。復号装置は、受信した乱数を用いて暗号化鍵に変換し、変換した暗号化鍵を用いて復号し平文を得る。
特開2000−209195号公報
しかしながら、攻撃者が意図的に同じ初期ベクトルを入力することを促すことによって同じ初期ベクトルが入力されたり、実装のミスにより高い確率で同じ初期ベクトルが入力されてしまう、などの問題がある。このような場合には安全性が確保されない。
そこで、ストリーム暗号において、同一の初期ベクトルが入力されたとしても安全なアルゴリズムを実現する装置が求められている。
本発明は、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号化及び復号アルゴリズムを実現する暗号化装置及び復号装置並びに暗号化方法及び復号方法を提供することを目的とする。
本発明は、ストリーム暗号の構造を変えずに前処理を追加することで同じ初期ベクトルが入力されたとしても安全なストリーム暗号を実現する手法を提案する。本手法によって、上記のような課題が解決される。
本手法は、初期鍵及び初期ベクトルを入力してストリーム暗号アルゴリズムを初期化し、その後、暗号化を行うストリーム暗号方式であって、平文に対してアルゴリズム内部で生成した乱数をある関数に従って作用させた中間平文を生成し、中間平文に対して暗号化を行う手法である。また、本手法は、初期鍵及び初期ベクトルを入力してストリーム暗号アルゴリズムを初期化し、その後、復号を行うストリーム暗号方式であって、暗号文を通常の手順で復号後、得られた中間平文に対してある逆関数を作用させて平文と乱数に分割し、乱数を削除して平文を取り出す復号手法である。上記の関数及び逆関数としてAONT(All or Nothing Transform)を用いる。
暗号化は、次のような手順である。
(1)ストリーム暗号アルゴリズムに初期鍵及び初期ベクトルを入力し初期化する。
(2)平文をAONTによる前処理を実施して、内部で生成した乱数と混ぜ合わせる。これを中間平文とする。
(3)ストリーム暗号処理によって、入力された中間平文の暗号化を行う。暗号文が出力される。
復号は、次のような手順である。
(1)暗号文を通常の処理と同様に、ストリーム暗号アルゴリズムを初期化して復号処理を実施する。
(2)復号により中間平文が得られるので、これをAONTの逆処理により、平文と乱数に分ける。
(3)乱数を取り除き、平文を出力する。
具体的には、以下のような解決手段を提供する。
(1) ストリーム暗号アルゴリズムを用いて平文を暗号化する暗号化装置であって、乱数を発生する乱数発生手段と、前記乱数発生手段によって発生された乱数と特定の関数とを用いて前記平文を暗号化し、暗号化した中間平文を作成する中間平文作成手段と、初期鍵及び初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記中間平文作成手段によって作成された前記中間平文に対して、ストリーム暗号化を行うストリーム暗号化手段と、を備える暗号化装置。
(1)の構成によれば、(1)に係る暗号化装置は、乱数を発生させ、発生させた乱数と特定の関数とを用いて平文を暗号化し、暗号化した中間平文を作成し、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、中間平文に対して、ストリーム暗号化を行う。
すなわち、(1)に係る暗号化装置は、平文から暗号化した中間平文を作成し、中間平文に対して、ストリーム暗号化を行う。
したがって、(1)に係る暗号化装置は、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号アルゴリズムを実現することができる。
(2) 前記特定の関数は、第1ハッシュ関数と第2ハッシュ関数とを含み、前記中間平文作成手段は、前記第1ハッシュ関数を用いて前記乱数から第1ハッシュ値を算出する暗号化第1手段と、前記暗号化第1手段によって算出された前記第1ハッシュ値と、前記平文との排他的論理和を算出し、第1中間平文を作成する第1中間平文作成手段と、前記第2ハッシュ関数を用いて前記第1中間平文から第2ハッシュ値を算出する暗号化第2手段と、前記暗号化第2手段によって算出された前記第2ハッシュ値と、前記乱数との排他的論理和を算出し、第2中間平文を作成する第2中間平文作成手段と、前記第1中間平文作成手段によって作成された前記第1中間平文と、前記第2中間平文作成手段によって作成された前記第2中間平文とを連結した前記中間平文を作成する連結手段と、をさらに備える(1)に記載された暗号化装置。
すなわち、(2)に係る暗号化装置は、第1ハッシュ関数を用いて乱数から第1ハッシュ値を算出し、算出した第1ハッシュ値と、平文との排他的論理和を算出して第1中間平文を作成する。次に、第2ハッシュ関数を用いて第1中間平文から第2ハッシュ値を算出し、算出した第2ハッシュ値と、乱数との排他的論理和を算出し、第2中間平文を作成し、第1中間平文と、第2中間平文とを連結した中間平文を作成する。
したがって、(1)に係る暗号化装置は、ストリーム暗号のアルゴリズムを変更する事無く、ハッシュ関数を用いて、同一の同一初期ベクトルが入力されたとしても安全な暗号化アルゴリズムを実現することができる。
(3) (1)に記載された暗号化装置によって暗号化された暗号文を復号する復号装置であって、前記初期鍵及び前記初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記暗号化装置によって暗号化された前記暗号文を復号する復号手段と、前記復号手段によって復号された前記中間平文に対して、前記中間平文作成手段によって用いられた前記特定の関数の逆関数を作用させ、前記中間平文を前記乱数と前記平文とに分けて、前記平文を出力する平文復号手段と、を備える復号装置。
(3)の構成によれば、(3)に係る復号装置は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、(1)に係る暗号化装置によって暗号化された暗号文を復号した中間平文に対して、平文の暗号化に用いられた特定の関数の逆関数を作用させて中間平文を乱数と平文とに分けて、平文を出力する。
すなわち、(3)に係る復号装置は、復号した中間平文に対して、暗号化に用いられた特定の関数の逆関数を作用させて、平文を出力する。
したがって、(3)に係る復号装置は、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な復号アルゴリズムを実現することができる。
(4) (2)に記載された暗号化装置によって暗号化された暗号文を復号する復号装置であって、前記平文復号手段は、前記中間平文を、前記第1中間平文と前記第2中間平文とに分離させる分離手段と、前記分離手段によって分離された前記第1中間平文から、前記第2ハッシュ関数を用いて前記第2ハッシュ値を算出する復号第2手段と、前記復号第2手段によって算出された前記第2ハッシュ値と、前記分離手段によって分離された前記第2中間平文との排他的論理和を算出し、前記中間平文作成手段によって用いられた前記乱数を抽出する乱数抽出手段と、前記乱数抽出手段によって抽出された前記乱数から、前記第1ハッシュ関数を用いて、前記第1ハッシュ値を算出する復号第1手段と、前記復号第1手段によって算出された前記第1ハッシュ値と、前記分離手段によって分離された前記第1中間平文との排他的論理和を算出し、前記中間平文作成手段によって用いられた前記平文を抽出する平文抽出手段と、をさらに備える(3)に記載された復号装置。
すなわち、(4)に係る復号装置は、中間平文を、第1中間平文と第2中間平文とに分離させ、分離させた第1中間平文から、第2ハッシュ関数を用いて第2ハッシュ値を算出し、算出した第2ハッシュ値と、第2中間平文との排他的論理和を算出し、平文の暗号化に用いられた乱数を抽出し、抽出した乱数から、第1ハッシュ関数を用いて、第1ハッシュ値を算出し、算出した第1ハッシュ値と、第1中間平文との排他的論理和を算出し、平文を抽出する。
したがって、(4)に係る復号装置は、ストリーム暗号のアルゴリズムを変更する事無く、ハッシュ関数を用いて、同一の初期ベクトルが入力されたとしても安全な復号アルゴリズムを実現することができる。
(5) (1)に記載された暗号化装置が実行する暗号化方法であって、前記乱数発生手段が、乱数を発生する乱数発生ステップと、前記中間平文作成手段が、前記乱数発生ステップによって発生された乱数と特定の関数とを用いて前記平文を暗号化し、暗号化した中間平文を作成する中間平文作成ステップと、前記ストリーム暗号化手段が、初期鍵及び初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記中間平文作成ステップによって作成された前記中間平文に対して、ストリーム暗号化を行うストリーム暗号化ステップと、を備える暗号化方法。
したがって、(5)に係る暗号化方法は、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号アルゴリズムを実現することができる。
(6) (3)に記載された復号装置が実行する復号方法であって、前記復号手段が、前記初期鍵及び前記初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記暗号化装置によって暗号化された前記暗号文を復号する復号ステップと、前記平文復号手段が、前記復号ステップによって復号された前記中間平文に対して、前記中間平文作成手段によって用いられた前記特定の関数の逆関数を作用させ、前記中間平文を前記乱数と前記平文とに分けて、前記平文を出力する平文復号ステップと、を備える復号方法。
したがって、(6)に係る復号方法は、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な復号アルゴリズムを実現することができる。
(7) コンピュータに、(5)に記載された暗号化方法の各ステップを実行させるための暗号化プログラム。
したがって、(7)に係る暗号化プログラムは、コンピュータに、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号化アルゴリズムを実現させることができる。
(8) コンピュータに、(6)に記載された復号方法の各ステップを実行させるための復号プログラム。
したがって、(8)に係る復号プログラムは、コンピュータに、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な復号アルゴリズムを実現させることができる。
本発明によれば、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号化及び復号アルゴリズムを実現することができる。
その結果、本発明は、様々なストリーム暗号の評価に広く適用できる。従って、ストリーム暗号を使用するようなブロードバンド事業や、携帯電話を始めとするモバイル通信におけるシステム構築に広く利用できる。例えば、通信の各システム構築、サービス提供やブロードバンド事業におけるコンテンツサービスに利用できる。特に高速な暗号処理を必要とするバックボーンネットワークにおいて有効な技術である。
本発明の一実施形態に係る暗号化装置及び復号装置の構成を示すブロック図である。 本発明の一実施形態に係る暗号化アルゴリズム及び復号アルゴリズムを説明するための図である。 本発明の一実施形態に係る暗号化装置における平文から中間平文への暗号化を説明するための図である。 本発明の一実施形態に係る復号装置における中間平文から平文の復号を説明するための図である。 本発明の一実施形態に係る暗号化装置の処理を示すフローチャートである。 本発明の一実施形態に係る復号装置の処理を示すフローチャートである。
以下、本発明の実施形態について、図を参照しながら説明する。
図1は、本発明の一実施形態に係る暗号化装置10及び復号装置50の構成を示すブロック図である。図2は、本発明の一実施形態に係る暗号化アルゴリズム及び復号アルゴリズムを説明するための図である。
暗号化装置10は、乱数発生手段11と、中間平文作成手段12と、ストリーム暗号化手段13とを備え、乱数と特定の関数とを用いて平文を暗号化した中間平文を作成し、作成した中間平文をストリーム暗号化し、ストリーム暗号化した暗号文を作成する。
復号装置50は、復号手段51と、平文復号手段52とを備え、暗号化装置10によって暗号化された暗号文を復号し、復号した中間平文から、暗号化装置10によって用いられた特定の関数の逆関数を作用させて、平文を出力する。
暗号化装置10の各手段について説明する。
乱数発生手段11は、乱数102を発生する。乱数発生手段11は、真の乱数を発生させる乱数発生器であってもよいし、疑似乱数を発生させる乱数発生プログラムであってもよい。
中間平文作成手段12は、乱数発生手段11によって発生された乱数102と特定の関数111とを用いて平文101を暗号化し、暗号化した中間平文201を作成する。
ストリーム暗号化手段13は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、中間平文作成手段12によって作成された中間平文201に対して、ストリーム暗号化を行う。ストリーム暗号化により、暗号文301が作成される。
暗号化装置10は、ストリーム暗号化手段13によってストリーム暗号化された暗号文301を復号装置50に送信する送信手段を備えるとしてもよい。
復号装置50の各手段について説明する。
復号手段51は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、暗号化装置10によって暗号化された暗号文301を復号する。
平文復号手段52は、復号手段51によって復号された中間平文201に対して、暗号化装置10の中間平文作成手段12によって用いられた特定の関数の逆関数を作用させ、中間平文201を乱数102と平文101とに分けて、平文101を出力する。
復号装置50は、暗号化装置10によって送信された暗号文301を受信する受信手段を備えるとしてもよい。
暗号化装置10の中間平文の作成について図3に基づいて説明する。図3は、本発明の一実施形態に係る暗号化装置10における平文から中間平文への暗号化を説明するための図である。
中間平文作成手段12における特定の関数は、第1ハッシュ関数1111と第2ハッシュ関数1113とを含む。中間平文作成手段12は、暗号化第1手段121と、第1中間平文作成手段122と、暗号化第2手段123と、第2中間平文作成手段124と、連結手段125とを備える。中間平文作成手段12の各手段について説明する。
暗号化第1手段121は、第1ハッシュ関数1111を用いて乱数102から第1ハッシュ値を算出する。
第1中間平文作成手段122は、暗号化第1手段121によって算出された第1ハッシュ値と、平文101との排他的論理和を算出(XOR演算1112)し、第1中間平文2011を作成する。
暗号化第2手段123は、第2ハッシュ関数1113を用いて第1中間平文2011から第2ハッシュ値を算出する。
第2中間平文作成手段124は、暗号化第2手段123によって算出された第2ハッシュ値と、乱数102との排他的論理和を算出(XOR演算1114)し、第2中間平文2012を作成する。
連結手段125は、第1中間平文作成手段122によって作成された第1中間平文2011と、第2中間平文作成手段124によって作成された第2中間平文2012とを連結した中間平文201を作成する。
復号装置50の平文の抽出について図4に基づいて説明する。図4は、本発明の一実施形態に係る復号装置50における中間平文から平文の復号を説明するための図である。
平文復号手段52は、分離手段521と、復号第2手段522と、乱数抽出手段523と、復号第1手段524と、平文抽出手段525とを備える。平文復号手段52の各手段について説明する。
分離手段521は、中間平文201を、第1中間平文2011と第2中間平文2012とに分離させる。
復号第2手段522は、分離手段521によって分離された第1中間平文2011から、第2ハッシュ関数1113を用いて第2ハッシュ値を算出する。
乱数抽出手段523は、復号第2手段522によって算出された第2ハッシュ値と、分離手段521によって分離された第2中間平文2012との排他的論理和を算出(XOR演算1114)し、中間平文作成手段12によって用いられた乱数102を抽出する。
復号第1手段524は、乱数抽出手段523によって抽出された乱数102から、第1ハッシュ関数1111を用いて、第1ハッシュ値を算出する。
平文抽出手段525は、復号第1手段524によって算出された第1ハッシュ値と、分離手段521によって分離された第1中間平文2011との排他的論理和を算出(XOR演算1112)し、中間平文作成手段12によって用いられた平文101を抽出する。
図5は、本発明の一実施形態に係る暗号化装置10の処理を示すフローチャートである。暗号化装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。
ステップS101において、CPU(乱数発生手段11)は、乱数102を発生させる。
ステップS102において、CPU(中間平文作成手段12)は、ステップS101において発生された乱数102と特定の関数111とを用いて平文101を暗号化し、暗号化した中間平文201を作成する。より具体的には、CPU(暗号化第1手段121)は、第1ハッシュ関数1111を用いて乱数102から第1ハッシュ値を算出する。次に、CPU(第1中間平文作成手段122)は、算出した第1ハッシュ値と、平文101との排他的論理和を算出し、第1中間平文2011を作成する。次に、CPU(暗号化第2手段123)は、第2ハッシュ関数1113を用いて第1中間平文2011から第2ハッシュ値を算出する。次に、CPU(第2中間平文作成手段124)は、算出した第2ハッシュ値と、乱数102との排他的論理和を算出し、第2中間平文2012を作成する。次に、CPU(連結手段125)は、第1中間平文2011と、第2中間平文2012とを連結した中間平文201を作成する。
ステップS103において、CPU(ストリーム暗号化手段13)は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、ステップS102において作成された中間平文201に対して、ストリーム暗号化を行い、暗号文301を作成する。
図6は、本発明の一実施形態に係る復号装置50の処理を示すフローチャートである。復号装置50は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。
ステップS201において、CPU(復号手段51)は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、暗号化装置10によって暗号化された暗号文301を復号し、中間平文を取得する。
ステップS202において、CPU(平文復号手段52)は、ステップS201において復号された中間平文201に対して、暗号化装置10によって用いられた特定の関数の逆関数を作用させ、中間平文201を乱数102と平文101とに分けて、平文101を出力する。より具体的には、CPU(分離手段521)は、中間平文201を、第1中間平文2011と第2中間平文2012とに分離させる。次に、CPU(復号第2手段522)は、分離させた第1中間平文2011から、第2ハッシュ関数1113を用いて第2ハッシュ値を算出する。次に、CPU(乱数抽出手段523)は、算出した第2ハッシュ値と、分離させた第2中間平文2012との排他的論理和を算出し、乱数102を抽出する。次に、CPU(復号第1手段524)は、抽出した乱数102から、第1ハッシュ関数1111を用いて、第1ハッシュ値を算出する。次に、CPU(平文抽出手段525)は、算出した第1ハッシュ値と、分離させた第1中間平文2011との排他的論理和を算出し、平文101を抽出する。
本実施形態によれば、暗号化装置10は、乱数を発生させ、発生させた乱数と特定の関数とを用いて平文を暗号化し、暗号化した中間平文を作成し、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、中間平文に対して、ストリーム暗号化を行う。復号装置50は、初期鍵及び初期ベクトルを用いてストリーム暗号アルゴリズムを初期化し、暗号化装置10によって暗号化された暗号文を復号した中間平文に対して、平文の暗号化に用いられた特定の関数の逆関数を作用させて中間平文を乱数と平文とに分けて、平文を出力する。
したがって、暗号化装置10は、ストリーム暗号のアルゴリズムを変更する事無く、同一の初期ベクトルが入力されたとしても安全な暗号化アルゴリズムを実現することができ、復号装置50は、安全な復号アルゴリズムを実現することができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
10 暗号化装置
11 乱数発生手段
12 中間平文作成手段
121 暗号化第1手段
122 第1中間平文作成手段
123 暗号化第2手段
124 第2中間平文作成手段
125 連結手段
13 ストリーム暗号化手段
50 復号装置
51 復号手段
52 平文復号手段
521 分離手段
522 復号第2手段
523 乱数抽出手段
524 復号第1手段
525 平文抽出手段

Claims (8)

  1. ストリーム暗号アルゴリズムを用いて平文を暗号化する暗号化装置であって、
    乱数を発生する乱数発生手段と、
    前記乱数発生手段によって発生された乱数と特定の関数とを用いて前記平文を暗号化し、暗号化した中間平文を作成する中間平文作成手段と、
    初期鍵及び初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記中間平文作成手段によって作成された前記中間平文に対して、ストリーム暗号化を行うストリーム暗号化手段と、
    を備える暗号化装置。
  2. 前記特定の関数は、第1ハッシュ関数と第2ハッシュ関数とを含み、
    前記中間平文作成手段は、
    前記第1ハッシュ関数を用いて前記乱数から第1ハッシュ値を算出する暗号化第1手段と、
    前記暗号化第1手段によって算出された前記第1ハッシュ値と、前記平文との排他的論理和を算出し、第1中間平文を作成する第1中間平文作成手段と、
    前記第2ハッシュ関数を用いて前記第1中間平文から第2ハッシュ値を算出する暗号化第2手段と、
    前記暗号化第2手段によって算出された前記第2ハッシュ値と、前記乱数との排他的論理和を算出し、第2中間平文を作成する第2中間平文作成手段と、
    前記第1中間平文作成手段によって作成された前記第1中間平文と、前記第2中間平文作成手段によって作成された前記第2中間平文とを連結した前記中間平文を作成する連結手段と、をさらに備える請求項1に記載された暗号化装置。
  3. 請求項1に記載された暗号化装置によって暗号化された暗号文を復号する復号装置であって、
    前記初期鍵及び前記初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記暗号化装置によって暗号化された前記暗号文を復号する復号手段と、
    前記復号手段によって復号された前記中間平文に対して、前記中間平文作成手段によって用いられた前記特定の関数の逆関数を作用させ、前記中間平文を前記乱数と前記平文とに分けて、前記平文を出力する平文復号手段と、
    を備える復号装置。
  4. 請求項2に記載された暗号化装置によって暗号化された暗号文を復号する復号装置であって、
    前記平文復号手段は、
    前記中間平文を、前記第1中間平文と前記第2中間平文とに分離させる分離手段と、
    前記分離手段によって分離された前記第1中間平文から、前記第2ハッシュ関数を用いて前記第2ハッシュ値を算出する復号第2手段と、
    前記復号第2手段によって算出された前記第2ハッシュ値と、前記分離手段によって分離された前記第2中間平文との排他的論理和を算出し、前記中間平文作成手段によって用いられた前記乱数を抽出する乱数抽出手段と、
    前記乱数抽出手段によって抽出された前記乱数から、前記第1ハッシュ関数を用いて、前記第1ハッシュ値を算出する復号第1手段と、
    前記復号第1手段によって算出された前記第1ハッシュ値と、前記分離手段によって分離された前記第1中間平文との排他的論理和を算出し、前記中間平文作成手段によって用いられた前記平文を抽出する平文抽出手段と、
    をさらに備える請求項3に記載された復号装置。
  5. 請求項1に記載された暗号化装置が実行する暗号化方法であって、
    前記乱数発生手段が、乱数を発生する乱数発生ステップと、
    前記中間平文作成手段が、前記乱数発生ステップによって発生された乱数と特定の関数とを用いて前記平文を暗号化し、暗号化した中間平文を作成する中間平文作成ステップと、
    前記ストリーム暗号化手段が、初期鍵及び初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記中間平文作成ステップによって作成された前記中間平文に対して、ストリーム暗号化を行うストリーム暗号化ステップと、
    を備える暗号化方法。
  6. 請求項3に記載された復号装置が実行する復号方法であって、
    前記復号手段が、前記初期鍵及び前記初期ベクトルを用いて前記ストリーム暗号アルゴリズムを初期化し、前記暗号化装置によって暗号化された前記暗号文を復号する復号ステップと、
    前記平文復号手段が、前記復号ステップによって復号された前記中間平文に対して、前記中間平文作成手段によって用いられた前記特定の関数の逆関数を作用させ、前記中間平文を前記乱数と前記平文とに分けて、前記平文を出力する平文復号ステップと、
    を備える復号方法。
  7. コンピュータに、請求項5に記載された暗号化方法の各ステップを実行させるための暗号化プログラム。
  8. コンピュータに、請求項6に記載された復号方法の各ステップを実行させるための復号プログラム。
JP2014124726A 2014-06-17 2014-06-17 暗号化装置及び復号装置、暗号化方法及び復号方法、並びに暗号化プログラム及び復号プログラム Pending JP2016004170A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014124726A JP2016004170A (ja) 2014-06-17 2014-06-17 暗号化装置及び復号装置、暗号化方法及び復号方法、並びに暗号化プログラム及び復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014124726A JP2016004170A (ja) 2014-06-17 2014-06-17 暗号化装置及び復号装置、暗号化方法及び復号方法、並びに暗号化プログラム及び復号プログラム

Publications (1)

Publication Number Publication Date
JP2016004170A true JP2016004170A (ja) 2016-01-12

Family

ID=55223481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014124726A Pending JP2016004170A (ja) 2014-06-17 2014-06-17 暗号化装置及び復号装置、暗号化方法及び復号方法、並びに暗号化プログラム及び復号プログラム

Country Status (1)

Country Link
JP (1) JP2016004170A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2148462A1 (en) * 2008-07-22 2010-01-27 University College Cork A differential side-channel analysis countermeasure
JP2011130312A (ja) * 2009-12-21 2011-06-30 Kddi Corp ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
US20140052983A1 (en) * 2012-02-01 2014-02-20 Cisco Technology Inc. Known Plaintext Attack Protection
WO2014109059A1 (ja) * 2013-01-11 2014-07-17 株式会社日立製作所 データの暗号化記憶システム及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2148462A1 (en) * 2008-07-22 2010-01-27 University College Cork A differential side-channel analysis countermeasure
JP2011130312A (ja) * 2009-12-21 2011-06-30 Kddi Corp ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
US20140052983A1 (en) * 2012-02-01 2014-02-20 Cisco Technology Inc. Known Plaintext Attack Protection
WO2014109059A1 (ja) * 2013-01-11 2014-07-17 株式会社日立製作所 データの暗号化記憶システム及び方法

Similar Documents

Publication Publication Date Title
US20180013555A1 (en) Data transmission method and apparatus
CN110335043B (zh) 一种基于区块链系统的交易隐私保护方法、设备以及系统
TW202113646A (zh) 非對稱密鑰中的私鑰生成和使用方法、裝置和設備
CN110235409A (zh) 使用同态加密被保护的rsa签名或解密的方法
US10721059B2 (en) Apparatus and method for data encryption, apparatus and method for data decryption
US10305689B2 (en) Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
CN103368975B (zh) 一种批量数据安全传输的方法及系统
US11463235B2 (en) Encryption device, encryption method, program, decryption device, and decryption method
CN1820448B (zh) 用于使用三阶段加密来加密和验证消息的系统和方法
CN113726725A (zh) 一种数据加解密方法、装置、电子设备及存储介质
EP2873187A1 (en) Method of encrypting data
Sidik et al. Improving one-time pad algorithm on Shamir’s three-pass protocol scheme by using RSA and ElGamal algorithms
CN112054896B (zh) 白盒加密方法、装置、终端及存储介质
Musliyana et al. Security enhancement of advanced encryption standard (AES) using time-based dynamic key generation
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
US9219606B2 (en) Method and device for digital data blocks encryption and decryption
WO2019225735A1 (ja) データ処理装置、方法及びコンピュータプログラム
US10110373B2 (en) System and method for manipulating both the plaintext and ciphertext of an encryption process prior to dissemination to an intended recipient
CN113645235A (zh) 分布式数据加解密系统及加解密方法
JP2003516659A (ja) 1の補数暗号コンバイナ
CN116488795B (zh) 一种gcm-aes处理方法和装置
CN112149166B (zh) 非常规密码保护方法及银行智能机器
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
CN110474967B (zh) 块链实验系统及方法
CN107483387A (zh) 一种安全控制方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403