JP5559011B2 - ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム - Google Patents

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

Info

Publication number
JP5559011B2
JP5559011B2 JP2010245945A JP2010245945A JP5559011B2 JP 5559011 B2 JP5559011 B2 JP 5559011B2 JP 2010245945 A JP2010245945 A JP 2010245945A JP 2010245945 A JP2010245945 A JP 2010245945A JP 5559011 B2 JP5559011 B2 JP 5559011B2
Authority
JP
Japan
Prior art keywords
stream
key sequence
plaintext
exclusive
outputs
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.)
Expired - Fee Related
Application number
JP2010245945A
Other languages
English (en)
Other versions
JP2012100078A (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 JP2010245945A priority Critical patent/JP5559011B2/ja
Publication of JP2012100078A publication Critical patent/JP2012100078A/ja
Application granted granted Critical
Publication of JP5559011B2 publication Critical patent/JP5559011B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラムに関する。
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
ストリーム暗号方式の一例としては、乱数系列のビットデータを入力し、変換されたビットデータを複数の内部メモリから出力する非線形関数器であって、入力した乱数系列のビットデータと複数の内部メモリのうち一部の内部メモリデータとを加算する加算器と、入力データを非線形置換する非線形置換器と、を備え、複数の内部メモリが少なくとも非線形置換器を介して、環状に接続されストリーム暗号装置が提案されている(例えば、特許文献1参照。)。上記、従来技術によれば、安全かつ高速な処理を可能とする非線形関数器およびこれを用いたストリーム暗号の暗号化装置等を提供することができる。
特開2006−327982号公報
ところが、暗号化したデータの長期保存を目的とした場合、より高度な安全性を求められる場合がある。ブロック暗号方式では、ラウンド関数の実行回数を増加させることで、安全性を向上させることができる。一方で、ストリーム暗号においてどのようにして効率よく安全性を向上させるかは、課題となっていた。
そこで、本発明は、上述の課題に鑑みてなされたものであり、既存のストリーム暗号を用いてより安全性の高い暗号方式を実現するストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
(1)本発明は、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器(例えば、図1のストリーム暗号器10a〜10cに相当)と、前記複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する非線形関数器(例えば、図1の非線形関数器20に相当)と、該第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する排他的論理和演算器(例えば、図1の排他的論理和演算器30に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、複数のストリーム暗号器は、周期がそれぞれに異なり、並列に配置されている。非線形関数器は、複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する。排他的論理和演算器は、第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。したがって、各ストリーム暗号器の周期を異ならせることにより、第2の鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。
(2)本発明は、(1)のストリーム暗号の暗号化装置について、前記非線形関数がSPN構造であることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、非線形関数がSPN構造である。つまり、非線形関数がSPN構造であるために、攻撃者は、すべての第1の鍵系列を攻撃しないと暗号を解くことができない。
(3)本発明は、(2)のストリーム暗号の暗号化装置について、前記非線形関数が前記複数のストリーム暗号器に対応して配置された非線形関数器(例えば、図2の非線形置換関数21a〜21cに相当)と、前記非線形関数器からの出力値を入力し、前記第2の鍵系列を出力する線形置換関数器(例えば、図2の線形置換関数22に相当)と、を備えたことを特徴とする請求項2に記載のストリーム暗号の暗号化装置を提案している。
この発明によれば、非線形関数が複数のストリーム暗号器に対応して配置された非線形関数器と、非線形関数器からの出力値を入力し、第2の鍵系列を出力する線形置換関数器と、を備えている。したがって、このように、非線形関数器を上記のような、いわゆる、SPN構造とすることにより、攻撃者は、すべての第1の鍵系列を攻撃しないと暗号を解くことができない。
(4)本発明は、(3)のストリーム暗号の暗号化装置について、前記非線形関数器の入力ビットが短いことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、非線形関数器の入力ビットが短い。これにより、安全性の向上とともに、処理速度を早くすることができる。
(5)本発明は、(3)のストリーム暗号の暗号化装置について、前記線形置換関数器の出力ビット長を可変できることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、線形置換関数器の出力ビット長を可変できる。つまり、出力ビット長を可変することにより、安全性を増減させることができる。
(6)本発明は、(1)のストリーム暗号の暗号化装置について、前記ストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う初期化処理手段(例えば、図3の初期化処理部11に相当)と、鍵系列処理を実行し、鍵系列を生成する鍵系列生成手段(例えば、図3の鍵系列生成部12に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、ストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う初期化処理手段と、鍵系列処理を実行し、鍵系列を生成する鍵系列生成手段とから構成されている。つまり、一般的なストリーム暗号器を用いて、従来よりも安全性の高いストリーム暗号の暗号化装置を実現することができる。
(7)本発明は、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器(例えば、図5のストリーム暗号器10d〜10fに相当)と、前記複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する非線形関数器(例えば、図5の非線形関数器25に相当)と、該鍵系列と平文との排他的論理和演算を行い、暗号文を出力する排他的論理和演算器(例えば、図5の排他的論理和演算部30に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、複数のストリーム暗号器は、周期がそれぞれに異なり、並列に配置されている。非線形関数器は、複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する。排他的論理和演算器は、鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。したがって、各ストリーム暗号器の周期を異ならせることにより、鍵系列の長周期性を実現し、安全性を向上させるとともに、短い平文について、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
(8)本発明は、(7)のストリーム暗号の暗号化装置について、前記ストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う初期化処理手段(例えば、図6の初期化処理部11に相当)と、内部状態の中から平文と同じ長さのビット列を選択して、前記非線形関数器に出力するビット列出力手段(例えば、図6のビット選択部13に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、初期化処理手段は、初期鍵と初期ベクトルとを用いて、初期化処理を行う。ビット列出力手は、内部状態の中から平文と同じ長さのビット列を選択して、非線形関数器に出力する。したがって、短い平文について、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
(9)本発明は、(8)のストリーム暗号の暗号化装置について、前記選択されたビット列が1ビット以上、かつ、前記内部状態の半分以下であることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、選択されたビット列が1ビット以上、かつ、内部状態の半分以下である。つまり、ストリーム暗号の内部状態に対して、半分以下の短い平文を暗号化する場合に、内部状態のビット列を直接使うことで処理負荷を軽減する。
(10)本発明は、(8)のストリーム暗号の暗号化装置について、前記平文の長さが前記内部状態の半分よりも大きい場合には、1ビット以上、かつ、内部状態の半分以下の平文について処理を行い、残りの平文の暗号化する場合には、前記初期化処理手段が初期ベクトルを変更して、再度、初期化処理を行うことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、平文の長さが内部状態の半分よりも大きい場合には、1ビット以上、かつ、内部状態の半分以下の平文について処理を行い、残りの平文の暗号化する場合には、初期化処理手段が初期ベクトルを変更して、再度、初期化処理を行う。つまり、平文の長さが内部状態の半分よりも大きい場合には、少なくとも、内部状態の半分以下のビット列に区切って、それぞれについて、再度、初期化処理を行い、暗号化の処理を実行する。これにより、平文の長さが内部状態の半分よりも大きい場合であっても、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
(11)本発明は、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップ(例えば、図4のステップS101に相当)と、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器に出力する第2のステップ(例えば、図4のステップS102に相当)と、前記非線形関数が、前記複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する第3のステップ(例えば、図4のステップS103に相当)と、排他的論理和演算器が、該第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップ(例えば、図4のステップS104に相当)と、からなることを特徴とするストリーム暗号の暗号化方法を提案している。
この発明によれば、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行い、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器に出力する。そして、非線形関数が、複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力し、排他的論理和演算器が、第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。したがって、各ストリーム暗号器の周期を異ならせることにより、第2の鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。
(12)本発明は、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップ(例えば、図7のステップS201に相当)と、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、内部状態の中から平文と同じ長さのビット列を選択し、非線形関数器に出力する第2のステップ(例えば、図7のステップS202に相当)と、前記非線形関数が、前記複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する第3のステップ(例えば、図7のステップS203に相当)と、排他的論理和演算器が、該鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップ(例えば、図7のステップS204に相当)と、からなることを特徴とするストリーム暗号の暗号化方法を提案している。
この発明によれば、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行い、内部状態の中から平文と同じ長さのビット列を選択し、非線形関数器に出力する。そして、非線形関数が、複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力し、排他的論理和演算器が、鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。したがって、各ストリーム暗号器の周期を異ならせることにより、鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。また、短い平文について、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
(13)本発明は、ストリーム暗号の暗号方法をコンピュータに実行させるためのプログラムであって、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップ(例えば、図4のステップS101に相当)と、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器に出力する第2のステップ(例えば、図4のステップS102に相当)と、前記非線形関数が、前記複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する第3のステップ(例えば、図4のステップS103に相当)と、排他的論理和演算器が、該第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップ(例えば、図4のステップS104に相当)と、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行い、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器に出力する。そして、非線形関数が、複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力し、排他的論理和演算器が、第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。したがって、各ストリーム暗号器の周期を異ならせることにより、第2の鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。
(14)本発明は、ストリーム暗号の暗号方法をコンピュータに実行させるためのプログラムであって、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップ(例えば、図7のステップS201に相当)と、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、内部状態の中から平文と同じ長さのビット列を選択し、非線形関数器に出力する第2のステップ(例えば、図7のステップS202に相当)と、前記非線形関数が、前記複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する第3のステップ(例えば、図7のステップS203に相当)と、排他的論理和演算器が、該鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップ(例えば、図7のステップS204に相当)と、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行い、内部状態の中から平文と同じ長さのビット列を選択し、非線形関数器に出力する。そして、非線形関数が、複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力し、排他的論理和演算器が、鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。したがって、各ストリーム暗号器の周期を異ならせることにより、鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。また、短い平文について、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
本発明によれば、各ストリーム暗号器の周期を異ならせることにより、第2の鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができるという効果がある。また、ストリーム暗号の内部状態に対して、短い平文あるいは暗号文を暗号化あるいは復号化する場合に、内部状態のビット列を直接使うことで処理負荷を軽減することができるという効果がある。
本発明の第1の実施形態に係るストリーム暗号の暗号化装置の構成を示す図である。 本発明の第1の実施形態に係る非線形関数器の構成を示す図である。 本発明の第1の実施形態に係るストリーム暗号器の構成を示す図である。 本発明の第1の実施形態に係るストリーム暗号の暗号化装置の処理を示す図である。 本発明の第2の実施形態に係るストリーム暗号の暗号化装置の構成を示す図である。 本発明の第2の実施形態に係るストリーム暗号器の構成を示す図である。 本発明の第2の実施形態に係るストリーム暗号の暗号化装置の処理を示す図である。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1の実施形態>
図1から図4を用いて、本実施形態に係るストリーム暗号の暗号化装置について説明する。
<ストリーム暗号の暗号化装置の構成>
図1に示すように、本実施形態に係るストリーム暗号の暗号化装置は、ストリーム暗号器10a〜10cと、非線形関数器20と、排他的論理和演算部30とから構成されている。
ストリーム暗号器10a〜10cは、初期鍵と初期ベクトルとを用いて、初期化処理を行うとともに、鍵系列処理を実行して鍵系列を生成する。なお、複数あるストリーム暗号器10a〜10cの動作周期は、それぞれ異なっている。これにより、非線形関数器20が出力する鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。なお、各ストリーム暗号器10a〜10cの詳細な構成については、後述する。
非線形関数器20は、ストリーム暗号器10a〜10cのそれぞれから第1の鍵系列を入力し、第2の鍵系列を出力する。なお、本実施形態においては、変形形態として、非線形関数器20が出力する出力ビット長を可変することができる。このように、非線形関数器20の出力ビット長を可変することにより、安全性を増減させることができる。また、非線形関数器20は、SPN構造であることが望ましいが、その詳細な構成例については、後述する。
排他的論理和演算部30は、第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する。
<非線形関数器の構成>
図2に示すように、本実施形態に係る非線形関数器は、非線形置換関数21a〜21cと、線形置換関数22とから構成され、いわゆる、SPN構造になっている。
非線形置換関数21a〜21cは、上述のストリーム暗号器10a〜10cに対応して設けられ、ストリーム暗号器10a〜10cから第1の鍵系列を入力し、これを非線形置換関数で処理してその処理結果を線形置換関数22に出力する。なお、非線形置換関数21a〜21cには、入力ビットの短い非線形置換関数を用いてもよい。
線形置換関数22は、非線形置換関数21a〜21cから第1の鍵系列を非線形置換関数で処理した処理結果を入力し、これを線形置換関数で処理して第2の鍵系列を出力する。
<ストリーム暗号器の構成>
図3に示すように、本実施形態に係るストリーム暗号器は、初期化処理部11と、鍵系列生成部12とから構成されている。
初期化処理部11は、初期鍵と初期ベクトルとを入力し、初期化処理を実行する。鍵系列生成部12は、鍵系列処理を実行し、鍵系列を生成する。つまり、本実施形態のストリーム暗号器は、従来から知られている通常のものを用いてもよい。
<ストリーム暗号の暗号化装置の処理>
図4を用いて、本実施形態に係るストリーム暗号の暗号化装置の処理について説明する。
まず、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器10a〜10cが、初期鍵と初期ベクトルとを用いて、初期化処理を行い(ステップS101)、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器20に出力する(ステップS102)。
そして、非線形関数器20が、複数のストリーム暗号器10a〜10cから出力される第1の鍵系列を入力し、第2の鍵系列を出力し(ステップS103)、排他的論理和演算器30が、第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する(ステップS104)。
以上、説明したように、本実施形態によれば、各ストリーム暗号器の周期を異ならせることにより、第2の鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。
<第2の実施形態>
図5から図7を用いて、本実施形態に係るストリーム暗号の暗号化装置について説明する。
<ストリーム暗号の暗号化装置の構成>
図5に示すように、本実施形態に係るストリーム暗号の暗号化装置は、ストリーム暗号器10d〜10fと、非線形関数器25と、排他的論理和演算部30とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有するものであることからその詳細な説明は省略する。
ストリーム暗号器10d〜10fは、初期鍵と初期ベクトルとを用いて、初期化処理を行うとともに、内部状態の中から平文と同じ長さのビット列を選択して、非線形関数器25に出力する。なお、複数あるストリーム暗号器10a〜10cの動作周期は、それぞれ異なっている。これにより、非線形関数器20が出力する鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。また、本実施形態は、短い平文を暗号化するのに好適である。なお、各ストリーム暗号器10d〜10fの詳細な構成については、後述する。
非線形関数器25は、ストリーム暗号器10d〜10fのそれぞれからビット列を入力し、第2の鍵系列を出力する。なお、本実施形態においては、変形形態として、非線形関数器20が出力する出力ビット長を可変することができる。このように、非線形関数器20の出力ビット長を可変することにより、安全性を増減させることができる。また、非線形関数器20は、SPN構造であることが望ましい。
<ストリーム暗号器の構成>
図6に示すように、本実施形態に係るストリーム暗号器は、初期化処理部11と、ビット選択部12とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有するものであることからその詳細な説明は省略する。
ビット選択部12は、内部状態の中から平文と同じ長さのビット列を選択して、非線形関数器25に出力する。なお、本実施形態では、安全性を担保するために、平文の長さは、内部状態の大きさの半分以下であることが望ましい。つまり、本実施形態においては、短い平文について、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
<ストリーム暗号の暗号化装置の処理>
図7を用いて、本実施形態に係るストリーム暗号の暗号化装置の処理について説明する。
まず、周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器10d〜10fが、初期鍵と初期ベクトルとを用いて、初期化処理を行い(ステップS201)、内部状態の中から平文と同じ長さのビット列を選択して、非線形関数器25に出力する(ステップS202)。
そして、非線形関数器25が、複数のストリーム暗号器10d〜10fから出力されるビット列を入力し、鍵系列を出力し(ステップS203)、排他的論理和演算器30が、の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する(ステップS204)。
以上、説明したように、本実施形態によれば、各ストリーム暗号器の周期を異ならせることにより、鍵系列の長周期性を実現して、安全性の高いストリーム暗号の暗号化装置を実現することができる。また、短い平文について、鍵系列生成処理を実行せずに暗号化を行うため、異なるロジックを追加する必要がなく、暗号化処理の効率化を図ることができる。
なお、ストリーム暗号の暗号化装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号化装置に読み込ませ、実行することによって本発明のストリーム暗号の暗号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10a;ストリーム暗号器
10b;ストリーム暗号器
10c;ストリーム暗号器
10d;ストリーム暗号器
10e;ストリーム暗号器
10f;ストリーム暗号器
11;初期化処理部
12;鍵系列生成部
13;ビット選択部
20;非線形関数器
21a;非線形置換関数
21b;非線形置換関数
21c;非線形置換関数
22;線形置換関数
25;非線形関数器
30;排他的論理和演算器

Claims (14)

  1. 周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器と、
    前記複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する非線形関数器と、
    該第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する排他的論理和演算器と、
    を備えたことを特徴とするストリーム暗号の暗号化装置。
  2. 前記非線形関数がSPN構造であることを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
  3. 前記非線形関数が前記複数のストリーム暗号器に対応して配置された非線形関数器と、
    前記非線形関数器からの出力値を入力し、前記第2の鍵系列を出力する線形置換関数器と、
    を備えたことを特徴とする請求項2に記載のストリーム暗号の暗号化装置。
  4. 前記非線形関数器の入力ビットが短いことを特徴とする請求項3に記載のストリーム暗号の暗号化装置。
  5. 前記線形置換関数器の出力ビット長を可変できることを特徴とする請求項3に記載のストリーム暗号の暗号化装置。
  6. 前記ストリーム暗号器が、
    初期鍵と初期ベクトルとを用いて、初期化処理を行う初期化処理手段と、
    鍵系列処理を実行し、鍵系列を生成する鍵系列生成手段と、
    を備えたことを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
  7. 周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器と、
    前記複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する非線形関数器と、
    該鍵系列と平文との排他的論理和演算を行い、暗号文を出力する排他的論理和演算器と、
    を備えたことを特徴とするストリーム暗号の暗号化装置。
  8. 前記ストリーム暗号器が、
    初期鍵と初期ベクトルとを用いて、初期化処理を行う初期化処理手段と、
    内部状態の中から平文と同じ長さのビット列を選択して、前記非線形関数器に出力するビット列出力手段と、
    を備えたことを特徴とする請求項7に記載のストリーム暗号の暗号化装置。
  9. 前記選択されたビット列が1ビット以上、かつ、前記内部状態の半分以下であることを特徴とする請求項8に記載のストリーム暗号の暗号化装置。
  10. 前記平文の長さが前記内部状態の半分よりも大きい場合には、1ビット以上、かつ、内部状態の半分以下の平文について処理を行い、残りの平文の暗号化する場合には、前記初期化処理手段が初期ベクトルを変更して、再度、初期化処理を行うことを特徴とする請求項8に記載のストリーム暗号の暗号化装置。
  11. 周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップと、
    周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器に出力する第2のステップと、
    前記非線形関数が、前記複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する第3のステップと、
    排他的論理和演算器が、該第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップと、
    からなることを特徴とするストリーム暗号の暗号化方法。
  12. 周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップと、
    周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、内部状態の中から平文と同じ長さのビット列を選択し、非線形関数器に出力する第2のステップと、
    前記非線形関数が、前記複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する第3のステップと、
    排他的論理和演算器が、該鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップと、
    からなることを特徴とするストリーム暗号の暗号化方法。
  13. ストリーム暗号の暗号方法をコンピュータに実行させるためのプログラムであって、
    周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップと、
    周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、鍵系列処理を実行し、第1の鍵系列を生成し、非線形関数器に出力する第2のステップと、
    前記非線形関数が、前記複数のストリーム暗号器から出力される第1の鍵系列を入力し、第2の鍵系列を出力する第3のステップと、
    排他的論理和演算器が、該第2の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップと、
    をコンピュータに実行させるためのプログラム。
  14. ストリーム暗号の暗号方法をコンピュータに実行させるためのプログラムであって、
    周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、初期鍵と初期ベクトルとを用いて、初期化処理を行う第1のステップと、
    周期がそれぞれに異なり、並列に配置された複数のストリーム暗号器が、内部状態の中から平文と同じ長さのビット列を選択し、非線形関数器に出力する第2のステップと、
    前記非線形関数が、前記複数のストリーム暗号器から出力されるビット列を入力し、鍵系列を出力する第3のステップと、
    排他的論理和演算器が、該鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第4のステップと、
    をコンピュータに実行させるためのプログラム。
JP2010245945A 2010-11-02 2010-11-02 ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム Expired - Fee Related JP5559011B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010245945A JP5559011B2 (ja) 2010-11-02 2010-11-02 ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010245945A JP5559011B2 (ja) 2010-11-02 2010-11-02 ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2012100078A JP2012100078A (ja) 2012-05-24
JP5559011B2 true JP5559011B2 (ja) 2014-07-23

Family

ID=46391506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010245945A Expired - Fee Related JP5559011B2 (ja) 2010-11-02 2010-11-02 ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5559011B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6287785B2 (ja) * 2014-11-28 2018-03-07 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0575601A (ja) * 1991-09-13 1993-03-26 Toshiba Corp 疑似ランダムノイズ発生装置
US5703952A (en) * 1992-12-30 1997-12-30 Telstra Corporation Limited Method and apparatus for generating a cipher stream
JP3358953B2 (ja) * 1996-09-17 2002-12-24 アイオニクス沖縄株式会社 擬似ランダムビット列生成器及びそれを使用する暗号通信方法
JP2002287618A (ja) * 2001-03-23 2002-10-04 Mitsuko Miyaji 代替暗号システム

Also Published As

Publication number Publication date
JP2012100078A (ja) 2012-05-24

Similar Documents

Publication Publication Date Title
TWI402675B (zh) 低等待時間的區塊密碼術
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
US8634549B2 (en) Ciphertext key chaining
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
KR20100069610A (ko) 연쇄화된 암호화 모드를 위한 방법 및 디바이스
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
US20120155638A1 (en) Securing keys of a cipher using properties of the cipher process
Singh et al. Performance evaluation of cryptographic ciphers on IoT devices
JP2017187724A (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
JP2012039180A (ja) ストリーム暗号の暗号器、ストリーム暗号の復号器、ストリーム暗号の暗号方法、ストリーム暗号の復号方法およびプログラム
JP5559011B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP5102536B2 (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP2013098722A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム
JP5415020B2 (ja) ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
Buja et al. The direction of lightweight ciphers in mobile big data computing
JP2009037095A (ja) データスクランブル装置、データデスクランブル装置、データスクランブル方法、データデスクランブル方法およびプログラム
JP5801095B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP5706751B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2010056848A (ja) 暗号化装置、暗号化方法、プログラム、およびプログラム記憶媒体
JP5882797B2 (ja) ストリーム暗号処理システム、耐タンパデバイス及びストリーム暗号処理方法
JP5665588B2 (ja) アルゴリズム可変型暗号装置、アルゴリズム可変型復号装置、アルゴリズム可変型暗号方法、アルゴリズム可変型復号方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140423

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140605

R150 Certificate of patent or registration of utility model

Ref document number: 5559011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees