JP6273223B2 - 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム - Google Patents
暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム Download PDFInfo
- Publication number
- JP6273223B2 JP6273223B2 JP2015036189A JP2015036189A JP6273223B2 JP 6273223 B2 JP6273223 B2 JP 6273223B2 JP 2015036189 A JP2015036189 A JP 2015036189A JP 2015036189 A JP2015036189 A JP 2015036189A JP 6273223 B2 JP6273223 B2 JP 6273223B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- tag
- message
- authentication data
- block
- 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
Images
Description
SPONGEWRAPの暗号化関数は、ステートと呼ばれるbビットのデータを、bビットの置換f:{0,1}b→{0,1}bと入力データ(N,A,M)と鍵Kを用いて繰り返しアップデートを行いながらCとTを計算する。またbビットのステートは、レートと呼ばれるrビットと、キャパシティと呼ばれるc(=b−r)ビットに分割される。暗号化関数の計算の際、ステートの値は予め定められた初期値IVと呼ばれるbビットの値に初期化され(例えばIV=0)、fによりbビットの置換が行われ、ステートが更新される。暗号化関数の具体的な計算手順は以下の手順1から手順4で説明される通りである。図1に、SPONGEWRAPの暗号化での計算構造を示す。
鍵Kをr−1ビット毎に分割する。最終ブロックでは10*パディングと呼ばれるパディング処理を施す。具体的には、最終ブロックのビット長がr−1ビットより短い場合には、1ビットの値“1”を与し、その後r−1ビットになるまでビット“0”を付与する。最終ブロックのビット長が丁度r−1ビットの場合には、次のブロックの先頭のビットとして 1 ビットの値“1”を与し、その後r−1ビットになるまでビット“0”を付与する。
ナンスNと追加認証データAを連結し、r−1ビット毎に分割する。最終ブロックに対しては10*パディングを施す。NとAの連結をr−1ビット毎に分割したそれぞれの値に、1ビットのフレームビットを連結し、rビットにする。具体的には、最初のブロックから最終ブロックの一つ手前のブロックまではフレームビットを“0”とし、最終ブロックのみフレームビットを“1”とする。bビットのステートのうち、レート部分のrビットに対し、NもしくはAとフレームビットを連結した rビットの値との排他的論理和を計算し、置換fを計算する。fの出力を新たなステート値とする。この操作をN,Aの最終ブロックが排他的論理和されるまで続ける。
メッセージMをr−1ビット毎に分割する。最終ブロックに対しては10*パディングを施す。Mの連結をr−1ビット毎に分割したそれぞれの値に、1ビットのフレームビットを連結し、rビットにする。具体的には、最初のブロックから最終ブロックの一つ手前のブロックまではフレームビットを“1”とし、最終ブロックのみフレームビットを“0”とする。
bビットのステートのうち、レート部分のrビットをタグのrビットとして出力する。ステートに対し置換fを計算し、fの出力を新たなステート値とする。この操作をタグのビット数に達するまで続ける。タグ長がrの倍数でない場合、最後のrビットの出力を必要な端数に切り捨ててタグの出力とする。
SPONGEWRAPの復号関数は、暗号化関数とほぼ同様の計算を行う。図2に、SPONGEWRAPの復号での計算構造を示す。ステートはIVに初期化され、暗号化関数の手順1,2同じ処理を行う。手順3は暗号化関数と異なっており、bビットのステートのうち、レート部分のrビットとCのrビットの排他的論理和をとり、パディングやフレームビット付与の逆手順を通した値をM’のr−1ビットとする。bビットのステートのうち、レート部分のrビットをCのrビットに置き換え、置換fを計算する。fの出力を新たなステート値とする。この操作をCの最終ブロックが排他的論理和されるまで続ける。Cの最終ブロックのサイズがrの倍数でない場合、端数分のみをM’の生成とステートの置き換えに利用する。手順3終了後、暗号化関数の手順4と同じ処理を行い、タグT’を得る。計算したT’と受け取ったTを比較し、同じ値であればM’を復号されたメッセージとして出力する。一致しなかった場合は、復号に失敗したという結果を出力する。
非特許文献2に示されたdonkeySpongeは、SPONGEWRAPの追加認証データ処理部分を利用してメッセージ認証コードを計算する方法である。図3にdonkeySpongeの計算構造を示す。メッセージ認証コードを生成する目的では、鍵Kおよび入力Aをbビットステートの全ビットに排他的論理和をしても安全性を損なうことが無く、効率的に入力データを処理することができる。
非特許文献2に示されたmonkeyDuplexは、SPONGEWRAPのKとNの処理方法に工夫を加え、より効率的な計算を可能にする方法である。Kのcビットまでを、IVのcビットのキャパシティ部分とする。もしくは、Kのcビットまでと、別に定義されたcビット定数との排他的論理和をIVのcビットのキャパシティ部分とする。いずれの方法も、暗号化関数,復号関数で手順 1(Kの処理)におけるfの計算関数を少なくすることができるため、計算効率が上昇する。なお、Kがcビットに満たない場合、適切なパディングによりIVのcビットがすべて定義されるようにする。
非特許文献3に示されたciphertext translationはSPONGEWRAPとは異なり、ブロック暗号をベースに設計された追加認証データ付認証暗号で追加認証データAを処理する汎用的な方法である。タグ長さをtとする。ciphertext translationでは、メッセージMのみに依存する暗号文Cおよびメッセージ部のタグTMの計算と、追加認証データAのみに依存するtビットのタグTAを独立に計算する。最後に、CおよびTMから任意のtビットを選び、TAとの排他的論理和の結果をタグTとして出力する。
暗号化装置100は、初期値設定部110、メッセージ分割部120、暗号化部130、追加認証データ分割部140、追加認証データタグ計算部150、タグ計算部160、出力部190を備える。初期値設定部110は、ナンスNとなるビット列をすべてのビットが“0”のビット列以外から選択する。そして、初期値設定部110は、NとKを用いてbビットの第1初期値と第1初期値とは異なるbビットの第2初期値を生成し、第1初期値をfにより置換した結果を第1ステートとし、第2初期値をfにより置換した結果を第2ステートとする(S110)。例えば、初期値設定部110は、第1初期値として、レート部分にNを埋め込み、キャパシティ部分にKを埋め込み、第2初期値として、レート部分にゼロを埋め込み、キャパシティ部分にKを埋め込めばよい。「埋め込む」とは、例えば、Nのビット数がrより小さいときはパディングによってrビットにした上でレート部分にすることを意味している。また、Nのビット数がrよりも大きい場合はNからrビットを切り出す、もしくはハッシュ関数などを用いてrビットに変換してレート部分にしてもよい。fはSPONGEWRAPで説明した置換と同じであり、あらかじめ暗号化装置100と復号装置200との間で定めておく。図6では、110を付した点線で囲まれた部分が初期値設定部に相当する。
復号装置200は、入力部290、初期値設定部210、暗号文分割部220、復号部230、追加認証データ分割部240、追加認証データタグ計算部250、タグ計算部260、検証部270を備える。入力部290は、暗号化装置100が送信したC,T,A,Nの組を取得する(S290)。
本発明の暗号化システムによれば、メッセージMの処理と追加認証データAの処理とが別々に実行されるフローなので、任意の順番で送信されるM,Aに対して、データを受信後即座に処理を開始できる。よって、従来技術よりも広い範囲のプロトコルで演算効率を保つことができる。また、SPONGEWRAPでは追加認証データAの処理とメッセージMの処理とが連続して実行されていたので、追加認証データAの処理とメッセージMの処理とを区別するためにフレームビットが必要であった。しかし、本発明の暗号化システムでは、メッセージMの処理と追加認証データAの処理とが別々に実行されるので、フレームビットが必要ない。よって、暗号化部や復号部でのrビット単位の処理において、rビットすべてをメッセージMや暗号文Cのために使用できる。したがって、各ブロックでの処理の効率を1ビット向上させる。さらに、フレームビットを必要としないことにより、演算構造を単純化できるので、実装者が実装を誤る可能性を低くできる。さらに、初期値設定部110,210の工夫により、ciphertext translationでは必要だった鍵の個数を2個から1個に減らすことができるので、システムの鍵管理コストを削減できる。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
120 メッセージ分割部 130 暗号化部
140,240 追加認証データ分割部
150,250 追加認証データタグ計算部
160,260 タグ計算部 190 出力部
200 復号装置 220 暗号文分割部
230 復号部 270 検証部
290 入力部 800 ネットワーク
Claims (8)
- 暗号化装置と復号装置を有する暗号化システムであって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Qを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを恒等写像を除くcビットの置換演算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置は、
Nを選択し、NとKを用いてbビットの暗号化用第1初期値と前記暗号化用第1初期値とは異なるbビットの暗号化用第2初期値を生成し、前記暗号化用第1初期値をfにより置換した結果を第1ステートとし、前記暗号化用第2初期値をfにより置換した結果を第2ステートとする暗号化用初期値設定部と、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm1,…,mPに分割するメッセージ分割部と、
(1)第1ステートのレート部分に対してメッセージブロックmpとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdpとするとともに、第1ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たな第1ステートとする処理を、p=1からp=P−1まで繰り返し、
(2)第1ステートのレート部分に対してメッセージブロックmPとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdPとするともに、第1ステートのレート部分を当該計算結果に置き換え、キャパシティ部分をgにより置換した上で、fにより置換した結果を新たな第1ステートとする処理を行い、
(3)暗号ブロックd1,…,dPの結合処理を用いて暗号文Cを求め、
(4)S=1の場合は第1ステートのレート部分からメッセージタグTMを求め、S≧2の場合は、第1ステートのレート部分をメッセージタグブロックtM1とし、さらに、第1ステートをfにより置換した結果を新たな第1ステートとしてレート部分をメッセージタグブロックtMsとする処理をs=2からs=Sまで繰り返し、メッセージタグブロックtM1,…,tMSを用いてメッセージタグTMを求める
暗号化部と、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa1,…,aQに分割する暗号化用追加認証データ分割部と、
第2ステートに対して追加認証データブロックaqとの排他的論理和を計算し、さらにfにより置換した結果を新たな第2ステートとする処理を、q=1からq=Qまで繰り返し、S=1の場合は第2ステートのレート部分からメッセージタグTMを求め、S≧2の場合は、第2ステートのレート部分を追加認証データタグブロックtA1とし、さらに、第2ステートをfにより置換した結果を新たな第2ステートとしてレート部分を追加認証データタグブロックtAsとする処理をs=2からs=Sまで繰り返し、追加認証データタグブロックtA1,…,tASを用いて追加認証データタグTAを求める暗号化用追加認証データタグ計算部と、
メッセージタグTMと追加認証データタグTAとの排他的論理和を用いてタグTを求める暗号化用タグ計算部と、
C,T,A,Nの組を出力する出力部と、
を備え、
前記復号装置は、
C,T,A,Nの組を取得する入力部と、
NとKを用いてbビットの復号用第1初期値と前記復号用第1初期値とは異なるbビットの復号用第2初期値を生成し、前記復号用第1初期値をfにより置換した結果を第1ステートとし、前記復号用第2初期値をfにより置換した結果を第2ステートとする復号用初期値設定部と、
暗号文Cを、rビットごとの暗号ブロックd1,…,dPに分割する暗号文分割部と、
(1)第1ステートのレート部分に対して暗号ブロックdpとの排他的論理和を計算し、計算結果をrビットのメッセージブロックmp’とするとともに、第1ステートのレート部分を暗号ブロックdpに置き換えた上でfにより置換した結果を新たな第1ステートとする処理を、p=1からp=P−1まで繰り返し、
(2)第1ステートのレート部分に対して暗号ブロックdPとの排他的論理和を計算し、計算結果をrビットのメッセージブロックmP’とするともに、第1ステートのレート部分を暗号ブロックdPに置き換え、キャパシティ部分をgにより置換した上で、fにより置換した結果を新たな第1ステートとする処理を行い、
(3)メッセージブロックm1’,…,mP’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とし、
(4)S=1の場合は第1ステートのレート部分からメッセージタグTM’を求め、S≧2の場合は、第1ステートのレート部分をメッセージタグブロックtM1’とし、さらに、第1ステートをfにより置換した結果を新たな第1ステートとしてレート部分をメッセージタグブロックtMs’とする処理をs=2からs=Sまで繰り返し、メッセージタグブロックtM1’,…,tMS’を用いてメッセージタグTM’を求める
復号部と、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa1,…,aQに分割する復号用追加認証データ分割部と、
第2ステートに対して追加認証データブロックaqとの排他的論理和を計算し、さらにfにより置換した結果を新たな第2ステートとする処理を、q=1からq=Qまで繰り返し、S=1の場合は第2ステートのレート部分からメッセージタグTM’を求め、S≧2の場合は、第2ステートのレート部分を追加認証データタグブロックtA1’とし、さらに、第2ステートをfにより置換した結果を新たな第2ステートとしてレート部分を追加認証データタグブロックtAs’とする処理をs=2からs=Sまで繰り返し、追加認証データタグブロックtA1’,…,tAS’を用いて追加認証データタグTA’を求める復号用追加認証データタグ計算部と、
メッセージタグTM’と追加認証データタグTA’との排他的論理和を用いてタグT’を求める復号用タグ計算部と、
タグTとタグT’とを比較する検証部と
を備える
暗号化システム。 - 請求項1記載の暗号化システムであって、
前記暗号化用初期値設定部は、暗号化用第1初期値として、レート部分にNを埋め込み、キャパシティ部分にKを埋め込み、暗号化用第2初期値として、レート部分にゼロを埋め込み、キャパシティ部分にKを埋め込み、
前記復号用初期値設定部は、復号用第1初期値として、レート部分にNを埋め込み、キャパシティ部分にKを埋め込み、復号用第2初期値として、レート部分にゼロを埋め込み、キャパシティ部分にKを埋め込む
ことを特徴とする暗号化システム。 - 請求項1または2記載の暗号化システムであって、
置換演算gは、(c−1)個の“0”と1個の“1”からなるビット数cのビット列との排他的論理和である
ことを特徴とする暗号化システム。 - Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Qを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを恒等写像を除くcビットの置換演算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
Nを選択し、NとKを用いてbビットの第1初期値と前記第1初期値とは異なるbビットの第2初期値を生成し、前記第1初期値をfにより置換した結果を第1ステートとし、前記第2初期値をfにより置換した結果を第2ステートとする初期値設定部と、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm1,…,mPに分割するメッセージ分割部と、
(1)第1ステートのレート部分に対してメッセージブロックmpとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdpとするとともに、第1ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たな第1ステートとする処理を、p=1からp=P−1まで繰り返し、
(2)第1ステートのレート部分に対してメッセージブロックmPとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdPとするともに、第1ステートのレート部分を当該計算結果に置き換え、キャパシティ部分をgにより置換した上で、fにより置換した結果を新たな第1ステートとする処理を行い、
(3)暗号ブロックd1,…,dPの結合処理を用いて暗号文Cを求め、
(4)S=1の場合は第1ステートのレート部分からメッセージタグTMを求め、S≧2の場合は、第1ステートのレート部分をメッセージタグブロックtM1とし、さらに、第1ステートをfにより置換した結果を新たな第1ステートとしてレート部分をメッセージタグブロックtMsとする処理をs=2からs=Sまで繰り返し、メッセージタグブロックtM1,…,tMSを用いてメッセージタグTMを求める
暗号化部と、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa1,…,aQに分割する暗号化用追加認証データ分割部と、
第2ステートに対して追加認証データブロックaqとの排他的論理和を計算し、さらにfにより置換した結果を新たな第2ステートとする処理を、q=1からq=Qまで繰り返し、S=1の場合は第2ステートのレート部分からメッセージタグTMを求め、S≧2の場合は、第2ステートのレート部分を追加認証データタグブロックtA1とし、さらに、第2ステートをfにより置換した結果を新たな第2ステートとしてレート部分を追加認証データタグブロックtAsとする処理をs=2からs=Sまで繰り返し、追加認証データタグブロックtA1,…,tASを用いて追加認証データタグTAを求める暗号化用追加認証データタグ計算部と、
メッセージタグTMと追加認証データタグTAとの排他的論理和を用いてタグTを求める暗号化用タグ計算部と、
C,T,A,Nの組を出力する出力部と
を備える暗号化装置。 - Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Qを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを恒等写像を除くcビットの置換演算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
C,T,A,Nの組を取得する入力部と
NとKを用いてbビットの第1初期値と前記第1初期値とは異なるbビットの第2初期値を生成し、前記第1初期値をfにより置換した結果を第1ステートとし、前記第2初期値をfにより置換した結果を第2ステートとする初期値設定部と、
暗号文Cを、rビットごとの暗号ブロックd1,…,dPに分割する暗号文分割部と、
(1)第1ステートのレート部分に対して暗号ブロックdpとの排他的論理和を計算し、計算結果をrビットのメッセージブロックmp’とするとともに、第1ステートのレート部分を暗号ブロックdpに置き換えた上でfにより置換した結果を新たな第1ステートとする処理を、p=1からp=P−1まで繰り返し、
(2)第1ステートのレート部分に対して暗号ブロックdPとの排他的論理和を計算し、計算結果をrビットのメッセージブロックmP’とするともに、第1ステートのレート部分を暗号ブロックdPに置き換え、キャパシティ部分をgにより置換した上で、fにより置換した結果を新たな第1ステートとする処理を行い、
(3)メッセージブロックm1’,…,mP’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とし、
(4)S=1の場合は第1ステートのレート部分からメッセージタグTM’を求め、S≧2の場合は、第1ステートのレート部分をメッセージタグブロックtM1’とし、さらに、第1ステートをfにより置換した結果を新たな第1ステートとしてレート部分をメッセージタグブロックtMs’とする処理をs=2からs=Sまで繰り返し、メッセージタグブロックtM1’,…,tMS’を用いてメッセージタグTM’を求める
復号部と、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa1,…,aQに分割する復号用追加認証データ分割部と、
第2ステートに対して追加認証データブロックaqとの排他的論理和を計算し、さらにfにより置換した結果を新たな第2ステートとする処理を、q=1からq=Qまで繰り返し、S=1の場合は第2ステートのレート部分からメッセージタグTM’を求め、S≧2の場合は、第2ステートのレート部分を追加認証データタグブロックtA1’とし、さらに、第2ステートをfにより置換した結果を新たな第2ステートとしてレート部分を追加認証データタグブロックtAs’とする処理をs=2からs=Sまで繰り返し、追加認証データタグブロックtA1’,…,tAS’を用いて追加認証データタグTA’を求める復号用追加認証データタグ計算部と、
メッセージタグTM’と追加認証データタグTA’との排他的論理和を用いてタグT’を求める復号用タグ計算部と、
タグTとタグT’とを比較する検証部と
を備える復号装置。 - 暗号化装置と復号装置とで実行する暗号化方法であって、
Kを前記暗号化装置と前記復号装置の両方で共有する秘密鍵、Aを追加認証データ、Mをメッセージ、Cを暗号文、Tをタグ、K,A,Mをビット列、Nをすべてのビットが“0”のビット列を除くビット列、r,c,b,P,Qを1以上の整数、b=r+c、pを1以上P以下の整数、qを1以上Q以下の整数、Sをあらかじめ定めた1以上の整数、sを1以上S以下の整数、fをbビットの置換演算、gを恒等写像を除くcビットの置換演算とし、
ステートを、あらかじめ定められたrビットがレート部分、cビットがキャパシティ部分であるbビットのビット列とし、
前記暗号化装置が、
Nを選択し、NとKを用いてbビットの暗号化用第1初期値と前記暗号化用第1初期値とは異なるbビットの暗号化用第2初期値を生成し、前記暗号化用第1初期値をfにより置換した結果を第1ステートとし、前記暗号化用第2初期値をfにより置換した結果を第2ステートとする暗号化用初期値設定ステップと、
メッセージMを、パディングを用いてrビットごとのメッセージブロックm1,…,mPに分割するメッセージ分割ステップと、
(1)第1ステートのレート部分に対してメッセージブロックmpとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdpとするとともに、第1ステートのレート部分を当該計算結果に置き換えた上でfにより置換した結果を新たな第1ステートとする処理を、p=1からp=P−1まで繰り返し、
(2)第1ステートのレート部分に対してメッセージブロックmPとの排他的論理和を計算し、計算結果をrビットの暗号ブロックdPとするともに、第1ステートのレート部分を当該計算結果に置き換え、キャパシティ部分をgにより置換した上で、fにより置換した結果を新たな第1ステートとする処理を行い、
(3)暗号ブロックd1,…,dPの結合処理を用いて暗号文Cを求め、
(4)S=1の場合は第1ステートのレート部分からメッセージタグTMを求め、S≧2の場合は、第1ステートのレート部分をメッセージタグブロックtM1とし、さらに、第1ステートをfにより置換した結果を新たな第1ステートとしてレート部分をメッセージタグブロックtMsとする処理をs=2からs=Sまで繰り返し、メッセージタグブロックtM1,…,tMSを用いてメッセージタグTMを求める
暗号化ステップと、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa1,…,aQに分割する暗号化用追加認証データ分割ステップと、
第2ステートに対して追加認証データブロックaqとの排他的論理和を計算し、さらにfにより置換した結果を新たな第2ステートとする処理を、q=1からq=Qまで繰り返し、S=1の場合は第2ステートのレート部分からメッセージタグTMを求め、S≧2の場合は、第2ステートのレート部分を追加認証データタグブロックtA1とし、さらに、第2ステートをfにより置換した結果を新たな第2ステートとしてレート部分を追加認証データタグブロックtAsとする処理をs=2からs=Sまで繰り返し、追加認証データタグブロックtA1,…,tASを用いて追加認証データタグTAを求める暗号化用追加認証データタグ計算ステップと、
メッセージタグTMと追加認証データタグTAとの排他的論理和を用いてタグTを求める暗号化用タグ計算ステップと、
C,T,A,Nの組を出力する出力ステップと、
を実行し、
前記復号装置が、
C,T,A,Nの組を取得する入力ステップと、
NとKを用いてbビットの復号用第1初期値と前記復号用第1初期値とは異なるbビットの復号用第2初期値を生成し、前記復号用第1初期値をfにより置換した結果を第1ステートとし、前記復号用第2初期値をfにより置換した結果を第2ステートとする復号用初期値設定ステップと、
暗号文Cを、rビットごとの暗号ブロックd1,…,dPに分割する暗号文分割ステップと、
(1)第1ステートのレート部分に対して暗号ブロックdpとの排他的論理和を計算し、計算結果をrビットのメッセージブロックmp’とするとともに、第1ステートのレート部分を暗号ブロックdpに置き換えた上でfにより置換した結果を新たな第1ステートとする処理を、p=1からp=P−1まで繰り返し、
(2)第1ステートのレート部分に対して暗号ブロックdPとの排他的論理和を計算し、計算結果をrビットのメッセージブロックmP’とするともに、第1ステートのレート部分を暗号ブロックdPに置き換え、キャパシティ部分をgにより置換した上で、fにより置換した結果を新たな第1ステートとする処理を行い、
(3)メッセージブロックm1’,…,mP’からパディングで付加されたビットを取り除いた結合をしてメッセージM’とし、
(4)S=1の場合は第1ステートのレート部分からメッセージタグTM’を求め、S≧2の場合は、第1ステートのレート部分をメッセージタグブロックtM1’とし、さらに、第1ステートをfにより置換した結果を新たな第1ステートとしてレート部分をメッセージタグブロックtMs’とする処理をs=2からs=Sまで繰り返し、メッセージタグブロックtM1’,…,tMS’を用いてメッセージタグTM’を求める
復号ステップと、
追加認証データAを、パディングを用いてbビットごとの追加認証データブロックa1,…,aQに分割する復号用追加認証データ分割ステップと、
第2ステートに対して追加認証データブロックaqとの排他的論理和を計算し、さらにfにより置換した結果を新たな第2ステートとする処理を、q=1からq=Qまで繰り返し、S=1の場合は第2ステートのレート部分からメッセージタグTM’を求め、S≧2の場合は、第2ステートのレート部分を追加認証データタグブロックtA1’とし、さらに、第2ステートをfにより置換した結果を新たな第2ステートとしてレート部分を追加認証データタグブロックtAs’とする処理をs=2からs=Sまで繰り返し、追加認証データタグブロックtA1’,…,tAS’を用いて追加認証データタグTA’を求める復号用追加認証データタグ計算ステップと、
メッセージタグTM’と追加認証データタグTA’との排他的論理和を用いてタグT’を求める復号用タグ計算ステップと、
タグTとタグT’とを比較する検証ステップと
を実行する
暗号化方法。 - 請求項4記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。
- 請求項5記載の復号装置としてコンピュータを機能させるための復号プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015036189A JP6273223B2 (ja) | 2015-02-26 | 2015-02-26 | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015036189A JP6273223B2 (ja) | 2015-02-26 | 2015-02-26 | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016157052A JP2016157052A (ja) | 2016-09-01 |
JP6273223B2 true JP6273223B2 (ja) | 2018-01-31 |
Family
ID=56825965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015036189A Active JP6273223B2 (ja) | 2015-02-26 | 2015-02-26 | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6273223B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006019152A1 (ja) * | 2004-08-19 | 2006-02-23 | Hitachi, Ltd. | メッセージ認証装置及び認証暗号装置 |
JP5131187B2 (ja) * | 2006-03-14 | 2013-01-30 | 日本電気株式会社 | 情報処理システム、情報処理方法および情報処理プログラム |
US20090119510A1 (en) * | 2007-11-06 | 2009-05-07 | Men Long | End-to-end network security with traffic visibility |
CN102725737B (zh) * | 2009-12-04 | 2016-04-20 | 密码研究公司 | 可验证防泄漏的加密和解密 |
JP5427117B2 (ja) * | 2010-06-11 | 2014-02-26 | 日本電信電話株式会社 | メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム |
JP5852518B2 (ja) * | 2012-06-18 | 2016-02-03 | 日本電信電話株式会社 | 認証暗号化装置、認証復号装置、およびプログラム |
-
2015
- 2015-02-26 JP JP2015036189A patent/JP6273223B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016157052A (ja) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2526505B1 (en) | Device and method for obtaining a cryptographic key | |
JP5710460B2 (ja) | 暗号化鍵生成装置およびプログラム | |
CN112600665B (zh) | 一种基于区块链和加密技术的隐蔽通信方法、装置及系统 | |
US9521128B2 (en) | Using a hash of a filename to control encoding/decoding of a digital file | |
CN105721156B (zh) | 对数据进行编码和数字签名的方法和相关设备 | |
US11349668B2 (en) | Encryption device and decryption device | |
US11468009B2 (en) | Secure compression | |
JP6120961B2 (ja) | 特定フォーマットを有する代替データの生成および検証 | |
US11303617B2 (en) | Methods and apparatuses for oblivious transfer using trusted environment | |
CN111800257A (zh) | 一种3d模型加密传输方法、解密方法 | |
CN107534549B (zh) | 可读存储介质、用于数据流字块加密的方法及系统 | |
JP6273226B2 (ja) | 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法 | |
JP6273224B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法 | |
RU2710670C2 (ru) | Криптографическая система и способ | |
US20220321322A1 (en) | Encryption device, decryption device, encryption method, decryption method, and computer readable medium | |
JP6273223B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム | |
US10320559B2 (en) | Network communication encoder using key pattern encryption | |
JP6273225B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム | |
Omote et al. | D2-POR: direct repair and dynamic operations in network coding-based proof of retrievability | |
JP4914329B2 (ja) | メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体 | |
Gorke et al. | Cloud storage file recoverability | |
US20230113612A1 (en) | Apparatus and Method for Generating Physical Unclonable Function (PUF) Based Challenge Response Pair | |
JP2019015916A (ja) | 追加データ付き認証暗号システム、暗号化装置、復号装置、追加データ付き認証暗号方法、およびプログラム | |
JP2011138015A (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体 | |
JP2009033608A (ja) | 正当性検証装置及び正当性検証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171211 |
|
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: 20171226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6273223 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |