JP2019207281A - 大小判定サーバ、大小判定暗号化システム、及び大小判定方法 - Google Patents

大小判定サーバ、大小判定暗号化システム、及び大小判定方法 Download PDF

Info

Publication number
JP2019207281A
JP2019207281A JP2018101649A JP2018101649A JP2019207281A JP 2019207281 A JP2019207281 A JP 2019207281A JP 2018101649 A JP2018101649 A JP 2018101649A JP 2018101649 A JP2018101649 A JP 2018101649A JP 2019207281 A JP2019207281 A JP 2019207281A
Authority
JP
Japan
Prior art keywords
size determination
tags
encryption
secret key
magnitude
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
JP2018101649A
Other languages
English (en)
Inventor
尚宜 佐藤
Hisanobu Sato
尚宜 佐藤
雅之 吉野
Masayuki Yoshino
雅之 吉野
健 長沼
Takeshi Naganuma
健 長沼
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018101649A priority Critical patent/JP2019207281A/ja
Priority to GB1906828.7A priority patent/GB2575347B/en
Priority to US16/412,891 priority patent/US11184163B2/en
Priority to DE102019113249.5A priority patent/DE102019113249A1/de
Publication of JP2019207281A publication Critical patent/JP2019207281A/ja
Pending legal-status Critical Current

Links

Images

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】暗号化データにおける大小判定を、特定のもののみが実行可能であり、かつ当該大小判定における処理量を低減する。【解決手段】大小判定サーバは、第1秘密鍵と、複数の数値それぞれに対応する大小判定用タグと、を保持し、各大小判定用タグは、該複数の数値それぞれが、加法的準同型性を有する暗号方式で、第1秘密鍵を含む複数の秘密鍵と第1パラメータとを用いて暗号化された暗号文であり、該暗号方式において、平文空間が自然数を法とした剰余演算を有し、大小判定サーバは、第1秘密鍵と2つの大小判定用タグから、加法的準同型性を用いて、該2つの大小判定用タグに対応する数値の大小判定のための値を生成し、生成した値の第1パラメータに関する離散対数が所定範囲の値において算出可能であるか否かに基づいて、該2つの大小判定用タグに対応する数値の大小を判定する。【選択図】図2

Description

本発明は、大小判定サーバ、大小判定暗号化システム、及び大小判定方法に関する。
近年、膨大なデータから未知の、かつ有効な知識を引き出すビッグデータ分析が、注目を集めている。また、企業が、自社保有のデータはもとより、社外のデータも収集し、マーケティングや業務効率化に活用するなど、情報の種々の分析はますます重要な活動として認識されるようになっている。
一方で保有データの管理に不備があり、顧客の個人情報を含む情報が大量に漏えいする事件及び事故が多発しており、社会問題となっている。このような漏えい事故を起こした企業は多額の補償金を負担することになり、場合によっては企業の存亡に関わる事態となる。またこのような漏えい事故が発生すると、情報保有者である個人などが情報提供を躊躇するおそれがある。従って、漏えい事故と無関係に企業であっても、情報を収集しにくくなり、有効な分析結果を得られなくなるなど、悪影響が出ることが懸念される。
これらの状況に対し、正しく情報を収集、利活用するための法整備が進んでいる。また、各業界において情報の取り扱いにおけるガイドライン(特に個人情報についての機微性、及びプライバシ性は業界ごとに異なる)も整備されつつある。しかし、これらの法律面の整備や自主規制によって情報漏えいに対する抑止効果はあるものの、技術的な情報漏えい対策が求められる。
情報漏えい及び情報漏えいが引き起こすプライバシ侵害を防ぐ技術としては、従来から、情報にアクセス可能な人を制限するアクセスコントロールや、機材の盗難などに対して効果的な暗号化などがある。しかし、昨今の情報漏えい事件では計算機リソースの管理を任された外部委託業者の権限悪用によるものが少なくない。管理者に対して、データベースなどにアクセスする正当な権限が渡されたるため、管理者は本来の管理業務に不必要な情報まで閲覧可能となり、このような情報が悪用されるおそれがある。
このような状況に対しては、従来のアクセスコントロールは無力である。また、暗号化がされていたとしても、ストレージ暗号のように記憶媒体からデータを取り出して利用する際には復号化する方式で運用されている場合には、管理者は正当な手続きのもと、復号されたデータを閲覧できてしまう。
外部委託者、又は外部委託者の傍には復号鍵を置かず、社内の限られた正当なユーザのみが復号鍵を持ち、データの利用時には暗号化データを取得して復号する運用がある。しかし、従来の暗号技術では、データベースに暗号化データを保管した場合、暗号化されたままの状態では、検索、及び数値データの集計等の基本的な処理すら実行できない。従って、この場合には、データベースが単なる暗号文保管庫でしかなく、データベース機能を無駄にしてしまう。
そこで昨今、安全性の高い暗号化技術を用いながら、暗号化データを復号化することなく所定の処理を可能にする技術の研究に注目が集まっている。例えば、暗号化データを復号化することなく平文の一致不一致が判定できる検索可能暗号の研究が盛んに行われている。しかし、平文が文字列(氏名、住所など)である暗号文を対象とした検索可能暗号では、数値データの大小比較処理、及び順序関係の判定処理を実行することは難しい。
数値データの大小比較処理は、データのソート処理、及び閾値判定処理によるデータ抽出処理等の分析に用いられるのみならず、通常業務においても頻出する重要な演算機能である。比較対象の数値データが、医療系の個人情報である場合や、企業の機密情報である場合には、外部のクラウド等を含む第三者に数値データを開示して処理させることは情報漏えいの観点から望ましくない。よって、数値を暗号化したまま大小比較できる暗号方式が必要である。
大小比較が可能な暗号方式として、順序保存暗号と呼ばれる暗号方式が知られている。順序保存暗号方式において、平文における大小の順序が、そのまま暗号文においても保存される。従って、暗号文を入手した誰もが、データのソートが可能である。
つまり、暗号文が漏えいすることは、平文の順序情報が漏えいすることと同じであり、平文の総数が少ない場合のような特定の条件下では、暗号文から平文を推測可能であり、安全性が高くない。そこで、非特許文献1には、大小比較用の秘密鍵の保有するもののみが暗号化データにおける大小判定が可能な暗号方式が記載されている。
Nathan Chenette et al, "Practical Order-Revealing Encryption with Limited Leakege", FSE 2016 Revised Selected Papers of the 23rd International Conference on Fast Software Encryption - Volume 9783, March 20, 2016, Pages 474-493
しかし、非特許文献1に記載の暗号方式において、暗号文長は平文の総数に比例して長くなる。従って、平文の総数が大きくなると、暗号化データにおける大小判定のための処理量が過大となる。
そこで、本発明の一態様は、暗号化データにおける大小判定を、特定のもののみが実行可能であり、かつ当該大小判定における処理量を低減することを目的とする。
上記した課題を解決するために本発明の一態様は以下の構成を採用する。大小判定サーバは、プロセッサとメモリとを備え、前記メモリは、第1秘密鍵と、複数の数値それぞれに対応する大小判定用タグと、を保持し、前記大小判定用タグそれぞれは、前記複数の数値それぞれが、加法的準同型性を有する暗号方式で、前記第1秘密鍵を含む複数の秘密鍵と、第1パラメータと、を用いて暗号化された暗号文であり、前記暗号方式において、平文空間が自然数を法とした剰余演算を有し、前記プロセッサは、大小判定処理において、前記第1秘密鍵と2つの前記大小判定用タグから、前記加法的準同型性を用いて、前記2つの大小判定用タグに対応する数値の大小判定のための値を生成し、前記生成した値の前記第1パラメータに関する離散対数が所定範囲の値において算出可能であるか否かに基づいて、前記2つの大小判定用タグに対応する数値の大小を判定する。
本発明の一態様によれば、暗号化データにおける大小判定を、特定のもののみが実行可能であり、かつ当該大小判定における処理量を低減することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1における大小判定可能暗号システムの構成例を示すブロック図である。 実施例1における大小判定サーバの構成例を示すブロック図である。 実施例1におけるユーザ端末の構成例を示すブロック図である。 実施例1における暗号化対象データの暗号化処理、暗号化データの送信処理、及び暗号文の保管処理の一例を示すシーケンス図である。 実施例1における大小判定用タグと暗号化された数値セルの値と、が結合された暗号文の一例である。 実施例1における暗号化データの一例である。 実施例1における大小比較処理とソート処理の一例を示すシーケンス図である。 実施例1における大小判定用タグ生成処理の一例を示すフローチャートである。 実施例1におけるシステムパラメータと大小判定用タグ生成用秘密鍵の一覧を示す説明図である。 実施例1におけるシステムパラメータと大小判定用タグ生成用秘密鍵の一覧を示す説明図である。 実施例1におけるシステムパラメータと大小判定用タグ生成用秘密鍵の一覧を示す説明図である。 実施例1における大小判定処理の一例を示すフローチャートである。 実施例1における暗号化実行画面の一例である。 実施例1におけるソート依頼画面の一例である。 実施例1における閾値判定処理の一例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
(システム構成)
図1は、大小判定可能暗号システムの構成例を示すブロック図である。大小判定可能暗号システムは、例えば、1以上のユーザ端末300と、大小判定サーバ200と、を含む。ユーザ端末300それぞれと大小判定サーバ200は、ネットワーク100を介して互いに接続されている。
ユーザ端末300は、数値型の値を含む暗号化対象のデータを保持する。ユーザ端末300は、数値型の値について後述する大小判定用タグを生成した上で、当該データを暗号化する。つまり、ユーザ端末300は、暗号化を実行する暗号化端末の一例である。ユーザ端末300は、暗号化されたデータを、大小判定サーバ200に送信する。
大小判定サーバ200は、ユーザ端末300からの依頼に基づいて、暗号化されたデータを暗号化したままの状態で、当該データに含まれる数値型の値の、大小判定を行う。大小判定サーバ200は、大小判定結果に基づいて、当該データのソートを行う。大小判定サーバ200は、大小判定結果又はソート結果をユーザ端末300に送信する。
大小判定サーバ200は、例えば、クラウド事業者に設置される。クラウド事業者のサービスを利用するユーザが、ユーザ端末300を所有する。ユーザ端末300は、例えば、携帯電話などである。
(大小判定サーバ)
図2は、大小判定サーバ200の構成例を示すブロック図である。大小判定サーバ200は、例えば、制御部210、記憶部220、入力部201、出力部202、及び通信部203を含む計算機によって構成される。
制御部210は、プロセッサを含む。記憶部220は、データ記憶部230及び一時情報記憶部240を含む。データ記憶部230は、例えば、補助記憶装置から構成される。一時情報記憶部240は、例えば、メモリから構成される。
制御部210に含まれるプロセッサは、メモリに格納されたプログラムを実行する。メモリは、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
入力部201は、例えば、キーボードやマウスなどの、オペレータからの入力を受ける装置である。出力部202は、ディスプレイ装置やプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。大小判定サーバ200は、入力部201及び出力部202が接続される入力インターフェース及び出力インターフェースを有する。
通信部203は、例えば、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信部203は、例えば、USB等のシリアルインターフェースを含む。
プロセッサが実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して大小判定サーバ200に提供され、非一時的記憶媒体である不揮発性の補助記憶装置に格納される。このため、大小判定サーバ200は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
大小判定サーバ200は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。ユーザ端末300についても同様である。
制御部210は、全体処理部211及び大小判定部212を含む。例えば、制御部210に含まれるプロセッサは、メモリにロードされた全体処理プログラムに従って動作することで、全体処理部211として機能し、メモリにロードされた大小判定プログラムに従って動作することで、大小判定部212として機能する。後述するユーザ端末300の制御部に含まれる各部についても同様である。
全体処理部211は、大小判定サーバ200による処理を統括制御する。全体処理部211は、入力部201を介して受け付けた情報を記憶部220に格納する。全体処理部211は、ユーザ端末300を含む他の装置との情報の送受信を制御する。
また、全体処理部211は、データを出力部202に出力する。全体処理部211は、記憶部220に格納されているデータを読み込み、通信部203を介して、ユーザ端末300へ送信する。全体処理部211は、通信部203を介して、ユーザ端末300からデータを受信する。
記憶部220のデータ記憶部230は、暗号化データ記憶部231と、大小判定用パラメータ記憶部232を含む。暗号化データ記憶部231は、例えば、ユーザ端末300から受信した暗号化済みのデータを保持する。大小判定用パラメータ記憶部232は、暗号化データに含まれる暗号化された数値の大小を判定するためのパラメータ及び鍵を保持する。
なお、本実施例及び他の実施例において、大小判定可能暗号システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。情報記憶システムが使用する情報は、データ記憶装置における対応するデータ記憶領域に格納される。
(ユーザ端末)
図3は、ユーザ端末300の構成例を示すブロック図である。ユーザ端末300は、例えば、制御部310、記憶部320、入力部301、出力部302、及び通信部303を含む計算機によって構成される。記憶部320は、データ記憶部330及び一時情報記憶部340を含む。
制御部310、記憶部320、入力部301、出力部302、通信部303、データ記憶部330、及び一時情報記憶部340を構成するハードウェアは、それぞれ、制御部210、記憶部220、入力部201、出力部202、通信部203、データ記憶部230、及び一時情報記憶部240を構成するハードウェアと同様であるため、説明を省略する。
制御部310は、全体処理部311、暗号化処理部312、復号化処理部313、及び大小判定用タグ生成部314を含む。全体処理部311は、ユーザ端末300による処理を統括制御する。全体処理部311は、入力部301を介して受け付けた情報を記憶部320に格納する。全体処理部311は、大小判定サーバ200を含む他の装置との情報の送受信を制御する。
また、全体処理部311は、データを出力部302に出力する。全体処理部311は、記憶部320に格納されているデータを読み込み、暗号化処理部312にデータの暗号化をさせたり、復号化処理部313に暗号化データの復号化をさせたり、通信部303を介して、大小判定サーバ200へ送信する。全体処理部311は、通信部303を介して、大小判定サーバ200からデータを受信する。
データ記憶部330は、暗号化鍵記憶部331、復号化鍵記憶部332、タグ生成用パラメータ記憶部333、及び暗号化対象データ記憶部334を含む。暗号化鍵記憶部331は、暗号化対象データを暗号化するための鍵を保持する。復号化鍵記憶部332は、当該暗号化鍵で暗号化されたデータを復号するための復号化鍵を保持する。当該暗号化鍵及び復号化鍵は、例えば、それぞれ、暗号化鍵記憶部331及び復号化鍵記憶部332に予め格納されていてもよいし、ユーザ端末300自身が生成してもよい。
タグ生成用パラメータ記憶部333は、大小判定用タグを生成するための暗号化鍵及びパラメータを保持する。暗号化対象データ334は、暗号化対象の平文データである暗号化データを保持する。
<大小判定可能暗号システムによる処理>
(暗号化処理及び暗号文の保管処理)
図4は、暗号化対象データの暗号化処理、暗号化データの送信処理、及び暗号文の保管処理の一例を示すシーケンス図である。以下、説明の便宜のため、暗号化データがテーブル形式のデータである例を説明する。以下、暗号化対象のテーブルは、数値型の値を有する数値セルからなるカラムを含むものとする。
大小判定用タグ生成部314は、暗号化対象データ記憶部334が保持する暗号化データの各数値セルの値に対して大小判定用のタグを生成する(S401)。大小判定用タグ生成部314は、ステップS401において、平文空間が剰余演算を有する(例えば、平文空間が剰余群Z/nZの部分加法群(Zは整数全体がなす群、nは2以上の自然数))暗号方式であって、加法的準同型性を有する暗号方式、で各数値セルの値を暗号化することで大小判定用タグを生成する。なお、詳細は後述するが、秘密鍵を有するものだけが、秘密鍵と2つの大小判定用タグから生成された値の、所定のシステムパラメータに関する離散対数、を所定範囲の値から算出できる可能性がある。
なお、大小判定用タグ生成部314は、大小判定用タグの生成における暗号化に、タグ生成用パラメータ記憶部333が保持する暗号化鍵を用いる。ステップS403における大小判定用タグ生成処理の詳細については後述する。
続いて、暗号化処理部312は暗号化鍵記憶部331が保持する暗号化鍵を用いて暗号化対象データに含まれる、各セルを暗号化して暗号化データを生成する(S402)。なお、ステップS402において、任意の暗号方式(例えば、共通鍵暗号又は公開鍵暗号)を用いることができる。なお、ステップS401とステップS402の実行順序は逆であってもよい。
次に、大小判定用タグ生成部314は、暗号化データ内の各数値セルの値(暗号文)と、当該数値セルの値に対応する大小判定用タグと、を結合する(S403)。続いて、全体処理部311は、大小判定用タグが結合された暗号化データを大小判定サーバ200に(S404)。全体処理部211は受信した暗号化データを暗号化データ記憶部231に格納する(S405)。
図5Aは、大小判定用タグと暗号化された数値セルの値と、が結合された暗号文の一例である。図5Aの例では、大小判定用タグCiのビット列の直後に、平文miが暗号化された暗号文Eiのビット列が結合されたことにより、暗号文Diが生成された。なお、例えば、大小判定用タグCiのビット総数が予め定められていることにより、暗号文Diのうち、大小判定用タグCiに相当するビットと、暗号文Eiに相当するビットと、を判別することができる。
図5Bは、暗号化データの一例である。図5Bの例では、数値型の値である年齢が本実施形態の大小判定可能暗号で暗号化されている。Di(i=1,2,3)は、図5Aと同様の暗号文である。Ci||Eiはビット系列CiとEiの結合を表す。Enc1、Enc2は共通鍵暗号、又は公開鍵暗号等の任意の暗号方式を表す、住所のような順序関係は重要でない文字型の値が暗号化されている。
図5Bの例では、数値型のセルに対する暗号方式と文字型のセルに対する暗号方式が異なる。なお、Enc1とEnc2は同じ暗号方式で、同一の鍵で暗号化されたものでもよいし、異なる方式でもよい。なお、図5Bの例では、項目名を示す最上段のレコード、及びレコードの識別子を示す最左列のカラムが暗号化されていないが、これらのレコード及びカラムについても暗号化されていてもよい。
(大小比較処理及びソート処理)
図6は、大小比較処理とソート処理の一例を示すシーケンス図である。全体処理部211は、例えばユーザから入力された指示に従って、大小判定サーバ200に送信した暗号化データの大小比較処理及びソート処理を依頼する(S501)。なお、全体処理部211は、当該依頼において、例えば、ソート対象の暗号化データと、当該暗号化データ内の数値型のセルからなるソート対象のカラムと、を指定する。なお、暗号化データを数値セルの値の昇順に並び替えること、及び降順に並び替えることはいずれもソート処理の一例である。
大小判定部212は、指定された暗号化データの指定された数値セルの値の大小判定を、大小判定用タグを用いて実行する(S502)。なお、ステップS502における大小判定処理の詳細は後述する。
続いて、大小判定部212は、大小判定結果を用いて暗号化データのソートを行う(S503)。全体処理部211は、大小判定部212がソートした暗号化データを、復号することなく、ユーザ端末300に送信する(S504)。復号化処理部313は、受信した暗号化データの暗号文を、復号化鍵記憶部332が保持する復号化鍵を用いて復号する(S505)。
なお、図6では、ソート処理が行われる例を説明したが、ユーザ端末300は、暗号化データの複数の数値セルを指定して、当該複数の数値セルの大小判定処理のみを、大小判定サーバ200に依頼してもよい。この場合、大小判定サーバ200は、当該複数のセルにおける大小判定結果をユーザ端末300に返す。
(大小判定用タグ生成)
図7は、大小判定用タグ生成処理(S401)の一例を示すフローチャートである。ユーザ端末300はタグ生成処理(S401)の開始時までに、大小判定サーバ200は大小判定処理(S502)の開始時までに、システムパラメータG,g,u,h,Uを取得する。
なお、これらのシステムパラメータは、例えば、他の装置又はユーザから予め与えられてもよいし、大小判定用タグ生成部314によって算出されてもよい。また、これらのシステムパラメータは、ユーザ端末300のタグ生成用パラメータ記憶部333及び大小判定サーバ200の大小判定用パラメータ記憶部232に格納される。なお、大小判定サーバ200はシステムパラメータのうち、hを保持しなくてもよい。
なお、Gは、Gにおける離散対数問題を解くことが計算量的に困難である有限巡回群(例えば、Z/pZ(pは素数))である。なお、Gにおける離散対数問題を解くことが計算量的に困難であるとは、例えば、所定のアルゴリズム(例えば、Baby−step Giant−step)が用いられた場合に、所定の計算回数(例えば280回)で、Gにおける離散対数問題が解ける確率が所定値(例えば1/2以下)であることを示す。
g及びuは、ランダムに選択されたGの相異なる生成元である。hはh=gで定義される。なお、sはランダムに生成された1より大きい整数である。
Uは、自然数であり、Gにおける底uに関する離散対数問題の解が、U以下の整数値であれば容易に解ける値であるとする。具体的には、例えば、解がU以下の整数値であれば、所定のアルゴリズム(例えば、Baby−step Giant−step)が用いられた場合に、所定の計算回数で、Gにおける底uに離散対数問題が解けることが望ましい。なお、Uは、Gの位数より十分小さく(例えば、少なくとも1ビット以上小さい)、数値セルの全ての平文より十分大きい(例えば、少なくとも1ビット以上大きい)ものとする。Uは、例えば、予め与えられているものとする。
さらに、大小判定用タグ生成部314は、暗号化対象データに含まれる平文の数値セルの値の上限をTである場合に、RT<Uを満たす3以上の自然数Rをランダムに生成する。なお、Tは、Gの位数より小さいものとする。
また、ユーザ端末300はタグ生成処理(S401)の開始時までに、大小判定用タグ生成用秘密鍵x,R,sを取得し、タグ生成用パラメータ記憶部333に格納する。なお、これらの大小判定用タグ生成用秘密鍵は、例えば、他の装置又はユーザから予め与えられてもよいし、大小判定用タグ生成部314によって算出されてもよい。なお、xはランダムに生成されたGの元である。
また、大小判定サーバ200は、大小判定用タグ生成用秘密鍵s(sは大小判定用の秘密鍵でもある)を、大小判定処理(S502)の開始時までに取得し、大小判定用パラメータ記憶部232に格納する。なお、大小判定用タグ生成用秘密鍵sは、大小判定の実行を許可されていない第三者に見られないように安全に保管される。
図8A〜図8Cは、前述したシステムパラメータと大小判定用タグ生成用秘密鍵の一覧を示す説明図である。図8の例では、Gは位数が素数pの巡回群としている。
図7の説明に戻る。全体処理部311は、システムパラメータG,g,u,h,Uをタグ生成用パラメータ記憶部333から読み出し、大小判定用タグ生成部314に入力する(S601)。全体処理部311は、大小判定用タグ生成用秘密鍵x,R,sをタグ生成用パラメータ記憶部333から読み出し、大小判定用タグ生成部314に入力する(S602)。
全体処理部311は変数iをi=1に設定する(S603)。大小判定用タグ生成対象の数値セルの平文がn個(m1,・・・,mn)あるものとする。なお、例えば、m1,・・・,mnに、非負整数でない値が存在する場合には、例えば、m1,・・・,mnの全てを、10倍(kは自然数)したり、m1,・・・,mnの全てに同じ値を加えたりして、m1,・・・,mnの全てが非負整数に変換されていることが望ましい。
全体処理部311は、ソート対象の(i番目の)の数値セルの平文miを大小判定用タグ生成部314に入力する(S604)。大小判定用タグ生成部314は、0<αi<R/2<βi<Rを満たす整数αi,βiと、Gの位数より小さい正整数δi,λiをランダムに生成する(S605)。また、大小判定用タグ生成部314は、Gの元である、Ci(1)=gδix,Ci(2)=gλi−1,Ci(3)=hδiRmi+αi,Ci(4)=hλi−Rmi−βiを計算する(S606)。
大小判定用タグ生成部314は、平文miに対する大小判定用タグとしてこれらの結合Ci=(Ci(1),Ci(2),Ci(3),Ci(4))を全体処理部311に出力(S607)する。大小判定用タグCiは、秘密鍵x,R,sを用いて平文miから得られた暗号文である。
全体処理部311は、i=nであるか否かを判定する(608)。全体処理部311は、i=nでないと判定した場合(S608:No)、iにi+1を代入し(S609)、ステップS604に戻る。全体処理部311は、i=nであると判定した場合(S608:Yes)、大小判定用タグ生成処理を終了する。
(大小判定用タグを用いた大小比較)
図9は、大小判定処理(S502)の一例を示すフローチャートである。全体処理部211はシステムパラメータG,g,u,h,Uを大小判定用パラメータ記憶部232から読み出し、大小判定部212に入力する(S701)。なお、大小判定部212は、システムパラメータのうちhについては読み出さなくてもよい。全体処理部211は、大小判定用秘密鍵sを、大小判定用パラメータ記憶部232から読み出し、大小判定部212に入力する(S702)。
次に全体処理部211は、異なる自然数を要素とする未選択のベクトル(i,j)を決定する(ステップS703)。但し、i,jは、それぞれ大小判定対象のタグの個数以下であるものとする。全体処理部211は、大小比較の対象となる二つのタグCi=(Ci(1),Ci(2),Ci(3),Ci(4))、Cj=(Cj(1),Cj(2),Cj(3),Cj(4))を暗号化データ記憶部231から読み出し、大小判定部212に入力する(S704)。
大小判定部212は、加法的準同型性を用いて、X=Ci(1)Cj(2)=gδi+λjを計算(S705)する。大小判定部212は、X=gs(δi+λj)=hδi+λjを計算する(S706)大小判定部212は、加法的準同型性とステップS706の計算結果とを用いてY=Ci(3)Cj(4)=hδi+λjR(mi−mj)+(αi−βj)を計算する(S707)。大小判定部212は、Z=Y/X=uR(mi−mj)+(αi−βj)を計算する(S708)。
次に、大小判定部212は、閾値U以下の範囲で、Zのuに関する離散対数の計算を試みる(S709)。なお、ステップS709における離散対数の計算には、例えば、Baby step Giant stepなどの手法が用いられる。大小判定部212は、離散対数を算出できた場合(S709:Yes)Ciの平文の数値はCjの平文の数値より大きいであると判定し、判定結果を全体処理部211に通知する、(S710)。大小判定部212は、離散対数を算出できた場合(S709:No)、Ciの平文の数値はCjの平文の数値以下であると判定し、判定結果を全体処理部211に通知する(S711)。
ステップS709における離散対数の計算可否と大小判定結果との関連について詳細に説明する。Zのuに関する離散対数がU以下の範囲で算出不可能である場合、平文mi,mjは、R(mi−mj)+(αi−βj)<0、又はU<R(mi−mj)+(αi−βj)<(群Gの位数)を満たす。
一方、数値セルの値の上限Tに対してRT<Uであり、0<αi<R/2<βj<Rであるため、R(mi−mj)+(αi−βj)<RT<Uである。従って、不等式R(mi−mj)+(αi−βj)<0が成立する。mi≦mjであれば、明らかに当該不等式を満たす。仮にmi>mjとすると0>R(mi−mj)+(αi−βj)>R×1+(0−R)=0となり矛盾する。従って、Zのuに関する離散対数がU以下の範囲で算出不可能である場合、mi≦mjである。
一方、Zのuに関する離散対数がU以下の範囲で算出可能である場合、平文mi,mjは、不等式0≦R(mi−mj)+(αi−βj)≦Uを満たす。仮に、mi≦mjとすると、当該不等式に明らかに矛盾するため、少なくともmi>mjである。また、mi>mjである場合、1≦mi−mj≦Tである。
このとき、Min{R(mi−mj)+(αi−βj)}>R×1+(0−R)=0、Max{R(mi−mj)+(αi−βj)}<RT+(αi−βj)<U+(αi−βj)であり、R(mi−mj)+(αi−βj)は(mi−mj)の単調増加関数であるため、mi>mjを満たす全てのmi、mjは、上記不等式を満たす。従って、Zのuに関する離散対数がU以下の範囲で算出可能である場合、mi>mjである。
全体処理部211は、未選択のベクトル(i,j)があるか否かを判定する(S712)。全体処理部211は、未選択の(i,j)があると判定した場合(S712:Yes)、ステップS703に戻る。全体処理部211は、未選択の(i,j)がないと判定した場合(S712:No)、全ての大小判定結果を大小判定部212に返し、大小判定処理を終了し、ステップS503に移行する。
なお、例えば、平文mk,mlに対して、(i,j)=(k,l)とした場合においても、(i,j)=(l,k)とした場合においても、ステップS709における離散対数(即ちU以下の離散対数)が計算不可能な場合、mk=mlである。また、平文mk,mlに対して、(i,j)=(k,l)とした場合にステップS709における離散対数が計算不可能、かつ(i,j)=(l,k)とした場合にステップS709における離散対数が計算可能な場合は、mk<mlである。
なお、全体処理部211は、ステップS712において未選択のベクトル(i,j)があると判定した場合であっても、全ての未選択のベクトルそれぞれに対応するmiとmjの大小関係が、出力済みの判定結果から判定可能である場合には、ステップS703に戻らずステップS712に移行してもよい。
具体的には、例えば、m1<m2、かつm2<m3という判定結果が既に得られている場合には、(i,j)=(1,3)及び(i,j)=(3,1)を未選択であっても、全体処理部211は、m1<m3と判定すればよい。
なお、平文miとmjの大小判定処理において、mi>mjであるか又はmi≦mjであるかのみを判定できればよい場合(即ち、mi=mjであるか、又はmi<mjであるかは不明であってもよい場合)には、ステップS703及びステップS712における異なる自然数を要素とするベクトル(i,j)を、異なる自然数の組み合わせ(i,j)と置き換えればよい。
なお、前述したように、群Gを用いて大小比較用タグは生成される。群Gは、有限体の乗法群、有限体上の楕円曲線の有理点の成す群など、離散対数問題の解の算出が困難であると考えられている群であればよく、前述した群に限定されない。
図10は、ユーザ端末300に表示される操作画面例である。具体的には、図10は、暗号化実行画面1100の一例である。暗号化実行画面1100は、例えば、データ表示領域1101、ラジオボタン1102、暗号化実行ボタン1103、及びサーバ送信ボタン1104を含む。データ表示領域1101には、暗号化対象データの一部又は全部が表示される。
ラジオボタン1102は、本実施例の大小比較可能暗号で暗号化される対象となる、数値型のセルからなるカラム、を選択するためのラジオボタンである。暗号化実行ボタン1103は、ラジオボタン1102によって数値型のカラムを選択した後に、暗号化対象データの暗号化を実行するための選択ボタンである。前述したように、例えば、数値型として選択されたカラムは本実施例における大小判定可能暗号で暗号化され、他のカラムは通常の暗号方式で暗号化される。
暗号化が終了したら、暗号化されたデータがデータ表示領域1101に表示されてもよい。サーバ送信ボタン1104は、暗号化対象データが暗号化された後に、当該データを大小判定サーバ200に送信するための選択ボタンである。
図11は、ユーザ端末300に表示される操作画面例である。具体的には、図11は、大小判定サーバ200に送信された暗号化データのソートを依頼するためのソート依頼画面1200の一例である。ソート依頼画面1200は、例えば、ラジオボタン1201、ソート依頼ボタン1202、データ表示領域1203、復号実行ボタン1204、及び復号結果保存ボタン1205を含む。
ラジオボタン1201は、ソート対象のカラムを選択するためのラジオボタンである。ソート依頼ボタン1202は、大小判定サーバ200に対してソート対象のカラムをキーとした暗号化データのソートを依頼するための選択ボタンである。
前述したように、大小判定サーバ200はソート依頼に従って暗号化データを暗号化したままソートし、ソート後の暗号化データをユーザ端末300に送信する。データ表示領域1203には、大小判定サーバ200から受信した、ソート後の暗号化データが表示される。
復号実行ボタン1204は、ソート後の暗号化データを復号するための選択ボタンである。復号結果、即ちソート後の平文がデータ表示領域1203に表示されてもよい。復号結果保存ボタン1205は、復号結果を、記憶部220に格納するための選択ボタンである。図10、図11の操作画面は一例であり、画面構成、選択ボタン等の操作順序、及び画面推移などはこの限りでない。
(実施例1のまとめ)
本実施例の大小判定可能暗号システムにおいて、ユーザ端末300が数値セルを含む暗号化データを大小判定サーバ200に送信する。さらに大小判定サーバ200は、暗号化データを暗号化したままの状態で、数値の大小判定を実行する。さらに、大小判定サーバ200は、大小判定結果を用いたソートを実行する。
大小判定サーバ200は、大小判定結果又はソート後の暗号化データを、ユーザ端末300に送信する。ユーザ端末300は、大小判定サーバ200から受信したソート後の暗号化データを復号する。
なお、大小判定サーバ200は、大小判定用の秘密鍵を用いて大小判定を実施するが、当該秘密鍵を持たないものは大小判定ができない。従って、暗号文漏えいした場合であっても、大小判定用の秘密鍵が漏えいしなければ、第三者に大小比較を実施されることはなく、情報漏えいは最小限に抑えられると考えられる。また、大小判定用の秘密鍵だけを用いて、暗号化データを復号することはできない。
また、本実施例によれば大小判定用タグの長さは平文の最大ビット長に依存するが、大小判定用タグ生成対象の平文の総数に比例することは無く、大小判定用タグの長さが短く抑えられる。
なお、大小判定用タグ生成に用いられる暗号方式は、他の暗号方式であってもよい。但し、当該他の暗号方式において平文空間が剰余演算を有し、かつ当該他の暗号方式は、加法的準同型性を有する。さらに当該他の暗号方式において、秘密鍵を有するものだけが、秘密鍵と2つの大小判定用タグとから生成された値の、所定のシステムパラメータに関する離散対数を算出できる可能性があるものとする。
本実施例の大小判定可能暗号システムは、さらに閾値判定処理を実行可能である。図12は、閾値判定処理の一例を示すフローチャートである。図4の処理が既に終了しているものとする。即ち、実施例1の暗号方式で暗号化された暗号化データを大小判定サーバ200が保持している。また、全体処理部311が、閾値判定対象の閾値mを取得し、大小判定用タグ生成部314に出力しているものとする。閾値mは、例えば、入力部201を介してユーザによって指定される。
大小判定用タグ生成部314は、は閾値mに対して、例えば、図7と同様の処理により、大小判定用タグDを生成する(S1001)。全体処理部311は、大小判定用タグDを含む閾値判定依頼を生成し、大小判定サーバ200に送信する(S1002)。また、閾値判定依頼は、暗号化データの指定されたカラムを含み、大小判定用タグDに対応する値である閾値mより大きい数値セル、を大小判定サーバ200に抽出させて返送させるための依頼を含む。なお、当該カラムは、例えば、入力部201を介してユーザによって指定される。
大小判定部212は、大小判定用タグDと、暗号化データの大小判定用タグそれぞれと、を用いて、閾値mと、暗号化データの各数値セルの値と、の大小判定処理を行う(S10003)。大小判定処理は、図9の処理と同様である。
全体処理部311は、大小判定処理において、閾値mより大きいと判断された数値セルを選択し(S1004)、当該数値セル又は当該数値セルを含むレコードを、暗号化したままユーザ端末300に送信する(S1005)。
復号化処理部313は大小判定サーバ200から受信した暗号化データの暗号文部分を、復号化鍵記憶部332に格納された復号化鍵を用いて復号する(S1006)。
なお、図12では、大小判定サーバ200が閾値mより大きい数値を検索する例を説明したが、例えば、閾値mより小さい数値を検索してもよいし、二つの閾値の間に含まれる数値を検索(範囲検索)してもよい。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
200 大小判定サーバ、210 制御部、211 全体処理部、212 大小判定部、230 データ記憶部、231 暗号化データ記憶部、232 大小判定用パラメータ記憶部、240 一時情報記憶部、300 ユーザ端末、310 制御部、311 全体処理部、312 暗号化処理部、313 復号化処理部、314 大小判定用タグ生成部、330 データ記憶部、331 暗号化鍵記憶部、332 復号化鍵記憶部、333 タグ生成用パラメータ記憶部、334 暗号化対象データ記憶部、340 一時情報記憶部

Claims (11)

  1. 大小判定サーバであって、
    プロセッサとメモリとを備え、
    前記メモリは、第1秘密鍵と、複数の数値それぞれに対応する大小判定用タグと、を保持し、
    前記大小判定用タグそれぞれは、前記複数の数値それぞれが、加法的準同型性を有する暗号方式で、前記第1秘密鍵を含む複数の秘密鍵と、第1パラメータと、を用いて暗号化された暗号文であり、
    前記暗号方式において、平文空間が自然数を法とした剰余演算を有し、
    前記プロセッサは、
    大小判定処理において、
    前記第1秘密鍵と2つの前記大小判定用タグから、前記加法的準同型性を用いて、前記2つの大小判定用タグに対応する数値の大小判定のための値を生成し、
    前記生成した値の前記第1パラメータに関する離散対数が所定範囲の値において算出可能であるか否かに基づいて、前記2つの大小判定用タグに対応する数値の大小を判定する、大小判定サーバ。
  2. 請求項1に記載の大小判定サーバであって、
    前記大小判定用タグの個数以下である任意の自然数iに対して、i番目の大小判定用タグCiは、Ci=(Ci(1),Ci(2),Ci(3),Ci(4))で表され、
    Ci(1)=gδix,Ci(2)=gλi−1,Ci(3)=hδiRmi+αi,Ci(4)=hλi−Rmi−βiであり、
    g及びuは、有限巡回群であるGの異なる生成元であり、
    uは、前記第1パラメータであり、
    xはGの元であり、
    所定のアルゴリズムを用いて、所定の計算回数で、Gにおける離散対数問題が解ける確率は、所定値以下であり、
    hは前記秘密鍵であるsに対して、h=gであり、
    δi及びλiは、Gの位数より小さい正整数であり、
    αi及びβiは、RT<Uを満たす3以上の自然数Rに対して、0<αi<R/2<βi<Rを満たす整数であり、
    Tは、前記複数の数値の上限であり、
    Uは、所定のアルゴリズムを用いて、所定の計算回数で、Gにおけるuに関する離散対数問題の解がU以下の範囲であれば、当該離散対数問題が解けるよう定められている、大小判定サーバ。
  3. 請求項2に記載の大小判定サーバであって、
    前記メモリは、
    G、g、u、Uを特定する情報を保持し、
    前記プロセッサは、
    前記2つの大小判定用タグCi=(Ci(1),Ci(2),Ci(3),Ci(4))と、Cj=(Cj(1),Cj(2),Cj(3),Cj(4))と、に対して、前記加法的準同型性を用いて、X=Ci(1)Cj(2)=gδi+λjと、Y=Ci(3)Cj(4)=hδi+λjR(mi−mj)+(αi−βj)と、を算出し、
    =gs(δi+λj)=hδi+λjを算出し、
    前記大小判定のための値として、Z=Y/X=uR(mi−mj)+(αi−βj)を算出し、
    Zのuに関する離散対数をU以下の範囲で算出可能であると判定した場合、Ciに対応する数値が、Cjに対応する数値より大きいと判定し、
    Zのuに関する離散対数をU以下の範囲で算出不可能であると判定した場合、Ciに対応する数値が、Cjに対応する数値以下であると判定する、大小判定サーバ。
  4. 請求項1に記載の大小判定サーバであって、
    前記メモリは、
    前記秘密鍵で復号不可能な暗号方式で暗号化された前記複数の数値それぞれを、前記大小判定用タグと対応付けて保持し、
    前記プロセッサは、
    前記複数の大小判定用タグに含まれる大小判定用タグの組み合わせそれぞれについて前記大小判定処理を実行し、
    当該大小判定処理の結果に基づいて、前記暗号化された複数の数値をソートする、大小判定サーバ。
  5. 請求項1に記載の大小判定サーバであって、
    前記メモリは、閾値に対応する大小判定用タグ、を保持し、
    前記閾値に対応する大小判定用タグそれぞれは、前記閾値が、前記暗号方式で、前記秘密鍵と前記第1パラメータとを用いて暗号化された暗号文であり、
    前記メモリは、前記複数の数値それぞれが前記秘密鍵と異なる秘密鍵で暗号化された暗号化数値を、前記大小判定用タグと対応付けて保持し、
    前記プロセッサは、
    前記閾値に対応する前記大小判定用タグと、前記複数の大小判定用タグそれぞれと、について前記大小判定処理を実行し、
    当該大小判定処理の結果に基づいて、前記暗号化数値の前記閾値に対する閾値処理を実行する、大小判定サーバ。
  6. 暗号化端末と、大小判定サーバと、を含む大小判定暗号化システムであって、
    前記暗号化端末は、
    複数の数値と、第1秘密鍵を含む複数の秘密鍵と、第1パラメータと、を保持し、
    加法的準同型性を有する暗号方式で、前記複数の秘密鍵と前記第1パラメータとを用いて、複数の数値それぞれを暗号化して、前記複数の数値それぞれに対応する大小判定用タグを生成し、
    前記暗号方式において、平文空間が自然数を法とした剰余演算を有し、
    前記暗号化端末は、前記大小判定用タグを前記大小判定サーバに送信し、
    前記大小判定サーバは、
    前記第1秘密鍵を保持し、
    大小判定処理において、
    前記第1秘密鍵と2つの前記大小判定用タグから、前記加法的準同型性を用いて、前記2つの大小判定用タグに対応する数値の大小判定のための値を生成し、
    前記生成した値の前記第1パラメータに関する離散対数が所定範囲の値において算出可能であるか否かに基づいて、前記2つの大小判定用タグに対応する数値の大小を判定する、大小判定暗号化システム。
  7. 請求項6に記載の大小判定暗号化システムであって、
    前記暗号化端末は、
    有限巡回群であるGの異なる生成元であるg及びuを選択し、
    Gの元であるxを選択し、
    前記第1秘密鍵であるsに対して、h=gを算出し、
    Gの位数より小さい正整数であるδi及びλiを選択し、
    RT<Uを満たす3以上の自然数Rに対して、0<αi<R/2<βi<Rを満たす整数αi及びβiを選択し、
    uは前記第1パラメータであり、
    所定のアルゴリズムを用いて、所定の計算回数で、Gにおける離散対数問題が解ける確率は、所定値以下であり、
    Tは、前記複数の数値の上限であり、
    Uは、所定のアルゴリズムを用いて、所定の計算回数で、Gにおけるuに関する離散対数問題の解がU以下の範囲であれば、当該離散対数問題が解けるよう定められる、
    前記暗号化端末は、
    前記複数の数値の個数以下である任意の自然数iに対して、i番目の前記数値に対応する大小判定用タグCi=(Ci(1),Ci(2),Ci(3),Ci(4))を算出し、
    Ci(1)=gδix,Ci(2)=gλi−1,Ci(3)=hδiRmi+αi,Ci(4)=hλi−Rmi−βiである、大小判定暗号化システム。
  8. 請求項7に記載の大小判定暗号化システムであって、
    前記大小判定サーバは、
    G、g、u、Uを特定する情報を保持し、
    前記2つの大小判定用タグCi=(Ci(1),Ci(2),Ci(3),Ci(4))と、Cj=(Cj(1),Cj(2),Cj(3),Cj(4))と、に対して、前記加法的準同型性を用いて、X=Ci(1)Cj(2)=gδi+λjと、Y=Ci(3)Cj(4)=hδi+λjR(mi−mj)+(αi−βj)と、を算出し、
    =gs(δi+λj)=hδi+λjを算出し、
    前記大小判定のための値として、Z=Y/X=uR(mi−mj)+(αi−βj)を算出し、
    Zのuに関する離散対数をU以下の範囲で算出可能であると判定した場合、Ciに対応する数値が、Cjに対応する数値より大きいと判定し、
    Zのuに関する離散対数をU以下の範囲で算出不可能であると判定した場合、Ciに対応する数値が、Cjに対応する数値以下であると判定する、大小判定暗号化システム。
  9. 請求項6に記載の大小判定暗号化システムであって、
    前記暗号化端末は、
    前記第1秘密鍵と異なる秘密鍵を用いて前記複数の数値それぞれを暗号化した、暗号化数値を生成し、
    前記暗号化数値それぞれと、前記複数の大小判定用タグそれぞれと、を対応付けて、前記大小判定サーバに送信し、
    前記大小判定サーバは、
    前記複数の大小判定用タグに含まれる大小判定用タグの組み合わせそれぞれについて前記大小判定処理を実行し、
    当該大小判定処理の結果に基づいて、前記暗号化数値をソートし、
    ソート後の前記暗号化数値を、前記暗号化端末に送信する、大小判定暗号化システム。
  10. 請求項6に記載の大小判定暗号化システムであって、
    前記暗号化端末は、
    閾値を、前記暗号方式で、前記秘密鍵と前記第1パラメータとを用いて暗号化して、前記閾値に対応する大小判定用タグを生成し、
    前記閾値に対応する大小判定用タグを前記大小判定サーバに送信し、
    前記第1秘密鍵と異なる秘密鍵を用いて前記複数の数値それぞれを暗号化した、暗号化数値を生成し、
    前記暗号化数値それぞれと、前記複数の大小判定用タグそれぞれと、を対応付けて、前記大小判定サーバに送信し、
    前記大小判定サーバは、
    前記閾値に対応する前記大小判定用タグと、前記複数の大小判定用タグそれぞれと、について前記大小判定処理を実行し、
    当該大小判定処理の結果に基づいて、前記暗号化数値の前記閾値に対する閾値処理を実行し、
    前記閾値処理の結果を、前記暗号化端末に送信する、大小判定暗号化システム。
  11. 大小判定サーバによる大小判定方法であって、
    前記大小判定サーバは、プロセッサとメモリとを備え、
    前記メモリは、第1秘密鍵と、複数の数値それぞれに対応する大小判定用タグと、を保持し、
    前記大小判定用タグそれぞれは、前記複数の数値それぞれが、加法的準同型性を有する暗号方式で、前記第1秘密鍵を含む複数の秘密鍵と、第1パラメータと、を用いて暗号化された暗号文であり、
    前記暗号方式において、平文空間が自然数を法とした剰余演算を有し、
    前記大小判定方法は、
    前記プロセッサが、前記第1秘密鍵と2つの前記大小判定用タグから、前記加法的準同型性を用いて、前記2つの大小判定用タグに対応する数値の大小判定のための値を生成し、
    前記プロセッサが、前記生成した値の前記第1パラメータに関する離散対数が所定範囲の値において算出可能であるか否かに基づいて、前記2つの大小判定用タグに対応する数値の大小を判定する、ことを含む大小判定方法。
JP2018101649A 2018-05-28 2018-05-28 大小判定サーバ、大小判定暗号化システム、及び大小判定方法 Pending JP2019207281A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018101649A JP2019207281A (ja) 2018-05-28 2018-05-28 大小判定サーバ、大小判定暗号化システム、及び大小判定方法
GB1906828.7A GB2575347B (en) 2018-05-28 2019-05-15 Value comparison server, value comparison encryption system, and value comparison method
US16/412,891 US11184163B2 (en) 2018-05-28 2019-05-15 Value comparison server, value comparison encryption system, and value comparison method
DE102019113249.5A DE102019113249A1 (de) 2018-05-28 2019-05-20 Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018101649A JP2019207281A (ja) 2018-05-28 2018-05-28 大小判定サーバ、大小判定暗号化システム、及び大小判定方法

Publications (1)

Publication Number Publication Date
JP2019207281A true JP2019207281A (ja) 2019-12-05

Family

ID=67384541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018101649A Pending JP2019207281A (ja) 2018-05-28 2018-05-28 大小判定サーバ、大小判定暗号化システム、及び大小判定方法

Country Status (4)

Country Link
US (1) US11184163B2 (ja)
JP (1) JP2019207281A (ja)
DE (1) DE102019113249A1 (ja)
GB (1) GB2575347B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395623B (zh) * 2019-08-19 2023-09-29 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和电子设备
US11671239B2 (en) 2020-05-08 2023-06-06 Samsung Electronics Co., Ltd. Encryption method and apparatus based on homomorphic encryption using odd function property
US11496287B2 (en) 2020-08-18 2022-11-08 Seagate Technology Llc Privacy preserving fully homomorphic encryption with circuit verification
US11575501B2 (en) 2020-09-24 2023-02-07 Seagate Technology Llc Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE463898T1 (de) * 2006-01-02 2010-04-15 Sap Ag System und verfahren für den vergleich von privatwerten
CN103380591B (zh) * 2011-02-22 2016-03-30 三菱电机株式会社 类似度计算系统、类似度计算装置以及类似度计算方法
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
EP2874341B1 (en) * 2013-09-26 2019-03-06 Koninklijke KPN N.V. Secure evaluation of a program
US9443092B2 (en) * 2014-11-18 2016-09-13 Pitney Bowes Inc. System and method for matching data sets while maintaining privacy of each data set
US11042650B2 (en) * 2018-12-06 2021-06-22 International Business Machines Corporation Sargable query-predicate evaluation for encrypted databases

Also Published As

Publication number Publication date
GB2575347B (en) 2020-12-23
GB2575347A (en) 2020-01-08
US11184163B2 (en) 2021-11-23
US20190363878A1 (en) 2019-11-28
DE102019113249A1 (de) 2019-11-28
GB201906828D0 (en) 2019-06-26

Similar Documents

Publication Publication Date Title
CN107077469B (zh) 服务器装置、检索系统、终端装置以及检索方法
JP5420085B2 (ja) データ処理装置及びデータ保管装置
EP2731046B1 (en) Client computer for querying a database stored on a server via a network
JP4810611B2 (ja) 暗号化されたデータの検索
US11184163B2 (en) Value comparison server, value comparison encryption system, and value comparison method
JP3457184B2 (ja) 検索装置及びその制御プログラムを記憶した媒体
JP2012164031A (ja) データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム
EP2778953A1 (en) Encoded-search database device, method for adding and deleting data for encoded search, and addition/deletion program
JP6352441B2 (ja) ストリーミングデータの匿名化
US20120257743A1 (en) Multiple independent encryption domains
JP5429502B2 (ja) 範囲検索システム、範囲検索方法、及び範囲検索用プログラム
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
KR20220092811A (ko) 암호화 데이터를 저장하는 방법 및 장치
WO2014141802A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP6289768B2 (ja) 暗号化装置、暗号化プログラム及び暗号化方法
JPWO2017168798A1 (ja) 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法
WO2021144834A1 (ja) 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム
US20210248154A1 (en) Ranking and De-ranking Data Strings
CN113609077A (zh) 一种文件检索方法、系统、存储介质及设备
Handa et al. Keyword binning-based efficient search on encrypted cloud data
US10769144B2 (en) Database search system, database search method, and non-transitory recording medium
Mlgheit et al. Security Model for Preserving Privacy over Encrypted Cloud Computing
WO2015107561A1 (ja) 検索システム、検索方法および検索プログラム
McBrearty et al. Preserving data privacy with searchable symmetric encryption
Li et al. PIMRS: achieving privacy and integrity‐preserving multi‐owner ranked‐keyword search over encrypted cloud data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211005