JP5096794B2 - ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム - Google Patents

ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム Download PDF

Info

Publication number
JP5096794B2
JP5096794B2 JP2007131230A JP2007131230A JP5096794B2 JP 5096794 B2 JP5096794 B2 JP 5096794B2 JP 2007131230 A JP2007131230 A JP 2007131230A JP 2007131230 A JP2007131230 A JP 2007131230A JP 5096794 B2 JP5096794 B2 JP 5096794B2
Authority
JP
Japan
Prior art keywords
value
key
exclusive
key sequence
output
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
JP2007131230A
Other languages
English (en)
Other versions
JP2008286965A (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 JP2007131230A priority Critical patent/JP5096794B2/ja
Publication of JP2008286965A publication Critical patent/JP2008286965A/ja
Application granted granted Critical
Publication of JP5096794B2 publication Critical patent/JP5096794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラムに関する。
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
ストリーム暗号方式は、ブロック暗号方式よりも高速な処理が期待できるため、例えば、映画等の大容量データを伝送するための方式として、近年、注目を浴びている。なお、記したストリーム暗号を生成するための方法および装置の一例が以下の特許文献1に開示されている。
特表2002−536912号公報
しかしながら、従来のストリーム暗号では、固定長の鍵系列しか出力できなかったために、処理負荷の最適化を図ることができなかった。また、任意長の鍵系列を出力する構成を構築したとしても、出力する鍵系列の長さに対応してセキュリティレベルをコントロールするようなものは存在しなかった。
そこで、本発明は、上述の課題に鑑みてなされたものであり、任意長の鍵系列を出力できるとともに、出力する鍵系列の長さに応じて、適切なセキュリティレベルをコントロールできるストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために以下の事項を提案している。
(1)本発明は、平文を入力し、暗号文を出力するストリーム暗号の暗号化装置であって、初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新する内部状態更新関数(例えば、図1の内部状態更新関数11に相当)と、該内部状態更新関数から出力された内部状態を記憶する内部状態記憶手段(例えば、図1の内部状態保存メモリ12に相当)と、該内部状態記憶手段に記憶された内部状態を読み込んで、鍵系列を出力する鍵系列生成関数(例えば、図1の鍵系列生成関数10に相当)と、該鍵系列生成関数から出力された鍵系列と前記入力した平文との排他的論理和演算を実行して暗号文を出力する排他的論理和演算器(例えば、図1の排他的論理和演算器17a、17b、17c、・・・、17nに相当)と、を備え、前記鍵系列生成関数が、第1の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、内部状態更新関数が、初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新し、内部状態記憶手段が、内部状態更新関数から出力された内部状態を記憶し、鍵系列生成関数が、内部状態記憶手段に記憶された内部状態を読み込んで、鍵系列を出力し、排他的論理和演算器が、鍵系列生成関数から出力された鍵系列と前記入力した平文との排他的論理和演算を実行して暗号文を出力する。そして、鍵系列生成関数が、関数ユニットを出力する鍵系列の長さに応じて所定数連結している。したがって、ワード長の任意倍の鍵系列を一括して生成できるとともに、連結する関数ユニットの個数に応じて、適切なセキュリティレベルをコントロールすることができる。
(2)本発明は、(1)のストリーム暗号の暗号化装置について、前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、鍵系列生成関数が、加算器と、加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに関数ユニットの前方に所定数連結している。したがって、出力する鍵系列の長さが短い場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルをコントロールすることができる。
(3)本発明は、(1)または(2)のストリーム暗号の暗号化装置を用いたストリーム暗号の暗号化方法であって、初期鍵、初期ベクトルを内部状態メモリに読み込む第1のステップ(例えば、図2のステップS101に相当)と、初期攪拌処理により内部状態メモリを攪拌する第2のステップ(例えば、図2のステップS102に相当)と、鍵系列生成関数が、内部状態メモリの値を読み込んで鍵系列を出力する第3のステップ(例えば、図2のステップS103に相当)と、内部状態メモリを更新する第4のステップ(例えば、図2のステップS105に相当)と、該出力された鍵系列と平文との排他的論理和演算により暗号文を出力する第5のステップ(例えば、図2のステップS104に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。
この発明によれば、(1)または(2)のストリーム暗号の暗号化装置を用いて、まず、初期鍵、初期ベクトルを内部状態メモリに読み込み、初期攪拌処理により内部状態メモリを攪拌し、鍵系列生成関数が、内部状態メモリの値を読み込んで鍵系列を出力する。そして、内部状態メモリを更新し、出力された鍵系列と平文との排他的論理和演算により暗号文を出力する。したがって、適切なセキュリティレベルを保ちながら、ワード長の任意倍の鍵系列を一括して生成できる。
(4)本発明は、(1)または(2)のストリーム暗号の暗号化装置を用いたストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、初期鍵、初期ベクトルを内部状態メモリに読み込む第1のステップ(例えば、図2のステップS101に相当)と、初期攪拌処理により内部状態メモリを攪拌する第2のステップ(例えば、図2のステップS102に相当)と、鍵系列生成関数が、内部状態メモリの値を読み込んで鍵系列を出力する第3のステップ(例えば、図2のステップS103に相当)と、内部状態メモリを更新する第4のステップ(例えば、図2のステップS105に相当)と、該出力された鍵系列と平文との排他的論理和演算により暗号文を出力する第5のステップ(例えば、図2のステップS104に相当)と、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、(1)または(2)のストリーム暗号の暗号化装置を用いて、まず、初期鍵、初期ベクトルを内部状態メモリに読み込み、初期攪拌処理により内部状態メモリを攪拌し、鍵系列生成関数が、内部状態メモリの値を読み込んで鍵系列を出力する。そして、内部状態メモリを更新し、出力された鍵系列と平文との排他的論理和演算により暗号文を出力する。したがって、適切なセキュリティレベルを保ちながら、ワード長の任意倍の鍵系列を一括して生成できる。
(5)暗号文を入力し、平文を出力するストリーム暗号の復号化装置であって、初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新する内部状態更新関数(例えば、図3の内部状態更新関数11に相当)と、該内部状態更新関数から出力された内部状態を記憶する内部状態記憶手段(例えば、図3の内部状態保存メモリ12に相当)と、該内部状態記憶手段に記憶された内部状態を読み込んで、鍵系列を出力する鍵系列生成関数(例えば、図3の鍵系列生成関数10に相当)と、該鍵系列生成関数から出力された鍵系列と前記入力した暗号文との排他的論理和演算を実行して平文を出力する排他的論理和演算器(例えば、図3の排他的論理和演算器18a、18b、18c、・・・、18nに相当)と、を備え、前記鍵系列生成関数が、第1の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とするストリーム暗号の復号化装置を提案している。
この発明によれば、内部状態更新関数が、初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新し、内部状態記憶手段が、内部状態更新関数から出力された内部状態を記憶し、鍵系列生成関数が、内部状態記憶手段に記憶された内部状態を読み込んで、鍵系列を出力し、排他的論理和演算器が、鍵系列生成関数から出力された鍵系列と前記入力した暗号文との排他的論理和演算を実行して平文を出力する。そして、鍵系列生成関数が、関数ユニットを出力する鍵系列の長さに応じて所定数連結している。したがって、セキュリティレベルを適切に保ちながら、任意長の鍵系列からなる暗号文を復号することができる。
(6)本発明は、(5)のストリーム暗号の復号化装置について、前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とするストリーム暗号の復号化装置を提案している。
この発明によれば、鍵系列生成関数が、加算器と、加算器の出力を非線形処理する非線形関数と、非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結している。したがって、出力される鍵系列の長さが短い暗号文の場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルを保ちながら、復号を行うことができる。
(7)本発明は、平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックする自己同期型ストリーム暗号の暗号化装置であって、初期値を入力し、拡大鍵を生成する鍵拡大関数(例えば、図5の鍵拡大関数21に相当)と、該生成された拡大鍵を記憶する拡大鍵記憶手段(例えば、図5の拡大鍵保存メモリ22に相当)と、該拡大鍵記憶手段に記憶された拡大鍵と前回暗号化した暗号文あるいは初期ベクトルを読み込んで、鍵系列を出力する鍵系列生成関数(例えば、図5の鍵系列生成関数20に相当)と、該鍵系列生成関数から出力された鍵系列と前記入力した平文との排他的論理和演算を実行して暗号文を出力する排他的論理和演算器(例えば、図5の排他的論理和演算器27a、27b、27c、・・・、27nに相当)と、該出力された暗号文を圧縮処理して前記鍵系列生成関数にフィードバックする圧縮関数(例えば、図5の圧縮関数28に相当)と、を備え、前記鍵系列生成関数が、第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とする自己同期型ストリーム暗号の暗号化装置を提案している。
この発明によれば、鍵拡大関数が、初期値を入力し、拡大鍵を生成し、拡大鍵記憶手段が、生成された拡大鍵を記憶する。鍵系列生成関数は、拡大鍵記憶手段に記憶された拡大鍵と前回暗号化した暗号文あるいは初期ベクトルを読み込んで、鍵系列を出力する。排他的論理和演算器は、鍵系列生成関数から出力された鍵系列と入力した平文との排他的論理和演算を実行して暗号文を出力する。そして、圧縮関数が、出力された暗号文を圧縮処理して鍵系列生成関数にフィードバックする。また、鍵系列生成関数は、関数ユニットを出力する鍵系列の長さに応じて所定数連結している。したがって、ワード長の任意倍の鍵系列を一括して生成できるとともに、連結する関数ユニットの個数に応じて、適切なセキュリティレベルをコントロールすることができる。
(8)本発明は、(7)の自己同期型ストリーム暗号の暗号化装置について、前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とする自己同期型ストリーム暗号の暗号化装置を提案している。
この発明によれば、鍵系列生成関数が、加算器と、加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに関数ユニットの前方に所定数連結している。したがって、出力する鍵系列の長さが短い場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルをコントロールすることができる。
(9)本発明は、(7)または(8)に記載のストリーム暗号の自己同期型暗号化装置を用いたストリーム暗号の暗号化方法であって、初期鍵を鍵拡大関数で拡大し、拡大鍵としてメモリにセットする第1のステップ(例えば、図6のステップS301に相当)と、鍵系列生成関数が、拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力する第2のステップ(例えば、図6のステップS302に相当)と、鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力する第3のステップ(例えば、図6のステップS303に相当)と、該出力した暗号文をフィードバックさせ、鍵生成関数へ入力する第4のステップ(例えば、図6のステップS303に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。
この発明によれば、(7)または(8)に記載のストリーム暗号の自己同期型暗号化装置を用いて、まず、初期鍵を鍵拡大関数で拡大し、拡大鍵としてメモリにセットし、鍵系列生成関数が、拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力し、鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力する。そして、出力した暗号文をフィードバックさせ、鍵生成関数へ入力する。したがって、適切なセキュリティレベルを保ちながら、ワード長の任意倍の鍵系列を一括して生成できる。
(10)本発明は、(7)または(8)に記載のストリーム暗号の自己同期型暗号化装置を用いたストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、初期鍵を鍵拡大関数で拡大し、拡大鍵としてメモリにセットする第1のステップ(例えば、図6のステップS301に相当)と、鍵系列生成関数が、拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力する第2のステップ(例えば、図6のステップS302に相当)と、鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力する第3のステップ(例えば、図6のステップS303に相当)と、該出力した暗号文をフィードバックさせ、鍵生成関数へ入力する第4のステップ(例えば、図6のステップS303に相当)と、をコンピュータに実行させるためのプログラム。
この発明によれば、(7)または(8)に記載のストリーム暗号の自己同期型暗号化装置を用いて、まず、初期鍵を鍵拡大関数で拡大し、拡大鍵としてメモリにセットし、鍵系列生成関数が、拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力し、鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力する。そして、出力した暗号文をフィードバックさせ、鍵生成関数へ入力する。したがって、適切なセキュリティレベルを保ちながら、ワード長の任意倍の鍵系列を一括して生成できる。
(11)本発明は、暗号文を入力し、平文を出力する自己同期型ストリーム暗号の復号化装置であって、初期値を入力し、拡大鍵を生成する鍵拡大関数(例えば、図7の鍵拡大関数21に相当)と、該生成された拡大鍵を記憶する拡大鍵記憶手段(例えば、図7の拡大鍵保存メモリ22に相当)と、該拡大鍵記憶手段に記憶された拡大鍵と前回復号化した平文あるいは初期ベクトルを読み込んで、鍵系列を出力する鍵系列生成関数(例えば、図7の鍵系列生成関数20に相当)と、該鍵系列生成関数から出力された鍵系列と前記入力した暗号文との排他的論理和演算を実行して平文を出力する排他的論理和演算器(例えば、図7の排他的論理和演算器29a、29b、29c、・・・、29nに相当)と、該出力された平文を圧縮処理して前記鍵系列生成関数にフィードバックする圧縮関数(例えば、図7の圧縮関数30に相当)と、を備え、前記鍵系列生成関数が、第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とする自己同期型ストリーム暗号の復号化装置を提案している。
本発明によれば、鍵拡大関数が初期値を入力し、拡大鍵を生成する。拡大鍵記憶手段は、生成された拡大鍵を記憶する。鍵系列生成関数は、拡大鍵記憶手段に記憶された拡大鍵と前回復号化した平文あるいは初期ベクトルを読み込んで、鍵系列を出力し、排他的論理和演算器が、鍵系列生成関数から出力された鍵系列と入力した暗号文との排他的論理和演算を実行して平文を出力する。そして、圧縮関数が、出力された平文を圧縮処理して鍵系列生成関数にフィードバックする。また、鍵系列生成関数が、関数ユニットを出力する鍵系列の長さに応じて所定数連結している。したがって、セキュリティレベルを適切に保ちながら、任意長の鍵系列からなる暗号文を復号することができる。
(12)本発明は、(11)の自己同期型ストリーム暗号の復号化装置について、前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とする自己同期型ストリーム暗号の復号化装置を提案している。
この発明によれば、鍵系列生成関数が、加算器と、加算器の出力を非線形処理する非線形関数と、非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結している。したがって、出力される鍵系列の長さが短い暗号文の場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルを保ちながら、復号を行うことができる。
本発明によれば、構成に柔軟性を持たせることにより、ワード長の任意倍の鍵系列をセキュリティレベルを適切に保ちつつ、一括して生成することができるという効果がある。また、本発明によれば、ワード長の任意倍の鍵系列で構成された暗号文をセキュリティレベルを適切に保ちつつ、復号できるという効果がある。
以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1の実施形態>
図1から図4を用いて、第1の実施形態について説明する。
<暗号化装置の構成>
第1の実施形態に係る暗号化装置は、図1に示すように、鍵系列生成関数10と、内部状態更新関数11と、内部状態保存メモリ12と、排他的論理和演算器17a、17b、17c、・・・、17nとから構成されている。また、鍵系列生成関数10は、任意の数の前処理ブロックと関数ブロックとから構成され、前処理ブロックは、例えば、加算器13aと、非線形関数14aと、内部メモリ15aとから構成され、関数ブロックは、内部メモリ15c〜15fと、加算器13d、13eと、非線形関数14c、14dと、排他的論理和演算器16a〜16dとから構成されている。
ここで、内部状態更新関数11は、初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新する。内部状態保存メモリ12は、内部状態更新関数11から出力された内部状態を記憶する。鍵系列生成関数10は、内部状態保存メモリ12に記憶された内部状態を読み込んで、鍵系列を出力する。排他的論理和演算器17a、17b、17c、・・・、17nは、鍵系列生成関数10から出力された鍵系列と入力した平文との排他的論理和演算を実行して暗号文を出力する。
また、鍵系列生成関数10の一部をなす関数ブロックを構成する加算器13dは、内部メモリ15cの値と内部状態保存メモリ12から出力される値との加算値を出力する。非線形関数14dは、加算器13dから出力された値を非線形処理する。内部メモリ15fは、非線形関数14dからの値を格納する。加算器13eは、内部メモリ15eの値と内部状態保存メモリ12から出力される値との加算値を出力する。非線形関数14cは、加算器13eから出力された値を非線形処理する。内部メモリ15dは、非線形関数14cからの値を格納する。排他的論理和演算器16aは、内部メモリ15cの値と内部状態保存メモリ12から出力される値との排他的論理和演算を実行して鍵系列を出力する。排他的論理和演算器16dは、内部メモリ15fの値と内部状態保存メモリ12から出力される値との排他的論理和演算を実行して鍵系列を出力する。排他的論理和演算器16cは、内部メモリ15eの値と内部状態保存メモリ12から出力される値との排他的論理和演算を実行して鍵系列を出力する。排他的論理和演算器は、内部メモリ15dの値と内部状態保存メモリ12から出力される値との排他的論理和演算を実行して鍵系列を出力する。
上記の構成からなる関数ブロックを所定数連結することにより、ワード長の任意倍の鍵系列を一括して生成できる。また、連結する関数ユニットの個数に応じて、鍵生成関数内の値が非線形関数を通る頻度が高まることから、適切なセキュリティレベルをコントロールすることができる。
さらに、鍵系列生成関数10の一部をなす前処理ブロックを構成する加算器13aは、例えば、内部メモリの値と内部状態保存メモリ12に格納された値との加算処理を実行する。非線形関数14aは、加算器13aの出力に対して非線形処理を施す。内部メモリ15aは、非線形関数14aにおいて非線形処理を施した値を格納する。
上記の構成からなる前処理ブロックを関数ブロックの前に所定数連結することにより、鍵系列が短い場合であっても、鍵生成関数内の値が非線形関数を通る頻度を高めることができることから、適正なセキュリティレベルをコントロールすることができる。
<暗号化処理>
図2を用いて、本実施形態に係る暗号化装置を用いた暗号化処理について説明する。
まず、初期鍵、初期ベクトルを内部状態保存メモリ12に読み込む(ステップS101)。次に、初期攪拌処理により内部状態保存メモリ12の内部を攪拌する(ステップ102)。鍵系列生成関数10は、内部状態保存メモリ12の値を読み込んで鍵系列を出力する(ステップS103)。このとき、内部状態保存メモリ12の値を更新処理し(ステップS105)、ステップS101に戻るとともに、鍵系列生成関数10から出力された鍵系列と平文とを排他的論理和演算器17a〜17nにより排他的論理和演算して暗号文を出力する(ステップS104)。
したがって、本実施形態に係る暗号化装置によれば、適切なセキュリティレベルを保ちながら、ワード長の任意倍の鍵系列を一括して生成できる。
<復号化装置の構成>
上記の暗号化装置に対応した復号化装置は、図3に示すように、鍵系列生成関数10と、内部状態更新関数11と、内部状態保存メモリ12と、排他的論理和演算器18a、18b、18c、・・・、18nとから構成されている。また、鍵系列生成関数10は、任意の数の前処理ブロックと関数ブロックとから構成され、前処理ブロックは、例えば、加算器13aと、非線形関数14aと、内部メモリ15aとから構成され、関数ブロックは、内部メモリ15c〜15fと、加算器13d、13eと、非線形関数14c、14dと、排他的論理和演算器16a〜16dとから構成されている。なお、上記の暗号化装置と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
排他的論理和演算器18a、18b、18c、・・・、18nは、鍵系列生成関数10から出力された鍵系列と入力した暗号文との排他的論理和演算を実行して平文を出力する。
したがって、本実施形態に係る復号化装置においては、セキュリティレベルを適切に保ちながら、任意長の鍵系列からなる暗号文を復号することができる。また、出力される鍵系列の長さが短い暗号文の場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルを保ちながら、復号を行うことができる。
<復号処理>
図4を用いて、本実施形態に係る復号化装置を用いた復号化処理について説明する。
まず、初期鍵、初期ベクトルを内部状態保存メモリ12に読み込む(ステップS201)。次に、初期攪拌処理により内部状態保存メモリ12の内部を攪拌する(ステップ202)。鍵系列生成関数10は、内部状態保存メモリ12の値を読み込んで鍵系列を出力する(ステップS203)。このとき、内部状態保存メモリ12の値を更新処理し(ステップS205)、ステップS101に戻るとともに、鍵系列生成関数10から出力された鍵系列と暗号文とを排他的論理和演算器18a〜18nにより排他的論理和演算して平文を出力する(ステップS204)。
したがって、本実施形態に係る復号化装置によれば、適切なセキュリティレベルを保ちながら、任意長の鍵系列からなる暗号文を復号することができる。
<第2の実施形態>
次に、図5から図8を用いて、第2の実施形態について説明する。
<自己同期型暗号化装置の構成>
第2の実施形態に係る自己同期型暗号化装置は、図5に示すように、鍵系列生成関数20と、鍵拡大関数21と、拡大鍵保存メモリ22と、排他的論理和演算器27a、27b、27c、・・・、27nと、圧縮関数28とから構成されている。また、鍵系列生成関数20は、任意の数の前処理ブロックと関数ブロックとから構成され、前処理ブロックは、例えば、加算器23aと、非線形関数24aと、内部メモリ25aとから構成され、関数ブロックは、内部メモリ25c〜25fと、加算器23d、23eと、非線形関数24c、24dと、排他的論理和演算器26a〜26dとから構成されている。なお、鍵系列生成関数20の内部構成は、第1の実施形態と同様であるため、その詳細な説明は省略する。
ここで、鍵拡大関数21は、初期値を入力し、拡大鍵を生成する。拡大鍵保存メモリ22は、生成された拡大鍵を記憶する。鍵系列生成関数20は、拡大鍵保存メモリ22に記憶された拡大鍵と前回暗号化した暗号文あるいは初期ベクトルを読み込んで、鍵系列を出力する。排他的論理和演算器27a、27b、27c、・・・、27nは、鍵系列生成関数20から出力された鍵系列と入力した平文との排他的論理和演算を実行して暗号文を出力する。圧縮関数28は、出力された暗号文を圧縮処理して鍵系列生成関数20にフィードバックする。
<自己同期型暗号化装置の暗号化処理>
図6を用いて、第2の実施形態に係る自己同期型暗号化装置の暗号化処理について説明する。
まず、初期鍵を鍵拡大関数21で拡大し、拡大鍵として拡大鍵保存メモリ22にセットする(ステップS301)。鍵系列生成関数20は、拡大鍵保存メモリ22にセットされた拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力する(ステップS302)。そして、出力された鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力し、出力した暗号文を圧縮関数28を介してフィードバックさせ、鍵系列生成関数20へ入力する(ステップS303)。
したがって、本実施形態に係る自己同期型暗号化装置においては、ワード長の任意倍の鍵系列を一括して生成できるとともに、連結する関数ユニットの個数に応じて、適切なセキュリティレベルをコントロールすることができる。また、出力する鍵系列の長さが短い場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルをコントロールすることができる。
<自己同期型復号化装置の構成>
第2の実施形態に係る自己同期型復号化装置は、図7に示すように、鍵系列生成関数20と、鍵拡大関数21と、拡大鍵保存メモリ22と、排他的論理和演算器29a、29b、29c、・・・、29nと、圧縮関数30とから構成されている。また、鍵系列生成関数20は、任意の数の前処理ブロックと関数ブロックとから構成され、前処理ブロックは、例えば、加算器23aと、非線形関数24aと、内部メモリ25aとから構成され、関数ブロックは、内部メモリ25c〜25fと、加算器23d、23eと、非線形関数24c、24dと、排他的論理和演算器26a〜26dとから構成されている。なお、鍵系列生成関数20の内部構成は、上記、自己同期型暗号化装置と同様であるため、詳細な説明は省略する。
ここで、排他的論理和演算器29a、29b、29c、・・・、29nは、鍵系列生成関数20から出力された鍵系列と入力した暗号文との排他的論理和演算を実行して平文を出力する。圧縮関数30は、出力された平文を圧縮処理して鍵系列生成関数20にフィードバックする。
<自己同期型復号化装置の復号化処理>
図8を用いて、第2の実施形態に係る自己同期型復号化装置の復号化処理について説明する。
まず、初期鍵を鍵拡大関数21で拡大し、拡大鍵として拡大鍵保存メモリ22にセットする(ステップS401)。鍵系列生成関数20は、拡大鍵保存メモリ22にセットされた拡大鍵と前回復号化した平文あるいは初期ベクトルとを読み込んで鍵系列を出力する(ステップS402)。そして、出力された鍵系列と暗号文との排他的論理和演算を実行することにより、平文を出力し、出力した平文を圧縮関数30を介してフィードバックさせ、鍵系列生成関数20へ入力する(ステップS403)。
したがって、本実施形態に係る自己同期型復号化装置においては、セキュリティレベルを適切に保ちながら、任意長の鍵系列からなる暗号文を復号することができる。また、出力される鍵系列の長さが短い暗号文の場合でも、前処理ユニットを関数ユニットの前段に所定数配置することにより、適正なセキュリティレベルを保ちながら、復号を行うことができる。
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号化装置、復号化装置、自己同期型暗号化装置および自己同期型復号化装置に読み込ませ、実行することによって本発明のストリーム暗号の暗号化装置、復号化装置自己同期型暗号化装置および自己同期型復号化装置を実現することができる。
また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、本発明は、様々なストリーム暗号の評価に広く適用することができる。したがって、ストリーム暗号を使用するようなブロードバンド事業や携帯電話をはじめとするモバイル通信におけるシステム構築に広く利用することが可能である。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
第1の実施形態に係る暗号化装置の構成図である。 第1の実施形態に係る暗号化装置における暗号処理を示すフローである。 第1の実施形態に係る復号化装置の構成図である。 第1の実施形態に係る復号化装置における復号処理を示すフローである。 第1の実施形態に係る自己同期型暗号化装置の構成図である。 第1の実施形態に係る自己同期型暗号化装置における暗号処理を示すフローである。 第1の実施形態に係る自己同期型復号化装置の構成図である。 第1の実施形態に係る自己同期型復号化装置における復号処理を示すフローである。
符号の説明
10、20・・・鍵系列生成関数、11・・・内部状態更新関数、12・・・内部状態保存メモリ、17a、17b、17c、・・・、17n、18a、18b、18c、・・・、18n、27a、27b、27c、・・・、27n、29a、29b、29c、・・・、29n排他的論理和演算器、21・・・鍵拡大関数、22・・・拡大鍵保存メモリ、28、30・・・圧縮関数

Claims (12)

  1. 平文を入力し、暗号文を出力するストリーム暗号の暗号化装置であって、
    初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新する内部状態更新関数と、
    該内部状態更新関数から出力された内部状態を記憶する内部状態記憶手段と、
    該内部状態記憶手段に記憶された内部状態を読み込んで、鍵系列を出力する鍵系列生成関数と、
    該鍵系列生成関数から出力された鍵系列と前記入力した平文との排他的論理和演算を実行して暗号文を出力する排他的論理和演算器と、を備え、
    前記鍵系列生成関数が、第1の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とするストリーム暗号の暗号化装置。
  2. 前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
  3. 前記請求項1または2に記載のストリーム暗号の暗号化装置を用いたストリーム暗号の暗号化方法であって、
    初期鍵、初期ベクトルを内部状態メモリに読み込む第1のステップと、
    初期攪拌処理により内部状態メモリを攪拌する第2のステップと、
    鍵系列生成関数が、内部状態メモリの値を読み込んで鍵系列を出力する第3のステップと、
    内部状態メモリを更新する第4のステップと、
    該出力された鍵系列と平文との排他的論理和演算により暗号文を出力する第5のステップと、
    を備えたことを特徴とするストリーム暗号の暗号化方法。
  4. 前記請求項1または2に記載のストリーム暗号の暗号化装置を用いたストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、
    初期鍵、初期ベクトルを内部状態メモリに読み込む第1のステップと、
    初期攪拌処理により内部状態メモリを攪拌する第2のステップと、
    鍵系列生成関数が、内部状態メモリの値を読み込んで鍵系列を出力する第3のステップと、
    内部状態メモリを更新する第4のステップと、
    該出力された鍵系列と平文との排他的論理和演算により暗号文を出力する第5のステップと、
    をコンピュータに実行させるためのプログラム。
  5. 暗号文を入力し、平文を出力するストリーム暗号の復号化装置であって、
    初期鍵および初期ベクトルを生成するとともに、鍵系列の出力時に内部状態を更新する内部状態更新関数と、
    該内部状態更新関数から出力された内部状態を記憶する内部状態記憶手段と、
    該内部状態記憶手段に記憶された内部状態を読み込んで、鍵系列を出力する鍵系列生成関数と、
    該鍵系列生成関数から出力された鍵系列と前記入力した暗号文との排他的論理和演算を実行して平文を出力する排他的論理和演算器と、を備え、
    前記鍵系列生成関数が、第1の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記内部状態記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記内部状態記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とするストリーム暗号の復号化装置。
  6. 前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とする請求項5に記載のストリーム暗号の復号化装置。
  7. 平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックする自己同期型ストリーム暗号の暗号化装置であって、
    初期値を入力し、拡大鍵を生成する鍵拡大関数と、
    該生成された拡大鍵を記憶する拡大鍵記憶手段と、
    該拡大鍵記憶手段に記憶された拡大鍵と前回暗号化した暗号文あるいは初期ベクトルを読み込んで、鍵系列を出力する鍵系列生成関数と、
    該鍵系列生成関数から出力された鍵系列と前記入力した平文との排他的論理和演算を実行して暗号文を出力する排他的論理和演算器と、
    該出力された暗号文を圧縮処理して前記鍵系列生成関数にフィードバックする圧縮関数と、
    を備え、
    前記鍵系列生成関数が、第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とする自己同期型ストリーム暗号の暗号化装置。
  8. 前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とする請求項7に記載の自己同期型ストリーム暗号の暗号化装置。
  9. 前記請求項7または8に記載の自己同期型ストリーム暗号の暗号化装置を用いたストリーム暗号の暗号化方法であって、
    初期鍵を鍵拡大関数で拡大し、拡大鍵としてメモリにセットする第1のステップと、
    鍵系列生成関数が、拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力する第2のステップと、
    鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力する第3のステップと、
    該出力した暗号文をフィードバックさせ、鍵生成関数へ入力する第4のステップと、
    を備えたことを特徴とするストリーム暗号の暗号化方法。
  10. 前記請求項7または8に記載の自己同期型ストリーム暗号の暗号化装置を用いたストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、
    初期鍵を鍵拡大関数で拡大し、拡大鍵としてメモリにセットする第1のステップと、
    鍵系列生成関数が、拡大鍵と前回暗号化した暗号文あるいは初期ベクトルとを読み込んで鍵系列を出力する第2のステップと、
    鍵系列と平文との排他的論理和演算を実行することにより、暗号文を出力する第3のステップと、
    該出力した暗号文をフィードバックさせ、鍵生成関数へ入力する第4のステップと、
    をコンピュータに実行させるためのプログラム。
  11. 暗号文を入力し、平文を出力する自己同期型ストリーム暗号の復号化装置であって、
    初期値を入力し、拡大鍵を生成する鍵拡大関数と、
    該生成された拡大鍵を記憶する拡大鍵記憶手段と、
    該拡大鍵記憶手段に記憶された拡大鍵と前回復号化した平文あるいは初期ベクトルを読み込んで、鍵系列を出力する鍵系列生成関数と、
    該鍵系列生成関数から出力された鍵系列と前記入力した暗号文との排他的論理和演算を実行して平文を出力する排他的論理和演算器と、
    該出力された平文を圧縮処理して前記鍵系列生成関数にフィードバックする圧縮関数と、
    を備え、
    前記鍵系列生成関数が、第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第1の加算器と、該第1の加算器から出力された値を非線形処理する第1の非線形関数と、該第1の非線形関数からの値を格納する第3の内部メモリと、第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との加算値を出力する第2の加算器と、該第2の加算器から出力された値を非線形処理する第2の非線形関数と、該第2の非線形関数からの値を格納する第4の内部メモリと、前記第1の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第1の排他的論理和演算器と、前記第2の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第2の排他的論理和演算器と、前記第3の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第3の排他的論理和演算器と、前記第4の内部メモリの値と前記拡大鍵記憶手段から出力される値との排他的論理和演算を実行して鍵系列を出力する第4の排他的論理和演算器と、からなる関数ユニットを出力する鍵系列の長さに応じて所定数連結していることを特徴とする自己同期型ストリーム暗号の復号化装置。
  12. 前記鍵系列生成関数が、加算器と、該加算器の出力を非線形処理する非線形関数と、該非線形関数からの値を格納する内部メモリと、からなる前処理ユニットをさらに前記関数ユニットの前方に所定数連結していることを特徴とする請求項11に記載の自己同期型ストリーム暗号の復号化装置。
JP2007131230A 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム Active JP5096794B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007131230A JP5096794B2 (ja) 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131230A JP5096794B2 (ja) 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008286965A JP2008286965A (ja) 2008-11-27
JP5096794B2 true JP5096794B2 (ja) 2012-12-12

Family

ID=40146756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007131230A Active JP5096794B2 (ja) 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5096794B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5908376B2 (ja) * 2012-09-06 2016-04-26 Kddi株式会社 秘密鍵生成装置、秘密鍵生成方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム
JP4249166B2 (ja) * 2005-08-24 2009-04-02 Kddi株式会社 ストリーム暗号方法および装置
JP4938430B2 (ja) * 2006-12-05 2012-05-23 Kddi株式会社 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム

Also Published As

Publication number Publication date
JP2008286965A (ja) 2008-11-27

Similar Documents

Publication Publication Date Title
RU2620712C2 (ru) Устройство виртуальной машины, имеющее управляемую ключом обфускацию, и способ
US8958548B2 (en) Generation of relative prime numbers for use in cryptography
CN107491317A (zh) 一种基于异构加速平台的aes对称加解密方法及系统
US20080192924A1 (en) Data encryption without padding
JP6028798B2 (ja) 暗号化装置、暗号化方法およびプログラム
JP5096794B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム
JP5102536B2 (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP2012039180A (ja) ストリーム暗号の暗号器、ストリーム暗号の復号器、ストリーム暗号の暗号方法、ストリーム暗号の復号方法およびプログラム
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
Saudagar et al. Image encryption based on advanced encryption standard (aes)
JP5415020B2 (ja) ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5084224B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP4819576B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP5431190B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP5559011B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム
JP2012235287A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2007298847A (ja) プログラム内データの保護装置、保護方法およびプログラム
JP4945809B2 (ja) 多段型メモリ装置、メモリ装置、記憶方法及び記憶処理用プログラム
Harram et al. Simulation of AES based data encryption in Vb. NET
Abebe et al. Efficient Architecture for a High Performance Authenticated Encryption Algorithm on Reconfigurable Computing
JP5624491B2 (ja) ハッシュ関数装置、ハッシュ関数装置の処理方法およびプログラム
JP6357405B2 (ja) 暗号化処理装置、暗号化処理システムおよび暗号化処理方法
JP5495754B2 (ja) ストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120921

R150 Certificate of patent or registration of utility model

Ref document number: 5096794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3