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

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

Info

Publication number
JP2008286964A
JP2008286964A JP2007131222A JP2007131222A JP2008286964A JP 2008286964 A JP2008286964 A JP 2008286964A JP 2007131222 A JP2007131222 A JP 2007131222A JP 2007131222 A JP2007131222 A JP 2007131222A JP 2008286964 A JP2008286964 A JP 2008286964A
Authority
JP
Japan
Prior art keywords
key sequence
register
key
memory
generation function
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.)
Granted
Application number
JP2007131222A
Other languages
English (en)
Other versions
JP5102536B2 (ja
Inventor
Shinsaku Kiyomoto
晋作 清本
Toshiaki Tanaka
俊昭 田中
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 JP2007131222A priority Critical patent/JP5102536B2/ja
Publication of JP2008286964A publication Critical patent/JP2008286964A/ja
Application granted granted Critical
Publication of JP5102536B2 publication Critical patent/JP5102536B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】十分な安全性を有することが証明可能であり、しかも、処理速度が高速なストリーム暗号の暗号化装置等を提供する。
【解決手段】初期鍵および初期ベクトルをメモリ内のレジスタに読み込み、読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する。次に、メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力し、ルールビットに従って、鍵系列生成関数がメモリ内のレジスタから所定の値を選択する。そして、鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力し、このとき、メモリ内のレジスタの値を更新する。そして、鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する。
【選択図】図1

Description

本発明は、ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラムに関する。
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
ストリーム暗号方式は、ブロック暗号方式よりも高速な処理が期待できるため、例えば、映画等の大容量データを伝送するための方式として、近年、注目を浴びている。なお、記したストリーム暗号を生成するための方法および装置の一例が以下の特許文献1に開示されている。
特表2002−536912号公報
しかしながら、ストリーム暗号は、その処理速度において優れているものの、その安全性を証明できる高速なストリーム暗号は、いままでに存在していない。
そこで、本発明は、上述の課題に鑑みてなされたものであり、十分な安全性を有することが証明可能であり、しかも、処理速度が高速なストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、初期鍵および初期ベクトルを初期値としてレジスタに格納する格納手段(例えば、図1の内部メモリ12に相当)と、該格納手段のレジスタに格納された値を鍵系列が生成されるごとに更新する更新手段(例えば、図1の内部メモリ更新関数11に相当)と、前記格納手段から出力される選択ルールビット列に基づいて、前記格納手段のレジスタに格納される値を選択して入力し、鍵系列を生成する鍵系列生成関数(例えば、図1の鍵系列生成関数13に相当)と、該生成された鍵系列と平文との排他的論理和演算を実行して、暗号文を出力する出力手段(例えば、図1の排他的論理和演算器(XOR)14に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、格納手段が、初期鍵および初期ベクトルを初期値としてレジスタに格納し、更新手段が、格納手段のレジスタに格納された値を鍵系列が生成されるごとに更新する。そして、鍵系列生成関数が、格納手段から出力される選択ルールビット列に基づいて、格納手段のレジスタに格納される値を選択して入力し、鍵系列を生成し、出力手段が、生成された鍵系列と平文との排他的論理和演算を実行して、暗号文を出力する。したがって、更新手段と鍵系列生成関数とを分離した構成を用いることから、相互の相関性が無くなり、容易に鍵系列を解析することができないため、安全性が向上する。また、更新手段と鍵系列生成関数とを分離することにより、従来のテーブル参照型のストリーム暗号に比べて、プログラムコードサイズを小さくすることができる。さらに、ストリーム暗号を用いることから、優れた処理速度が期待できる。
(2)本発明は、(1)のストリーム暗号の暗号化装置について、前記鍵系列生成関数がナップザック問題を計算する関数であることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、鍵系列生成関数として、安全性を有するナップザック問題を計算する関数を用いてストリーム暗号の暗号化装置を構成することから、安全性を確保しつつ、処理速度の速い暗号化装置を構成することができる。
(3)本発明は、(1)のストリーム暗号の暗号化装置について、前記鍵系列生成関数が最短ベクトル問題を計算する関数であることを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、鍵系列生成関数として、安全性を有する最短ベクトル問題を計算する関数を用いてストリーム暗号の暗号化装置を構成することから、安全性を確保しつつ、処理速度の速い暗号化装置を構成することができる。また、最短ベクトル問題を計算する関数は、2次元のデータビットをその処理対象とするため、格納手段のメモリサイズを小さくすることができる。さらに、2次元のデータビットをその処理対象とするため、計算の難易度が上がって、より安全性を高めることができる。
(4)本発明は、(1)から(3)のストリーム暗号の暗号化装置について、前記格納手段が所定値以上の容量を有することを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、格納手段が所定値以上の容量を有することから、鍵系列生成関数における計算の難易度を一定以上に保持することができる。
(5)本発明は、初期鍵および初期ベクトルを初期値としてレジスタに格納する格納手段(例えば、図3の内部メモリ12に相当)と、該格納手段のレジスタに格納された値を鍵系列が生成されるごとに更新する更新手段(例えば、図3の内部メモリ更新関数11に相当)と、前記格納手段から出力される選択ルールビット列に基づいて、前記格納手段のレジスタに格納される値を選択して入力し、鍵系列を生成する鍵系列生成関数(例えば、図3の鍵系列生成関数13に相当)と、該生成された鍵系列と暗号文との排他的論理和演算を実行して、平文を出力する出力手段(例えば、図3の排他的論理和演算器(XOR)14に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
この発明によれば、格納手段が、初期鍵および初期ベクトルを初期値としてレジスタに格納し、更新手段が、格納手段のレジスタに格納された値を鍵系列が生成されるごとに更新する。そして、鍵系列生成関数が、格納手段から出力される選択ルールビット列に基づいて、格納手段のレジスタに格納される値を選択して入力し、鍵系列を生成し、出力手段が、生成された鍵系列と暗号文との排他的論理和演算を実行して、平文を出力する。したがって、更新手段と鍵系列生成関数とを分離した構成を用いることから、相互の相関性が無くなり、容易に鍵系列を解析することができないため、安全性が向上する。
(6)本発明は、初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップ(例えば、図2のステップS101に相当)と、該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップ(例えば、図2のステップS102に相当)と、前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップ(例えば、図2のステップS103に相当)と、該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップ(例えば、図2のステップS104に相当)と、前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップ(例えば、図2のステップS105に相当)と、該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップ(例えば、図2のステップS107に相当)と、前記鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する第7のステップ(例えば、図2のステップS106に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。
この発明によれば、初期鍵および初期ベクトルをメモリ内のレジスタに読み込み、読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する。次に、メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力し、ルールビットに従って、鍵系列生成関数がメモリ内のレジスタから所定の値を選択する。そして、鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力し、このとき、メモリ内のレジスタの値を更新する。そして、鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する。したがって、安全性の高い鍵系列生成関数を用いて、ストリーム暗号の暗号化を実行するため、高い安全性を確保しつつ、高速な暗号化処理が可能となる。
(7)本発明は、初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップ(例えば、図4のステップS201に相当)と、該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップ(例えば、図4のステップS202に相当)と、前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップ(例えば、図4のステップS203に相当)と、該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップ(例えば、図4のステップS204に相当)と、前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップ(例えば、図4のステップS205に相当)と、該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップ(例えば、図4のステップS207に相当)と、前記鍵系列生成関数が出力した鍵系列と暗号文との排他的論理和演算を実行することにより復号化する第7のステップ(例えば、図4のステップS206に相当)と、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。
この発明によれば、初期鍵および初期ベクトルをメモリ内のレジスタに読み込み、読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する。次に、メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力し、ルールビットに従って、鍵系列生成関数がメモリ内のレジスタから所定の値を選択する。そして、鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力し、このとき、メモリ内のレジスタの値を更新する。そして、鍵系列生成関数が出力した鍵系列と暗号文との排他的論理和演算を実行することにより復号化する。したがって、安全性の高い鍵系列生成関数を用いて、ストリーム暗号の復号化を実行するため、高い安全性を確保しつつ、高速な復号化処理が可能となる。
(8)本発明は、コンピュータに、初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップ(例えば、図2のステップS101に相当)と、該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップ(例えば、図2のステップS102に相当)と、前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップ(例えば、図2のステップS103に相当)と、該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップ(例えば、図2のステップS104に相当)と、前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップ(例えば、図2のステップS105に相当)と、該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップ(例えば、図2のステップS107に相当)と、前記鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する第7のステップ(例えば、図2のステップS106に相当)と、を実行させることを特徴とするプログラムを提案している。
この発明によれば、初期鍵および初期ベクトルをメモリ内のレジスタに読み込み、読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する。次に、メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力し、ルールビットに従って、鍵系列生成関数がメモリ内のレジスタから所定の値を選択する。そして、鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力し、このとき、メモリ内のレジスタの値を更新する。そして、鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する。したがって、安全性の高い鍵系列生成関数を用いて、ストリーム暗号の暗号化を実行するため、高い安全性を確保しつつ、高速な暗号化処理が可能となる。
(9)本発明は、コンピュータに、初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップ(例えば、図4のステップS201に相当)と、該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップ(例えば、図4のステップS202に相当)と、前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップ(例えば、図4のステップS203に相当)と、該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップ(例えば、図4のステップS204に相当)と、前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップ(例えば、図4のステップS205に相当)と、該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップ(例えば、図4のステップS207に相当)と、前記鍵系列生成関数が出力した鍵系列と暗号文との排他的論理和演算を実行することにより復号化する第7のステップ(例えば、図4のステップS206に相当)と、を実行させることを特徴とするプログラムを提案している。
この発明によれば、初期鍵および初期ベクトルをメモリ内のレジスタに読み込み、読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する。次に、メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力し、ルールビットに従って、鍵系列生成関数がメモリ内のレジスタから所定の値を選択する。そして、鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力し、このとき、メモリ内のレジスタの値を更新する。そして、鍵系列生成関数が出力した鍵系列と暗号文との排他的論理和演算を実行することにより復号化する。したがって、安全性の高い鍵系列生成関数を用いて、ストリーム暗号の復号化を実行するため、高い安全性を確保しつつ、高速な復号化処理が可能となる。
本発明によれば、安全性の高い鍵系列生成関数を用いて装置を構成することにより、高い安全性を確保できるという効果がある。また、格納手段内のレジスタの値を更新する手段(関数)と鍵系列生成関数とを分離させた構成となっているため、相互の相関性が無くなり、鍵系列の解析を困難とすることにより安全性をさらに向上させることができるという効果がある。さらに、ストリーム暗号を用いた装置構成となっているため、優れた処理速度が期待できるという効果がある。
以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<暗号化装置の構成>
本実施形態に係る暗号化装置は、図1に示すように、内部メモリ更新関数11と、内部メモリ12と、鍵系列生成関数13と、排他的論理和演算器(XOR)14とから構成されている。
内部メモリ更新関数11は、初期処理として、内部メモリ12を攪拌するとともに、鍵系列生成関数13が鍵系列を出力するごとに内部メモリ12を更新する。内部メモリ12は、鍵系列を生成するために必要な値を内部のレジスタに格納している。また、内部メモリ内のレジスタに格納された値のうち、どの値を鍵系列の生成のために用いるかを決定する選択ルールビットも格納している。なお、内部メモリ12は、所定値以上の容量を有している。これにより、鍵系列生成関数13における計算の難易度を一定以上に保持することができる。
鍵系列生成関数13は、選択された内部メモリ12の値をすべて加算、ないし乗算を行い、この値を鍵系列のデータサイズに対応する数値で除することにより得られる剰余を鍵系列として出力する。なお、鍵系列生成関数13としては、具体的に、ナップザック問題を計算する関数あるいは最短ベクトル問題を計算する関数等が考えられる。いずれの場合も安全性を有する関数であるが、特に、最短ベクトル問題を計算する関数については、2次元のデータビットをその処理対象とするため、内部メモリ12のメモリサイズを小さくすることができ、さらに、計算の難易度が上がって、より安全性を高めることができる。
排他的論理和演算器(XOR)14は、平文と鍵系列生成関数13において生成された鍵系列との排他的論理和演算を実行して、暗号文を出力する。
上記のように、本実施形態に係る暗号化装置は、内部メモリ更新関数11と鍵系列生成関数13とを分離した構成を用いることから、相互の相関性が無くなり、容易に鍵系列を解析することができないため、安全性が向上する。また、内部メモリ更新関数11と鍵系列生成関数13とを分離することにより、従来のテーブル参照型のストリーム暗号に比べて、プログラムコードサイズを小さくすることができる。
<暗号化処理>
次に、図2を用いて、暗号化の処理について説明する。
まず、内部メモリ12に初期鍵、初期ベクトルを読み込む(ステップS101)。そして、内部メモリ更新関数11が、初期攪拌処理により内部メモリ12を攪拌する(ステップS102)。次に、鍵系列生成関数13が、例えば、内部メモリ12の最右の値を選択ルールビットとして入力する(ステップS103)。
鍵系列生成関数13は、選択ルールビットに従って、内部メモリ12の値を選択し(ステップS104)、選択した内部メモリ12の値をすべて加算、ないし乗算を行い、鍵系列のビットサイズに相当する値について剰余を取り、この値を鍵系列として出力する(ステップS105)。
そして、排他的論理和演算器(XOR)14において、鍵系列と平文とを排他的論理和処理することにより、暗号化する(ステップS106)。一方、鍵系列生成関数13から鍵系列が出力されると、内部メモリ更新関数11は、内部メモリ12の値を更新して、上記のステップS103からステップS106の処理を継続して実行する。
したがって、本実施形態に係る暗号化装置によれば、内部メモリ更新関数11と鍵系列生成関数13とを分離した構成を用いることから、相互の相関性が無くなり、容易に鍵系列を解析することができないため、安全性が向上する。また、内部メモリ更新関数11と鍵系列生成関数13とを分離することにより、従来のテーブル参照型のストリーム暗号に比べて、プログラムコードサイズを小さくすることができる。さらに、ストリーム暗号を用いることから、優れた処理速度が期待できる。
<復号化装置の構成>
本実施形態に係る復号化装置は、図3に示すように、内部メモリ更新関数11と、内部メモリ12と、鍵系列生成関数13と、排他的論理和演算器(XOR)21とから構成されている。なお、上記の暗号化装置と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
ここで、排他的論理和演算器(XOR)21は、暗号文と鍵系列生成関数13において生成された鍵系列との排他的論理和演算を実行して、平文を出力する。
<復号化処理>
次に、図4を用いて、暗号化の処理について説明する。
まず、内部メモリ12に初期鍵、初期ベクトルを読み込む(ステップS201)。そして、内部メモリ更新関数11が、初期攪拌処理により内部メモリ12を攪拌する(ステップS202)。次に、鍵系列生成関数13が、例えば、内部メモリ12の最右の値を選択ルールビットとして入力する(ステップS203)。
鍵系列生成関数13は、選択ルールビットに従って、内部メモリ12の値を選択し(ステップS204)、選択した内部メモリ12の値をすべて加算、ないし乗算を行い、鍵系列のビットサイズに相当する値について剰余を取り、この値を鍵系列として出力する(ステップS205)。
そして、排他的論理和演算器(XOR)14において、鍵系列と暗号文とを排他的論理和処理することにより、復号化する(ステップS206)。一方、鍵系列生成関数13から鍵系列が出力されると、内部メモリ更新関数11は、内部メモリ12の値を更新して、上記のステップS203からステップS206の処理を継続して実行する。
したがって、本実施形態に係る復号化装置によれば、内部メモリ更新関数11と鍵系列生成関数13とを分離した構成を用いることから、相互の相関性が無くなり、容易に鍵系列を解析することができないため、安全性が向上する。また、内部メモリ更新関数11と鍵系列生成関数13とを分離することにより、従来のテーブル参照型のストリーム暗号に比べて、プログラムコードサイズを小さくすることができる。さらに、ストリーム暗号を用いることから、優れた処理速度が期待できる。
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号化装置、ストリーム暗号の復号化装置に読み込ませ、実行することによって本発明のストリーム暗号の暗号化装置、ストリーム暗号の復号化装置を実現することができる。
また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、本発明は、様々なストリーム暗号の評価に広く適用することができる。したがって、ストリーム暗号を使用するようなブロードバンド事業や携帯電話をはじめとするモバイル通信におけるシステム構築に広く利用することが可能である。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本実施形態に係る暗号化装置の構成図である。 本実施形態に係る暗号化装置における暗号化処理のフローである。 本実施形態に係る暗号化装置の構成図である。 本実施形態に係る暗号化装置における暗号化処理のフローである。
符号の説明
11・・・内部メモリ更新関数、12・・・内部メモリ、13・・・鍵系列生成関数、14、21・・・排他的論理和演算器(XOR)

Claims (9)

  1. 初期鍵および初期ベクトルを初期値としてレジスタに格納する格納手段と、
    該格納手段のレジスタに格納された値を鍵系列が生成されるごとに更新する更新手段と、
    前記格納手段から出力される選択ルールビット列に基づいて、前記格納手段のレジスタに格納される値を選択して入力し、鍵系列を生成する鍵系列生成関数と、
    該生成された鍵系列と平文との排他的論理和演算を実行して、暗号文を出力する出力手段と、
    を備えたことを特徴とするストリーム暗号の暗号化装置。
  2. 前記鍵系列生成関数がナップザック問題を計算する関数であることを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
  3. 前記鍵系列生成関数が最短ベクトル問題を計算する関数であることを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
  4. 前記格納手段が所定値以上の容量を有することを特徴とする請求項1から3のいずれかに記載のストリーム暗号の暗号化装置。
  5. 初期鍵および初期ベクトルを初期値としてレジスタに格納する格納手段と、
    該格納手段のレジスタに格納された値を鍵系列が生成されるごとに更新する更新手段と、
    前記格納手段から出力される選択ルールビット列に基づいて、前記格納手段のレジスタに格納される値を選択して入力し、鍵系列を生成する鍵系列生成関数と、
    該生成された鍵系列と暗号文との排他的論理和演算を実行して、平文を出力する出力手段と、
    を備えたことを特徴とするストリーム暗号の復号化装置。
  6. 初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップと、
    該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップと、
    前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップと、
    該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップと、
    前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップと、
    該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップと、
    前記鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する第7のステップと、
    を備えたことを特徴とするストリーム暗号の暗号化方法。
  7. 初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップと、
    該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップと、
    前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップと、
    該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップと、
    前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップと、
    該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップと、
    前記鍵系列生成関数が出力した鍵系列と暗号文との排他的論理和演算を実行することにより復号化する第7のステップと、
    を備えたことを特徴とするストリーム暗号の復号化方法。
  8. コンピュータに、
    初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップと、
    該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップと、
    前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップと、
    該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップと、
    前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップと、
    該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップと、
    前記鍵系列生成関数が出力した鍵系列と平文との排他的論理和演算を実行することにより暗号化する第7のステップと、
    を実行させることを特徴とするプログラム。
  9. コンピュータに、
    初期鍵および初期ベクトルをメモリ内のレジスタに読み込む第1のステップと、
    該読み込んだ初期鍵および初期ベクトルをメモリ内部で攪拌する第2のステップと、
    前記メモリ内のレジスタから選択する値を定義するルールビットを鍵系列生成関数に入力する第3のステップと、
    該ルールビットに従って、前記鍵系列生成関数が前記メモリ内のレジスタから所定の値を選択する第4のステップと、
    前記鍵系列生成関数が選択した値を全て加算あるいは乗算を行い、その演算結果を鍵系列のデータサイズで除した剰余を得て、この剰余を鍵系列として出力する第5のステップと、
    該鍵系列が出力されるごとに、前記メモリ内のレジスタの値を更新する第6のステップと、
    前記鍵系列生成関数が出力した鍵系列と暗号文との排他的論理和演算を実行することにより復号化する第7のステップと、
    を実行させることを特徴とするプログラム。
JP2007131222A 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム Active JP5102536B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007131222A JP5102536B2 (ja) 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131222A JP5102536B2 (ja) 2007-05-17 2007-05-17 ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008286964A true JP2008286964A (ja) 2008-11-27
JP5102536B2 JP5102536B2 (ja) 2012-12-19

Family

ID=40146755

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5102536B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102983972A (zh) * 2012-10-18 2013-03-20 郎六琪 基于流密码的动态加密解密方法
JP2013093703A (ja) * 2011-10-25 2013-05-16 Kddi Corp 鍵系列出力装置、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、鍵系列出力方法、およびプログラム
JP2020517209A (ja) * 2017-04-17 2020-06-11 徐智能 キーを付随式で調整可能にランダムに再構成するシーケンス暗号化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003519960A (ja) * 1999-12-02 2003-06-24 ハネウェル・インコーポレーテッド 乗算を用いる暗号アイソレータ
WO2006100801A1 (ja) * 2005-03-23 2006-09-28 Kddi Corporation キーストリーム暗号化装置および方法ならびにプログラム
JP2006279244A (ja) * 2005-03-28 2006-10-12 Hitachi Kokusai Electric Inc データ送信装置
WO2006121149A1 (ja) * 2005-05-13 2006-11-16 Ochanomizu University 擬似乱数発生システム、暗号化システム及び復号化システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003519960A (ja) * 1999-12-02 2003-06-24 ハネウェル・インコーポレーテッド 乗算を用いる暗号アイソレータ
WO2006100801A1 (ja) * 2005-03-23 2006-09-28 Kddi Corporation キーストリーム暗号化装置および方法ならびにプログラム
JP2006279244A (ja) * 2005-03-28 2006-10-12 Hitachi Kokusai Electric Inc データ送信装置
WO2006121149A1 (ja) * 2005-05-13 2006-11-16 Ochanomizu University 擬似乱数発生システム、暗号化システム及び復号化システム
JP2006317802A (ja) * 2005-05-13 2006-11-24 Ochanomizu Univ 擬似乱数発生システム、暗号化システム及び復号化システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013093703A (ja) * 2011-10-25 2013-05-16 Kddi Corp 鍵系列出力装置、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、鍵系列出力方法、およびプログラム
CN102983972A (zh) * 2012-10-18 2013-03-20 郎六琪 基于流密码的动态加密解密方法
CN102983972B (zh) * 2012-10-18 2015-06-10 吉林大学珠海学院 基于流密码的动态加密解密方法
JP2020517209A (ja) * 2017-04-17 2020-06-11 徐智能 キーを付随式で調整可能にランダムに再構成するシーケンス暗号化方法

Also Published As

Publication number Publication date
JP5102536B2 (ja) 2012-12-19

Similar Documents

Publication Publication Date Title
JP6244429B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
CN107004084B (zh) 用于加密操作的乘法掩码
JP2003134103A (ja) 情報処理装置
US20130227278A1 (en) Generation of relative prime numbers for use in cryptography
US20190287427A1 (en) Device and method for performing obfuscated arithmetic
JP2014207717A (ja) 指数難読化
WO2012157279A1 (ja) 順序保存暗号化システム、装置、方法及びプログラム
JP5102536B2 (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
KR101440680B1 (ko) 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
JP5431191B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
Saudagar et al. Image Encryption based on Advanced Encryption Standard (AES)
JP5354914B2 (ja) 暗号処理装置及び復号処理装置及びプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP5096794B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム
JP5495825B2 (ja) ストリーム暗号の秘匿計算暗号化装置、ストリーム暗号の秘匿計算復号化装置、暗号化方法、復号化方法およびプログラム
Imam et al. An empirical study of secure and complex variants of RSA scheme
JP6876423B2 (ja) ストリーム暗号における内部状態の初期化装置、方法及びプログラム
JP5431190B2 (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP7215245B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2007298847A (ja) プログラム内データの保護装置、保護方法およびプログラム
JP2015114434A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
Manz Public-Key Ciphers
JP6357405B2 (ja) 暗号化処理装置、暗号化処理システムおよび暗号化処理方法
KR20210067961A (ko) 완전동형암호 기법으로 암호화된 데이터의 연산을 위한 장치 및 방법

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120731

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

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

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

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5102536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150