JP2010068293A - 秘密情報を用いて演算する装置、方法およびプログラム - Google Patents

秘密情報を用いて演算する装置、方法およびプログラム Download PDF

Info

Publication number
JP2010068293A
JP2010068293A JP2008233234A JP2008233234A JP2010068293A JP 2010068293 A JP2010068293 A JP 2010068293A JP 2008233234 A JP2008233234 A JP 2008233234A JP 2008233234 A JP2008233234 A JP 2008233234A JP 2010068293 A JP2010068293 A JP 2010068293A
Authority
JP
Japan
Prior art keywords
expression
unit
representation
arithmetic processing
arithmetic
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.)
Pending
Application number
JP2008233234A
Other languages
English (en)
Inventor
Kenichiro Furuta
憲一郎 古田
Hirobumi Muratani
博文 村谷
Kenji Okuma
建司 大熊
Yasutomo Isotani
泰知 磯谷
Tomoko Yonemura
智子 米村
Kiichi Hanatani
嘉一 花谷
Atsushi Shinpo
淳 新保
Yuichi Komano
雄一 駒野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008233234A priority Critical patent/JP2010068293A/ja
Publication of JP2010068293A publication Critical patent/JP2010068293A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】秘密鍵を用いた演算処理の安全性を向上させる復号装置を提供する。
【解決手段】乗法群の部分群上の離散対数問題に基づく暗号方式により平文データを暗号化した暗号文データを復号化する復号装置であって、部分群上の元であってアフィン表現で表された暗号文データを入力する入力部101と、アフィン表現を射影表現に変換する複数の写像のうちいずれか1つの写像をランダムに選択し、選択した写像によって入力された暗号文データを射影表現に変換する変換部111と、射影表現に変換された暗号文データに対して暗号方式で予め定められた復号処理を実行することにより平文データを算出する演算処理部112と、を備えた。
【選択図】 図2

Description

この発明は、乗法群の部分群上の要素に対して秘密情報を用いて演算処理を実行する装置、方法およびプログラムに関する。
事前に鍵を共有することを必要とせずに安全な通信を実現する公開鍵暗号は、ネットワーク・セキュリティの基盤技術として幅広く利用されている。また、情報端末の多様化が進み、小型機器においても方式や実装を工夫して公開鍵を用いた各種スキーム/プロトコルが用いられるようになっている。
公開鍵暗号において現在の典型的な暗号系サイズは1024ビットである。なお、暗号系サイズとは、公開鍵暗号で用いる表現形式で表した場合のデータのサイズを表す。例えば公開鍵暗号方式の1つであるCramer−Shoup暗号等では、1024ビットの拡大体表現と呼ばれる表現形式で各種データが表現される。計算機の進歩とともに攻撃者の能力も上がっているため、解読が困難とされる暗号系サイズは年々大きくなっている。公開鍵暗号では公開鍵サイズや暗号文サイズは暗号系サイズの数倍(方式により異なる)となる。例えば、公開鍵サイズは、暗号系サイズと鍵の個数との積になる。また、暗号文サイズは、暗号系サイズと、1つのメッセージを暗号化するのに必要な暗号文の数との積になる。したがって、メモリ容量や通信帯域が十分でない機器にとっては暗号系サイズの増大が問題となる。
そこで、公開鍵暗号における公開鍵サイズや暗号文サイズを圧縮する暗号圧縮技術が提案されている(例えば、非特許文献1)。この暗号圧縮技術は、公開鍵暗号で用いる数の集合のうち代数的トーラスと呼ばれる部分集合を用いると、集合の要素を小さいビット数で表現できるという事実に基づいている。また、圧縮率、すなわち圧縮前のビット数の圧縮後のビット数に対する割合を増大するための改良技術として、集合の要素を小さいビット数の表現に変換する際に付加的な入力を用いる技術が知られている(例えば、非特許文献2)。
K.Rubin and A.Silverberg."Torus−Based Cryptography",CRYPTO 2003,Springer LNCS 2729,349−365,2003. M.van Dijk and D.Woodruff."Asymptotically Optimal Communication for Torus−Based Cryptography" CRYPTO 2004,Springer LNCS 3152,157−178,2004.
しかしながら、非特許文献1などの代数的トーラスを用いた暗号圧縮技術では、電磁波解析などにより秘密情報を解読するサイドチャネル攻撃などへの対処が考慮されていないため、不正な攻撃に対してセキュリティが低下する場合があるという問題があった。
ここで、秘密情報とは、演算処理の途中において出現する、非公開情報の一切を表す。例えば、Cramer−Shoup暗号では、秘密鍵だけでなく、暗号化処理の計算途中に出現するハッシュ値やランダムに生成される乱数なども秘密情報に含まれる。公開鍵などは、非公開情報でないため、秘密情報には当たらない。
本発明は、上記に鑑みてなされたものであって、秘密情報を用いた演算処理の安全性を向上させることができる装置、方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、乗法群の部分群上の要素に対して秘密情報を用いて演算処理を実行する演算装置であって、前記部分群上の元である入力データを入力する入力部と、アフィン表現を射影表現に変換する複数の写像のうちいずれか1つの前記写像をランダムに選択し、選択した前記写像によって入力された前記入力データを射影表現に変換する変換部と、射影表現に変換された前記入力データに対して前記秘密情報を用いて演算処理を実行する演算処理部と、を備えたことを特徴とする。
また、本発明は、上記装置を実行することができる方法およびプログラムである。
本発明によれば、秘密情報を用いた演算処理の安全性を向上させることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる装置、方法およびプログラムの最良な実施の形態を詳細に説明する。なお、以下では、秘密情報を用いた演算処理を実行する演算装置(秘密情報に基づく演算装置)を、代数的トーラスを用いた暗号圧縮技術によって暗号化された暗号化データを秘密情報を用いて復号する復号装置として実現した例について説明する。適用可能な装置は復号装置に限られるものではなく、乗法群の部分群上の要素に対して秘密情報を用いて演算処理を実行する装置であれば、あらゆる装置に適用できる。例えば、秘密鍵データを用いて署名を作成する装置に対しても本実施の形態の手法を適用できる。
一般に、四則演算が定義される数の集合である体のうち、数の集合が有限の体は有限体と呼ばれる。また、有限体に含まれる数の個数は素数であるか素数のべき乗であることが知られている。このような体は、それぞれ素体と拡大体と呼ばれる。暗号圧縮技術で用いられる代数的トーラスは、拡大体上の乗法群の部分群である。
代数的トーラスの表現としては、拡大体表現、射影表現、およびアフィン表現の3種類が存在する。従来の代数的トーラスを用いた暗号圧縮技術では、まず、暗号化装置がメッセージを拡大体表現となっている代数的トーラスの要素に対応させる。次に、拡大体表現で計算を行って暗号文データを算出し、暗号文データを圧縮したアフィン表現へと変換し、圧縮された圧縮暗号文データを復号装置に送信する。復号装置では、受信した圧縮暗号文データを拡大体表現に変換し、拡大体表現で計算を行って平文データを復号する。
一方、本実施の形態にかかる復号装置は、まず、アフィン表現で表された圧縮暗号文データを拡大体表現ではなく射影表現に変換して計算を実行する。このとき、アフィン表現をそれぞれ異なる射影表現に変換する複数の変換写像を用意し、その中からランダムに選択した1つの変換写像を用いてアフィン表現を射影表現に変換する。
これにより、復号処理のランダム性が増加し、安全性が向上する。すなわち、電磁波解析などにより秘密鍵を解読するサイドチャネル攻撃等を受けた場合であっても、波形が一定にならないため秘密鍵を解読されるおそれが低下する。
ここで、本実施の形態にかかる暗号処理システムの概要について用いて説明する。図1は、本実施の形態にかかる暗号処理システムの概要を示す図である。図1に示すように、本実施の形態にかかる暗号処理システムは、暗号化装置200と、秘密情報に基づく演算装置100とを含んでいる。
暗号化装置200は、乗法群の部分群である代数的トーラス上の離散対数問題に基づく公開鍵暗号方式により平文データを暗号化した暗号文を生成し、生成した暗号文をアフィン表現に圧縮して演算装置100に送信する。
演算装置100は、アフィン表現で表された暗号文を受信すると、暗号文のアフィン表現を、対応する複数の射影表現のうち、乱数に応じて選択されるいずれかの射影表現に変換する。そして、演算装置100は、変換した射影表現を用いて演算を実行し、代数的トーラス上の元である平文データを演算結果として出力する。
従来の復号装置は、アフィン表現を対応する1つの射影表現に変換して演算していた。これに対し、本実施の形態では、同図に示したように、複数の射影表現から選択した射影表現に変換して演算を実行できる。これにより、秘密情報を用いた演算処理の1つである代数的トーラスを用いた暗号方式のランダム性を増加させることができる。
次に、本実施の形態にかかる演算装置100の構成について説明する。図2は、本実施の形態にかかる演算装置100のブロック図である。図2に示すように、演算装置100は、代数的トーラスを用いた公開鍵暗号方式で暗号化された暗号文データを復元する装置であり、入力部101と、分割部102と、乱数生成部103と、演算制御部110と、記憶部104と、を備えている。
入力部101は、暗号化装置200から送信された圧縮暗号文データや、復号化に用いる公開鍵暗号方式の秘密鍵データなどの入力データを入力する。記憶部104は、入力された圧縮暗号文データや秘密鍵データなどを保存する。記憶部104は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
分割部102は、入力された圧縮暗号文データを、復号処理の単位とする複数の部分データに分割する。例えば、分割部102は、圧縮暗号文データを、予め定められたサイズの部分データごとに分割する。なお、分割方法はこれに限られるものではない。また、演算装置100内では圧縮暗号文データを分割しないように構成してもよい。例えば、暗号化装置200が平文データを部分データに分割し、各部分データを暗号化および圧縮した複数の圧縮暗号文データを送信するように構成してもよい。この場合、演算装置100は、複数の圧縮暗号文データを単位として復号処理を実行すればよい。
乱数生成部103は、変換部111(後述)が複数の変換写像から1つの変換写像を選択するために用いる乱数を生成する。
演算制御部110は、秘密情報に基づく演算処理を制御する。本実施の形態では、演算制御部110は、暗号文データの復号処理を実行する。演算制御部110は、変換部111と、演算処理部112と、判定部113と、を含んでいる。
変換部111は、復号処理で扱う各種データの表現形式を相互に変換する。例えば、変換部111は、アフィン表現に圧縮された暗号文データを射影表現に変換する。また、変換部111は、射影表現で復号された平文データをアフィン表現に変換する。
ここで、本実施の形態で用いる各表現、および表現間の変換方法の詳細について説明する。まず、本実施の形態で用いる用語の定義について説明する。
(定義1)有限個の元からなる体を有限体(finite field)といい、Fと表す。ここで、pは素数である。有限体Fの元は、(1)式を満たす非負整数で表される。
Figure 2010068293
(定義2)以下の(2)式の有限体(以下、Fp^mと表記する)の元は、以下の(3)式で示すように、Fに係数を持つ高々(m−1)次(mは正整数)の多項式で表される。以下、zを多項式の不定元とする。
Figure 2010068293
(定義3)以下の(4)式の有限体(以下、F(p^m)^3と表記する)の元は、以下の(5)式で示すように、Fp^mに係数を持つ高々2次の多項式で表される。以下、yを多項式の不定元とする。
Figure 2010068293
(定義4)代数的トーラスを、以下の(6)式で表す(以下、T(Fp^m)と表記する)。
Figure 2010068293
(定義5)T(Fp^m)の要素は、以下の(7)式のようにα,β∈F(p^m)^3を用いて表される。ここで、α+βxはF(p^m)^6の要素であり、F(p^m)^3に係数を持つ高々1次の多項式で表される。有限体F(p^m)^6の元は、F(p^m)^3の要素を係数とし、2次の原始既約多項式の根ηを変数とする1次式a+aη,a∈F(p^m)^3で表される。xは多項式の不定元である。また、αとβとが(7)式の条件を満たすとき、射影表現を以下の(8)式のように簡略化して表現する。
Figure 2010068293
(定義6)(9)式で表される代数的トーラスの単位元を除く要素は、以下の(10)式を満たすc,cを用いて表される。ここで、(11)式は有限体Fp^mの零元以外の元から構成される、有限体Fp^mの乗法群を表す。また、(10)式のwは、(11)式の乗法群の要素であって、計算効率等を考慮して事前に定められた値をとる。c,cが(10)式を満たすとき、アフィン表現を以下の(12)式のように簡略化して表現する。
Figure 2010068293
以上の定義を元に、変換部111が実行する表現間の変換処理について説明する。まず、変換部111がアフィン表現を射影表現に変換する複数の写像の基準となる写像(基準写像)について説明する。
基準写像は、以下の(13)式に示すアフィン表現を入力とし、(14)式に示す射影表現を出力する写像である。具体的には、基準写像は、以下の(15)式に示す手順に従い、アフィン表現の分数式である上述の(10)式を、射影表現の分数式である上述の(8)式に読み換えることにより、アフィン表現を射影表現に変換する。なお、(15)式の手順5、6は、b、bの値をFp^mの零元とすることを表している。
Figure 2010068293
次に、変換部111が射影表現をアフィン表現に変換する写像について説明する。変換部111は、以下の(16)式に示す射影表現を入力とし、(17)式に示すアフィン表現を出力することにより、射影表現をアフィン表現に変換する。具体的には、変換部111は、以下の(18)式に示す手順に従って射影表現をアフィン表現に変換する。なお、(18)式の手順1は、βがF(p^m)^3の零元である場合、c,cの値をFp^mの零元とすることを表している。
Figure 2010068293
本実施の形態では、(13)式から(15)式で説明した基準写像が出力する射影表現をF(p^m)^3の要素であるkで乗じた射影表現を出力する複数の変換写像を定義して利用する。すなわち、n(nは2以上の整数)個のF(p^m)^3の要素k〜kを予め定め、基準写像が出力する射影表現(α,β)をk〜k倍した射影表現(kα,kβ)〜(kα,kβ)をそれぞれ出力する、n個の変換写像を用いる。
そして、変換部111は、このように定義された複数の変換写像のうち、乱数生成部103によって生成された乱数に応じて予め定められた変換写像を選択し、選択した変換写像によってアフィン表現を射影表現に変換する。
図3は、乱数の使用方法を示す説明図である。図3のCPT301は圧縮暗号文データを表している。本実施の形態では、上述のように分割部102がCPT301を複数の部分データ311〜31t(cpt〜cpt)。そして、本実施の形態では、変換部111が、n個のk(=k〜k)から乱数に応じて選択されたkに対応する変換写像によって、各部分データcpt〜cptを復号化する。
なお、複数の変換写像で変換された複数の射影表現は、いずれも同一のアフィン表現に対応する。これは、(18)式の手順2.1で、αをβで除算したγを求めるときにkが相殺されるためである。このため、複数の変換写像のうちいずれかの変換写像で変換された射影表現による演算結果と、他の変換写像で変換された射影表現による演算結果は、アフィン表現で表すと一致する。
演算処理部112は、変換部111によって射影表現に変換された暗号文データに対して秘密情報を用いて演算処理を実行する。具体的には、演算処理部112は、暗号文データに対して秘密鍵データを用いて、有限体上の離散対数問題に基づいた復号処理を施して平文データを算出する。具体的には、演算処理部112は、Cramer−Shoup暗号方式により、複数回のべき乗または乗算、あるいは暗号文データを入力値として用いるハッシュ関数Hを用いて暗号文データに復号処理を施して平文データを出力する。なお、演算処理部112がElGamal暗号などの他の暗号方式を利用するように構成してもよい。
ここで、Cramer−Shoup暗号方式について説明する。図4は、Cramer−Shoup暗号方式の暗号化および復号化の処理手順を示す説明図である。図4で、qは素数、gは暗号が定義される群G(位数はq)の生成元、g〜,e,f,hは群Gの元である。平文データmもGの元である。rはランダムに生成される乱数である。
暗号化処理601では、(10−1)〜(10−4)式により平文データmに対応する暗号文データ(ct,ct,ct,ct)を計算する。ここで、(10−3)式におけるHはハッシュ関数を示しており、ハッシュ関数Hに暗号文データを入力してハッシュ値vを求めている。秘密鍵は1からqまでの整数(または0からq−1までの整数)とする。
復号処理602では、(11−1)〜(11−6)式により秘密鍵(x,x,y,y,z,z)と暗号文データ(ct,ct,ct,ct)から正当な平文データであるか否かのチェックを行い、平文データmを計算する。ここで、秘密鍵(x,x,y,y,z,z)は1からqまでの整数とする。また、ct∈?G(またはG〜)は、ctが群G(または群G〜)に属するか否かを判断することを示している。
なお、上述のように、解読されうる秘密情報は、秘密鍵(x,x,y,y,z,z)だけでなく、計算の途中に出現するb(11−3)、乱数r、およびハッシュ値vなども含まれる。
図2に戻り、判定部113は、暗号文データの正当性を判定する。例えば、判定部113は、暗号文データの各要素が正しい群の元であるか否かを判定する。また、判定部113は、入力された暗号文データのハッシュ値を算出し、算出したハッシュ値を用いて算出した値と、入力された暗号文データの所定の成分とを比較し、両者が一致しているか否かによって、暗号文データが正当であることを判定する。
次に、このように構成された本実施の形態にかかる演算装置100による復号処理について図5を用いて説明する。図5は、本実施の形態における復号処理の全体の流れを示すフローチャートである。
まず、入力部101は、上述のCramer−Shoup暗号方式で暗号化され、アフィン表現に圧縮された暗号文データ(圧縮暗号文データ)を入力する(ステップS501)。例えば、入力部101は、暗号化装置200から受信され、記憶部104に保存された圧縮暗号文データを記憶部104から入力する。
次に、分割部102は、入力された圧縮暗号文データを複数の部分データに分割する(ステップS502)。以下では、各部分データを4つの成分(ct ,ct ,ct ,ct )で表す。なお、以下では、記号「*」が付与された変数は、アフィン表現で表されたデータを意味する。また、記号「’」が付与された変数は射影表現で表されたデータを意味する。
次に、演算制御部110は、未処理の部分データを取得する(ステップS503)。次に、判定部113が、取得した部分データの成分(要素)であるct 、ct 、ct 、ct のそれぞれが正しい群の元であるか否か、すなわち、ct ,ct ,ct ,ct ∈Gを満たすか否かを判断する(ステップS504)。
部分データの成分が正しい群の元でないと判断された場合は(ステップS504:NO)、復号処理を終了する。部分データの成分が正しい群の元であると判断された場合(ステップS504:YES)、演算制御部110は、ハッシュ関数Hへの入力としてct 、ct 、ct を用いてハッシュ値v=H(ct 、ct 、ct )を算出する(ステップS505)。
次に、乱数生成部103が乱数を生成する(ステップS506)。そして、変換部111は、生成された乱数に対応する変換写像を選択する(ステップS507)。
複数の変換写像と乱数とは、例えば以下のように対応づけることができる。複数の変換写像は、上述のようにF(p^m)^3の要素であるkによって識別される。また、kはそれぞれ3m個の要素を持つベクトルで表現することができる。そこで、乱数生成部103が、0からp3m−1までのいずれかの値を取るような乱数を生成するように構成する。そして、生成した乱数を3m桁のp進数で表したときの各桁の値を、ベクトルの各要素とするkに対応づける。これにより、生成した乱数を、p3m個の異なるkに対応させることができる。
なお、乱数と変換写像とを対応づける方法はこれに限られるものではなく、乱数に応じて、複数の変換写像のうちいずれかを選択可能な方法であればあらゆる方法を適用できる。
次に、変換部111は、選択した変換写像によって、アフィン表現で表されたct 、ct を射影表現ct’、ct’に変換する(ステップS508)。また、演算処理部112は、ハッシュ値vと、ct’、ct’と、秘密鍵データのうちx1、x2、y1、y2とを用いて、べき乗計算K’=ct(x1+y1v)ct(x2+y2v)を実行する(ステップS509)。そして、変換部111は、射影表現で表されたK’をアフィン表現Kに変換する(ステップS510)。
次に、判定部113は、Kと入力された暗号文データの成分のうちct とが一致するか否かを判断する(ステップS511)。なお、本ステップでは、Kとct とが等価であることを確認できればよい。したがって、射影表現K’をアフィン表現Kに変換する代わりに、拡大体表現Kに変換し、Kとctとが一致することを確認するように構成してもよい。
一致しない場合は(ステップS511:NO)、復号処理を終了する。一致する場合は(ステップS511:YES)、変換部111は、アフィン表現で表されたct を射影表現ct’に変換する(ステップS512)。次に、演算処理部112は、ct’、ct’と、秘密鍵データのうちz1、z2とを用いて、べき乗計算b’= ctz1ctz2を実行する(ステップS513)。
次に、演算処理部112は、変換により得られたct’と、算出されたb’とを用いて、射影表現で表された、部分データに対応する復号データm’=ct’b’−1を算出する(ステップS514)。次に、変換部111が、復号データm’をアフィン表現で表された平文データmに変換する(ステップS515)。
次に、演算制御部110は、すべての部分データを処理したか否かを判断する(ステップS516)。すべての部分データを処理していない場合は(ステップS516:NO)、次の未処理の部分データを取得して処理を繰り返す(ステップS503)。
すべての部分データを処理した場合は(ステップS516:YES)、演算処理部112が、各部分データに対応する復号データm’を結合した平文データを算出し(ステップS517)、復号処理を終了する。
なお、本実施の形態では、復号する圧縮暗号文データを部分データに分割し、分割した部分データ単位で、乱数に応じて選択した変換写像を利用していた。これに対し、演算装置100内に備えられたタイマーなどによって時間を計測し、一定時間が経過するごとに利用する変換写像を切り替えるように構成してもよい。
このように、本実施の形態にかかる復号装置では、アフィン表現をそれぞれ異なる射影表現に変換する複数の変換写像を用意し、その中からランダムに選択した1つの変換写像を用いてアフィン表現を射影表現に変換する。そして、変換した射影表現を用いて復号処理の演算を実行する。これにより、秘密情報を用いた演算処理のランダム性を増加させ、安全性を向上させることができる。
次に、本実施の形態にかかる復号装置のハードウェア構成について図6を用いて説明する。図6は、本実施の形態にかかる復号装置のハードウェア構成を示す説明図である。
本実施の形態にかかる復号装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
本実施の形態にかかる復号装置で実行される復号プログラムは、ROM52等に予め組み込まれて提供される。
本実施の形態にかかる復号装置で実行される復号プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施の形態にかかる復号装置で実行される復号プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかる復号装置で実行される復号プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施の形態にかかる復号装置で実行される復号プログラムは、上述した各部(部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51が上記ROM52から復号プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかる装置、方法およびプログラムは、Cramer−Shoup暗号方式のように、離散対数問題を安全性の根拠とする公開鍵暗号方式によりデータを復号化する装置に適している。
本実施の形態にかかる暗号処理システムの概要を示す図である。 本実施の形態にかかる復号装置のブロック図である。 乱数の使用方法を示す説明図である。 Cramer−Shoup暗号方式の暗号化および復号化の処理手順を示す説明図である。 本実施の形態における復号処理の全体の流れを示すフローチャートである。 本実施の形態にかかる復号装置のハードウェア構成を示す説明図である。
符号の説明
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
100 演算装置
101 入力部
102 分割部
103 乱数生成部
104 記憶部
110 演算制御部
111 変換部
112 演算処理部
113 判定部
200 暗号化装置

Claims (9)

  1. 乗法群の部分群上の要素に対して秘密情報を用いて演算処理を実行する演算装置であって、
    前記部分群上の元である入力データを入力する入力部と、
    アフィン表現を射影表現に変換する複数の写像のうちいずれか1つの前記写像をランダムに選択し、選択した前記写像によって入力された前記入力データを射影表現に変換する変換部と、
    射影表現に変換された前記入力データに対して秘密情報を用いて演算処理を実行する演算処理部と、
    を備えたことを特徴とする演算装置。
  2. 前記入力データは、前記部分群上の離散対数問題に基づく暗号方式により暗号化し、前記アフィン表現で表された暗号文データであり、
    前記変換部は、前記複数の写像のうちいずれか1つの前記写像をランダムに選択し、選択した前記写像によって入力された前記暗号文データを射影表現に変換し、
    前記演算処理部は、前記秘密情報を用いて、射影表現に変換された前記暗号文データに対して前記暗号方式で予め定められた復号処理を実行することにより平文データを算出すること、
    を特徴とする請求項1に記載の演算装置。
  3. 前記暗号方式は、Cramer−Shoup暗号方式であること、
    を特徴とする請求項2に記載の演算装置。
  4. 前記暗号方式は、代数的トーラスである前記部分群上の離散対数問題に基づく暗号方式であること、
    を特徴とする請求項2に記載の演算装置。
  5. 前記変換部は、予め定められた基準写像によってアフィン表現を変換した射影表現に対して予め定められた複数の乗数をそれぞれ乗じて得られる複数の射影表現を、アフィン表現の変換結果としてそれぞれ出力する複数の前記写像のうち、いずれか1つの前記写像をランダムに選択し、選択した前記写像によって入力された前記入力データを射影表現に変換すること、
    を特徴とする請求項1に記載の演算装置。
  6. 乱数を生成する乱数生成部をさらに備え、
    前記変換部は、複数の写像のうち、生成された乱数に対応するいずれか1つの前記写像を選択し、選択した前記写像によって入力された前記入力データを射影表現に変換すること、
    を特徴とする請求項1に記載の演算装置。
  7. 入力された前記入力データを複数の部分データに分割する分割部をさらに備え、
    前記変換部は、前記部分データごとに、複数の前記写像のうちいずれか1つの前記写像を選択し、選択した前記写像によって前記部分データを射影表現に変換し、
    前記演算処理部は、射影表現に変換された前記部分データに対して前記秘密情報を用いて演算処理を実行すること、
    を特徴とする請求項1に記載の演算装置。
  8. 乗法群の部分群上の要素に対して秘密情報を用いて演算処理を実行する演算方法であって、
    入力部が、前記部分群上の元である入力データを入力する入力ステップと、
    変換部が、アフィン表現を射影表現に変換する複数の写像のうちいずれか1つの前記写像をランダムに選択し、選択した前記写像によって入力された前記入力データを射影表現に変換する変換ステップと、
    演算処理部が、射影表現に変換された前記入力データに対して前記秘密情報を用いて演算処理を実行する演算処理ステップと、
    を備えたことを特徴とする演算方法。
  9. 乗法群の部分群上の要素に対して秘密情報を用いて演算処理を実行する演算装置で実行される演算プログラムであって、
    前記演算装置を、
    前記部分群上の元である入力データを入力する入力部と、
    アフィン表現を射影表現に変換する複数の写像のうちいずれか1つの前記写像をランダムに選択し、選択した前記写像によって入力された前記入力データを射影表現に変換する変換部と、
    射影表現に変換された前記入力データに対して前記秘密情報を用いて演算処理を実行する演算処理部と、
    として機能させる演算プログラム。
JP2008233234A 2008-09-11 2008-09-11 秘密情報を用いて演算する装置、方法およびプログラム Pending JP2010068293A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008233234A JP2010068293A (ja) 2008-09-11 2008-09-11 秘密情報を用いて演算する装置、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008233234A JP2010068293A (ja) 2008-09-11 2008-09-11 秘密情報を用いて演算する装置、方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2010068293A true JP2010068293A (ja) 2010-03-25

Family

ID=42193471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008233234A Pending JP2010068293A (ja) 2008-09-11 2008-09-11 秘密情報を用いて演算する装置、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2010068293A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244131A (ja) * 2002-02-20 2003-08-29 Matsushita Electric Ind Co Ltd 鍵管理装置、鍵管理方法、鍵管理プログラムおよび当該鍵管理プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2005015526A1 (ja) * 2003-08-06 2005-02-17 Fujitsu Limited 楕円曲線暗号装置,楕円曲線暗号方法,楕円曲線暗号プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP2006527564A (ja) * 2003-06-12 2006-11-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 差動電力解析を用いて行なわれる攻撃に対する防御の方法
WO2007005563A2 (en) * 2005-07-01 2007-01-11 Microsoft Corporation Elliptic curve point multiplication
JP2007187978A (ja) * 2006-01-16 2007-07-26 Toshiba Corp データ圧縮装置、および、これに利用されるパラメータ設定装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244131A (ja) * 2002-02-20 2003-08-29 Matsushita Electric Ind Co Ltd 鍵管理装置、鍵管理方法、鍵管理プログラムおよび当該鍵管理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006527564A (ja) * 2003-06-12 2006-11-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 差動電力解析を用いて行なわれる攻撃に対する防御の方法
WO2005015526A1 (ja) * 2003-08-06 2005-02-17 Fujitsu Limited 楕円曲線暗号装置,楕円曲線暗号方法,楕円曲線暗号プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
WO2007005563A2 (en) * 2005-07-01 2007-01-11 Microsoft Corporation Elliptic curve point multiplication
JP2007187978A (ja) * 2006-01-16 2007-07-26 Toshiba Corp データ圧縮装置、および、これに利用されるパラメータ設定装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSNG200800843002; 米村智子,古田憲一郎,花谷嘉一,磯谷泰知,駒野雄一,村谷博文,野崎華恵,大熊建司,新保淳: '"代数的トーラス上の暗号系 安全性と効率を両立するパラメータ生成法"' 電子情報通信学会技術研究報告 Vol.108,No.207, 20080905, p.25-32, 社団法人電子情報通信学会 *
CSNJ200910063048; 磯谷泰知,大熊建司,駒野雄一,新保淳,野崎華恵,花谷嘉一,吉田憲一郎,村谷博文,米村智子: '"代数的トーラス上の暗号系における演算表現の選択"' 第31回情報理論とその応用シンポジウム(SITA2008) 予稿集 [CD-ROM] , 20081010, p.269-274, 暗号理論とその応用学会 *
JPN6013017917; 米村智子,古田憲一郎,花谷嘉一,磯谷泰知,駒野雄一,村谷博文,野崎華恵,大熊建司,新保淳: '"代数的トーラス上の暗号系 安全性と効率を両立するパラメータ生成法"' 電子情報通信学会技術研究報告 Vol.108,No.207, 20080905, p.25-32, 社団法人電子情報通信学会 *
JPN6013017920; Jean-Sebastien Coron: '"Resistance against Differential Power Analysis for Elliptic Curve Cryptosystems"' Lecture Notes in Computer Science, Cryptographic Hardware and Embedded Systems Vol.1717, 199908, pp.292-302 *
JPN6013017922; 磯谷泰知,大熊建司,駒野雄一,新保淳,野崎華恵,花谷嘉一,吉田憲一郎,村谷博文,米村智子: '"代数的トーラス上の暗号系における演算表現の選択"' 第31回情報理論とその応用シンポジウム(SITA2008) 予稿集 [CD-ROM] , 20081010, p.269-274, 暗号理論とその応用学会 *

Similar Documents

Publication Publication Date Title
JP4384056B2 (ja) 暗号装置、復号装置、鍵生成装置、プログラム及び方法
JP4786531B2 (ja) 暗号システム、暗号装置、復号装置、プログラムおよび集積回路
Abusukhon et al. A hybrid network security algorithm based on Diffie Hellman and Text-to-Image Encryption algorithm
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
US20100046745A1 (en) Encrypting apparatus, decrypting apparatus, cryptocommunication system, and methods and computer program products therefor
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
JP2014002230A (ja) 認証暗号化装置、認証復号装置、およびプログラム
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
US20100046741A1 (en) Apparatus, method, and computer program product for decrypting, and apparatus, method, and computer program product for encrypting
JP6719339B2 (ja) 暗号システム、暗号方法及び暗号プログラム
JP2009193024A (ja) 復号化処理装置、暗号処理システム、復号化処理方法およびプログラム
Ahmad et al. Distributed text-to-image encryption algorithm
US11288985B2 (en) Encryption device, decryption device, encryption method, decryption method, encryption program product, and decryption program product
JP5323196B2 (ja) 演算装置、方法およびプログラム
JP5633563B2 (ja) 楕円曲線上のパラメータ化による暗号法
JP5354994B2 (ja) 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム
JP5300373B2 (ja) 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
JP5300374B2 (ja) 表現変換装置、演算装置、表現変換方法及びプログラム
Anand et al. Real-time symmetric cryptography using quaternion julia set
JP2010068293A (ja) 秘密情報を用いて演算する装置、方法およびプログラム
JP2017038336A (ja) 復号方法
Hazzazi et al. Asymmetric Key Cryptosystem for Image Encryption by Elliptic Curve over Galois Field GF (2 n).
JP5912281B2 (ja) 復号結果検証装置、方法、システム及びプログラム
US20240195607A1 (en) Encryption device, key generation device, and computer program product for encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130917