JP5431190B2 - 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム - Google Patents

認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム Download PDF

Info

Publication number
JP5431190B2
JP5431190B2 JP2010020674A JP2010020674A JP5431190B2 JP 5431190 B2 JP5431190 B2 JP 5431190B2 JP 2010020674 A JP2010020674 A JP 2010020674A JP 2010020674 A JP2010020674 A JP 2010020674A JP 5431190 B2 JP5431190 B2 JP 5431190B2
Authority
JP
Japan
Prior art keywords
shift register
feedback shift
stream cipher
key sequence
exclusive
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
Application number
JP2010020674A
Other languages
English (en)
Other versions
JP2011160228A (ja
Inventor
晋作 清本
俊昭 田中
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 JP2010020674A priority Critical patent/JP5431190B2/ja
Publication of JP2011160228A publication Critical patent/JP2011160228A/ja
Application granted granted Critical
Publication of JP5431190B2 publication Critical patent/JP5431190B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号へと拡張する認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラムに関する。
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスに置いては、通信の秘匿を実現するため、暗号が利用される。暗号方式として最も一般的なものは、1つの鍵で暗号化・復号化を行う共通鍵暗号方式であるが、共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式の2つに分けられる。
前者は、最も一般的に用いられている方式であるが、後者の方が処理速度に優れるため、近年注目を集めつつある。一方、認証付き暗号という方式がある。これは、1つのアルゴリズムでメッセージ認証と暗号化を同時に実現しようとするアルゴリズムである(例えば、非特許文献1参照。)。
Philip Hawkes、Cameron McDonald、Michael Paddon、Gregory G. Rose and Miriam Wiggers de Vries, "Specification for NLSv2 、" New Stream Cipher Designs、LNCS、Vol.4986、2008.
しかしながら、従来は、ストリーム暗号を認証付き暗号にするためには、アルゴリズムの再設計が必要であったり、または、設計の段階から認証機能の組み込みを考慮する必要があった。さらには、認証付きストリーム暗号のほとんどすべてが攻撃により破られているという事実もあり、安全な認証付きストリーム暗号はほとんど無いという状況である。
そこで、本発明は、上述の課題に鑑みてなされたものであり、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号へと拡張する認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
(1)本発明は、認証付きストリーム暗号の暗号化装置であって、鍵系列を生成する鍵系列生成手段(例えば、図1の鍵系列生成部20に相当)と、該生成した鍵系列を2つに分割する分割手段(例えば、図1の鍵系列分割部30に相当)と、該分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する第1のXOR演算器(例えば、図1の第1のXOR演算器40に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ(例えば、図1のフィードバックシフトレジスタ50に相当)と、該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器(例えば、図1の第2のXOR演算器60に相当)と、該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器と(例えば、図1の第3のXOR演算器70に相当)、前記フィードバックシフトレジスタから出力されるメッセージ認証子と前記生成した暗号文とを結合させる結合手段(例えば、図1の結合部80に相当)と、該結合された認証付きストリーム暗号を送信する送信手段(例えば、図1の送信部90に相当)と、を備えたことを特徴とする認証付きストリーム暗号の暗号化装置を提案している。
この発明によれば、鍵系列生成手段は、鍵系列を生成する。分割手段は、生成した鍵系列を2つに分割する。第1のXOR演算器は、分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する。フィードバックシフトレジスタは、メッセージ認証子を作成するためのメモリである。第2のXOR演算器は、フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う。第3のXOR演算器は、第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データをフィードバックシフトレジスタに出力する。結合手段は、フィードバックシフトレジスタから出力されるメッセージ認証子と生成した暗号文とを結合させる。送信手段は、結合された認証付きストリーム暗号を送信する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができる。
(2)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、前記平文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。
この発明によれば、平文の入力が終了した後に、固定のビット列を入力して、フィードバックシフトレジスタを空回しする。これにより、安全性を高めることができる。
(3)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。
この発明によれば、フィードバックシフトレジスタが線形フィードバックシフトレジスタである。したがって、簡易な構成と演算でメッセージ認証子を生成することができる。
(4)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。
この発明によれば、非線形関数を備え、フィードバックシフトレジスタが非線形フィードバックシフトレジスタである。つまり、線形フィードバックシフトレジスタの場合よりも構成等が複雑になるが、非線形フィードバックシフトレジスタを用いてもメッセージ認証子を生成することができる。
(5)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。
この発明によれば、フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じる。これにより、ビット単位の処理を行うことができる。
(6)本発明は、認証付きストリーム暗号を復号する認証付きストリーム暗号の復号化装置であって、前記認証付きストリーム暗号を受信する受信手段(例えば、図3の受信部110に相当)と、前記受信した認証付きストリーム暗号から、暗号文を分離する分離手段(例えば、図3の分離部120に相当)と、鍵系列を生成する鍵系列生成手段(例えば、図3の鍵系列生成部20に相当)と、該生成した鍵系列を2つに分割する分割手段(例えば、図3の鍵系列分割部30に相当)と、該分割した一方の鍵系列と暗号文との排他的論理和演算を行って平文を生成する第1のXOR演算器(例えば、図3の第1のXOR演算器40に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ(例えば、図3のフィードバックシフトレジスタ50に相当)と、該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器(例えば、図3の第2のXOR演算器60に相当)と、該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器(例えば、図3の第3のXOR演算器100に相当)と、を備えたことを特徴とする認証付きストリーム暗号の復号化装置を提案している。
この発明によれば、受信手段は、認証付きストリーム暗号を受信する。分離手段は、受信した認証付きストリーム暗号から、暗号文を分離する。鍵系列生成手段は、鍵系列を生成する。分割手段は、生成した鍵系列を2つに分割する。第1のXOR演算器は、分割した一方の鍵系列と暗号文との排他的論理和演算を行って平文を生成する。フィードバックシフトレジスタは、メッセージ認証子を作成するためのメモリである。第2のXOR演算器は、フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う。第3のXOR演算器は、第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データをフィードバックシフトレジスタに出力する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができる。
(7)本発明は、(6)の認証付きストリーム暗号の復号化装置について、前記平文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする認証付きストリーム暗号の復号化装置を提案している。
この発明によれば、平文の入力が終了した後に、固定のビット列を入力して、フィードバックシフトレジスタを空回しする。これにより、安全性を高めることができる。
(8)本発明は、(6)の認証付きストリーム暗号の復号化装置について、前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の復号化装置を提案している。
この発明によれば、フィードバックシフトレジスタが線形フィードバックシフトレジスタである。したがって、簡易な構成と演算でメッセージ認証子を生成することができる。
(9)本発明は、(6)の認証付きストリーム暗号の復号化装置について、非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の復号化装置を提案している。
この発明によれば、非線形関数を備え、フィードバックシフトレジスタが非線形フィードバックシフトレジスタである。つまり、線形フィードバックシフトレジスタの場合よりも構成等が複雑になるが、非線形フィードバックシフトレジスタを用いてもメッセージ認証子を生成することができる。
(10)本発明は、(6)の認証付きストリーム暗号の復号化装置について、前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする認証付きストリーム暗号の復号化装置を提案している。
この発明によれば、フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じる。これにより、ビット単位の処理を行うことができる。
(11)本発明は、認証付きストリーム暗号の暗号化装置における暗号化方法であって、初期鍵と初期ベクトルを読み込む第1のステップ(例えば、図2のステップS101に相当)と、初期化処理を実施する第2のステップ(例えば、図2のステップS102に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図2のステップS103に相当)と、該生成した鍵系列を2分割する第4のステップ(例えば、図2のステップS104に相当)と、該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップ(例えば、図2のステップS105に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップ(例えば、図2のステップS106に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップ(例えば、図2のステップS107に相当)と、該メッセージ認証子と前記生成した暗号文とを結合する第8のステップ(例えば、図2のステップS108に相当)と、該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップ(例えば、図2のステップS109に相当)と、を備えたことを特徴とする暗号化方法を提案している。
この発明によれば、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を2分割し、分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタに入力する。平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する。そして、メッセージ認証子と生成した暗号文とを結合し、結合したメッセージ認証子と生成した暗号文とを送信する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができる。
(12)本発明は、認証付きストリーム暗号の復号化装置における復号化方法であって、前記認証付きストリーム暗号を受信する第1のステップ(例えば、図4のステップS201に相当)と、前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップ(例えば、図4のステップS202に相当)と、初期鍵と初期ベクトルを読み込む第3のステップ(例えば、図4のステップS203に相当)と、初期化処理を実施する第4のステップ(例えば、図4のステップS204に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第5のステップ(例えば、図4のステップS205に相当)と、該生成した鍵系列を2分割する第6のステップ(例えば、図4のステップS206に相当)と、該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップ(例えば、図4のステップS207に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップ(例えば、図4のステップS208に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップ(例えば、図4のステップS209に相当)と、該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップ(例えば、図4のステップS210に相当)と、を備えたことを特徴とする復号化方法を提案している。
この発明によれば、認証付きストリーム暗号を受信し、受信した認証付きストリーム暗号から、暗号文を分離する。次に、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。さらに、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を2分割し、分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する。メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタに入力する。平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する。そして、出力したメッセージ認証子と分離したメッセージ認証子が一致するか否かを検証する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができる。
(13)本発明は、認証付きストリーム暗号の暗号化装置における暗号化方法を実行するためのプログラムであって、初期鍵と初期ベクトルを読み込む第1のステップ(例えば、図2のステップS101に相当)と、初期化処理を実施する第2のステップ(例えば、図2のステップS102に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図2のステップS103に相当)と、該生成した鍵系列を2分割する第4のステップ(例えば、図2のステップS104に相当)と、該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップ(例えば、図2のステップS105に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップ(例えば、図2のステップS106に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップ(例えば、図2のステップS107に相当)と、該メッセージ認証子と前記生成した暗号文とを結合する第8のステップ(例えば、図2のステップS108に相当)と、該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップ(例えば、図2のステップS109に相当)と、を実行するためのプログラムを提案している。
この発明によれば、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を2分割し、分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタに入力する。平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する。そして、メッセージ認証子と生成した暗号文とを結合し、結合したメッセージ認証子と生成した暗号文とを送信する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができる。
(14)本発明は、認証付きストリーム暗号の復号化装置における復号化方法を実行するためのプログラムであって、前記認証付きストリーム暗号を受信する第1のステップ(例えば、図4のステップS201に相当)と、前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップ(例えば、図4のステップS202に相当)と、初期鍵と初期ベクトルを読み込む第3のステップ(例えば、図4のステップS203に相当)と、初期化処理を実施する第4のステップ(例えば、図4のステップS204に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第5のステップ(例えば、図4のステップS205に相当)と、該生成した鍵系列を2分割する第6のステップ(例えば、図4のステップS206に相当)と、該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップ(例えば、図4のステップS107に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップ(例えば、図4のステップS208に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップ(例えば、図4のステップS209に相当)と、該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップ(例えば、図4のステップS210に相当)と、を実行するためのプログラムを提案している。
この発明によれば、認証付きストリーム暗号を受信し、受信した認証付きストリーム暗号から、暗号文を分離する。次に、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。さらに、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を2分割し、分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する。メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と暗号文との排他的論理和演算を行い、順次、フィードバックシフトレジスタに入力する。暗号文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する。そして、出力したメッセージ認証子と分離したメッセージ認証子が一致するか否かを検証する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができる。
本発明によれば、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができるという効果がある。また、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができるという効果がある。
本実施形態に係る認証付きストリーム暗号の暗号化装置の構成を示す図である。 本実施形態に係る認証付きストリーム暗号の暗号化装置の処理を示す図である。 本実施形態に係る認証付きストリーム暗号の復号化装置の構成を示す図である。 本実施形態に係る認証付きストリーム暗号の復号化装置の処理を示す図である。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<認証付きストリーム暗号の暗号化装置の構成>
本実施形態に係る認証付きストリーム暗号の暗号化装置は、図1に示すように、初期化処理部10と、鍵系列生成部20と、鍵系列分割部30と、第1のXOR演算器40と、フィードバックシフトレジスタ50と、第2のXOR演算器60と、第3のXOR演算器70と、結合部80と、送信部90とから構成されている。
初期化処理部10は、初期鍵と初期ベクトルを読み込んで初期化処理を行う。鍵系列生成部20は、鍵系列生成処理を実行して鍵系列を生成する。鍵系列分割部30は、生成した鍵系列を2つに分割する。ここで、一方は、暗号化用に、もう一方は、メッセージ認証子作成用に用いられる。
第1のXOR演算器40は、分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する。フィードバックシフトレジスタ50は、メッセージ認証子を作成するためのメモリであり、線形フィードバックシフトレジスタであっても、非線形フィードバックシフトレジスタであってもよい。また、フィードバックシフトレジスタ50は、メッセージ認証子と同じ長さを持ち、フィードバックシフトレジスタ50がワード単位となる場合は、係数αを乗じることで、ビット単位のフィードバックシフトレジスタを構成することができる。
第2のXOR演算器60は、フィードバックシフトレジスタ50のうち、任意の2つのレジスタの排他的論理和演算を行う。第3のXOR演算器70は、第2のXOR演算器60の出力データと平文と他方の鍵系列との排他的論理和演算を行い、出力データをフィードバックシフトレジスタ50に出力する。
結合部80は、フィードバックシフトレジスタ50から出力されるメッセージ認証子と生成した暗号文とを結合させる。送信部90は、結合された認証付きストリーム暗号を復号化装置に送信する。
<認証付きストリーム暗号の暗号化装置の処理>
図2を用いて、本実施形態に係る認証付きストリーム暗号の暗号化装置の処理について説明する。
まず、初期化処理部10は、初期鍵と初期ベクトルを読み込み(ステップS101)、初期化処理を実施する(ステップS102)。鍵系列生成部20は、鍵系列生成処理を実行し、鍵系列を生成する(ステップS103)。そして、鍵系列分割部30は、生成した鍵系列を2分割する(ステップS104)。
第1のXOR演算器40は、分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する(ステップS105)。また、第3のXOR演算器70は、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ50のうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタ50に入力する(ステップS106)。
平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタ50の空回しを行ってメッセージ認証子を出力する(ステップS107)。そして、結合部80がメッセージ認証子と生成した暗号文とを結合し(ステップS108)、送信部90が結合したメッセージ認証子と生成した暗号文とを送信する(ステップS109)。
したがって、以上より、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができる。
<認証付きストリーム暗号の復号化装置の構成>
本実施形態に係る認証付きストリーム暗号の復号化装置は、図3に示すように、初期化処理部10と、鍵系列生成部20と、鍵系列分割部30と、第1のXOR演算器40と、フィードバックシフトレジスタ50と、第2のXOR演算器60と、第3のXOR演算器100と、受信部110と、分離部120と、検証部130とから構成されている。なお、上記の認証付きストリーム暗号の暗号化装置と同一の符号を付す構成要素については、同一の機能を有するため、その詳細な説明は、省略する。
第3のXOR演算器100は、第2のXOR演算器60の出力データと平文と他方の鍵系列との排他的論理和演算を行い、出力データをフィードバックシフトレジスタ50に出力する。受信部110は、認証付きストリーム暗号の暗号化装置から認証付きストリーム暗号を受信する。
分離部120は、受信した認証付きストリーム暗号を暗号文とメッセージ認証子に分離する。検証部130は、フィードバックシフトレジスタ50から出力されるメッセージ認証子と、分離して得られたメッセージ認証子とを比較して、一致するか否かを検証する。
<認証付きストリーム暗号の復号化装置の処理>
図4を用いて、本実施形態に係る認証付きストリーム暗号の復号化装置の処理について説明する。
まず、受信部110は、認証付きストリーム暗号を受信し(ステップS201)、分離部120が受信した認証付きストリーム暗号から、暗号文を分離する(ステップS202)。次に、初期化処理部10は、初期鍵と初期ベクトルを読み込み(ステップS203)、初期化処理を実施する(ステップS204)。鍵系列生成部20は、鍵系列生成処理を実行し、鍵系列を生成する(ステップS205)。そして、鍵系列分割部30は、生成した鍵系列を2分割する(ステップS206)。
第1のXOR演算器40は、分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する(ステップS207)。また、第3のXOR演算器100は、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ50のうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタ50に入力する(ステップS208)。
平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタ50の空回しを行ってメッセージ認証子を出力する(ステップS209)。そして、出力したメッセージ認証子と分離したメッセージ認証子とが一致するか否かを検証部130が検証する(ステップS210)。
したがって、以上より、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができる。
なお、認証付きストリーム暗号の暗号化装置および認証付きストリーム暗号の復号化装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを認証付きストリーム暗号の暗号化装置および認証付きストリーム暗号の復号化装置に読み込ませ、実行することによって本発明の認証付きストリーム暗号の暗号化装置および認証付きストリーム暗号の復号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10;初期化処理部
20;鍵系列生成部
30;鍵系列分割部
40;第1のXOR演算器
50;フィードバックシフトレジスタ
60;第2のXOR演算器
70;第3のXOR演算器
80;結合部
90;送信部
100;第3のXOR演算器
110;受信部
120;分離部
130;検証部

Claims (14)

  1. 認証付きストリーム暗号の暗号化装置であって、
    鍵系列を生成する鍵系列生成手段と、
    該生成した鍵系列を2つに分割する分割手段と、
    該分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する第1のXOR演算器と、
    メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタと、
    該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器と、
    該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器と、
    前記フィードバックシフトレジスタから出力されるメッセージ認証子と前記生成した暗号文とを結合させる結合手段と、
    該結合された認証付きストリーム暗号を送信する送信手段と、
    を備えたことを特徴とする認証付きストリーム暗号の暗号化装置。
  2. 前記平文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。
  3. 前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。
  4. 非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。
  5. 前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。
  6. 認証付きストリーム暗号を復号する認証付きストリーム暗号の復号化装置であって、
    前記認証付きストリーム暗号を受信する受信手段と、
    前記受信した認証付きストリーム暗号から、暗号文を分離する分離手段と、
    鍵系列を生成する鍵系列生成手段と、
    該生成した鍵系列を2つに分割する分割手段と、
    該分割した一方の鍵系列と暗号文との排他的論理和演算を行って平文を生成する第1のXOR演算器と、
    メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタと、
    該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器と、
    該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器と、
    を備えたことを特徴とする認証付きストリーム暗号の復号化装置。
  7. 前記暗号文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。
  8. 前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。
  9. 非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。
  10. 前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。
  11. 認証付きストリーム暗号の暗号化装置における暗号化方法であって、
    初期鍵と初期ベクトルを読み込む第1のステップと、
    初期化処理を実施する第2のステップと、
    鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
    該生成した鍵系列を2分割する第4のステップと、
    該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップと、
    メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップと、
    平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップと、
    該メッセージ認証子と前記生成した暗号文とを結合する第8のステップと、
    該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップと、
    を備えたことを特徴とする暗号化方法。
  12. 認証付きストリーム暗号の復号化装置における復号化方法であって、
    前記認証付きストリーム暗号を受信する第1のステップと、
    前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップと、
    初期鍵と初期ベクトルを読み込む第3のステップと、
    初期化処理を実施する第4のステップと、
    鍵系列生成処理を実行し、鍵系列を生成する第5のステップと、
    該生成した鍵系列を2分割する第6のステップと、
    該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップと、
    メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップと、
    平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップと、
    該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップと、
    を備えたことを特徴とする復号化方法。
  13. 認証付きストリーム暗号の暗号化装置における暗号化方法を実行するためのプログラムであって、
    初期鍵と初期ベクトルを読み込む第1のステップと、
    初期化処理を実施する第2のステップと、
    鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
    該生成した鍵系列を2分割する第4のステップと、
    該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップと、
    メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップと、
    平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップと、
    該メッセージ認証子と前記生成した暗号文とを結合する第8のステップと、
    該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップと、
    を実行するためのプログラム。
  14. 認証付きストリーム暗号の復号化装置における復号化方法を実行するためのプログラムであって、
    前記認証付きストリーム暗号を受信する第1のステップと、
    前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップと、
    初期鍵と初期ベクトルを読み込む第3のステップと、
    初期化処理を実施する第4のステップと、
    鍵系列生成処理を実行し、鍵系列を生成する第5のステップと、
    該生成した鍵系列を2分割する第6のステップと、
    該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップと、
    メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップと、
    平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップと、
    該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップと、
    を実行するためのプログラム。
JP2010020674A 2010-02-01 2010-02-01 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム Active JP5431190B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010020674A JP5431190B2 (ja) 2010-02-01 2010-02-01 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020674A JP5431190B2 (ja) 2010-02-01 2010-02-01 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2011160228A JP2011160228A (ja) 2011-08-18
JP5431190B2 true JP5431190B2 (ja) 2014-03-05

Family

ID=44591802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020674A Active JP5431190B2 (ja) 2010-02-01 2010-02-01 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5431190B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
JP4712017B2 (ja) * 2006-11-13 2011-06-29 韓國電子通信研究院 ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Also Published As

Publication number Publication date
JP2011160228A (ja) 2011-08-18

Similar Documents

Publication Publication Date Title
Rijmen et al. Advanced encryption standard
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
JP5855696B2 (ja) 完全性検証を含むブロック暗号化方法およびブロック復号化方法
EP2058781B1 (en) Encryption device, encryption method, and computer program
EP3167569B1 (en) Method and system for providing a secure update of code on a memory-constrained device
CN111066077B (zh) 加密装置、加密方法、解密装置以及解密方法
JP5047198B2 (ja) 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム
WO2016067524A1 (ja) 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム
Aldaya et al. AES T-Box tampering attack
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
JP4909668B2 (ja) ハイブリッド暗号化装置およびハイブリッド暗号化方法
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2012039180A (ja) ストリーム暗号の暗号器、ストリーム暗号の復号器、ストリーム暗号の暗号方法、ストリーム暗号の復号方法およびプログラム
Buell Modern symmetric ciphers—Des and Aes
JP5431190B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2013098722A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム
JP5102536B2 (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5801095B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP6203387B2 (ja) 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP5415020B2 (ja) ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5706751B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP5495825B2 (ja) ストリーム暗号の秘匿計算暗号化装置、ストリーム暗号の秘匿計算復号化装置、暗号化方法、復号化方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120830

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: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5431190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150