JP2014017556A - 共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラム - Google Patents

共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラム Download PDF

Info

Publication number
JP2014017556A
JP2014017556A JP2012151835A JP2012151835A JP2014017556A JP 2014017556 A JP2014017556 A JP 2014017556A JP 2012151835 A JP2012151835 A JP 2012151835A JP 2012151835 A JP2012151835 A JP 2012151835A JP 2014017556 A JP2014017556 A JP 2014017556A
Authority
JP
Japan
Prior art keywords
matrix
secret key
bit string
mod
vector
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
JP2012151835A
Other languages
English (en)
Other versions
JP6019453B2 (ja
JP2014017556A5 (ja
Inventor
Masanori Oya
雅則 大矢
Satoshi Iriyama
聖史 入山
Accardi Luige
ルイジ・アカルディ
Regoli Massimo
マッシモ・レゴリ
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.)
Tokyo University of Science
Original Assignee
Tokyo University of Science
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
Priority to JP2012151835A priority Critical patent/JP6019453B2/ja
Application filed by Tokyo University of Science filed Critical Tokyo University of Science
Priority to EP13813271.7A priority patent/EP2882132B1/en
Priority to CN201380034391.2A priority patent/CN104488218B/zh
Priority to PCT/JP2013/068419 priority patent/WO2014007347A1/ja
Priority to KR1020157002300A priority patent/KR102136904B1/ko
Priority to US14/412,028 priority patent/US9608812B2/en
Publication of JP2014017556A publication Critical patent/JP2014017556A/ja
Publication of JP2014017556A5 publication Critical patent/JP2014017556A5/ja
Application granted granted Critical
Publication of JP6019453B2 publication Critical patent/JP6019453B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols

Abstract

【課題】高速に、安全な共有秘密鍵を生成することができるようにする。
【解決手段】公開データ取得部22によって、素数p、自然数d、行列Q、及び行列Sを含む公開データを取得し、秘密鍵生成部24によって、自然数nA、kAを含む秘密鍵を生成する。非可換行列生成部26によって、行列MA(MA=S-kAnAkA)を計算し、通信相手へ送信し、通信相手から行列MB(MB=S-kBnBkB)を取得する。共有秘密鍵算出部28によって、行列MAB(MAB=S-kAB nASkA)を共有秘密鍵として算出する。
【選択図】図2

Description

本発明は、共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラムに関する。
従来より、メッセージの公開型且つ非可換性の符号化方法及び暗号化方法が知られている(特許文献1)。また、有限非可換群を用いた公開鍵暗号システムや、非可換体である環Rを用いた公開鍵暗号システムが知られている(特許文献2、3)。
また、公開鍵暗号方式によるネットワーク上での相互認証および公開鍵の相互交換システムや、制御ベクトルに基づく公開鍵暗号システムの鍵管理が知られている(特許文献4、5)。
特開2001-202010号公報 特表2004-534971号公報 特表2000-516733号公報 特開2006-262425号公報 特開平5-216409号公報
本発明は、高速に、安全な共有秘密鍵を生成することができる共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラムを提供することを目的とする。
上記の目的を達成するために本発明に係る共有秘密鍵生成装置は、素数p、自然数d、行列式の値が1ではないd×dの行列Q(mod p)、及び逆行列が存在するd×dの行列S(mod p)を含む公開データを設定する公開データ設定手段と、自然数nA(mod p)、kA(mod p)を含む秘密鍵を生成する秘密鍵生成手段と、前記秘密鍵を用いて、以下の(I)式に従って、d×dの行列MA(mod p)を計算し、通信相手へ送信する行列計算手段と、前記通信相手の秘密鍵に含まれる自然数nB(mod p)、kB(mod p)を用いて以下の(II)式に従って計算される、d×dの行列MB(mod p)を取得する行列取得手段と、前記行列取得手段によって取得された行列MBを用いて、以下の(III)式に従ってd×dの行列MAB(mod p)を共有秘密鍵として算出する共有秘密鍵算出手段と、を含んで構成されている。
A=S-kAnAkA ・・・(I)
B=S-kBnBkB ・・・(II)
AB=S-kAB nAkA ・・・(III)
本発明に係るプログラムは、コンピュータを、素数p、自然数d、行列式の値が1ではないd×dの行列Q(mod p)、及び逆行列が存在するd×dの行列S(mod p)を含む公開データを設定する公開データ設定手段、自然数nA(mod p)、kA(mod p)を含む秘密鍵を生成する秘密鍵生成手段、前記秘密鍵を用いて、以下の(IV)式に従って、d×dの行列MA(mod p)を計算し、通信相手へ送信する行列計算手段、前記通信相手の秘密鍵に含まれる自然数nB(mod p)、kB(mod p)を用いて以下の(V)式に従って計算される、d×dの行列MB(mod p)を取得する行列取得手段、及び前記行列取得手段によって取得された行列MBを用いて、以下の(VI)式に従ってd×dの行列MAB(mod p)を共有秘密鍵として算出する共有秘密鍵算出手段として機能させるためのプログラムである。
A=S-kAnAkA ・・・(IV)
B=S-kBnBkB ・・・(V)
AB=S-kAB nAkA ・・・(VI)
このように、公開データと秘密鍵を用いて計算した行列を、通信相手と交換し、通信相手から得られた行列を用いて、共有秘密鍵を算出することにより、高速に、安全な共有秘密鍵を生成することができる。
本発明に係る秘密鍵生成手段は、前記通信相手との通信毎に、自然数nA(mod p)、kA(mod p)を含む秘密鍵を生成して更新するようにすることができる。これによって、より安全な共有秘密鍵を生成することができる。
また、本発明に係る暗号化装置は、復号化装置と共通に設定された、上記の共有秘密鍵生成装置によって生成された共有秘密鍵MAB、及び2つの素数p1、p2に基づいて、2つの非可換行列A1、A2を生成する行列生成手段と、前記復号化装置と共通に設定されたd次元の初期ベクトルv0又は前回求められたd次元のベクトルvi-1 1に、非可換行列A1を作用させて、ベクトルvi 1を求めると共に、前記初期ベクトルv0、又は前回求められたd次元のベクトルvi-1 2に、非可換行列A2を作用させて、ベクトルvi 2を求める行列作用手段であって、前記非可換行列A1、A2を作用させる際の和演算及び積演算の少なくとも一方を、予め定められた、複数種類の演算子を組み合わせた演算方法に置換して、非可換行列A1、A2を作用させる行列作用手段と、前記行列作用手段によって求められたベクトルvi 1に対して非線形変換を行ってビット列に変換し、前回求められたビット列W1に結合させると共に、ベクトルvi 2に対して非線形変換を行ってビット列に変換し、前回求められたビット列W2に結合させるビット列変換手段と、前記ビット列W1及び前記ビット列W2の各々のビット数が、暗号化対象データを表わすビット列のビット数になるまで、前記行列作用手段による作用及び前記ビット列変換手段による変換を繰り返すビット数判定手段と、前記ビット列W1及び前記ビット列W2の排他的論理和を計算して、擬似乱数ビット列を求める擬似乱数列発生手段と、前記擬似乱数列発生手段によって求められた擬似乱数ビット列と、前記暗号化対象データを表わすビット列との排他的論理和を計算することにより、前記暗号化対象データを暗号化する暗号化手段と、を含んで構成されている。
このように、非可換行列A1、A2を作用させる際の和演算及び積演算の少なくとも一方を、複数種類の演算子を組み合わせた演算方法に置換して、ベクトルに、非可換行列A1、A2を繰り返し作用させると共に非線形変換を行って、得られるビット列W1、W2の排他的論理和を計算して、擬似乱数ビット列を求め、擬似乱数ビット列を用いて暗号化することにより、暗号化対象データのビット数が可変である場合において、暗号化処理を高速化し、かつ暗号解読強度を強くすることができる。
上記の暗号化装置に係る行列作用手段は、前記初期ベクトルv0、又は前回求められたベクトルvi-1 1に、非可換行列A1を作用させて、前記ベクトルvi 1を求める際に、ベクトルvi 1の要素毎に、既に求められたベクトルvi 1の要素に置き換えた初期ベクトルv0、又は前記ベクトルvi-1 1に、非可換行列A1を作用させて、ベクトルvi 1の前記要素を計算し、前記初期ベクトルv0、又は前回求められたベクトルvi-1 2に、非可換行列A2を作用させて、前記ベクトルvi 2を求める際に、ベクトルvi 2の要素毎に、既に求められたベクトルvi 2の要素に置き換えた初期ベクトルv0、又は前記ベクトルvi-1 2に、非可換行列A2を作用させて、ベクトルvi 2の前記要素を計算するようにすることができる。これによって、暗号解読強度をより強くすることができる。
上記の暗号化装置に係るビット列変換手段は、前記非線形変換として、前記行列作用手段によって求められたベクトルvi 1をビット列に変換し、変換されたビット列に対して、所定ビット数の先頭ビット列をカットするカットオフ処理を行い、前回求められたビット列W1に結合させると共に、ベクトルvi 2をビット列に変換し、変換されたビット列に対して、前記カットオフ処理を行い、前回求められたビット列W2に結合させるようにすることができる。これによって、暗号解読強度をより強くすることができる。
また、上記のビット列変換手段は、前記カットオフ処理として、前記変換されたビット列に対して、先頭から連続する0と、先頭から最初に出現する1とからなる先頭ビット列をカットすると共に、前記先頭ビット列がカットされた前記ビット列から、予め定められたビット数の先頭ビット列をカットする処理を行うようにすることができる。これによって、暗号解読強度をより強くすることができる。
本発明に係る復号化装置は、暗号化装置と共通に設定された、上記の共有秘密鍵生成装置によって生成された共有秘密鍵MAB、及び2つの素数p1、p2とに基づいて、2つの非可換行列A1、A2を生成する行列生成手段と、前記暗号化装置と共通に設定されたd次元の初期ベクトルv0又は前回求められたd次元のベクトルvi-1 1に、非可換行列A1を作用させて、ベクトルvi 1を求めると共に、前記初期ベクトルv0、又は前回求められたd次元のベクトルvi-1 2に、非可換行列A2を作用させて、ベクトルvi 2を求める行列作用手段であって、前記非可換行列A1、A2を作用させる際の和演算及び積演算の少なくとも一方を、予め定められた、複数種類の演算子を組み合わせた演算方法に置換して、非可換行列A1、A2を作用させる行列作用手段と、前記行列作用手段によって求められたベクトルvi 1に対して非線形変換を行ってビット列に変換し、前回求められたビット列W1に結合させると共に、ベクトルvi 2に対して非線形変換を行ってビット列に変換し、前回求められたビット列W2に結合させるビット列変換手段と、前記ビット列W1及び前記ビット列W2の各々のビット数が、復号化対象データを表わすビット列のビット数になるまで、前記行列作用手段による作用及び前記ビット列変換手段による変換を繰り返すビット数判定手段と、前記ビット列W1及び前記ビット列W2の排他的論理和を計算して、擬似乱数ビット列を求める擬似乱数列発生手段と、前記擬似乱数列発生手段によって求められた擬似乱数ビット列と、前記復号化対象データを表わすビット列との排他的論理和を計算することにより、前記復号化対象データを復号化する復号化手段と、を含んで構成されている。
本発明に係る共有秘密鍵生成装置及びプログラムによれば、公開データと秘密鍵を用いて計算した行列を、通信相手と交換し、通信相手から得られた行列を用いて、共有秘密鍵を算出することにより、高速に、安全な共有秘密鍵を生成することができる。
本発明に係る暗号化装置及び復号化装置によれば、非可換行列A1、A2を作用させる際の和演算及び積演算の少なくとも一方を、複数種類の演算子を組み合わせた演算方法に置換して、ベクトルに、非可換行列A1、A2を繰り返し作用させると共に非線形変換を行って、得られるビット列W1、W2の排他的論理和を計算して、擬似乱数ビット列を求め、擬似乱数ビット列を用いて暗号化又は復号化することにより、暗号化対象データ又は復号化対象データのビット数が可変である場合において、暗号化処理又は復号化処理を高速化し、かつ暗号解読強度を強くすることができる。
本発明の実施の形態に係る暗号化処理システムの構成を示す概略図である。 本発明の実施の形態に係る暗号復号装置の構成を示す概略図である。 共有秘密鍵を算出する方法を説明するための図である。 (A)暗号化方法を説明するための図、及び(B)復号化方法を説明するための図である。 本発明の実施の形態に係る暗号復号装置における共有秘密鍵算出処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態に係る暗号復号装置における擬似乱数列発生処理ルーチンの内容を示すフローチャートである。 コンピュータ上での実験結果を示すグラフである。 モバイル端末上での実験結果を示すグラフである。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<システム構成>
図1に示すように、本発明の実施の形態に係る暗号化処理システム10は、暗号復号装置12A、12Bと、複数のユーザ端末14Aと、複数のユーザ端末14Bと、インターネットアクセス網16とを備えている。なお、暗号復号装置12A、12Bは、暗号化装置、復号化装置の一例である。
複数のユーザ端末14Aは、暗号復号装置12Aと接続されており、暗号復号装置12Aは、インターネットアクセス網16に接続されている。また、複数のユーザ端末14Bは、暗号復号装置12Bと接続されており、暗号復号装置12Bは、インターネットアクセス網16に接続されている。暗号復号装置12A、12Bは、インターネットアクセス網16を介して相互に接続されている。
ユーザ端末14Aは、インターネットアクセス網16を介したデータ送信を行う場合に、暗号復号装置12Aを介して、送信データがインターネットアクセス網16に出力され、一方、インターネットアクセス網16を介したデータ受信を行う場合に、暗号復号装置12Aを介して、受信データがインターネットアクセス網16から入力される。
また、ユーザ端末14Bは、インターネットアクセス網16を介したデータ送信を行う場合に、暗号復号装置12Bを介して、送信データがインターネットアクセス網16へ出力され、一方、インターネットアクセス網16を介したデータ受信を行う場合に、暗号復号装置12Bを介して、受信データがインターネットアクセス網16から入力される。
暗号復号装置12A、12Bは、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する共有秘密鍵生成処理ルーチン及び擬似乱数列発生処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成され、機能的には次に示すように構成されている。図2に示すように、暗号復号装置12A、12Bは、通信部20、公開データ取得部22、秘密鍵生成部24、非可換行列生成部26、共有秘密鍵算出部28、データ入出力部32、共通データ設定部34、擬似乱数列発生部36、暗号化部38、及び復号化部40を備えている。なお、非可換行列生成部26は、行列計算手段の一例であり、共有秘密鍵算出部28は、行列取得手段及び共有秘密鍵算出手段の一例である。また、擬似乱数列発生部36は、行列生成手段、行列作用手段、ビット列変換手段、ビット数判定手段、及び擬似乱数発生列手段の一例である。
通信部20は、インターネットアクセス網16を介してデータの送受信を行う。
データ入出力部32は、ユーザ端末14A、14Bから出力されたデータが入力されると共に、ユーザ端末14A、14Bに対してデータを出力する。
暗号復号装置12A、12Bの公開データ取得部22は、通信部20を介して、通信相手との通信で用いる公開データとして、素数p、自然数d、d×dの行列Q(mod p)、及び逆行列が存在するd×dの行列S(mod p)を取得する。ただし、det Q≠1であり、(mod p)は、変数あるいは行列の要素の値が、素数pの法であることを示す。
暗号復号装置12Aの秘密鍵生成部24は、自然数nA(mod p)、kA(mod p)からなる秘密鍵を生成する。
暗号復号装置12Bの秘密鍵生成部24は、自然数nB(mod p)、kB(mod p)からなる秘密鍵を生成する。
秘密鍵生成部24は、通信を行う毎に、新たな秘密鍵を生成し、秘密鍵を更新する。
暗号復号装置12Aの非可換行列生成部26は、秘密鍵nA、kAを用いて、以下の(1)式に従って、d×dの行列MA(mod p)を計算し、通信部20を介して、通信相手である暗号復号装置12Bへ、行列MAを送信する。
A=S-kAnAkA ・・・(1)
暗号復号装置12Bの非可換行列生成部26は、秘密鍵nB、kBを用いて、以下の(2)式に従って、d×dの行列MB(mod p)を計算し、通信部20を介して、通信相手である暗号復号装置12Aへ、行列MBを送信する。
B=S-kBnBkB ・・・(2)
暗号復号装置12Aの共有秘密鍵算出部28は、通信部20によって受信した行列MBを取得し、取得された行列MBを用いて、以下の(3)式に従ってd×dの行列MAB(mod p)を算出する。
AB=S-kAB nAkA ・・・(3)
暗号復号装置12Bの共有秘密鍵算出部28は、通信部20によって受信した行列MAを取得し、取得された行列MAを用いて、以下の(4)式に従ってd×dの行列MBA(mod p)を算出する。
BA=S-kBA nBkB ・・・(4)
ここで、図3に示すように、上記(3)式は、以下のように、(5)式に変換される。
AB=S−KA nAKA
AB=S−KA(S−KBnBKBnAKA
AB=S−KA−KB(QnBnAKBKA
AB=S−(KA+KB)nBnA(KA+KB) ・・・(5)
また、上記(4)式は、以下のように、(6)式に変換される。
−KB nBKB=MBA
−KB(S−KAnAKAnBKB=MBA
−KB−KA(QnAnBKAKB=MBA
−(KA+KB)nAnB(KA+KB)=MBA ・・・(6)
上記(5)式、(6)式により、以下の(7)式が得られ、MABとMBAとが等しいことが証明される。
AB=S−(KA+KB)nAnB(KA+KB)=S−(KB+KA)nAnB(KB+KA)=MBA
・・・(7)
そこで、暗号復号装置12A、12Bの共有秘密鍵算出部28は、算出した行列MAB、MBAを、共有秘密鍵として、共通データ設定部34へ出力する。
共通データ設定部34は、暗号復号装置12A、12Bで共通のデータを設定する。具体的には、共有秘密鍵である行列MAB(MBA)、プライベートデータである素数p1、p2、及び初期ベクトルv0が共通のデータとして設定される。
擬似乱数列発生部36は、後述する手法により、共有秘密鍵である行列MAB(MBA)、プライベートデータである素数p1、p2、及び初期ベクトルv0を用いて、擬似乱数ビット列を発生させる。
暗号化部38は、擬似乱数列発生部36によって発生した擬似乱数ビット列を、ワンタイムパッド暗号の鍵として用いることで、データ入出力部32により入力された暗号化対象データに対して、ストリーム暗号化を行う。例えば、図4(A)に示すように、ビット列で表した平文(plain text)と、暗号化の鍵としての擬似乱数ビット列とのXORを演算することにより、前から1ビット毎に(あるいは1バイト毎に)暗号化する。暗号化部38により暗号化されたデータは、通信部20によりデータ送信される。
復号化部40は、擬似乱数列発生部36によって発生した擬似乱数ビット列を、ワンタイムパッド暗号の鍵として用いることで、通信部20により受信された復号化対象データに対して、復号化を行う。例えば、図4(B)に示すように、ビット列で表した暗号化文(cypher text)と、暗号化の鍵としての擬似乱数ビット列とのXORを演算することにより、前から1ビット毎に(あるいは1バイト毎に)復号化する。復号化部40により復号化されたデータは、データ入出力部32により、データ端末14A、14Bへ出力される。
次に、本実施の形態における擬似乱数ビット列を発生させる原理について説明する。
まず、共通秘密鍵として生成されたd×dの行列MAB(またはMBA)及び共通のプライベートデータとして設定された素数p1、p2とを用いて、以下のように、2つの非可換行列A1、A2を生成する。なお、以下では、行列MABが、2×2の行列である場合を例に説明する。
以下の(8)式に示すように、行列MABと素数p1とを用いて、行列A1’を計算する。
そして、<g>={1,…,p−1}となるジェネレータgを求める。例えば、p1=7のジェネレータは、以下のように、<3>={1,…,6}である。
=3,3=9mod7=2,3=27mod7=6,3=81mod7=4,
=243mod7=5,・・・
そして、A”を、以下の(9)式で表わすとすると、det A”=gになるようにd’を変更し、d’を変更したA”を、非可換行列A1とする。
また、以下の(10)式に示すように、行列MABと素数p2とを用いて、行列A2’を計算し、上記と同様に、非可換行列A2を生成する。
ここで、非可換行列A1、A2を用いて生成される擬似乱数列の周期の長さO(A)は、非可換行列A1、A2の生成に用いる、任意の素数pを用いて、以下の(11)式のように書ける。
O(A)≧p ・・・(11)
たとえば、pを100000ビットの素数とした場合、Aの周期はそれ以上に長くなる。
また、共通に設定された初期ベクトルvに対して、生成された非可換行列Aを用いて変換を行い、ベクトルvを得る。また、ベクトルvに対して、非可換行列Aを用いた変換を繰り返し、ベクトル列V={v,v,...,v}を得る。ここでv=A である。
そして、得られたベクトル列Vから非線形変換により、ビット列W1を得る。ベクトル列Vからビット列Wを得る非線形変換として、Vの要素をv=(vi,0,vi,1,...,vi,n)とし、vi,0をバイナリ変換したビット列から、先頭ビットから続く0と次に現われた1とからなるビット列を含む先頭ビット列を取り除くカットオフ処理を行う。ここで、カットオフの後、残ったビット列は高い乱数性を持つことが知られている。
本実施の形態では、カットオフ処理において、Random cut及びFixed cut の2種類のカットオフを使用している。
Random cutでは、上述したように、最初に現れる連続した0と、次に出現する1とからなる先頭ビット列をカットする。また、Fixed cutでは、あらかじめ決めておいたビット数だけカットする。例えば、Fixed cutでカットするビット数が3である場合、Random cutの結果として得られるビット列の先頭3ビットをカットする。
の要素すべてにこのカットオフ処理を行い、カットオフ処理後の要素を全て並べたビット列をWとする。
攻撃者は、すべてのカットオフの可能性を検証しなければ、非可換行列A1とA2を復元することはできないため、攻撃に対する強さを向上させることができる。
また、本実施の形態では、ベクトルviに、非可換行列A1、A2を作用させて、新しいベクトルvi+1を得る際に、数同士の和演算及び積演算を、以下のように複数の演算子を組み合わせた演算に置き換える。
例えば、a、bを32bitの数とし、記号a<<kを、aをkビットずらす記号とすると、(和演算)a+bを、a+b mod 232に置き換える。また、(積演算)a×b を、 a<< (b / 227) xorbに置き換える。ここで、a<< (b / 227)は、a を 、bを227で割った商だけずらすことを表わし、xorはビットごとの排他的論理和を表わす。
また、ベクトルviに、非可換行列A1、A2を作用させて、新しいベクトルvi+1を得る際に、更に、行列の作用の方法を以下のように置き換えてもよい。
例えば、vi=(vi 1, vi 2,..., vi d)を、行列Aを初期ベクトルv0にi回作用させたものとする(dはAの次元)と、vi+1=(vi+1 1, vi+1 2,..., vi+1 d)を得る方法を以下のようにする。
まず、vi+1 1=(Avi1とする。これはベクトルAviの1番目の要素だけである。また、必要な計算は1番目の要素の計算だけである。2x2行列で書くと、
となるが、和演算と積演算は、上述したように、別の演算で置き換えられている。
そして、vi+1 2=(A(vi+1 1, vi 2,..., vi d))2とする。これは非可換行列Aを、viの1番目の要素をvi+11に置き換えたものに作用させ、2番目の要素を取り出したものである。なお、ここで必要な計算は、2番目の要素の計算だけである。
そして、vi+1 3=(A(vi+1 1, vi+1 2,..., vi d))2とする。これは上記と同様に、viの1番目、2番目の要素を置き換えて、非可換行列Aを作用させ、3番目の要素を抜き出したものである。
以降、d番目の要素まで同様に行い、vi+1を得る。
また、暗号化する平文のビット数をnとすると、ビット列W1のビット数がnに到達した瞬間、ビット列W1に対する処理は中断され、ビット列W1の余った部分は捨てられる。
非可換行列Aに対しても同様に、ベクトルへの作用及びカットオフ処理を繰り返し行い、ビット列W2を生成する。また、ビット列W2のビット数がnに到達した瞬間、ビット列W2に対する処理は中断され、ビット列W2の余った部分は捨てられる。
そして、最終的に得られたビット列W1とビット列W2とのXORを計算し、得られたビット列を、擬似乱数ビット列とする。なお、ビット列W1とビット列W2とのXORにより得られたビット列に対して、更に非線形変換を行って、その結果を、擬似乱数ビット列としてもよい。
擬似乱数列発生部36は、上記のように、暗号化対象データのビット数又は復号化対象データのビット数と同じビット数の擬似乱数ビット列を発生させる。
<暗号化処理システムの動作>
次に、本実施の形態に係る暗号化処理システム10の動作について説明する。
まず、ユーザ端末14Aから、データをユーザ端末14Bへ送信する場合に、ユーザ端末14Aが、送信データを、暗号復号装置12Aに出力する。
次に、暗号復号装置12Aは、通信相手の暗号復号装置12Bに対して、通信開始要求を送信し、暗号復号装置12Bから応答信号を受信すると、暗号復号装置12Aにおいて、図5に示す共有秘密鍵算出処理ルーチンが実行される。また、暗号復号装置12Bにおいても、同様に、図5に示す共有秘密鍵算出処理ルーチンが実行される。なお、以下では、暗号復号装置12Aにおいて、共有秘密鍵算出処理ルーチンを実行する場合について説明する。
まず、ステップ100において、暗号復号装置12A、12Bの間の通信において用いる公開データ(p、d、Q、S)を取得する。例えば、Web上に公開された公開データにアクセスして取得する。
そして、ステップ102において、秘密鍵nA、kAを生成する。次のステップ104では、上記ステップ100で取得した公開データと、上記ステップ102で生成した秘密鍵とに基づいて、上記(1)式に従って、非可換行列MAを算出する。
ステップ106では、上記ステップ104で算出した非可換行列MAを、通信相手の暗号復号装置12Bへ送信する。次のステップ108では、暗号復号装置12Bから、非可換行列MBを受信したか否かを判定する。暗号復号装置12Bによって同様に算出された非可換行列MBを受信すると、ステップ110へ進む。
ステップ110では、上記ステップ100で取得した公開データと、上記ステップ102で生成した秘密鍵と、上記ステップ108で受信した非可換行列MBとに基づいて、上記(3)式に従って、行列MABを算出して、暗号復号装置12Bとの通信における共有秘密鍵として設定し、共有秘密鍵算出処理ルーチンを終了する。
上記共有秘密鍵算出処理ルーチンは、通信が開始される毎に実行され、その度に、新しい秘密鍵が生成され、新しい共有秘密鍵が設定される。
また、暗号復号装置12Aにおいて、図6に示す擬似乱数列発生処理ルーチンが実行される。
まず、ステップ120において、暗号復号装置12Bと共通に設定された共有秘密鍵MAB、素数p1、p2を用いて、非可換行列A1、A2を生成する。ステップ122では、ベクトルを識別する変数iを初期値である0に設定する。また、初期ベクトルv0を設定する。
次のステップ124では、ベクトルviに、非可換行列A1、A2をそれぞれ作用させて、ベクトルvi+1 1、vi+1 2を計算する。ステップ126では、上記ステップ124で計算されたベクトルvi+1 1、vi+1 2の各々を、ビット列に変換すると共に、それぞれのビット列に対して、カットオフ処理を行い、先頭ビット列をカットオフする。そして、ステップ128において、上記ステップ126で得られたビット列の各々を、ビット列W1、W2に対して更に並べるように追加する。
ステップ130では、ビット列W1、W2の各々のビット数が、送信データ(暗号化対象データ)のビット列のビット数に到達したか否かを判定する。ビット列W1、W2の各々のビット数が、ユーザ端末14Aから入力された送信データ(暗号化対象データ)のビット列のビット数に到達していない場合には、ステップ132において、変数iを1インクリメントして、上記ステップ124へ戻って、ステップ124以降の処理を繰り返す。ここで、ビット列W1のみについて、ビット数が、送信データのビット列のビット数に到達した場合には、上記ステップ124以降の処理において、非可換行列A1を用いた処理は行わない。また、ビット列W2のみについて、ビット数が、送信データのビット列のビット数に到達した場合には、上記ステップ124以降の処理において、非可換行列A2を用いた処理は行わない。
また、上記ステップ130において、ビット列W1、W2の双方のビット数が、送信データのビット列のビット数に到達したと判定された場合には、ステップ134へ進む。
ステップ134では、ビット列W1、W2のXORを演算して、擬似乱数ビット列Sを生成し、擬似乱数列発生処理ルーチンを終了する。
そして、暗号復号装置12Aは、上記の擬似乱数列発生処理ルーチンによって生成された擬似乱数ビット列Sと、ユーザ端末14から入力された送信データのビット列とのXORを演算することにより、暗号化された送信データを生成する。また、暗号復号装置12Aは、暗号化された送信データを、インターネットアクセス網16を介してユーザ端末14Bへ送信する。
暗号化された送信データは、暗号復号装置12Bによって受信され、暗号復号装置12Bにおいて、上記図6の擬似乱数列発生処理ルーチンが同様に実行され、暗号化された送信データと同じビット数の擬似乱数ビット列Sが生成される。
そして、暗号復号装置12Bは、生成された擬似乱数ビット列Sと、暗号化された送信データのビット列とのXORを演算することにより、暗号化された送信データの平文を生成する。また、暗号復号装置12Bは、送信データの平文を、送信先として指定されたユーザ端末Bへ出力する。
次に、上記の実施の形態で説明した共有秘密鍵の算出アルゴリズムを用いた実験を行った結果について説明する。
2者間における鍵共有の速度を検証した。秘密鍵を生成し、交換が終了するまでの計算時間を計測した。
また、以下の環境でテストを行った。Windows7(登録商標)上のパフォーマンスは、以下の表1に示す。

(RSA公開鍵暗号(図7のRSA参照))、Diffie‐Hellman型暗号(図7のDH参照)、Elliptic Curve(楕円)暗号(図7のECC参照)を比較対象として、速度の比較を行い、鍵生成、公開情報生成、鍵共有の速度をプロットした。図7に示すグラフより、本実施の形態で提案した手法(図7のQP-kex参照)は他の方式より圧倒的に速く、特に、RSAと比較して約10 倍の速度であることが分かった。
また、以下の表2に示すようなモバイル端末上で、実装実験を行った。

この端末はNokia(R) N70 platform である。比較とする対象は、Diffie‐Hellman型暗号(図8のDH参照)、Elliptic Curve(楕円)暗号(図8のECC参照) である。RSA公開鍵暗号は非常に実行時間がかかるため割愛した。横軸に方式名と鍵長をとり、縦軸を実行時間とした。図8に示すグラフより、本実施の形態で提案した手法(図8のQP参照)は小型デバイスでも他の方式と比べ、圧倒的に実行時間が速く、鍵長を長くとっても実行時間は大きくならないということが分かった。
以上説明したように、本発明の実施の形態に係る暗号化処理システムは、公開データと秘密鍵を用いて計算した非可換行列を、通信相手と交換し、通信相手から得られた非可換行列を用いて、共有秘密鍵を算出することにより、高速に、安全な共有秘密鍵を生成することができる。
また、高速な処理で、長い鍵を共有することができる。
また、共通秘密鍵への攻撃に対する強さについては、攻撃者は公開されている情報(p、d、Q,S)と公開鍵A、Mから、次の問題を解き、秘密鍵n、k、(若しくはn、k)を得る必要がある。
[問題]次を満たすn、kを求めよ。
=S−KAnAKA
これは、DH型(離散対数問題)よりはるかに難しい問題となる。仮にnを得ることができても、それからkを得るには、非線形問題を解かねばならない。このとき、不定方程式が出現し、数学的には解を得る確率は0となる。従って、生成される共有秘密鍵は、D-H より数学的に厳密に安全である。
また、非可換行列A1、A2を作用させる際の和演算及び積演算を、複数種類の演算子を組み合わせた演算方法に置換して、初期ベクトルに、非可換行列A1、A2を繰り返し作用させると共に非線形変換を行って、得られるビット列W1、W2のXORを計算して、擬似乱数ビット列を求め、擬似乱数ビット列を用いて暗号化又は復号化することにより、暗号化対象データ又は復号化対象データのビット数が可変である場合において、暗号化処理又は復号化処理を高速化し、かつ暗号解読強度を強くすることができる。また、共有秘密鍵の生成方法と、乱数を用いた暗号化・復号化方法とを組み合わせることで、高速かつ安全にストリーム暗号を開始することができる。
また、他のストリーム暗号より高速で、計算能力の低い小型デバイス上でも実装が可能である。
また、擬似乱数列発生アルゴリズムにおいて、いくつかの非線形変換を用いることにより、擬似乱数列の統計的ランダム性と長周期を保証することができ、生成された擬似乱数列を用いることにより、安全な使い捨て暗号鍵(One-Time-Padキー)を生成することができる。
また、ストリーミング暗号を実現することができるため、音声・動画などのマルチメディア・ファイルを安全にかつ高速に転送することができる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、サーバとモバイルとの間の通信を行うようにしてもよい。上記の共有秘密鍵の生成方法は、モバイル環境でも高速に動作し、鍵交換を行う2者間で計算量を偏らせることができるため、サーバとモバイル間通信に適している。
また、ストリーミング暗号以外に、本発明を適用してもよく、自動車のキーレスエントリーなどへ応用してもよい。また、HDD(hard disk drive)の暗号化に応用してもよい。例えば、本実施の形態で説明した暗号化方法により、HDDに保存されるすべてのデータが暗号化され、正当なユーザしか読み出しできないようにしてもよい。また、Cloudサービスのセキュリティに、本発明を応用してもよい。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 暗号化処理システム
12A、12B 暗号復号装置
14A、14B ユーザ端末
16 インターネットアクセス網
20 通信部
22 公開データ取得部
24 秘密鍵生成部
26 非可換行列生成部
28 共有秘密鍵算出部
32 データ入出力部
34 共通データ設定部
36 擬似乱数列発生部
38 暗号化部
40 復号化部

Claims (5)

  1. 素数p、自然数d、行列式の値が1ではないd×dの行列Q(mod p)、及び逆行列が存在するd×dの行列S(mod p)を含む公開データを設定する公開データ設定手段と、
    自然数nA(mod p)、kA(mod p)を含む秘密鍵を生成する秘密鍵生成手段と、
    前記秘密鍵を用いて、以下の(1)式に従って、d×dの行列MA(mod p)を計算し、通信相手へ送信する行列計算手段と、
    前記通信相手の秘密鍵に含まれる自然数nB(mod p)、kB(mod p)を用いて以下の(2)式に従って計算される、d×dの行列MB(mod p)を取得する行列取得手段と、
    前記行列取得手段によって取得された行列MBを用いて、以下の(3)式に従ってd×dの行列MAB(mod p)を共有秘密鍵として算出する共有秘密鍵算出手段と、
    を含む共有秘密鍵生成装置。
    A=S-kAnAkA ・・・(1)
    B=S-kBnBkB ・・・(2)
    AB=S-kAB nAkA ・・・(3)
  2. 前記秘密鍵生成手段は、前記通信相手との通信毎に、自然数nA(mod p)、kA(mod p)を含む秘密鍵を生成して更新する請求項1記載の共有秘密鍵生成装置。
  3. 復号化装置と共通に設定された、請求項1又は2の共有秘密鍵生成装置によって生成された共有秘密鍵MAB、及び2つの素数p1、p2に基づいて、2つの非可換行列A1、A2を生成する行列生成手段と、
    前記復号化装置と共通に設定されたd次元の初期ベクトルv0又は前回求められたd次元のベクトルvi-1 1に、非可換行列A1を作用させて、ベクトルvi 1を求めると共に、前記初期ベクトルv0、又は前回求められたd次元のベクトルvi-1 2に、非可換行列A2を作用させて、ベクトルvi 2を求める行列作用手段であって、前記非可換行列A1、A2を作用させる際の和演算及び積演算の少なくとも一方を、予め定められた、複数種類の演算子を組み合わせた演算方法に置換して、非可換行列A1、A2を作用させる行列作用手段と、
    前記行列作用手段によって求められたベクトルvi 1に対して非線形変換を行ってビット列に変換し、前回求められたビット列W1に結合させると共に、ベクトルvi 2に対して非線形変換を行ってビット列に変換し、前回求められたビット列W2に結合させるビット列変換手段と、
    前記ビット列W1及び前記ビット列W2の各々のビット数が、暗号化対象データを表わすビット列のビット数になるまで、前記行列作用手段による作用及び前記ビット列変換手段による変換を繰り返すビット数判定手段と、
    前記ビット列W1及び前記ビット列W2の排他的論理和を計算して、擬似乱数ビット列を求める擬似乱数列発生手段と、
    前記擬似乱数列発生手段によって求められた擬似乱数ビット列と、前記暗号化対象データを表わすビット列との排他的論理和を計算することにより、前記暗号化対象データを暗号化する暗号化手段と、
    を含む暗号化装置。
  4. 暗号化装置と共通に設定された、請求項1又は2の共有秘密鍵生成装置によって生成された共有秘密鍵MAB、及び2つの素数p1、p2に基づいて、2つの非可換行列A1、A2を生成する行列生成手段と、
    前記暗号化装置と共通に設定されたd次元の初期ベクトルv0又は前回求められたd次元のベクトルvi-1 1に、非可換行列A1を作用させて、ベクトルvi 1を求めると共に、前記初期ベクトルv0、又は前回求められたd次元のベクトルvi-1 2に、非可換行列A2を作用させて、ベクトルvi 2を求める行列作用手段であって、前記非可換行列A1、A2を作用させる際の和演算及び積演算の少なくとも一方を、予め定められた、複数種類の演算子を組み合わせた演算方法に置換して、非可換行列A1、A2を作用させる行列作用手段と、
    前記行列作用手段によって求められたベクトルvi 1に対して非線形変換を行ってビット列に変換し、前回求められたビット列W1に結合させると共に、ベクトルvi 2に対して非線形変換を行ってビット列に変換し、前回求められたビット列W2に結合させるビット列変換手段と、
    前記ビット列W1及び前記ビット列W2の各々のビット数が、復号化対象データを表わすビット列のビット数になるまで、前記行列作用手段による作用及び前記ビット列変換手段による変換を繰り返すビット数判定手段と、
    前記ビット列W1及び前記ビット列W2の排他的論理和を計算して、擬似乱数ビット列を求める擬似乱数列発生手段と、
    前記擬似乱数列発生手段によって求められた擬似乱数ビット列と、前記復号化対象データを表わすビット列との排他的論理和を計算することにより、前記復号化対象データを復号化する復号化手段と、
    を含む復号化装置。
  5. コンピュータを、
    素数p、自然数d、行列式の値が1ではないd×dの行列Q(mod p)、及び逆行列が存在するd×dの行列S(mod p)を含む公開データを設定する公開データ設定手段、
    自然数nA(mod p)、kA(mod p)を含む秘密鍵を生成する秘密鍵生成手段、
    前記秘密鍵を用いて、以下の(4)式に従って、d×dの行列MA(mod p)を計算し、通信相手へ送信する行列計算手段、
    前記通信相手の秘密鍵に含まれる自然数nB(mod p)、kB(mod p)を用いて以下の(5)式に従って計算される、d×dの行列MB(mod p)を取得する行列取得手段、及び
    前記行列取得手段によって取得された行列MBを用いて、以下の(6)式に従ってd×dの行列MAB(mod p)を共有秘密鍵として算出する共有秘密鍵算出手段
    として機能させるためのプログラム。
    A=S-kAnAkA ・・・(4)
    B=S-kBnBkB ・・・(5)
    AB=S-kAB nAkA ・・・(6)
JP2012151835A 2012-07-05 2012-07-05 暗号化装置、復号化装置、及びプログラム Expired - Fee Related JP6019453B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2012151835A JP6019453B2 (ja) 2012-07-05 2012-07-05 暗号化装置、復号化装置、及びプログラム
CN201380034391.2A CN104488218B (zh) 2012-07-05 2013-07-04 加密装置、解密装置、加密方法、解密方法
PCT/JP2013/068419 WO2014007347A1 (ja) 2012-07-05 2013-07-04 共有秘密鍵生成装置、暗号化装置、復号化装置、共有秘密鍵生成方法、暗号化方法、復号化方法、及びプログラム
KR1020157002300A KR102136904B1 (ko) 2012-07-05 2013-07-04 공유 비밀키 생성 장치, 암호화 장치, 복호화 장치, 공유 비밀키 생성 방법, 암호화 방법, 복호화 방법, 및 프로그램
EP13813271.7A EP2882132B1 (en) 2012-07-05 2013-07-04 Encryption device, decryption device, encryption method, decryption method, and program
US14/412,028 US9608812B2 (en) 2012-07-05 2013-07-04 Common secret key generation device, encryption device, decryption device, common secret key generation method, encryption method, decryption method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012151835A JP6019453B2 (ja) 2012-07-05 2012-07-05 暗号化装置、復号化装置、及びプログラム

Publications (3)

Publication Number Publication Date
JP2014017556A true JP2014017556A (ja) 2014-01-30
JP2014017556A5 JP2014017556A5 (ja) 2015-06-25
JP6019453B2 JP6019453B2 (ja) 2016-11-02

Family

ID=49882098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012151835A Expired - Fee Related JP6019453B2 (ja) 2012-07-05 2012-07-05 暗号化装置、復号化装置、及びプログラム

Country Status (6)

Country Link
US (1) US9608812B2 (ja)
EP (1) EP2882132B1 (ja)
JP (1) JP6019453B2 (ja)
KR (1) KR102136904B1 (ja)
CN (1) CN104488218B (ja)
WO (1) WO2014007347A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021130935A1 (ja) * 2019-12-25 2021-07-01

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104640110B (zh) * 2015-01-15 2018-05-29 南京邮电大学 一种终端直通通信中基于信道特性的对称密钥生成方法
CN104993927B (zh) * 2015-07-07 2018-03-20 安徽师范大学 一种对称密钥生成方法
KR102520502B1 (ko) * 2016-08-02 2023-04-12 엑스-로고스, 엘엘씨 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템
CN106788980B (zh) * 2017-01-16 2019-07-30 中国人民解放军国防科学技术大学 一种面向云计算的矩阵乘法外包过程中安全加密方法
CN107104796B (zh) * 2017-05-02 2018-06-29 北京邮电大学 一种基于非交换群上的对称乘法同态加密方法及装置
CN107578363B (zh) * 2017-07-25 2020-10-30 湖北民族学院 基于多混沌链式算法和位平面的数字图像加解密方法
GB201713499D0 (en) 2017-08-23 2017-10-04 Nchain Holdings Ltd Computer-implemented system and method
CN107979590B (zh) * 2017-11-02 2020-01-17 财付通支付科技有限公司 数据共享方法、客户端、服务器、计算设备及存储介质
US10586057B2 (en) * 2017-11-16 2020-03-10 Intuit Inc. Processing data queries in a logically sharded data store
US11218291B2 (en) * 2018-02-26 2022-01-04 Stmicroelectronics (Rousset) Sas Method and circuit for performing a substitution operation
CN108667598B (zh) * 2018-04-28 2021-10-15 克洛斯比尔有限公司 用于实现安全密钥交换的设备和方法及安全密钥交换方法
CN108833423B (zh) * 2018-06-25 2020-07-31 厦门大学 一种基于强化学习的多途径保密信息通信方法
TWI672932B (zh) * 2018-09-27 2019-09-21 國立交通大學 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統
CN109787754B (zh) * 2018-12-14 2023-04-18 平安科技(深圳)有限公司 一种数据加解密方法、计算机可读存储介质及服务器
CN111107062B (zh) * 2019-11-29 2022-04-05 珠海金山网络游戏科技有限公司 一种基于贪婪算法的游戏资源打包方法及系统
US11943348B1 (en) * 2019-12-11 2024-03-26 Q-Net Security, Inc. Method and system for secure cryptographic exchanges using a five-pass protocol
CN111431698B (zh) * 2020-04-23 2023-08-15 兰州交通大学 运用Haar变换和高斯分布的矢量空间数据加密方法
CN112887079B (zh) * 2021-03-11 2022-10-04 中国石油大学(华东) 基于一段随机比特序列生成的变换加密算法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11109855A (ja) * 1997-10-06 1999-04-23 Casio Comput Co Ltd 暗号化装置及び暗号化方法
JP2001016196A (ja) * 1999-04-28 2001-01-19 Fuji Soft Abc Inc 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置
JP2007264147A (ja) * 2006-03-27 2007-10-11 Fukuoka Institute Of Technology 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム
JP2007288254A (ja) * 2006-04-12 2007-11-01 Sony Corp 通信システム、通信装置および方法、並びにプログラム
US20090060179A1 (en) * 2007-08-29 2009-03-05 Red Hat, Inc. Method and an apparatus to generate pseudo random bits from polynomials

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200999A (en) 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5491749A (en) 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks
JP4068664B2 (ja) 1996-08-19 2008-03-26 エヌティーアールユー クリプトシステムズ,インコーポレーテッド 公開鍵暗号システム方法および装置
ATE397337T1 (de) 1999-12-21 2008-06-15 Contentguard Holdings Inc Verfahren zur übertragung der befugnis, nachrichten zu entschlüsseln
US6782101B1 (en) * 2000-04-20 2004-08-24 The United States Of America As Represented By The Secretary Of The Navy Encryption using fractal key
KR100395158B1 (ko) 2001-07-12 2003-08-19 한국전자통신연구원 유한 비가환군을 이용한 공개키 암호 시스템
US6898288B2 (en) * 2001-10-22 2005-05-24 Telesecura Corporation Method and system for secure key exchange
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US8666065B2 (en) * 2003-02-07 2014-03-04 Britesmart Llc Real-time data encryption
JP2006262425A (ja) 2005-03-16 2006-09-28 Shin Sato 公開鍵暗号方式によるネットワーク上での相互認証および公開鍵の相互交換システム
JP2012151835A (ja) 2010-12-28 2012-08-09 Panasonic Corp 映像変換装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11109855A (ja) * 1997-10-06 1999-04-23 Casio Comput Co Ltd 暗号化装置及び暗号化方法
JP2001016196A (ja) * 1999-04-28 2001-01-19 Fuji Soft Abc Inc 多重アファイン鍵を用いる暗号化・復号化方法、認証方法、及びこれを用いる各装置
JP2007264147A (ja) * 2006-03-27 2007-10-11 Fukuoka Institute Of Technology 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム
JP2007288254A (ja) * 2006-04-12 2007-11-01 Sony Corp 通信システム、通信装置および方法、並びにプログラム
US20090060179A1 (en) * 2007-08-29 2009-03-05 Red Hat, Inc. Method and an apparatus to generate pseudo random bits from polynomials

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6016018540; Ottaviani, V., Zanoni, A. and Regoli, M.: 'CONJUGATION AS PUBLIC KEY AGREEMENT PROTOCOL IN MOBILE CRYPTOGRAPHY' Proceedings of the 2010 International Conference on Security and Cryptography , 201007, p.1-6 *
JPN6016018543; ACCARDI,L., REGOLI, M. and OHYA, M.: 'THE QP-DYN ALGORITHMS' Quantum Bio-Informatics IV , 2011, p.1-15, World Scientific Publishing, Co. *
JPN6016018546; Abundo, M, Accadi, L. and Auricchio, A.: 'HYPERBOLIC AUTOMORPHISMS OF TORI AND PSEUDO-RANDOM SEQUENCES' Calcolo Vol.29, 1992, p.213-240 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021130935A1 (ja) * 2019-12-25 2021-07-01
WO2021130935A1 (ja) * 2019-12-25 2021-07-01 日本電信電話株式会社 電子透かし埋め込み装置、電子透かし抽出装置、電子透かし埋め込み方法、電子透かし抽出方法及びプログラム
JP7315030B2 (ja) 2019-12-25 2023-07-26 日本電信電話株式会社 電子透かし埋め込み装置、電子透かし抽出装置、電子透かし埋め込み方法、電子透かし抽出方法及びプログラム

Also Published As

Publication number Publication date
KR20150037913A (ko) 2015-04-08
US9608812B2 (en) 2017-03-28
JP6019453B2 (ja) 2016-11-02
WO2014007347A1 (ja) 2014-01-09
EP2882132A1 (en) 2015-06-10
EP2882132B1 (en) 2019-12-18
CN104488218A (zh) 2015-04-01
KR102136904B1 (ko) 2020-07-23
EP2882132A4 (en) 2016-03-09
US20150156018A1 (en) 2015-06-04
CN104488218B (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
JP6019453B2 (ja) 暗号化装置、復号化装置、及びプログラム
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
JP6035459B2 (ja) 暗号化装置、復号化装置、及びプログラム
US20140192976A1 (en) Method and system for id-based encryption and decryption
JP2014017556A5 (ja)
TWI688250B (zh) 資料加解密的方法及裝置
JP6556955B2 (ja) 通信端末、サーバ装置、プログラム
CN112740615A (zh) 多方计算的密钥管理
CN114095170B (zh) 数据处理方法、装置、系统及计算机可读存储介质
JP2023101776A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
Sharma et al. Study on cryptography and techniques
Mitra et al. Prevention of the man-in-the-middle attack on Diffie–Hellman key exchange algorithm: A review
US20190294417A1 (en) Method and system for deriving deterministic prime number
CN107483206B (zh) 一种快速的量子安全的非对称加密方法
Kumar et al. A novel framework for secure file transmission using modified AES and MD5 algorithms
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP5489115B2 (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
Almuhammadi et al. Double-hashing operation mode for encryption
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
Mohamed et al. Cryptography concepts: Confidentiality
Paterson et al. Statistical attacks on cookie masking for RC4
Raja et al. A cryptosystem based on Hilbert matrix using cipher block chaining mode
CN118018204A (en) Elliptic curve-based message processing system and message processing method
KR101616717B1 (ko) 버냄 사이퍼 암호 알고리즘을 이용한 암복호화 서비스 제공 방법 및 시스템

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20131111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150402

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150402

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20150427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160908

R150 Certificate of patent or registration of utility model

Ref document number: 6019453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees