JP5709773B2 - Fibe方式における、暗号化関数の演算処理方法、復号関数の演算処理方法、暗号化装置、復号装置、およびプログラム - Google Patents
Fibe方式における、暗号化関数の演算処理方法、復号関数の演算処理方法、暗号化装置、復号装置、およびプログラム Download PDFInfo
- Publication number
- JP5709773B2 JP5709773B2 JP2012007716A JP2012007716A JP5709773B2 JP 5709773 B2 JP5709773 B2 JP 5709773B2 JP 2012007716 A JP2012007716 A JP 2012007716A JP 2012007716 A JP2012007716 A JP 2012007716A JP 5709773 B2 JP5709773 B2 JP 5709773B2
- Authority
- JP
- Japan
- Prior art keywords
- interpolation coefficient
- arithmetic processing
- gpu
- encryption
- equation
- 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の6章に記載のFIBE(Fuzzy Identity Based Encryption)方式における暗号化処理において暗号文を生成する際に用いる暗号化関数内の2重のループ処理を分割し、分割した処理をGPUを用いて並列に実行することにより、暗号化処理を高速化する方法について説明する。
FIBE方式とは、ユーザのID(生体情報等のユーザ属性の集合)から生成された公開鍵(暗号化鍵)および秘密鍵(復号鍵)の2つの異なる鍵を暗号化と復号とで使用する公開鍵暗号方式の一種であって、暗号化を行う暗号化装置と、復号を行う復号装置と、秘密鍵および公開鍵を生成するのに必要なデータを生成および秘密鍵を生成する秘密鍵生成装置とを基本構成として備える。なお、秘密鍵生成装置は、信頼できる第三者が各種鍵を管理する装置であり、PKG(Private Key Generator)ともいう。
図3は、FIBE方式の暗号化装置100の構成の一例を示す図である。暗号化装置100は、公開パラメータおよび暗号化IDω´からなる公開鍵により平文Mを暗号化し、(1)式で表される暗号文Eを生成する。暗号文Eは、E´、E´´、Eiを要素として含み、各要素は(1)式に含まれるそれぞれの式により算出される。(1)式に含まれる記号e、g、g1、g2、sの定義は、以下の(2)式に示す。
まず、ステップS11において、乱数生成部110は、Zp上のランダムな要素sを生成する。
図3に戻って、暗号化関数値算出部150は、補間係数算出部151、累乗部152、および関数値算出部153を備える。各部の処理について、図5に示すFIBE方式の暗号化関数T(i)の演算処理のフローを用いて説明する。
本方法では、Δi,N(x)の演算処理をGPU20が担当し、Δi,N(x)における(x−j)/(i−j)の演算処理と(x−j)/(i−j)の総積を求める演算処理とを、並列に実行する。図6を用いて、Δi,N(x)の演算処理を、GPU20を用いて実行する方法について説明する。
本方法では、上述した(3)式で示されるΔi,N(x)を以下の(4)式のように変形する。(4)式の分母Π(x−j)および分子Π(i―j)それぞれの演算処理を、GPU20を用いて並列に実行する。そして、分母Π(x−j)と分子Π(i―j)との除算をCPU10を用いて実行することによって、Δi,N(x)を求める。Δi,N(x)を(4)式のように変形することにより、方法1では(iの要素数)×(jの要素数−1)回行っていた除算回数をiの要素数回に削減することができる。また、除算をCPU10で実行することにより、上述した方法1において除算をGPU20で行うことで生じていたデバイスメモリ22へのランダムアクセスの大量発生を失くし、GPU20を有効に活用し、暗号化処理を更に高速化することができる。
図11から図13を用いて、本発明の第2の実施形態について説明する。第1の実施形態では、非特許文献1の6章に記載のFIBE方式における暗号化処理を高速化したが、本実施形態においては同FIBE方式における復号処理を高速化する。具体的には、復号処理において暗号文から平文を生成する際に用いる復号関数内の2重のループ処理を分割し、分割した処理を、GPUを用いて並列に演算することにより、復号処理を高速化する。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
図に示すように、復号装置200は、平文要素算出部210、および関数値算出部220を備える。平文要素算出部210は、ペアリング値算出部211、除算部212、補間係数算出部213、および累乗部214を備える。各部の処理について、図12に示す復号処理のフローを用いて説明する。
まず、ステップS101において、平文要素算出部210が、複合化IDω∩暗号化IDω´の集合Sの中から、要素を1つずつ選択してiとする。なお、集合Sの各要素は、集合Sの要素のインデックスkを用いて、Skで表す。ここで、なお、kは、1からdのd個の整数であって、dはFIBE方式の暗号化システムにおいて、予め設定されたエラー許容パラメータである。
20 GPU
21(21a、21b) マルチプロセッサ
22 デバイスメモリ
23 ストリーム・プロセッサ
24(24a、24b) シェードメモリ
30 記憶部
31 メインメモリ
32 外部記憶部
40 通信部
50 出力部
60 入力部
Claims (9)
- FIBE方式の公開鍵を用いて平文から暗号文を生成するFIBE(Fuzzy Identity Based Encryption)方式の暗号化装置において、暗号文を生成する際に用いる暗号化関数(数1式)の値を求める暗号化関数値算出手段に備えられた補間係数算出手段におけるラグランジュの補間係数Δi,N(x)(数2式)の演算処理方法であって、
前記補間係数算出手段が、前記ラグランジュの補間係数Δi,N(x)を求める前記数2式の右辺の演算処理を実行するブロックを変数i毎に生成する第1のステップと、
前記補間係数算出手段が、前記数2式の多項式(x−j)/(i−j)の演算処理を実行するスレッドを、ブロック内に変数j毎に生成する第2のステップと、
前記補間係数算出手段が、各スレッドが担当する前記数2式の多項式(x−j)/(i−j)の演算処理を、GPUを用いて並列に実行する第3のステップと、
前記補間係数算出手段が、各ブロック内において、各変数jについて前記第3のステップで得られた演算結果の総積処理を、前記GPUを用いて並列に実行する第4のステップと、
を含むことを特徴とする演算処理方法。
- 前記数2式を変形して得られる数3式を用いてラグランジュの補間係数Δi,N(x)を求め、
前記第2のステップにおいて、前記補間係数算出手段が、前記数3式の多項式(x−j)および(i−j)の演算処理を実行するブロックを、前記ブロック内に変数j毎に生成し、
前記第3のステップにおいて、前記補間係数算出手段が、各スレッドが担当する前記数3式の多項式(x−j)および(i−j)の演算処理を、前記GPUを用いて並列に実行し、
前記第4のステップにおいて、前記補間係数算出手段が、各ブロック内において、各jについて前記第3のステップで得られた(x−j)の演算結果および(i−j)の演算結果それぞれの総積処理を、前記GPUを用いて並列に実行し、
更に、
前記補間係数算出手段が、前記第4のステップの総積処理により得られた(x−j)の総積結果と(i−j)の総積結果との除算処理を、CPUを用いてシーケンシャルに実行する第5のステップを含むことを特徴とする請求項1に記載の演算処理方法。
- 前記第5のステップが、
前記補間係数算出手段が、(x−j)の総積結果と(i−j)の総積結果との除算処理内の各乗算処理を実行する各ブロックを生成する第6のステップと、
前記補間係数算出手段が、各ブロック内に、前記各乗算処理における各桁の乗算処理を実行する各スレッドを生成する第7のステップと、
前記補間係数算出手段が、各スレッドが担当する前記各桁の乗算処理を、前記GPUを用いて並列に実行する第8のステップと、
前記補間係数算出手段が、前記第8のステップで実行された前記各桁の乗算処理結果の加算処理を実行するスレッドを桁毎に生成する第9のステップと、
前記補間係数算出手段が、前記各桁の乗算処理結果の加算処理を、前記GPUを用いて並列に実行する第10のステップと、
を含むことを特徴とする請求項2に記載の演算処理方法。 - 前記第5のステップは、更に、
前記補間係数算出手段が、下位桁からの繰り上がりと上位桁との加算処理を実行するスレッドを桁毎に生成する第11のステップと、
前記補間係数算出手段が、各スレッドが担当する加算処理を、前記GPUを用いて並列に実行する第12のステップと、
を含み、
前記補間係数算出手段が、下位桁からの繰り上がりが無くなるまで前記第12のステップを繰り返すことを特徴とする請求項3に記載の演算処理方法。 - FIBE方式の秘密鍵と暗号文とを入力として、復号関数(数4式)から平文を生成するFIBE(Fuzzy Identity Based Encryption)方式の復号装置において、当該復号装置に備えられた補間係数算出手段におけるラグランジュの補間係数Δi,S(0)(数5式)の演算処理方法であって、
前記補間係数算出手段が、前記ラグランジュの補間係数Δi,S(0)を求める前記数5式の右辺の演算処理を実行するブロックを、変数i毎に生成する第1のステップと、
前記補間係数算出手段が、前記数5式の多項式(−j)/(i−j)の演算処理を実行するスレッドを、ブロック内に変数j毎に生成する第2のステップと、
前記補間係数算出手段が、各スレッドが担当する前記数5式の多項式(−j)/(i−j)の演算処理を、前記GPUを用いて並列に実行する第3のステップと、
前記補間係数算出手段が、各ブロック内において、各jについて前記第3のステップで実行された演算結果の総積処理を、前記GPUを用いて並列に実行する第4のステップと、
を含むことを特徴とする演算処理方法。
- FIBE方式の公開鍵を用いて平文から暗号文を生成するFIBE(Fuzzy Identity Based Encryption)方式の暗号化装置において、暗号文を生成するのに必要な暗号化関数(数6式)の値を求める暗号化関数値算出手段に備えられた補間係数算出手段におけるラグランジュの補間係数Δi,N(x)(数7式)の演算処理方法をコンピュータに実行させるプログラムであって、
前記補間係数算出手段が、前記ラグランジュの補間係数Δi,N(x)を求める前記数7式の右辺の演算処理を実行するブロックを変数i毎に生成する第1のステップと、
前記補間係数算出手段が、前記数7式の多項式(x−j)/(i−j)の演算処理を実行するスレッドを、ブロック内に変数j毎に生成する第2のステップと、
前記補間係数算出手段が、各スレッドが担当する前記数7式の多項式(x−j)/(i−j)の演算処理を、前記GPUを用いて並列に実行する第3のステップと、
前記補間係数算出手段が、各ブロック内において、各jについて前記第3のステップで実行された演算結果の総積処理を、前記GPUを用いて並列に実行する第4のステップと、
をコンピュータに実行させるプログラム。
- FIBE方式の秘密鍵と暗号文とを入力として、復号関数(数8式)から平文を生成するFIBE(Fuzzy Identity Based Encryption)方式の復号装置において、当該復号装置に備えられた補間係数算出手段におけるラグランジュの補間係数Δi,S(0)(数9式)の演算処理方法をコンピュータに実行させるプログラムであって、
前記補間係数算出手段が、前記ラグランジュの補間係数Δi,S(0)を求める前記数9式の右辺の演算処理を実行するブロックを、変数i毎に生成する第1のステップと、
前記補間係数算出手段が、前記数9式の多項式(−j)/(i−j)の演算処理を実行するスレッドを、ブロック内に変数j毎に生成する第2のステップと、
前記補間係数算出手段が、各スレッドが担当する前記数9式の多項式(−j)/(i−j)の演算処理を、前記GPUを用いて並列に実行する第3のステップと、
前記補間係数算出手段が、各ブロック内において、各jについて前記第3のステップで実行された演算結果の総積処理を、前記GPUを用いて並列に実行する第4のステップと、
をコンピュータに実行させるプログラム。
- 前記補間係数算出手段が、請求項1から請求項4のいずれか1項に記載の演算処理方法を用いてラグランジュの補間係数Δi,N(x)を求め、
前記暗号化関数値算出手段が、前記補間係数算出手段で算出されたラグランジュの補間係数Δi,N(x)、および前記公開鍵に基づいて、前記暗号化関数の値を求め、
更に、
乱数を生成する乱数生成手段と、
生成された乱数、前記平文、および前記公開鍵に基づいて、2つの暗号文の要素を生成する第1の要素生成手段と、
前記生成された乱数、前記暗号化関数値算出手段で求められた暗号化関数の値、および前記公開鍵に基づいて、暗号文の要素を生成する第2の要素生成手段と、
を備え、
前記第1の要素生成手段および前記第2の要素生成手段で生成された要素を暗号文として生成することを特徴とする暗号化装置。 - 前記補間係数算出手段が、請求項5に記載の演算処理方法を用いてラグランジュの補間係数の値を求め、
前記補間係数算出手段で求められたラグランジュの補間係数と、前記秘密鍵および前記暗号文とに基づいて、前記数4式に示す演算行い、平文を生成することを特徴とする復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012007716A JP5709773B2 (ja) | 2012-01-18 | 2012-01-18 | Fibe方式における、暗号化関数の演算処理方法、復号関数の演算処理方法、暗号化装置、復号装置、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012007716A JP5709773B2 (ja) | 2012-01-18 | 2012-01-18 | Fibe方式における、暗号化関数の演算処理方法、復号関数の演算処理方法、暗号化装置、復号装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013148641A JP2013148641A (ja) | 2013-08-01 |
JP5709773B2 true JP5709773B2 (ja) | 2015-04-30 |
Family
ID=49046220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012007716A Active JP5709773B2 (ja) | 2012-01-18 | 2012-01-18 | Fibe方式における、暗号化関数の演算処理方法、復号関数の演算処理方法、暗号化装置、復号装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5709773B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6460660B2 (ja) * | 2014-07-01 | 2019-01-30 | 株式会社Screenホールディングス | データ演算装置、データ演算方法および欠陥検査装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7916864B2 (en) * | 2006-02-08 | 2011-03-29 | Nvidia Corporation | Graphics processing unit used for cryptographic processing |
US7890747B2 (en) * | 2006-07-06 | 2011-02-15 | Accenture Global Services Limited | Display of decrypted data by a graphics processing unit |
US7890750B2 (en) * | 2006-07-06 | 2011-02-15 | Accenture Global Services Limited | Encryption and decryption on a graphics processing unit |
-
2012
- 2012-01-18 JP JP2012007716A patent/JP5709773B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013148641A (ja) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110419194B (zh) | 密钥交换设备和方法 | |
Albrecht et al. | Implementing RLWE-based schemes using an RSA co-processor | |
US10218494B1 (en) | Performing block form reductions modulo non-Mersenne primes in cryptographic protocols | |
CN108737115B (zh) | 一种具有隐私保护的私有属性集交集求解方法 | |
Joye et al. | Private yet efficient decision tree evaluation | |
US20190109701A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra | |
JP4682852B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
US20190044697A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
JP6974461B2 (ja) | 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム | |
US20180294951A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
KR101233682B1 (ko) | 타원곡선암호를 위한 연산 장치 및 방법 | |
US11902432B2 (en) | System and method to optimize generation of coprime numbers in cryptographic applications | |
Ayub et al. | Parallelized RSA algorithm: An analysis with performance evaluation using OpenMP library in high performance computing environment | |
Ukwuoma et al. | Post-quantum cryptography-driven security framework for cloud computing | |
JP2014137474A (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP5709773B2 (ja) | Fibe方式における、暗号化関数の演算処理方法、復号関数の演算処理方法、暗号化装置、復号装置、およびプログラム | |
Muhammed et al. | Improved cloud-based N-primes model for symmetric-based fully homomorphic encryption using residue number system | |
Dawson et al. | Ensuring privacy and confidentiality of cloud data: A comparative analysis of diverse cryptographic solutions based on run time trend | |
Swathi et al. | Privacy-Cheating Discouragement: A New Homomorphic Encryption Scheme for Cloud Data Security | |
Imam et al. | An empirical study of secure and complex variants of RSA scheme | |
Mittal et al. | Comparative evaluation of fully homomorphic encryption algorithms in cloud environment | |
JP6212377B2 (ja) | 演算装置、演算方法およびコンピュータプログラム | |
Lu et al. | Efficient Key Generation on Lattice Cryptography for Privacy Protection in Mobile IoT Crowdsourcing | |
WO2019079355A1 (en) | METHODS AND SYSTEMS FOR HOMOMORPHE ENCRYPTION SORTING BASED ON ENHANCED DATA USING GEOMETRIC ALGEBRA | |
Nguyen | Advancing Privacy and Accuracy with Federated Learning and Homomorphic Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140731 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150213 |
|
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: 20150224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150303 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5709773 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |