JP2023156635A - 暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム - Google Patents

暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム Download PDF

Info

Publication number
JP2023156635A
JP2023156635A JP2022066119A JP2022066119A JP2023156635A JP 2023156635 A JP2023156635 A JP 2023156635A JP 2022066119 A JP2022066119 A JP 2022066119A JP 2022066119 A JP2022066119 A JP 2022066119A JP 2023156635 A JP2023156635 A JP 2023156635A
Authority
JP
Japan
Prior art keywords
encryption
plaintext
decryption
values
ciphertext
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
JP2022066119A
Other languages
English (en)
Inventor
真奈 上野
Mana Ueno
鉄太郎 小林
Tetsutaro Kobayashi
啓造 村上
Keizo Murakami
滋生 光成
Shigeo Mitsunari
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.)
CYBOZU LABS Inc
Nippon Telegraph and Telephone Corp
Original Assignee
CYBOZU LABS Inc
Nippon Telegraph and Telephone 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 CYBOZU LABS Inc, Nippon Telegraph and Telephone Corp filed Critical CYBOZU LABS Inc
Priority to JP2022066119A priority Critical patent/JP2023156635A/ja
Publication of JP2023156635A publication Critical patent/JP2023156635A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】暗号に関する処理を高速化すること。【解決手段】暗号化装置は、整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された平文に対応する楕円点を特定して当該平文を暗号化するように構成されている暗号化部、を有する。【選択図】図2

Description

本発明は、暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラムに関する。
楕円Lifted-ElGamal暗号方式は、楕円ElGamal暗号方式を改良したものである。楕円ElGamal暗号方式が平文を楕円曲線上の点に限定するのに対して、楕円Lifted-ElGamal暗号は入力となるメッセージmとして整数値を取ることができる。また、楕円Lifted-ElGamal暗号は、加法準同型性を有する。
光成滋生、"クラウドを支えるこれからの暗号技術"、秀和システム、pp134-136, 2015
楕円Lifted-ElGamal暗号において基本となる演算は楕円曲線上で展開されるが、楕円曲線上の演算は整数の計算と比較して遅く、その処理の高速化が課題となってきた。
本発明は、上記の点に鑑みてなされたものであって、暗号に関する処理を高速化することを目的とする。
そこで上記課題を解決するため、暗号化装置は、整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された平文に対応する楕円点を特定して当該平文を暗号化するように構成されている暗号化部、を有する。
暗号に関する処理を高速化することができる。
本発明の実施の形態における暗号化装置10E又は復号装置10Dとして機能するコンピュータのハードウェア構成例を示す図である。 本発明の実施の形態における暗号化装置10Eの機能構成例を示す図である。 m-mPフルテーブルT1の構成例を示す図である。 本発明の実施の形態における復号装置10Dの機能構成例を示す図である。 本発明の実施の形態における暗号変換装置10Tの機能構成例を示す図である。 暗号化装置10Eと復号装置10Dとの間に準同型加算装置20を含むシステム構成例を示す図である。 本実施の形態の暗号化装置10E及び復号装置10Dを含むウェブ会議システムの構成例を示す図である。
[楕円Lifted-ElGamal暗号]
まず、楕円Lifted-ElGamal暗号について説明する。楕円Lifted-ElGamal暗号は、鍵生成、暗号化、復号、準同型演算の4つのアルゴリズムで構成される。
セットアップ:素数位数pの楕円曲線G=<P>
鍵生成:セキュリティパラメータを入力として、s←Fをランダムに決定する。H←sPを計算する。ここで、sが秘密鍵、Hが公開鍵である。
暗号化:公開鍵Hと、暗号化乱数生成器から出力される乱数rと、使用する楕円曲線によって決定される楕円点Pとを用いて、整数入力mを暗号化し、暗号文C=(S,T)を出力する。
(i)M←mP
(ii)S←M+rH,T←rP
復号:秘密鍵sと暗号文C=(S,T)とを入力としてmを出力する。
(i)M←S-sT
(ii)m←M
(ii)はPとM=mPからmを求める「離散対数問題」を解くことにより実現される。
準同型演算:異なる整数値m1、m2の暗号文C1、C2を入力とし、Cadd←C1+C2を出力する。
従来、これらのアルゴリズムのうち、暗号化及び復号では以下の2つの事前演算及びそれによって作られる事前演算テーブルが使用される(非特許文献1)。
<暗号化で用いるテーブル>
公開鍵Hを元に、nHを事前に計算したテーブルである。任意の整数値rを入力したときに、それに対応したrHの値を高速に導くために用いられる。以下、当該テーブルを「公開鍵テーブル」という。
<復号で用いるテーブル>
楕円Lifted-ElGamal暗号の復号では最終的にmPとPを元にmを求める必要がある。これは離散対数問題(Discrete Logarithm Problem;DLP)と呼ばれる非常に難しい問題である。この問題を高速に解くため、楕円Lifted-ElGamal暗号ではmPのとりうる値を事前に演算し、ハッシュテーブルとして復号時に使用する。以下、当該ハッシュテーブルを「DLP用ハッシュテーブル」という。
[本発明の実施の形態の概要]
本実施の形態は、新しい事前演算テーブルを用いることで暗号化及び復号を高速化する。当該事前演算テーブルは、メッセージとそれに対応する楕円点のペアを全パターン記載したものである。当該事前演算テーブルは、複数の整数値mと各mに対応するmPの値を事前に計算してmとmPの対応関係をテーブルとしたものである。なお、後述されるように、事前演算テーブルは、m、mP、mPのハッシュ値の対応関係をテーブルとしたものでもよい。斯かるテーブルを用いることで、従来技術で発生していたm→M=mPの演算コストを1度のテーブル検索に置き換えることができ、楕円スカラー倍算の回数を減らすことができる。また、このテーブルは、M→mのDLPを解く処理で使用するハッシュテーブル(DLP用ハッシュテーブルT3)の一部として使用することもでき、出力値がmと同じ空間にある場合は処理時間を少なくすることできる。
なお、本実施の形態において、暗号化及び復号の演算に関して用いられる各記号の意味は、上記した楕円Lifted-ElGamal暗号の説明に従う。
[本発明の実施の形態における暗号化装置10E及び復号装置10D]
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における暗号化装置10E又は復号装置10Dとして機能するコンピュータのハードウェア構成例を示す図である。図1のコンピュータは、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
コンピュータでの処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従ってコンピュータに係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
[暗号化装置10E]
図2は、本発明の実施の形態における暗号化装置10Eの機能構成例を示す図である。図2において、暗号化装置10Eは、暗号化乱数生成部111、暗号化部112及び事前演算テーブル記憶部130Eを有する。暗号化乱数生成部111及び暗号化部112は、暗号化装置10Eとして機能するコンピュータにインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。但し、これら各部は回路によって実現されてもよい。また、事前演算テーブル記憶部130Eは、例えば、補助記憶装置102等を用いて実現可能である。
暗号化乱数生成部111は、乱数rを生成する。
暗号化部112は、乱数r、及び使用する楕円曲線によって決定される楕円点Pを用いて、以下の演算を行うことで整数である入力平文mを暗号化し、暗号文E(m)=(S,T)を出力する。なお、入力平文mの一例として、音声データ、画像データ、映像データ等が挙げられる。
(i)M←mP
(ii)S←M+rH,T←rP
暗号化部112は、(i)において、事前演算テーブル記憶部130Eに予め記憶されているm-mPフルテーブルT1を参照して、(i)の演算を高速に実行する。
図3は、m-mPフルテーブルT1の構成例を示す図である。図3には、(a)及び(b)の2通りの例が示されている。以下、入力平文を
Figure 2023156635000002
使用する楕円曲線の生成元をP、ハッシュ関数をH(x)とする。
(a)のm-mPフルテーブルT1は、mの取りうる複数の(全ての)値と、それに対応する事前に計算されたmPを対応付けて記憶するテーブルである。
(b)のm-mPフルテーブルT1は、mの取りうる複数の(全ての)値に対して事前に計算されたmPの値及び、H(mP)の値を対応付けて記憶するテーブルである。ここでH(mP)はmPを入力値としてハッシュ関数に通した結果である。
暗号化部112は、(a)及び(b)のいずれのテーブルを用いてもよい。いずれのテーブルを用いる場合も、暗号化部112は、m-mPフルテーブルT1を参照して、入力された平文mの値に対応するmPの値を特定することで、(i)の演算を実行する。
また、暗号化部112は、(ii)の演算について、従来技術と同様に、公開鍵テーブルT2を参照して、乱数rに対応するrHの値を高速に導出する。
図4は、本発明の実施の形態における復号装置10Dの機能構成例を示す図である。図4において復号装置10Dは、復号部121及び事前演算テーブル記憶部130Dを有する。復号部121は、暗号化装置10Eとして機能するコンピュータにインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。但し、復号部121は回路によって実現されてもよい。また、事前演算テーブル記憶部130Dは、例えば、補助記憶装置102等を用いて実現可能である。
復号部121は、秘密鍵sと暗号文E(m)=(S,T)を入力とし、以下の演算を実行してmを出力する。
(i)M←S-sT
(ii)m←M
復号部121は、(ii)において、事前演算テーブル記憶部130Dに予め記憶されているm-mPフルテーブルT1(図3)を参照して、(ii)の演算を高速に実行する。この際、復号部121は、図3(a)及び(b)のいずれを用いてもよい。なお、本実施の形態では、基本的に、DLP用ハッシュテーブルT3の代わりにm-mPフルテーブルT1を使用することで復号が行われる。但し、復号後の値がmを超える場合の演算処理の効率化のためにDLP用ハッシュテーブルT3が利用されてもよい。
(a)のテーブルを用いる場合、復号部121は、当該テーブルを参照して、入力された暗号文についての(i)の計算結果であるM(=mP)に対応するmを特定する。なお、斯かる検索を更に高速化するために、復号装置10Dにおける(a)のテーブルは、mPの値でソートされてもよい。但し、Mは群上の点であり、大きな値になる。例えば楕円Lifted-ElGamal暗号方式を256bit楕円曲線で用いた場合のMは256bitの4つの整数値で構成されるため、そのまま用いるには値が大きい。そこで、(a)の代わりに(b)のテーブルを用いることで、更なる高速化を期待することができる。
(b)のテーブルを用いる場合、復号部121は、入力されたMに対してハッシュ関数H(x)を適用することで、小さなハッシュ値(H(M))を得る。復号部121は、このハッシュ値に対応するmを(b)のテーブルを参照して特定する。
なお、上記では、暗号化部112及び復号部121が異なる装置において実現される例を示したが、図5に示されるように、暗号化部112及び復号部121の双方が同一の装置に含まれてもよい。図5中、図2又は図4と同一部分には同一符号を付している。図5に示される暗号変換装置10Tでは、暗号化部112及び復号部121によってm-mPフルテーブルT1が共用される。
また、暗号化装置10Eと復号装置10Dとの間には、準同型演算を実行する装置が介在してもよい。
図6は、暗号化装置10Eと復号装置10Dとの間に準同型加算装置20を含むシステム構成例を示す図である。図6中、図2又は図4と同一部分には同一符号を付している。図6において準同型加算装置20は、暗号化装置10E-1が平文m1を暗号化することで出力する暗号文E(m1)と、暗号化装置10E-2が平文m2を暗号化することで出力する暗号文E(m2)とを入力し、E(m1)及びE(m2)について準同型加算を実行し、E(m1+m2)を出力する。復号装置10Dは、E(m1+m2)を入力し、復号することで、(m1+m2)を出力する。
なお、暗号化装置10E及び復号装置10Dは、様々な用途に利用可能であるが、ここでは、ウェブ会議システムに利用される例について説明する。
図7は、本実施の形態の暗号化装置10E及び復号装置10Dを含むウェブ会議システムの構成例を示す図である。
図7において、ユーザ端末30-1及びユーザ端末30-2(以下、それぞれを区別しない場合「ユーザ端末30」という。)は、インターネット等のネットワークを介して中間サーバ40に接続する。
ユーザ端末30は、ウェブ会議の参加者が利用するPC(Personal Computer)等の端末である。図7では、2人でのウェブ会議が想定されているが、3人以上のウェブ会議の場合、ユーザ端末30は、3台以上存在する。
図7において、各ユーザ端末30は、暗号化装置10E、通信部31及び復号装置10Dを有する。
暗号化装置10Eは、平文となる音声データ、画像データ、映像データ等である入力mnを暗号化し、暗号文E(mn)を出力する(mn=m1~m2)。
通信部31は、暗号文E(mn)を中間サーバ40へ送信するとともに、中間サーバ40から送信される、各ユーザ端末30からの暗号文E(mn)に対する準同型演算(例えば、重ね合わせ処理等)の結果であるE(mMix)を中間サーバ40から受信する。
復号装置10Dは、E(mMix)を復号し、mMixを出力する。
中間サーバ40は、ユーザ端末30間の通信の仲介(中継)を行う1以上のコンピュータである。図7において、中間サーバ40は、通信部41及び処理部42を有する。
通信部41は、各ユーザ端末30から送信される、暗号化された複数の入力E(m1)~E(m2)を受信し、E(m1)~E(m2)を処理部42に入力する。通信部41は、また、処理部42から出力されるE(mMix)を各ユーザ端末30へ送信する。
処理部42は、通信部41から入力される複数の暗号入力E(m1)~E(m2)について、暗号化したまま重ね合わせ処理等を行い、E(mMix)を出力する。
ウェブ会議システム等のようなリアルタイム性が要求されるシステムであっても、本実施の形態における暗号化装置10E及び復号装置10Dであれば、暗号化及び復号を高速に実行することができる。なお、各ユーザ端末30における暗号化装置10E及び復号装置10Dとの間では、同一のm-mPフルテーブルT1が共用されてよい。
上述したように、本実施の形態によれば、楕円Lifted-ElGamal暗号に関する処理(暗号化、復号)を高速化することができる。
なお、本実施の形態は、楕円Lifted-ElGamal暗号に限らず、Keyed Homomorphic Public Key Encryptionなどに代表される巡回群G上で定義される暗号方式についても適用可能である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10D 復号装置
10E 暗号化装置
10T 暗号変換装置
20 準同型加算装置
30 ユーザ端末
31 通信部
40 中間サーバ
41 通信部
42 処理部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 プロセッサ
105 インタフェース装置
111 暗号化乱数生成部
112 暗号化部
121 復号部
130D 事前演算テーブル記憶部
130E 事前演算テーブル記憶部
B バス

Claims (8)

  1. 整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された平文に対応する楕円点を特定して当該平文を暗号化するように構成されている暗号化部、
    を有することを特徴とする暗号化装置。
  2. 整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された暗号文に係る楕円点に対応する平文を特定することで、前記暗号文を復号するように構成されている復号部、
    を有することを特徴とする復号装置。
  3. 前記記憶部は、更に、前記楕円点mPのハッシュ値を前記複数の値のそれぞれに対応付けて記憶し、
    前記復号部は、入力された暗号文に係る楕円点のハッシュ値に対応する平文を特定するように構成されている、
    ことを特徴とする請求項2記載の復号装置。
  4. 整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された平文に対応する楕円点を特定して当該平文を暗号化するように構成されている暗号化部と、
    前記記憶部を参照して、入力された暗号文に係る楕円点に対応する平文を特定することで、前記暗号文を復号するように構成されている復号部と、
    を有することを特徴とする暗号変換装置。
  5. 整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された平文に対応する楕円点を特定して当該平文を暗号化する暗号化手順、
    をコンピュータが実行することを特徴とする暗号化方法。
  6. 整数である平文mが取りうる複数の値と、前記複数の値のそれぞれに対応する楕円点mPとを対応付けて記憶する記憶部を参照して、入力された暗号文に係る楕円点に対応する平文を特定することで、前記暗号文を復号する復号手順、
    をコンピュータが実行することを特徴とする復号方法。
  7. 前記記憶部は、更に、前記楕円点mPのハッシュ値を前記複数の値のそれぞれに対応付けて記憶し、
    前記復号手順は、入力された暗号文に係る楕円点のハッシュ値に対応する平文を特定する、
    ことを特徴とする請求項6記載の復号方法。
  8. 請求項5記載の暗号化方法、又は請求項6若しくは7記載の復号方法をコンピュータに実行させることを特徴とするプログラム。
JP2022066119A 2022-04-13 2022-04-13 暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム Pending JP2023156635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022066119A JP2023156635A (ja) 2022-04-13 2022-04-13 暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022066119A JP2023156635A (ja) 2022-04-13 2022-04-13 暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2023156635A true JP2023156635A (ja) 2023-10-25

Family

ID=88468649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022066119A Pending JP2023156635A (ja) 2022-04-13 2022-04-13 暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2023156635A (ja)

Similar Documents

Publication Publication Date Title
Bernstein et al. Elligator: elliptic-curve points indistinguishable from uniform random strings
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
US8429408B2 (en) Masking the output of random number generators in key generation protocols
Yaji et al. Privacy preserving in blockchain based on partial homomorphic encryption system for AI applications
Iyer et al. A novel idea on multimedia encryption using hybrid crypto approach
CN113271209B (zh) 一种基于非交互式零知识证明的可托管公钥加密系统及方法
US11804960B2 (en) Distributed symmetric encryption
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
US20150127950A1 (en) Method of encrypting data
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
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
JP4867916B2 (ja) シャッフル復号正当性証明装置と方法、シャッフル復号検証装置と方法、プログラムと記録媒体
US10511434B2 (en) Method and encryption node for encrypting message
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
CN113645235A (zh) 分布式数据加解密系统及加解密方法
CA2742530C (en) Masking the output of random number generators in key generation protocols
US10615961B2 (en) Method and encryption node for encrypting message
CN112769539B (zh) 一种生成rsa密钥并协同rsa签名和解密的方法及系统
JP2023156635A (ja) 暗号化装置、復号装置、暗号変換装置、暗号化方法、復号方法及びプログラム
Elhassani et al. Fully homomorphic encryption scheme on a nonCommutative ring R
Mahaveerakannan et al. Customized RSA public key cryptosystem using digital signature of secure data transfer natural number algorithm
Dutta Comparison of Modern Cryptography Methods
Koschuch et al. Performance evaluation of the TLS handshake in the context of embedded devices
Gazizullina Fully homomorphic encryption scheme for secure computation
Al-Kaabi et al. ASurvey ON ENHANCED RSA ALGORITHMS

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20220418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220418