JP4586163B2 - 暗号化システム - Google Patents
暗号化システム Download PDFInfo
- Publication number
- JP4586163B2 JP4586163B2 JP2005262581A JP2005262581A JP4586163B2 JP 4586163 B2 JP4586163 B2 JP 4586163B2 JP 2005262581 A JP2005262581 A JP 2005262581A JP 2005262581 A JP2005262581 A JP 2005262581A JP 4586163 B2 JP4586163 B2 JP 4586163B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- pseudo
- encryption
- mask pattern
- bits
- 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
ストリーム暗号方式とは、平文を1ビット、または数ビットごとに暗号化・復号を行なう方法であり、暗号化鍵から鍵系列とよばれる擬似乱数を生成し、その擬似乱数により平文を逐次暗号化する暗号方式である。擬似乱数は、ソフトウェアでも比較的高速に生成することができるため、ストリーム暗号方式による暗号化及び復号システムは、ソフトウェアで実現する場合でも、高速な処理を行なうことができる。この方式では、擬似乱数の生成方法が非常に重要であり、暗号強度に大きく影響する。
発明者らのCNNのニューロンモデルを図1(a)および式(1),式(2)に示す。
xj(t):時刻tにおけるニューロンjの出力(t=0,1,2,…)
uj:ニューロンjの内部状態
xi(t−1):時刻t−1におけるニューロンiからの入力
wij:ニューロンiからニューロンjへの結合荷重
θj:ニューロンjの閾値
Ij:ニューロンjへの外部入力値
他方の前記擬似乱数発生手段から出力した擬似乱数に前記マスクパターンをマスクした結果を出力する乱数出力手段とを有する乱数生成システムと、入力した平文と前記乱数生成システムからの乱数とを演算して暗号化文を出力する暗号化手段とを備えることを特徴とする。
前記マスクパターンは、0と1とが同数であるとするとよい。
前記擬似乱数発生手段はカオス・ニューラルネットワークであり、前記擬似乱数は前記カオス・ニューラルネットワークからの出力の下位ビットとすることもできる。
上記の暗号化システムの機能をコンピュータ・システムに構築させるプログラムも本発明である。
特に、発明者らの技術であるCNNより生成された出力の下位bitを擬似乱数として本実施形態のマスクパターン法を用いることにより、CNNの出力の下位bitの優れた乱数性を落とすことなく暗号化鍵空間を広げることができる。具体的には、発明者らの既存技術(非特許文献1,特許文献1,特許文献2を参照)に対して、0と1とが同数のマスクパターンを用いて上述のマスクパターン法を適用すると、暗号鍵空間を標準で1048倍に改良することができた。これにより解読に要する時間を1029年以上に延ばすことができる。もともと、発明者らの既存技術であるCNNによる暗号化方法は、米国の次世代標準暗号であるRijndaelより高速かつ堅牢であるが、本発明の手法によれば、これをさらに堅牢化できる。
<1.暗号化>
本実施形態では、CNNより生成した擬似乱数から、本実施形態で提案する新しい手法であるマスクパターン法により暗号化に用いる乱数を生成し、上述のストリーム暗号方式による暗号化を行うシステムを実装する場合を例として説明するが、他の擬似乱数発生手段を用いてもよい。
以降、この暗号化システムの実装に向け、ストリーム暗号方式の概要と、考えられる主な攻撃方法について述べる。
用いる暗号として、秘密鍵暗号方式(共通鍵暗号方式)の一種である、上述のストリーム暗号方式を使用する。その特徴を以下に示す。
・1bit毎に暗号化および復号を行う。
・一般的に堅牢性よりも速度を重視する。
本実施形態で用いるストリーム暗号方式の暗号化と復号について概要を示す。
(1)暗号化
平文 XOR 乱数列=暗文 …(3.1)
(2)復号
暗文 XOR 乱数列=平文 …(3.2)
ここで、平文とは暗号化されていないデータであり、暗文は、暗号化され、そのままでは読めない状態になっているデータである。
一方、ストリーム暗号を攻撃する主な方法として、(1)既知平文攻撃、(2)選択平文攻撃、(3)差分攻撃、等の方法が挙げられる。
(1)既知平文攻撃
攻撃者が、平文と暗文の両方を手に入れることができる立場にある場合の攻撃方法。
平文 XOR 暗文=乱数列 …(3.3)
式(3.3)により、乱数列を取得されてしまう。これを繰り返し行うことによって、次の乱数列を予測される恐れがある。
攻撃者が平文の内容を自由に選択できる立場にある場合の攻撃方法。式(3.1)において、平文の内容を全て0にすることにより、
0 XOR 乱数列=暗文 …(3.4)
乱数列=暗文 …(3.5)
となり、乱数列の内容が暗文にそのまま表れ、乱数列を取得されてしまう。
平文と暗文のセットを複数持つことができる立場にある場合の攻撃方法。
平文1 XOR 乱数列1=暗文1 …(3.6)
平文2 XOR 乱数列2=暗文2 …(3.7)
(平文1 XOR 平文2)XOR(乱数列1 XOR 乱数列2)=(暗文1 XOR 暗文2) …(3・8)
このとき、乱数列1と乱数列2が等しくなる可能性があると、
乱数列1 XOR 乱数列2=0 …(3.9)
となり、式(3.8)と式(3.9)から、
平文1 XOR 平文2=暗文1 XOR 暗文2 …(3.10)
となる。式(3.10)より、同じ乱数列を使用すると、乱数列の内容に関わらず、解除されてしまう。
(4−1.目的)
上述したように、カオス出力の下位bitは乱数性に優れている(特許文献2参照)が、本実施形態では、暗号化システムにおいて上述の攻撃への対処をより強化するために、以降説明する「マスクパターン法」を提案する。なお、本実施形態では、擬似乱数を発生する擬似乱数発生手段として、上述のCNNを用いる場合を例として説明するが、他の擬似乱数発生手段を用いてもよい。
本実施形態のマスクパターン法とは、ある擬似乱数発生手段(ここではCNNを例として説明する)からの擬似乱数を、異なった系の擬似乱数発生手段(ここではCNNを例として説明する)からの擬似乱数を基に作り出したマスクパタ−ンでマスクすることにより、暗号学的に安全な擬似乱数を生成する方法である。本実施形態のマスクパターン法の処理の流れを図2(a)に示す。
本実施形態の乱数生成システムにおいて、乱数生成に用いるための擬似乱数の生成は、擬似乱数発生手段により行なう。なお、上述したように、本実施形態では擬似乱数発生手段の一例として発明者らのカオス・ニューラルネットワーク(CNN)を用いる例で説明するが、他の擬似乱数発生手段を用いてもよい。マスクパターンの生成は、マスクパターン生成手段により行なう。擬似乱数発生手段からの擬似乱数をマスクパターンでマスクして暗号化に用いる乱数を生成・出力する処理は、乱数出力手段により行なう。
以降、図2(a)および図2(b)を参照しながら、本実施形態で提案するマスクパターン法について詳しく説明する。
図2(a)に示すように、マスクパターン法は、あるCNN(CNN−2)220から生成された擬似乱数(222a,222b,222c,222d,…)を、異なった系のCNN(CNN−1 210)から生成された擬似乱数212を基に作り出したマスクパタ−ン214によりマスクして、より堅牢性を高める方法である。
これらの擬似乱数の生成は、擬似乱数発生手段により行なう。ここでは、擬似乱数発生手段として発明者らのCNNを用いた例で説明するが、他の擬似乱数発生手段を用いてもよい。
CNNから擬似乱数を出力する例を図2(b)に示す。図2(b)に示すように、例えばdouble型変数を格納できるレジスタ240を用意し、図1(b)に示すようなCNNを構成するニューロンから、時系列で発生する出力を取り出して、レジスタ240に格納する。次に、レジスタ240から、仮数部の下位のxビットを取り出す。取り出したビット列が乱数となっている。この乱数は、CNNを構成しているニューロンであれば、どのニューロン(図1(b)ではN1 121〜N4 124)から取り出してもよい。また、数表現がIEEE754形式以外の場合でも、浮動小数点または固定小数点表現を用いている場合は、本手法を適応できる。(詳しくは特許文献2を参照)。なお、本実施形態では、レジスタ240から仮数部の下位24bitを取り出すものとしているが、これは、下位24ビットのランダム性がよいからである。
次に、本実施形態で用いるマスクパターン214の生成方法を、一例を挙げて説明する。
マスクパターン214は、本実施形態の乱数生成システムのマスクパターン生成手段により生成する。なお、ここで説明するマスクパターン生成方法は一例であり、他の方法により生成してもよい。
本実施形態で用いるマスクパターン214は24bitの長さとする。ここでは、例として、0と1が同数(0が12bit、1が12bit)でマスクパターンを構成する場合を示す。本実施形態のマスクパターン法では、0と1とが必ずしも同数でなくてもよいが、0と1とが同数の場合にマスクパターンの組合せの数が最大となり、堅牢性も最大になるからである。このマスクパターンを8個生成し、192bitを1セットとして用いる。
この1セットのマスクパターンでCNN−2 220からの擬似乱数(222a,222b,222c,222d,…)のマスクを行なった結果の乱数列(230a,230b,230c,230d,…)を、暗号化の際の乱数列として用いる。
ここで、24bitのマスクパターンの可能な組み合わせの数は、24C12≒106となる。1セットのマスクパターン(192bit)を考えると、可能なマスクパターンの数は106P8≒1048となる。
本実施形態の例では、CNN−1 210から24bitの擬似乱数212を生成し、この擬似乱数の値を用いて、ペアを順次1組ずつ決めていく。24bitのマスクパターンを生成するには、12組のペアを決定することになる。
24bitのマスクパターン生成において、CNN−1 210からの擬似乱数xn(24bitの場合n=1,2,…,12)を用いて、n組目のペアの相手となるビットの番号yn(24bitの場合n=1,2,…,12)を決定する処理は、次の式(4)で表される。
まず、24bitのマスクパターンの1ビット目とペアになるビットを決定する(1組目のペアの決定)。CNN−1 210からの24bitの擬似乱数x1を用いて、1ビット目とペアになるビットを決める。
具体的には、24bitで表現できる数(すなわち、0から224−1までの224個の数)を、マスクパターン内のまだ決定していないビットの数(ここでは1ビット目を除いた数である23)で割って、そのビット数(ここでは23)のグループに分割し、数が小さい方から順にグループ_1,グループ_2,…,とする。一方、まだ決定していないビット(ここでは1ビット目を除いた23bit)を順に、ビット_1,ビット_2,…,とする。
次に、24bitの擬似乱数x1の値が含まれているグループ_y1を見つける。そして、y1番目のビットであるビット_y1を、1ビット目とペアになるビットに決定する。
上記の処理を、全てのペアが決定するまで繰り返す。なお、最後の(12組目の)ペアは残りの2bitであるので、ペアの決定処理を行なう必要はなく、次に説明するビットの値の決定(0か1かの決定)のみ行なえばよい。
n組目(24bitの場合n=1,2,…,12)のペアとなるビットが決定したら、擬似乱数xnの最下位ビットにより、n組目のビットのどちらが0でどちらが1になるかを決定する。本実施形態では、例えば、擬似乱数xnの最下位ビットが0の場合には、先の(まだ決定していないビットのうち最初の)ビットを0とし、ペアに決定したビットを1とする。逆に擬似乱数xnの最下位ビットが1の場合には、先のビットを1とし、ペアに決定したビットを0とする。のように決めておく。
以上の(1)(2)の処理により、1個のマスクパターンが生成される。
さらに、ここまでの処理を計8回繰り返し、1セット192bitのマスクパターンとする。なお、マスクパターンのビット数は24bit以外でもよく、1セットのマスクパターン数は8個以外でもよい。
次に、上述で生成したマスクパターンセット214を用いて、暗号化に用いる擬似乱数を生成する方法について説明する。この乱数は、本実施形態の乱数生成システムの乱数出力手段により生成し、出力する。
マスクパターン214生成時に使ったCNN−1 210とは違う系のCNN(CNN−2 220)を使い、24bitの擬似乱数を8個(222a,222b,222c,222d,…)を取り出す。これを上述で生成した1セット(8個)のマスクパターン214によりマスクする。本実施形態では、例えばマスクが0のビットは破棄し、マスクが1のビットだけを取り出すものとする。この結果、出力(230a,230b,230c,230d,…)は1セット96bit(=12bit×8)となる。これを暗号化の際の乱数列として用いる。
ここで、組み合わせるマスクパターンの数は,上述したように、必ずしも8個でなくとも良いので,24ビットi個使ったとすれば、24iビットのマスクパターンとなり,可能な組み合わせの数は,10の6i乗個になる。即ち、発生可能な乱数列の数は,10の6i乗個になる。
このように、例えば、i=100なら10の600乗個,i=1000なら10の6000乗個といった具合に、いくらでも増すことができる。
上述の(1−2.暗号化の概要)で説明したように、ストリーム暗号方式による暗号化および復号の手法は、次のとおりである。
(1)暗号化
平文 XOR 乱数列=暗文 …(3.1)
(2)復号
暗文 XOR 乱数列=平文 …(3.2)
ここで、本実施形態のマスクパターンを適用して得られた乱数列を、演算(3.1)および(3.2)の乱数列として用いることにより、入力した平文の暗号化および復号を行なうことができる。
本実施形態のマスクパターン法を用いることにより、発生可能な暗号化鍵の数を必要なだけ増やすことができ(暗号化鍵空間の拡張)、安全なストリーム暗号方式を実現することができる。例えば発明者らの既存技術であるCNN(非特許文献1,特許文献1,特許文献2を参照)に対して、上述のマスクパターン法を適用すると、暗号鍵空間を標準で1048倍に改良することができた。これにより解読に要する時間を1029年以上に延ばすことができる。もともと、発明者らの既存技術による暗号化方法は、米国の次世代標準暗号であるRijndaelより高速かつ堅牢であるが、本実施形態の手法によれば、これをさらに堅牢化できる。また、現在の米国標準であるDESなどの暗号系は、数十時間で解読可能な暗号であるのに対して、本技術を用いると理論的には解読できない暗号系を構成できる点が優位である。
Claims (4)
- 入力した平文に暗号化を行う暗号化システムであって、
擬似乱数を出力する2個の擬似乱数発生手段と、
一方の前記擬似乱数発生手段から出力した擬似乱数を用いてマスクパターンを生成するマスクパターン生成手段と、
他方の前記擬似乱数発生手段から出力した擬似乱数に前記マスクパターンをマスクした結果を出力する乱数出力手段とを有する乱数生成システムと、
入力した平文と前記乱数生成システムからの乱数とを演算して暗号化文を出力する暗号化手段と
を備えることを特徴とする暗号化システム。 - 請求項1に記載の暗号化システムにおいて、
前記マスクパターンは、0と1とが同数であること
を特徴とする暗号化システム。 - 請求項1または2に記載の暗号化システムにおいて、
前記擬似乱数発生手段はカオス・ニューラルネットワークであり、前記擬似乱数は前記カオス・ニューラルネットワークからの出力の下位ビットであること
を特徴とする暗号化システム。 - 請求項1〜3に記載の暗号化システムの機能をコンピュータ・システムに構築させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005262581A JP4586163B2 (ja) | 2005-09-09 | 2005-09-09 | 暗号化システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005262581A JP4586163B2 (ja) | 2005-09-09 | 2005-09-09 | 暗号化システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007073012A JP2007073012A (ja) | 2007-03-22 |
JP4586163B2 true JP4586163B2 (ja) | 2010-11-24 |
Family
ID=37934369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005262581A Active JP4586163B2 (ja) | 2005-09-09 | 2005-09-09 | 暗号化システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4586163B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101506499B1 (ko) | 2008-12-30 | 2015-03-31 | 고려대학교 산학협력단 | 마스킹이 적용된 seed를 이용한 암호화 방법 |
JP5944893B2 (ja) * | 2011-04-27 | 2016-07-05 | 株式会社東芝 | 再暗号化装置及びプログラム |
CN102263636B (zh) * | 2011-05-24 | 2014-05-14 | 浙江工业大学 | 一种融合神经网络与混沌映射的流密码密钥控制方法 |
JP2013047727A (ja) * | 2011-08-29 | 2013-03-07 | Sony Corp | 情報処理装置、情報処理方法、プログラム、及び記録媒体 |
KR101984730B1 (ko) * | 2018-10-23 | 2019-06-03 | (주) 글루시스 | 서버 장애 자동 예측 시스템 및 자동 예측 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5913415A (ja) * | 1982-07-14 | 1984-01-24 | Oteru Kan | ランダム2値符号列発生装置 |
JPS61246787A (ja) * | 1985-03-27 | 1986-11-04 | 富士通株式会社 | 乱数混合処理方式 |
JPH10240500A (ja) * | 1997-02-28 | 1998-09-11 | Toshiba Corp | 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム |
JPH11340799A (ja) * | 1998-05-28 | 1999-12-10 | Oki Electric Ind Co Ltd | M系列発生回路、m系列の発生方法及びpn系列発生回路 |
JP2001142682A (ja) * | 1999-11-12 | 2001-05-25 | Sony Corp | 乱数発生装置及び乱数発生方法 |
JP2002366029A (ja) * | 2001-06-13 | 2002-12-20 | Fujitsu Ltd | Dpaに対して安全な暗号化 |
JP2003032244A (ja) * | 2001-07-18 | 2003-01-31 | Nec Corp | ストリーム暗号装置 |
JP2003076272A (ja) * | 2001-09-07 | 2003-03-14 | Japan Science & Technology Corp | カオス・ニューラルネットワークを用いた乱数生成システム |
-
2005
- 2005-09-09 JP JP2005262581A patent/JP4586163B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5913415A (ja) * | 1982-07-14 | 1984-01-24 | Oteru Kan | ランダム2値符号列発生装置 |
JPS61246787A (ja) * | 1985-03-27 | 1986-11-04 | 富士通株式会社 | 乱数混合処理方式 |
JPH10240500A (ja) * | 1997-02-28 | 1998-09-11 | Toshiba Corp | 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム |
JPH11340799A (ja) * | 1998-05-28 | 1999-12-10 | Oki Electric Ind Co Ltd | M系列発生回路、m系列の発生方法及びpn系列発生回路 |
JP2001142682A (ja) * | 1999-11-12 | 2001-05-25 | Sony Corp | 乱数発生装置及び乱数発生方法 |
JP2002366029A (ja) * | 2001-06-13 | 2002-12-20 | Fujitsu Ltd | Dpaに対して安全な暗号化 |
JP2003032244A (ja) * | 2001-07-18 | 2003-01-31 | Nec Corp | ストリーム暗号装置 |
JP2003076272A (ja) * | 2001-09-07 | 2003-03-14 | Japan Science & Technology Corp | カオス・ニューラルネットワークを用いた乱数生成システム |
Also Published As
Publication number | Publication date |
---|---|
JP2007073012A (ja) | 2007-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108964872B (zh) | 一种基于aes的加密方法及装置 | |
Malik et al. | Color image encryption algorithm based on hyper-chaos and DNA computing | |
EP1583278A1 (en) | Stream Cipher Design with Revolving Buffers | |
KR101623503B1 (ko) | Lea 블록암호의 화이트박스 암호 구현 장치 및 방법 | |
US20140270165A1 (en) | Cryptographic system based on reproducible random sequences | |
Dey et al. | An advanced combined symmetric key cryptographic method using bit manipulation, bit reversal, modified caesar cipher (SD-REE), DJSA method, TTJSA method: SJA-I Algorithm | |
RU2504911C1 (ru) | Способ итеративного криптографического преобразования данных | |
Mishra et al. | Text encryption algorithms based on pseudo random number generator | |
JP4586163B2 (ja) | 暗号化システム | |
RU2591015C1 (ru) | Способ нелинейного трехмерного многораундового преобразования данных rdozen | |
Paragas et al. | Hill cipher modification: A simplified approach | |
Verma et al. | 3D-Playfair cipher with additional bitwise operation | |
Hans et al. | An extended playfair cipher using rotation and random swap patterns | |
Iqbal et al. | An efficient grayscale image encryption scheme based on variable length row-column swapping operations | |
CN113259089A (zh) | 一种基于混沌原理和遗传算法结合的图像加密方法 | |
Vayadande et al. | Cryptography using Automata Theory | |
CN107078900B (zh) | 基于可再现随机序列的密码系统 | |
Goyal et al. | Implementation of Modified Playfair CBC Algorithm | |
Vijayan et al. | ASCII value based encryption system (AVB) | |
Manliclic et al. | Improving the extended 10x10 polybius square key matrix for playfair bifid and polybius cipher | |
Özkaynak et al. | Cryptanalysis of Bigdeli algorithm using Çokal’s attack | |
Sharaieh et al. | An enhanced polyalphabetic algorithm on vigenerecipher with DNA-based cryptography | |
AB et al. | A New Security Mechanism for Secured Communications Using Steganography and CBA | |
Sudersan et al. | Enhanced DNA cryptosystem for secure cloud data storage | |
Alqahtani et al. | Elevating Network Security: A Novel S-Box Algorithm for Robust Data Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100423 |
|
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: 20100810 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |