JP6229713B2 - 暗号文照合システムと方法とプログラム - Google Patents

暗号文照合システムと方法とプログラム Download PDF

Info

Publication number
JP6229713B2
JP6229713B2 JP2015513792A JP2015513792A JP6229713B2 JP 6229713 B2 JP6229713 B2 JP 6229713B2 JP 2015513792 A JP2015513792 A JP 2015513792A JP 2015513792 A JP2015513792 A JP 2015513792A JP 6229713 B2 JP6229713 B2 JP 6229713B2
Authority
JP
Japan
Prior art keywords
data
ciphertext
unit
input
key
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
Application number
JP2015513792A
Other languages
English (en)
Other versions
JPWO2014175320A1 (ja
Inventor
寿幸 一色
寿幸 一色
健吾 森
健吾 森
俊則 荒木
俊則 荒木
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2014175320A1 publication Critical patent/JPWO2014175320A1/ja
Application granted granted Critical
Publication of JP6229713B2 publication Critical patent/JP6229713B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Description

(関連出願についての記載)
本発明は、日本国特許出願:特願2013−091466号(2013年4月24日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、暗号文照合システムと方法とプログラムに関する。
近年、クラウドコンピューティングの普及に伴い、ネットワークに接続された計算資源に利用者のデータを置き、そのデータに基づいたサービスが急速に広がってきている。このようなサービスでは、利用者の機微なデータを扱う機会も増大してきている。このため、利用者が自分のデータが安全に管理されていることを保証することが重要になってきている。このような状況の下、オープンなネットワーク環境でデータを暗号化したまま管理し、データを復号することなく、検索や、統計処理等を行う技術の研究開発が活発に行われている。
また、近年、パスワードや磁気カードを用いた個人認証の脆弱性をついた犯罪が頻発している。このため、より安全性の高い指紋、静脈等の生体的な特徴に基づく生体認証技術が注目を集めている。生体認証においては、認証情報の検証を行うために、生体情報に関するテンプレートをデータベースに保管する必要がある。指紋、静脈等の生体情報は、基本的に生涯不変のデータである。生体情報は、漏洩すると、その被害は甚大なものとなる最も機密性が要求される情報である。したがって、テンプレートが漏洩した場合でも、「なりすまし」等が行えないようにする必要がある。
そこで、テンプレート情報を秘匿したまま認証を行うテンプレート保護型の生体認証技術が重要となってきている。
例えば特許文献1には、指紋データを多項式上の点として表現し、その点にランダムな点を付加して指紋データを秘匿したデータをテンプレートとして生体認証を行う方式が開示されている。
しかしながら、上記特許文献1の方式は、生体認証を何度も繰り返した時に、十分な強度で生体情報が保護されているかに関して課題があることが知られている。
非特許文献1には、データベース上に置くテンプレートをランダムなBCH(Bose-Chaudhuri-Hocquenghem)符号語(code word)でマスクすることによって、生体情報を保護する方式が開示されている。非特許文献1では、生体情報Zと秘匿情報Sを用いて、生体認証用テンプレートを生成している。図5は、非特許文献1のFig.2に基づく図であり、非特許文献1のFig.2における特徴量の抽出(Feature Extraction)、統計処理(Statistical Analysis)、量子化(Quantization)等は省略されている。テンプレートの登録(enrollment)は以下のようにして行われる。
(1)秘匿情報Sをエンコーダ(ENC)に入力して誤り訂正符号化し(Error Correcting Coding:ECC)、符号語Cを生成する。ECCは、パラメータ(K, s, d)の2元BCH符号が用いられる。Kは符号語(code word)の長さ、sは情報シンボル(information symbol)数、dは訂正可能な誤り数である。
(2)CとZの排他的論理和W2 = C (+) Zを計算する(ただし、(+)はビット毎の排他的論理和演算(bitwise XOR)を表す)。
(3)SをSHA(Secure Hash Algorithm)-1等の暗号学的ハッシュ関数(cryptographic (one-way) hash function)Hに入力してハッシュ値H(S)を得る。
(4)W2及びH(S)をテンプレート情報としてデータベース(DB)に格納する。
上記(1)から(4)によって生成されたテンプレートと、別の生体情報Z'が同じ人物から採取したものであるか否かの検証(Verification)は、次のようにして行われる。
(1)Z'とW2との排他的論理和C' = W2 (+) Z' = C (+) (Z (+) Z')を計算する。
(2)C'をデコーダ(DEC)に入力してBCH符号の誤り訂正復号を行い、S'を計算する。
(3)S'をSHA-1等の暗号学的ハッシュ関数Hに入力してハッシュ値H(S')を計算する。
(4)データベース(DB)からH(S)を読み出し、H(S) = H(S')が成立するかチェックする。H(S) = H(S')が成立する場合には、テンプレートと生体情報Z'が同じ人物から採取されたものと判断する。H(S) = H(S')が成立しない場合は、異なる人物から採取されたものと判断する。
上記手法は、生体情報Zの取得方法に依存しない。このため、一般に、秘匿(暗号化)されたデータを復号することなく、暗号文が、提示されたデータと一定のハミング距離以内のデータを暗号化したものであるか否かの照合を行う方式と解釈することが可能である。
特開2006−158851号公報
Pim Tuyls, Anton H. M. Akkermans, Tom A. M. Kevenaar, Geert-Jan Schrijen, Asker M. Bazen and Raimond N. J. Veldhuis, "Practical Biometric Authentication with Templete Protection", Proceedings of AVBPA 2005, Lecture Notes in Computer Science, Vol. 3546, Springer Verlag, pp. 436-446, (2005)
以下に関連技術の分析を与える。
上記した関連技術の問題点として、データベースにある暗号文の照合を行う際、照合を行う管理者等に、平文に関する情報が漏洩する可能性がある、ということがある。その理由は以下の通りである。
例えば上記特許文献1では、暗号文の秘匿強度が十分でないことによる。
また上記非特許文献1においては、暗号文が、提示されたデータと一定のハミング距離以内のデータを暗号化したものであるか否かの照合を可能にするためには、平文情報を照合時に送出する必要があることによる。
このように、照合処理を複数回行った場合に元の平文の情報漏洩の可能性がある。このため、仮に、照合処理を行うデータベース管理者等に悪意がある場合等において、十分な安全性が担保できない。例えば、生体認証の用途を考えると、照合時に送付されるデータからの生体情報漏洩は登録データからの生体情報漏洩と同等の問題と言うことができる。既存のテンプレートを保護した生体認証方式では、登録テンプレートからの生体情報漏洩に関する安全性のみを検討している。しかしながら、生体認証そのものの安全性を考慮するため、照合時に送付されるデータからの情報漏洩を考慮する必要がある。さらに、照合時に送付されるデータから、同じデータと一致と判定されるデータが生成できることは、認証の安全性を考慮した場合に、問題となる。例えば前記非特許文献1に記載の方式では、Z’という値を入手して再送することにより、照合を行うことができる。これは、生体認証としてこの行為を見ると、ある人が認証のために送付したデータを入手することにより、その人に成りすますことが可能となることを意味する。
したがって、本発明は、上記問題点に鑑みて創案されたものであって、その目的は、暗号文の照合にあたり、元の平文の情報漏洩を回避可能とし、安全性を担保可能とするシステム、方法、及びプログラムを提供することにある。
本発明によれば、入力データを暗号化して記憶装置に登録される第1の暗号文と、照合対象の入力データを暗号化した第2の暗号文に対して、平文のハミング距離を用いて照合を検証するための第1、第2の補助データをそれぞれ生成する手段と、
前記第2の補助データの少なくとも一部を一方向性変換し、前記第1の暗号文と前記第2の暗号文との差分と、前記第1の補助データとに基づき生成される途中データを一方向性変換し、前記途中データを一方向性変換した結果と、一方向性変換した前記第2の補助データとを用いて、前記第1の暗号文と前記第2の暗号文の前記差分に対応する平文のハミング距離が前記予め定められた所定値以下であるか否か判定する手段と、を含む暗号文照合システムが提供される。本発明によれば、暗号文照合システムを備えた生体認証システムが提供される。
本発明によれば、入力データを暗号化して記憶装置に登録される第1の暗号文と、照合対象の入力データを暗号化した第2の暗号文に対して、平文のハミング距離を用いて照合を検証するための第1、第2の補助データをそれぞれ生成し、
前記第2の補助データの少なくとも一部を一方向性変換し、
前記第1の暗号文と前記第2の暗号文との差分と、前記第1の補助データとに基づき生成される途中データを一方向性変換し、
前記途中データを一方向性変換した結果と、一方向性変換した前記第2の補助データとを用いて、前記第1の暗号文と前記第2の暗号文の前記差分に対応する平文のハミング距離が前記予め定められた所定値以下であるか否か判定する暗号文照合方法が提供される。
本発明によれば、入力データを暗号化して記憶装置に登録される第1の暗号文と、照合対象の入力データを暗号化した第2の暗号文に対して、平文のハミング距離を用いて照合を検証するための第1、第2の補助データをそれぞれ生成する処理と、
前記第2の補助データの少なくとも一部を一方向性変換し、前記第1の暗号文と前記第2の暗号文との差分と、前記第1の補助データとに基づき生成される途中データを一方向性変換し、前記途中データを一方向性変換した結果と、一方向性変換した前記第2の補助データとを用いて、前記第1の暗号文と前記第2の暗号文の前記差分に対応する平文のハミング距離が前記予め定められた所定値以下であるか否か判定する処理と、をコンピュータに実行させるプログラムが提供される。本発明によれば、該プログラムを記録したコンピュータ読み出し可能な記録媒体(磁気/光記録媒体、半導体記録媒体)が提供される。
本発明によれば、暗号文の照合において、元の平文の情報漏洩を回避可能とし、安全を担保可能としている。
本発明の実施形態1の構成を例示する図である。 (A)、(B)は本発明の実施形態1のデータ登録フェイズと暗号文照合フェイズを説明する図である。 本発明の実施形態2の構成を例示する図である。 本発明の実施形態2の暗号文照合フェイズを説明する図である。 非特許文献1の方式を例示する図である。 発明概念を説明する図である。
本発明の実施形態について説明する。はじめに本発明の基本概念について説明する。本発明の1つの側面によれば、照合対象の入力データを暗号化し、該入力データの照合を行うための登録データが暗号化されており、暗号化した入力データと登録暗号データの照合(一致)の判定(検証)の指標(曖昧さの指標)として平文のハミング距離を用いる。このように、登録暗号データだけでなく、照合のための入力データも秘匿強度の高い暗号方式により暗号化される。また、同じ入力データを用いて複数回の照合を行った場合でも、照合を行うたびに、当該入力データの秘匿に用いる鍵情報を変える。このため、照合を多数回行った場合でも、平文に関する情報が漏洩する可能性を低く抑えることができる。この結果、本発明によれば、攻撃耐性を高め、セキュリティの向上に寄与する。
図6を参照すると、本発明の1つの側面に係る暗号文照合システム10(装置)は、暗号文から補助データ(暗号文に対して、平文のハミング距離を用いて照合を検証するための補助データ)を生成する補助データ生成手段(ユニット)(14)と、暗号文と補助データから、暗号化した入力データと登録暗号データの照合の判定を行う照合判定手段(ユニット)(15)を少なくとも備えている。
補助データ生成手段(ユニット)(14)は、入力データを暗号化手段(ユニット)(11)で暗号化して記憶装置(13)に登録される暗号文1と、照合対象の入力データを暗号化手段(ユニット)(12)で暗号化した暗号文2に対して、平文のハミング距離を用いて照合を検証する(例えば、前記暗号文1と前記暗号文2との間の平文のハミング距離が、予め定められた所定値以下であることを検証する)ために必要とされる補助データ1と補助データ2をそれぞれ生成する。
補助データ2の少なくとも一部を前記一方向性変換手段(14h)で一方向性変換する。また、前記暗号文1と前記暗号文2との差分と、前記補助データ1とに基づき生成される途中データを前記一方向性変換手段(15h)で一方向性変換する。
前記照合判定手段(ユニット)(15)は、前記途中データを前記一方向性変換手段(15h)で一方向性変換した結果と、前記一方向性変換手段(14h)で少なくとも一部を一方向性変換した前記補助データ2と、を用いて、前記暗号文1と前記暗号文2との前記差分に対応する平文のハミング距離が前記予め定められた所定値以下であるか否かを判定する。暗号文照合システム10(装置)の各手段は、暗号文照合システム10(装置)を構成するコンピュータ上で実行されるプログラムでその処理・機能を実現するようにしてもよい。
本発明によれば、前記入力データの平文に対して暗号化する鍵を、線形性を有する誤り訂正符号で符号化した符号語と前記平文との排他的論理和を、前記暗号文とする。前記記憶装置に登録された前記暗号文と前記照合対象の入力データの前記暗号文に関する前記第1及び第2の補助データを、それぞれ、前記鍵と定数との内積と、前記暗号文、乱数に対して施す暗号学的ハッシュ関数との排他的論理和に基づき算出するようにしてもよい。暗号学的ハッシュ関数は、ハッシュ値hが与えられたとき、h=hash(m)となる元の文字列mを求めることが困難であるという原像計算困難性という特性(一方向性圧縮関数)を持つ。
また、本発明によれば、上記非特許文献1では実現が不可能であった、暗号化されたデータ同士での照合処理を可能とするために、照合結果を判定するためのハッシュ関数に関して、二つのデータのハッシュ値からそれらのデータの和のハッシュ値を計算可能とすることを保証している。
上記のとおり、本発明によれば、暗号文同士の照合処理時に、照合を行うユーザが送出するデータについても、例えば照合処理の操作等を行うデータベース管理者等に知られることのない暗号化鍵によって暗号化される。このため、照合処理を複数回行った場合や、照合処理の操作等を行うデータベース管理者等に悪意がある場合でも、照合処理時に、元の平文に関する情報の漏洩を防止することができる。以下、例示的ないくつかの実施形態について説明する。
<実施形態1>
図1を参照すると、本発明の実施形態1のシステムは、登録データ生成装置100、記憶装置200、データ秘匿装置300、指定データ照合装置400を備えている。なお、これらの各装置は、1つのサイト等にまとめて1つの装置とした構成としてもよいし、あるいは分散配置し通信手段を介して相互接続する構成としてもよい。
登録データ生成装置100は、暗号化部101と、鍵生成部102と、登録補助データ生成部103とを備えている。
暗号化部101は、
・秘匿の対象となる入力データと、
・入力データの秘匿を行う鍵と、
を入力とし、
該入力データを、鍵を用いて秘匿処理を施した暗号データを出力する。暗号化部101から出力された暗号データは、登録補助データ生成部103に入力されるとともに、記憶装置200(暗号文記憶部202)に記憶される。
鍵生成部102は、暗号化部101が入力データの秘匿を行うための鍵を生成し、生成した鍵を暗号化部101と登録補助データ生成部103に出力する。
登録補助データ生成部103は、
・入力データ(秘匿の対象となる入力データ)と、
・暗号化部101が出力した暗号データと、
・鍵生成部102が出力した鍵と、
を入力とする。
登録補助データ生成部103は、データ秘匿装置300の暗号化部301が出力する暗号データに対応する入力データ(照合対象の入力データ)が、暗号化部101に入力された入力データと、ハミング距離が予め定められた所定値以下(一定数以内)であることを判断するための補助データ(登録補助データ)を出力する。
ここで、登録データ生成装置100の暗号化部101によって出力される暗号文は、
入力データm1を鍵k1で暗号化した暗号文をc1、
入力データm2を鍵k2で暗号化した暗号文をc2、
とした時、c1とc2の和c1+c2は、入力データm1+m2を鍵k1+k2で暗号化した暗号文となる。
記憶装置200は、識別子管理部201と、暗号文記憶部202と、補助データ記憶部203とを備えている。
暗号文記憶部202と、補助データ記憶部203は、登録データ生成装置100が出力した暗号データ、及び、登録補助データをそれぞれ受け取り記憶する。暗号文記憶部202と補助データ記憶部203はデータベースとして構成してもよい(あるいは、ファイル構成であってもよい)。
暗号文記憶部202と、補助データ記憶部203は、識別子管理部201の制御のもと、暗号データの照合時に、指定データ照合装置400から入力される識別子に対応する暗号データ及び補助データを指定データ照合装置400に出力する。
記憶装置200の識別子管理部201は、登録データ生成装置100から入力される暗号データ、及び補助データを一意に特定する識別子を管理する。
識別子管理部201は、指定データ照合装置400から識別子が入力された際に、入力された識別子に対応する暗号データ、及び補助データをそれぞれ出力することを指示する命令を、暗号文記憶部202と、補助データ記憶部203に対して出力する。
暗号文記憶部202は、登録データ生成装置100の暗号化部101が出力した暗号データを記憶し、識別子管理部201から暗号データ出力の命令が入力された際には、対応する暗号データを出力する。
補助データ記憶部203は、登録データ生成装置100の登録補助データ生成部103が出力した補助データを記憶し、識別子管理部201から暗号データ出力の命令が入力された際に、対応する補助データを出力する。
データ秘匿装置300は、暗号化部301と、鍵生成部302と、補助データ生成部303と、一方向性変換部304を備えている。
暗号化部301は、
・秘匿の対象となる入力データ(照合対象の入力データ)と、
・該入力データの秘匿を行う鍵と、
を入力とし、
該入力データに対して鍵を用いて秘匿処理を施した暗号データを出力する。暗号化部301から出力された暗号データは、補助データ生成部303と、指定データ照合装置400(暗号文減算部402)に入力される。
鍵生成部302は、暗号化部101が入力データの秘匿を行うための鍵を生成し、生成した鍵を、暗号化部301と、補助データ生成部303に出力する。
補助データ生成部303は、
・該入力データ(照合対象の入力データ)と、
・暗号化部301が出力した暗号データと、
・鍵生成部302が暗号化部301に対して出力した鍵と、
を入力とする。補助データ生成部303は、登録データ生成装置100の暗号化部101が出力する暗号データ(登録暗号データ)に対応する入力データ(平文)と、暗号化部301に入力された照合対象の入力データ(平文)との間のハミング距離が予め定められた所定値以下(一定数以内)であることを判断するための補助データを出力する。補助データ生成部303から出力される補助データは、指定データ照合装置400(一致判定部403)に入力される。
一方向性変換部304は、補助データ生成部303が生成したデータ(補助データ)の一部又は全部を一方向性変換した結果を出力する。この補助データは、登録暗号データに対応する入力データ(平文)と、暗号化部301に入力された照合対象の入力データ(平文)との間のハミング距離が、所定値以下(あるいは所定値未満)であれば、照合(一致)すると判定し、前記所定値を超えた(あるいは所定値以上の)場合には、照合しない(不一致)と判定するために用いられる補助情報である。一方向性変換部304で一方向性変換した結果は、補助データ生成部303に入力される。
データ秘匿装置300の暗号化部301によって出力される暗号文は、暗号化部101と同じ方法によって計算される。すなわち、
入力データm1を鍵k1で暗号化した暗号文をc1、
入力データm2を鍵k2で暗号化した暗号文をc2、
とした時、c1とc2の和c1+c2は、入力データm1+m2を鍵k1+k2で暗号化した暗号文となる。
指定データ照合装置400は、識別子保持部401と、暗号文減算部402と、一致判定部403と、制御部404と、一方向性変換部405とを備えている。
識別子保持部401は、識別子を入力として、記憶装置200に入力された識別子に対応する暗号文データと補助データを出力するように、記憶装置200の識別子管理部201に対して、命令を出力する。
暗号文減算部402は、
・記憶装置200の暗号文記憶部202に格納された暗号データ(登録暗号データ)の一つと、
・データ秘匿装置300の暗号化部301から出力される暗号データと
を入力とし、入力された二つの暗号データc1とc2の差c1-c2を出力する。
このとき、暗号化部101、及び暗号化部301の性質により、
c1を入力データm1を鍵k1で暗号化した暗号文、
c2を入力データm2を鍵k2で暗号化した暗号文、
とした時、二つの暗号文c1、c2の差c1-c2は、入力データm1-m2を、鍵k1-k2で暗号化した暗号文となっている。
一致判定部403は、
・記憶装置200の補助データ記憶部203に格納された補助データと、
・データ秘匿装置300の補助データ生成部303から出力される補助データと、
・暗号文減算部402から出力される二つの暗号データの差分と
を入力とする。
一致判定部403は、
・記憶装置200の補助データ記憶部203に格納された補助データと、
・暗号文減算部402から出力される二つの暗号データの差分と、
を少なくとも含むデータから生成される途中データを、一方向性変換部405に送付する。
一方向性変換部405は、該途中データを一方向性変換したデータを一致判定部403に返す。
一致判定部403は、
・一方向性変換部405が途中データに応じて生成した一方向性変換後データと、
・データ秘匿装置300の補助データ生成部303から出力される、一方向性変換された補助データの一つと
から、暗号文減算部402に入力された二つの暗号データc1とc2にそれぞれ対応する平文m1とm2のハミング距離が予め定められた所定値以下であるか否かを判定結果として出力する。
制御部404は、データ秘匿装置300と、指定データ照合装置400とがデータをやり取りする際の通信等を制御する。
次に、実施形態1の動作について図2の流れ図を参照して説明する。実施形態1の暗号文照合システムの動作は、データ登録フェイズと、暗号文照合フェイズの二つのフェイズに大別される。
データ登録フェイズは、登録データ生成装置100に入力データを入力し、入力データを暗号化し、補助データとともに、記憶装置200に登録するフェイズである(図2(A))。
暗号文照合フェイズは、データ秘匿装置300に入力された入力データを暗号化し、その際に生成された暗号データ、及び補助データが、別途入力される識別子で指定される記憶装置内の暗号データ、及び補助データと近い(ハミング距離が予め定められた所定値以下の)平文となるものであるか否かを判定するフェイズである(図2(B))。
データ登録フェイズにおいては、はじめに、登録データ生成装置100の暗号化部101に秘匿対象となる入力データが入力される(図2(A)のステップA1)。
次に、登録データ生成装置100の鍵生成部102が、入力データの秘匿に用いる鍵を生成し、暗号化部101及び登録補助データ生成部103に出力する(図2(A)のステップA2)。
次に、登録データ生成装置100の暗号化部101は、入力された入力データと、鍵とから、入力データを暗号化した暗号データを計算し、暗号文記憶部202に格納する(図2(A)のステップA3)。
次に、ステップA1で入力された入力データと、ステップA2で生成された鍵と、ステップA3で生成された暗号データとを登録補助データ生成部103に入力し、登録補助データ生成部103にて補助データ(登録補助データ)を作成する(図2(A)のステップA4)。
登録補助データ生成部103は、作成した補助データ(登録補助データ)を、記憶装置200の補助データ記憶部203に格納する(図2(A)のステップA5)。
以上の処理により、記憶装置200に入力されたデータには、識別子管理部201で一意な識別子が割り振られ、後に、割り振られた識別子での呼び出し(読み出し)が可能となる。
暗号文照合フェイズにおいては、はじめに、指定データ照合装置400の識別子保持部401に識別子が入力され、入力された識別子に対応する暗号データ(登録暗号データ)が記憶装置200の暗号文記憶部202から暗号文減算部402に入力される。また、入力された識別子に対応する補助データが補助データ記憶部203から一致判定部403に入力される(図2(B)のステップB1)。
次に、入力データ(照合対象のデータ)がデータ秘匿装置300の暗号化部301に入力される(図2(B)のステップB2)。
次に、データ秘匿装置300の鍵生成部302が、入力データの秘匿に用いる鍵を生成し、作成した鍵を暗号化部301及び補助データ生成部303に出力する(図2(B)のステップB3)。
次に、データ秘匿装置300の暗号化部301は、ステップB2で入力された入力データと、ステップB3で入力された鍵とから、入力データを暗号化した暗号データを計算し、指定データ照合装置400の暗号文減算部402に入力する(図2(B)のステップB4)。
データ秘匿装置300の補助データ生成部303では、暗号化部301の暗号データ、及び鍵生成部302からの鍵に基づき、補助データを作成する。その際、少なくとも一部のデータを一方向性変換部304で一方向性変換し、補助データを生成する(図2(B)のステップB5)。
記憶装置200の暗号文記憶部202からの暗号データと、データ秘匿装置300の暗号化部301からの暗号データとを入力した指定データ照合装置400の暗号文減算部402は、入力された二つの暗号データの差を、一致判定部403に出力する(図2(B)のステップB6)。また、制御部404によって制御される、記憶装置200の補助データ記憶部203と、データ秘匿装置300の補助データ生成部303とが、協調して通信を行うことにより、補助データ記憶部203と、補助データ生成部303とから、それぞれ補助データが一致判定部403に入力される。
上記ステップB6で指定データ照合装置400の暗号文減算部402から二つの暗号データの差を入力し、補助データ記憶部203から変換後補助データと、補助データ生成部303から補助データを入力した指定データ照合装置400の一致判定部403は、前記二つの暗号データの差と、補助データとから途中データを生成し、指定データ照合装置400の一方向性変換部405に出力する(図2(B)のステップB7)。
指定データ照合装置400の一方向性変換部405は、途中データを一方向性変換した変換後途中データを作成し、一致判定部403に出力する(図2(B)のステップB8)。
指定データ照合装置400の一致判定部403は、前記変換後途中データと、前記補助データから、
・ステップB1で記憶装置200から暗号文減算部402に入力された登録暗号データの平文と、
・ステップB4で暗号文減算部402に入力された暗号データの平文と、
のハミング距離が予め定められた所定値以下となるか否かを判定し、その判定結果を出力する(図2(B)のステップB9)。
なお、図1の各装置100、200、300、400を一つのコンピュータシステム上に実装してもよいし、あるいは各装置を単体として構成してもよい。あるいは、各装置100、200、300、400内の各部をそれぞれ1つの単体装置で構成してもよい。図1の各装置の各部の処理を、コンピュータで実行されるプログラムによって実現するようにしてもよい。本発明によれば、該プログラムを記録した記録媒体(半導体メモリ、磁気/光ディスク)が提供される。
実施形態1では、照合対象入力データに関連する補助データに対して一方向性変換を施すことで、照合入力データの漏洩を防止可能としている。
<実施形態2>
次に、本発明の実施の形態2について説明する。前述した実施の形態1における暗号文照合システムでは、入力データと識別子がシステムに入力され、識別子に対応する暗号データの平文と入力データの照合が行われるのに対して、本実施の形態は、入力データのみがシステムに入力され、入力データと照合する暗号データの識別子が出力される。
図3を参照すると、実施形態2のシステムは、登録データ生成装置100、記憶装置200、データ秘匿装置300、データ照合装置500から構成される。登録データ生成装置100、記憶装置200、データ秘匿装置300は、前記実施形態1と同様の構成とされ、データ照合装置500の構成が前記実施形態1と相違している。以下では、実施形態2について、前記実施形態1と同一部分の説明は適宜省略し、相違点を中心に説明する。
データ照合装置500は、全データ要求部501と、暗号文減算部502と、一致判定部503と、制御部504と、識別子出力部505と、一方向性変換部506とを備えている。
全データ要求部501は、識別子出力部505からの命令により、記憶装置200内に格納されている全てのデータを逐次的に読み出す命令を、識別子管理部201に入力する。
暗号文減算部502は、記憶装置200の暗号文記憶部202に格納された暗号データの一つと、データ秘匿装置300の暗号化部から出力される暗号データとを入力とし、入力された二つの暗号データc1、c2の差c1−c2を出力する。
このとき、暗号化部101、及び暗号化部301の性質により、
c1を入力データm1を鍵k1で暗号化した暗号文、
c2を入力データm2を鍵k2で暗号化した暗号文
とした時、二つの暗号文c1、C2の差c1-c2は、入力データm1-m2を、鍵k1-k2で暗号化した暗号文となっている。
一致判定部503は、
・記憶装置200の補助データ記憶部203に格納された補助データと、
・データ秘匿装置300の補助データ生成部303から出力される補助データと、
・暗号文減算部502から出力される二つの暗号データの差分と
を入力とする。
一致判定部503は、
・暗号文減算部502から出力される二つの暗号データの差分と、
・記憶装置200の補助データ記憶部203に格納された補助データと、
を少なくとも含むデータから生成される途中データを一方向性変換部506に送付する。
一致判定部503は、
・一方向性変換部506が途中データに応じて生成した一方向性変換後データと、
・データ秘匿装置300の補助データ生成部303から出力される、一方向性変換された補助データの一つと、
から、暗号文減算部502に入力された二つの暗号データc1とc2にそれぞれ対応する平文m1とm2のハミング距離が予め定められた所定値以下であるか否かを出力する。
制御部504は、データ秘匿装置300と、データ照合装置500とがデータをやり取りする際の通信を制御する。
識別子出力部505は、
・識別子管理部201が暗号文記憶部202、及び補助データ記憶部203にデータ出力命令を出した識別子と、
・一致判定部503が出力した照合結果と、
を入力とし、
一致判定部503が照合(一致)したと判定した場合には、識別子管理部201から入力された識別子を出力する。
次に、図4の流れ図を参照して、実施形態2の動作について説明する。データ登録フェイズと、暗号文照合フェイズの二つのフェイズに大別される。ここで、データ登録フェイズは、登録データ生成装置100に入力データを入力し、入力データを暗号化し、補助データとともに記憶装置200に登録するフェイズであり、暗号文照合フェイズは、データ秘匿装置300に入力された入力データを暗号化し、その際に生成された暗号データ、及び補助データと近い(ハミング距離の小さい)平文となる記憶装置200内の暗号データに対応する識別子を出力するフェイズである。
データ登録フェイズは、図2(A)を参照して説明した実施形態1の動作と同じであるため、その説明は省略する。
暗号文照合フェイズにおいては、はじめに入力データがデータ秘匿装置300の暗号化部に入力される(図4のステップC1)。
次に、データ秘匿装置300の鍵生成部302が、入力データの秘匿に用いる鍵を生成し、暗号化部301及び補助データ生成部303に出力する(図4のステップC2)。
次に、データ秘匿装置300の暗号化部301は、ステップC1で入力された入力データと、ステップC2で入力された鍵とから、入力データを暗号化した暗号データを計算し、データ照合装置500の暗号文減算部502に入力する(図4のステップC3)。
次に、データ秘匿装置300の補助データ生成部303は、補助データ(暗号データ)の一部を一方向性変換部304に入力する(図4のステップC4)。
次に、データ照合装置500の全データ要求部501から識別子管理部201に識別子が入力される。入力された識別子に対応する暗号データが、記憶装置200の暗号文記憶部202から、データ照合装置500の暗号文減算部502に入力される。また、入力された識別子に対応する補助データが補助データ記憶部203から、データ照合装置500の一致判定部503に入力される(図4のステップC5)。
記憶装置200の暗号文記憶部202と、データ秘匿装置300の暗号化部301とから暗号文を入力されたデータ照合装置500の暗号文減算部502は、入力された二つの暗号データの差を、一致判定部503に出力する(図4のステップC5)。
次に、データ照合装置500の制御部504によって制御された、記憶装置200の補助データ記憶部203と、データ秘匿装置300の補助データ生成部303とが、協調して通信を行うことにより、補助データ記憶部203と、補助データ生成部303とから、それぞれ補助データが一致判定部503に入力される(図4のステップC6)。
ステップC5で、データ照合装置500の暗号文減算部502から二つの暗号データの差を入力し、ステップC6で、記憶装置200の補助データ記憶部203から変換後補助データと、データ秘匿装置300の補助データ生成部303から補助データを入力したデータ照合装置500の一致判定部503は、前記二つの暗号データの差と、補助データとから途中データを生成し、一方向性変換部506に出力する(図4のステップC7)。
データ照合装置500の一方向性変換部506は、途中データを一方向性変換した変換後途中データを生成し、データ照合装置500の一致判定部503に出力する(図4のステップC8)。
データ照合装置500の一致判定部503は、
・前記変換後途中データと、
・前記補助データと、
から、ステップC1でデータ照合装置500の暗号文減算部502に入力された暗号データの平文と、ステップC4でデータ照合装置500の暗号文減算部502に入力された暗号データの平文とのハミング距離が予め定められた所定値以下となるか否かを判定し、その判定結果を出力する(図4のステップC9)。
ステップC9の結果が照合と判断された場合には、データ照合装置500の識別子出力部505は、ステップC4で、記憶装置200の識別子管理部201に入力された識別子を出力する(図4のステップC10)。
ステップC4からステップC10の処理は、記憶装置200の識別子管理部201で管理される、記憶装置200に格納された、全ての識別子(暗号データ、補助データ)に関して繰り返される。
なお、図3の各装置100、200、300、500を一つのコンピュータシステム上に実装してもよいし、あるいは各装置を単体として構成してもよい。あるいは、各装置100、200、300、500内の各部をそれぞれ1つの単体装置で構成してもよい。図3の各装置の各部の処理を、コンピュータで実行されるプログラムによって実現するようにしてもよい。本発明によれば、該プログラムを記録した記録媒体(半導体メモリ、磁気/光ディスク)が提供される。以下、より具体的な実施例に即して説明する。
<実施例1>
次に、本発明の実施例1について図1を参照して詳細に説明する。実施例1は、前記実施形態1の一具体例に対応する。
データ登録フェイズでは、まず入力データとして、Nビットのバイナリ列Zが登録データ生成装置100の暗号化部101に入力される。
次に、登録データ生成装置100の鍵生成部102が、鍵(Kビットの乱数)Sを生成し、暗号化部101及び登録補助データ生成部103に出力する。
次に、暗号化部101は、入力されたKビットの鍵Sを二元BCH符号で符号化したNビットの符号語Cと、Nビットの入力データZとの排他的論理和をとったNビットの暗号データW1を計算し(次式(1))、記憶装置200の暗号文記憶部202に格納する。
W1 = C (+) Z ・・・(1)
但し、(+)はビット毎の排他的論理和(bitwise exclusive OR)を表す。ここで用いる二元BCH符号は、Kビットデータを入力しNビットデータ(N>K)を出力する符号であり、任意の相異なる符号語は、少なくともd以上のハミング距離を有することが保証されるものとする。
次に、入力データZと、鍵Sと、暗号データW1とを登録補助データ生成部103に入力し、登録補助データ生成部103は、次式(2)に従って補助データW2を計算する。
W2 = (c, S) (+) h(W1, R) ・・・(2)
但し、上式(2)において、
cは、Kビットの定数である。
Rは、Nビットの乱数(繰り返し利用される可能性の低いデータ)である。
(c, S)は内積を表す。すなわち、(A, B)は、二つのK = (m*k)ビットデータA及びBをkビットごとに分割したベクトルとみなした時の、AとBの内積である(演算はガロア拡大体GF(2k)上で行うものとする)。
(+)はビット毎の排他的論理和を表す。
hは、出力がkビットとなる暗号学的ハッシュ関数(例えばSHA-256等)とする。
ここで、H(x, y, z)を、次式(3)で表される関数として定義する。
H(x, y, z) = (c, x) (+) h(y, z) ・・・(3)
H(x, y, z)は次式(4)を満足する。
H(a1, b1, c1) (+) H(a2, b2, c2) = H(a1 (+) a2, b1, c1) (+) h(b2, c2) ・・・(4)
また、ビット(K-k)の乱数rに対して、
h(W1, N) ‖ r ・・・(5)
をBCH符号で誤り訂正符号化した符号語データをC3とし(但し、‖は、ビットの連結(concatenation)を表す演算記号である)、登録補助データ生成部103は、C3とNビットの入力データZから、補助データW3を次式(6)に従って計算する。
W3 = C3 (+) Z ・・・(6)
登録補助データ生成部103は、上式(2)、(6)で求めた(W2, W3)の組を補助データとして、補助データ記憶部203に登録する。
以上の処理で、記憶装置200に入力されたデータには、識別子管理部201で一意な識別子が割り振られ、後に、割り振られた識別子での呼び出しが可能となる。
以降、識別子iと関連付けられた暗号データW1と、補助データW2とW3をそれぞれW1[i]、W2[i]、W3[i]と表す。
暗号文照合フェイズにおいては、はじめに指定データ照合装置400の識別子保持部401に識別子iが入力される。入力された識別子iに対応する暗号データW1[i]が、記憶装置200の暗号文記憶部202から読み出され、指定データ照合装置400の暗号文減算部402に入力される。また、入力された識別子iに対応する補助データW2[i]、W3[i]が、記憶装置200の補助データ記憶部203から読み出され、指定データ照合装置400の一致判定部403に入力される。
次に、Nビットのバイナリ列入力データZ'(照合するデータ)がデータ秘匿装置300の暗号化部301に入力される。
次に、データ秘匿装置300の鍵生成部302は、入力データZ'の秘匿に用いる鍵(Kビットの乱数)S'を生成し、暗号化部301及び補助データ生成部303に出力する。
データ秘匿装置300の暗号化部301は、鍵生成部302から入力された鍵S'を二元BCH符号で誤り訂正符号化した符号語C'と、入力データZ'との排他的論理和をとった暗号データW1'を計算する(次式(7)参照)。
W1' = C' (+) Z' ・・・(7)
データ秘匿装置300の暗号化部301は、暗号データW1'を指定データ照合装置400の暗号文減算部402に入力する。
指定データ照合装置400の暗号文減算部402は、データ秘匿装置300の暗号化部301からの暗号データW1'と、記憶装置200の暗号文記憶部202からの識別子iに対応する暗号データW1[i]を入力し、入力した二つの暗号データW1'とW1[i]の差(排他的論理和)を計算する(次式(8)参照)。
W1' (+) W[i] ・・・(8)
指定データ照合装置400の暗号文減算部402は、暗号データの差W1' (+) W[i] を一致判定部403に供給する。
次に、指定データ照合装置400の制御部404が乱数nsと、予め定められた群Gの要素(生成元)gに対して
g_s = g**ns ・・・(9)
を計算する。
式(9)において、g**nsは、群G上でのgのns乗を表すものとする(**は冪乗演算子)。なお、群とは、
1.結合則 (∀a, b, c∈Gに対して(a・b)・c=a・(b・c)、
2.単位元の存在 (∃e∈G,∀a∈Gに対してa・e=e・a=a),
3.逆元の存在 (∀a∈Gに対して∃b∈G、a・b=b・a=e)
の規則を満たす2項演算・を持った集合をいう。ここで、群Gは乗法に関して巡回群となり、pを素数として、位数pの乗法群Zp(=Z/pZ)からなり、g**nsの値は素数pを法(modulo)とする剰余(mod p)で与えられる。
指定データ照合装置400の制御部404は、W3[i]とg_sを、データ秘匿装置300の補助データ生成部303に出力する。
次に、データ秘匿装置300の補助データ生成部303は、W3[i]と入力データZ'の排他的論理和をとった値(次式(10))に、二元BCH符号の復号処理を適用し、復号結果であるh'を得る。
W3[i] (+) Z' ・・・ (10)
データ秘匿装置300の補助データ生成部303は、鍵S'、暗号データW1'、復号結果h'、式(9)のg、g_s、乱数ncから、次式(11a)、(11b)に基づいて、一方向性変換部304と協力してW2'とg_cを計算し、指定データ照合装置400の一致判定部403に出力する。
W2' = h(H(S', W1', g_s**nc) (+) h') ・・・(11a)
g_c = g**nc ・・・(11b)
次に、指定データ照合装置400の一致判定部403は入力した二つの暗号データW1'とW[i]の差(次式(12))に二元BCH符号の復号処理を適用し、二つの暗号データW1'とW[i]の差の復号結果であるTを計算する。
W1' (+) W[i] ・・・(12)
指定データ照合装置400において、一方向性変換部405は、一致判定部403で計算された二つの暗号データW1'とW[i]の差の復号結果Tと、W1'(式(7))と、g_c**ns(g_cは式(11b),nsは式(9)の乱数)を用いて式(3)のHを計算した結果H(T, W1', g_c**ns)と、補助データ記憶部203から読み出されたW2[i]との排他的論理和演算結果
H(T, W1', g_c**ns) (+) W2[i]
に対して、式(13)の暗号学的ハッシュ関数hを計算する。
h(H(T, W1', g_c**ns) (+) W2[i])・・・(13)
次に、指定データ照合装置400の一致判定部403が、上式(13)で計算したハッシュ値と、データ秘匿装置300の補助データ生成部303から入力された補助データW2'とが等しいか否か、すなわち、次の等式(14)が成り立つか否かをチェックする。
W2’ = h(H(T, W1, g_c**ns) (+) W2[i]) ・・・(14)
指定データ照合装置400の一致判定部403は、等式(14)が成立する場合には、W1[i]の元の入力データ(平文)Zと、照合対象の入力データ(平文)Z'のハミング距離がd以下であると判定し、等式(14)が成立しない場合には、W1[i]の元の入力データ(平文)Zと照合対象の入力データ(平文)Z'のハミング距離がdを超えると判定し、判定結果を出力する。なお、上記BCH符号化は、任意の相異なる符号語のハミング距離が少なくともdを超える値とされている。
データ秘匿装置300の補助データ生成部303で生成する補助データW2' = h(H(S', W1', g_s**nc) (+) h')におけるg_s**nc(=(g**ns)**nc)(=R')と、指定データ照合装置400の一致判定部403でのg_c**ns(=(g**nc)**ns)を、例えば公知のDiffie-Hellman鍵共有法によって、指定データ照合装置400の一致判定部403と、データ秘匿装置300の補助データ生成部303との双方で生成されるようにしてもよい。
<実施例2>
次に、実施例2について図3を参照して詳細に説明する。実施例2は、前記実施形態2の一具体例である。
データ登録フェイズでは、まず入力データとして、Nビットのバイナリ列Zが登録データ生成装置100の暗号化部101に入力される。
次に、登録データ生成装置100の鍵生成部102が、Kビットの乱数Sを生成し、暗号化部101及び登録補助データ生成部103に出力する。
次に、暗号化部101は、入力された鍵Sを二元BCH符号で符号化した符号語Cと、入力データZとの排他的論理和を取った暗号データW1を計算し、暗号文記憶部202に格納する。ここで用いる二元BCH符号は、Kビットデータを入力し、Nビットデータを出力する符号であり、任意の相異なる符号語は、少なくともd以上のハミング距離を有することが保証されるものとする。
次に、入力データZと、鍵Sと、暗号データW1とを登録補助データ生成部103に入力する。登録補助データ生成部103は、次式(15)に従ってW2を計算する。
W2 = (c, S) (+) h(W1, R) ・・・(15)
但し、上式(15)において、
cは、Kビットの定数である。
Rは、乱数(繰り返し利用される可能性の低いデータ)である。
(A,B)は、二つのK=(m*k)ビットデータA及びBをkビットごとに分割したベクトルとみなした時の、AとBの内積である(演算はガロア拡大体GF(2)上で行うものとする)。
(+)はビット毎の排他的論理和を表す。
hは、出力がkビットとなる暗号学的ハッシュ関数(例えばSHA-256等)とする。
また、H(x, y, z) を式(16)で表される関数として定義する(上式(3)と同一)。
H(x, y, z) = (c, x) (+) h(y, z) ・・・(16)
K-kビットの乱数rに対し
h(W1, N) ‖r ・・・(17)
をBCH符号で符号化した符号語データをC3とし(但し、‖は、ビットの連結を表す記号である)、C3とZから、登録補助データ生成部103は、W3を、
W3 = C3 (+) Z ・・・(18)
により計算する。
登録補助データ生成部103は、以上によって生成した(W2、W3)の組を補助データとして補助データ記憶部203に登録する。
以上の処理で、記憶装置200に入力されたデータには識別子管理部201で一意な識別子が割り振られ、後に振り振られた識別子での呼び出しが可能となる。以降、識別子iと関連付けられたW1、W2、W3をそれぞれW1[i]、W2[i]、W3[i]と表す。
暗号文照合フェイズにおいては、はじめに入力データZ'(照合対象のデータ)がデータ秘匿装置300の暗号化部301に入力される。
次に、データ秘匿装置300の鍵生成部302が、入力データZ'の秘匿に用いる鍵S'(Kビットの乱数)を生成し、暗号化部301及び補助データ生成部303に出力する。
データ秘匿装置300の暗号化部301は、入力された鍵S'を二元BCH符号で符号化した符号語C'と、入力データZ'との排他的論理和をとった暗号データW1'(次式(19))を計算し、データ照合装置500の暗号文減算部502に入力する。
W1' = C' (+) Z' ・・・(19)
次に、データ照合装置500の全データ要求部501から記憶装置200の識別子管理部201に、識別子iが入力される。記憶装置200の暗号文記憶部202から、識別子iに対応する暗号データW1[i]が読み出され、データ照合装置500の暗号文減算部502に入力される。また、識別子iに対応する補助データW2[i]、W3[i]が記憶装置200の補助データ記憶部203から読み出され、データ照合装置500の一致判定部503に入力される。
データ照合装置500の暗号文減算部502は、
・記憶装置200の暗号文記憶部202からの暗号データW1[i]と、
・データ秘匿装置300からの暗号データW1'とを入力し、入力した二つの暗号データW1'とW1[i]の差(排他的論理和)(次式(20))を、一致判定部503に出力する。
W1' (+) W1[i] ・・・(20)
次に、データ照合装置500の制御部504が乱数nsと予め定められた群Gの要素gに対して
g_s = g**ns ・・・(21)
を計算し、補助データ生成部303に出力する。
次に、データ秘匿装置300の補助データ生成部303は、
S'=S1' (+) S2' ・・・(22)
を満たすS1'とS2'をランダムに選ぶ。
データ秘匿装置300の補助データ生成部303は、次式(23a)、(23b)に基づいて、一方向性変換部304と協力して、W2'と、g_cを計算する。
W2' = h(H(S1', W1', g_s**nc)) ・・・(23a)
g_c = g**nc ・・・(23b)
次に、データ秘匿装置300の補助データ生成部303は、内積(c,S2')と乱数r'をビット連結したデータである
(c, S2') ‖ r' ・・・(24)
を二元BCH誤訂正符号化したC3とZ'からW3'を、
W3' = C3 (+) Z' ・・・(25)
により計算し、W1'、W2'、W3'、g_cをデータ照合装置500の一致判定部503に出力する。
次に、データ照合装置500の一致判定部503は、入力された暗号データの差
W1' (+) W1[i] ・・・(26)
に二元BCH符号の復号処理を適用し、二つの暗号データW1'、W1[i]の差の復号結果であるTを計算する。
さらに、データ照合装置500の一致判定部503は、W3[i]とW3'の排他的論理和
W3[i] (+) W3' ・・・(27)
に二元BCH符号の復号処理を適用し、W3[i](+)W3'の復号結果であるw3を計算する。
データ照合装置500の一致判定部503は、二つの暗号データの差の復号結果TとW1'、g_c**nsとを用いて式(16)を計算した結果H(T, W1', g_c**ns)と、W2[i]とw3を、一方向性変換部506に出力する。
データ照合装置500の一方向性変換部506は、二つの暗号データの差の復号結果TとW1'、g_c**nsとを用いて計算したH(T, W1’, g_c**ns)を計算し、次式(28)にしたがい、H(T, W1’, g_c**ns)とW2[i]とw3のビット毎の排他的論理和演算結果
H(T, W1’, g_c**ns)(+)W2[i](+)w3
のハッシュ値を計算する(次式(28))。
h(H(T, W1’, g_c**ns)(+)W2[i](+)w3) ・・・(28)
データ照合装置500の一致判定部503は、一方向性変換部506が上式(28)で計算したハッシュ値が、W2’(式(23a))と等しいか否か、すなわち、等式(29)が成立するか否かをチェックする。
W2’ = h(H(T, W1’, g_c**ns) (+) W2[i] (+) w3) ・・・(29)
上式(29)が成立する場合に、データ照合装置500識別子出力部505は、W1[i]の元のデータとZ’のハミング距離がd以下であると判定し、識別子iを出力する。上式(29)が成立しない場合、データ照合装置500識別子出力部505は、ハミング距離はdを超えるもの判定し、識別子iは出力しない。
以上の操作を、記憶装置が管理している全ての識別子iに対して実行し、入力データZ’とのハミング距離がd以下となるような元データを有する全ての識別子を出力する。
実施例2においても、実施例1と同様、データ秘匿装置300の補助データ生成部303で生成する補助データW2’= h(H(S1’, W1’, g_s**nc)) のg_s**nc(=(g**ns)**nc)と、データ照合装置500の一致判定部503でのg_c**ns(=(g**nc)**ns)を例えば公知のDiffie-Hellman鍵共有法によって、データ照合装置500の一致判定部503と、データ秘匿装置300の補助データ生成部303との双方で生成されるようにしてもよい。
実施例1、2の適用例として、生体情報を保護した認証が挙げられる。以下その概略を説明する。
データ登録フェイズにおける入力データと、暗号文照合フェイズにおける入力データを、指紋や静脈等から取得した生体情報としてもよい。この場合、生体情報を秘匿(暗号化)したまま、記憶装置に格納された暗号化された生体データと、データ秘匿装置から送出された暗号化された生体データとが同一人物から採取したものであるか否かを、二つの入力データのハミング距離が予め定められた所定値以下となるか否かにより判定することが可能となり、認証を行うことが可能となる。生体情報は、常に安定して同一のデータが取得できるわけではない。しかしながら、同じ人物から取得されるデータが類似している(ハミング距離が小さいデータが取得できる)と仮定できる。このため、本発明は、例えば生体認証に適用して好適とされる(ただし、適用対象は生体認証に制限されない)。
なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 暗号文照合システム(装置)
11、12 暗号化手段(ユニット)
13 記憶装置
14 補助データ生成手段(ユニット)
14h、15h 一方向性変換手段(ユニット)
15 照合判定手段(ユニット)
100 登録データ生成装置
101 暗号化部
102 鍵生成部
103 登録補助データ生成部
104 一方向性変換部
200 記憶装置
201 識別子管理部
202 暗号文記憶部
203 補助データ記憶部
300 データ秘匿装置
301 暗号化部
302 鍵生成部
303 補助データ生成部
304 一方向性変換部
400 指定データ照合装置
401 識別子保持部
402 暗号文減算部
403 一致判定部
404 制御部
405 一方向性変換部
500 データ照合装置
501 全データ要求部
502 暗号文減算部
503 一致判定部
504 制御部
505 識別子出力部
506 一方向性変換部

Claims (10)

  1. 入力データを暗号化して記憶装置に登録される第1の暗号文と、照合対象の入力データを暗号化した第2の暗号文とに対して、平文のハミング距離を用いて照合を検証するための第1、第2の補助データをそれぞれ生成する手段と、
    前記第2の補助データの少なくとも一部を一方向性変換し前記第1の暗号文と前記第2の暗号文との差分と、前記第1の補助データとに基づき生成される途中データを一方向性変換し前記途中データを一方向性変換した結果と、一方向性変換した前記第2の補助データとを用いて、前記第1の暗号文と前記第2の暗号文の前記差分に対応する平文のハミング距離が予め定められた所定値以下であるか否か判定する手段と、
    を含む暗号文照合システム。
  2. 前記入力データの平文に対して暗号化する鍵を線形性を有する誤り訂正符号で符号化した符号語と前記平文との排他的論理和を前記暗号文とし、
    前記記憶装置に登録された前記暗号文と前記照合対象の入力データの前記暗号文に関する前記第1及び第2の補助データの各補助データを、それぞれ、対応する前記鍵と定数との内積と、対応する前記暗号文に基づくビット列に対する暗号学的ハッシュ関数の出力と、の排他的論理和を一方向性変換した結果に基づき算出する請求項1記載の暗号文照合システム。
  3. 登録データ生成装置と、
    記憶装置と、
    データ秘匿装置と、
    指定データ照合装置と、
    を備え、
    前記登録データ生成装置は、
    固定長の入力データと鍵を入力とし、前記入力データを前記鍵で暗号化した暗号文であって、
    平文1を鍵1で暗号化した暗号文1と平文2を鍵2で暗号化した暗号2文との和が、前記平文1と前記平文2の和を前記鍵1と前記鍵2の和で暗号化した暗号文に、等しいという関係を満たす暗号文を出力する第1の暗号化部と、
    前記第1の暗号化部に入力する前記鍵を生成する第1の鍵生成部と、
    前記入力データと、前記第1の鍵生成部で生成された前記鍵とを入力とし、前記第1の暗号化部によって出力された第1の暗号文が、前記データ秘匿装置によって出力される第2の暗号文と、平文のハミング距離が予め定められた所定値以下であることを検証するための前記第1の補助データを出力する登録補助データ生成部と、
    を備え、
    前記記憶装置は、
    前記登録データ生成装置の前記第1の暗号化部が出力する、一または複数の前記暗号文を格納する暗号文記憶部と、
    前記登録データ生成装置の前記登録補助データ生成部が出力する、一つ又は複数の前記補助データを格納する補助データ記憶部と、
    前記指定データ照合装置から識別子を入力とし、前記暗号文記憶部と前記補助データ記憶部とに対して、前記識別子に対応する前記暗号文と前記第1の補助データとをそれぞれ出力させる識別子管理部と、
    を備え、
    前記データ秘匿装置は、
    固定長の入力データと鍵を入力とし、前記入力データを前記鍵で暗号化した暗号文であって、平文1を鍵1で暗号化した暗号文1と平文2を鍵2で暗号化した暗号2文との和が、前記平文1と前記平文2の和を前記鍵1と前記鍵2の和で暗号化した暗号文に、等しいという関係を満たす暗号文を出力する第2の暗号化部と、
    前記第2の暗号化部に入力する前記鍵を生成する第2の鍵生成部と、
    前記入力データと、前記第2の鍵生成部で生成された前記鍵とを入力とし、前記第2の暗号化部によって出力された前記第2の暗号文が、前記登録データ生成装置の前記第1の暗号化部によって出力された前記第1の暗号文と、平文のハミング距離が予め定められた所定値以下であることを検証するための前記第2の補助データを出力する補助データ生成部と、
    前記補助データ生成部から出力される前記第2の補助データの少なくとも一部を一方向性変換したデータを出力する一方向性変換部と、
    を備え、
    前記指定データ照合装置は、
    識別子を入力し、前記識別子を前記記憶装置の前記識別子管理部に出力し、前記識別子に対応する暗号文と補助データとを出力するように前記識別子管理部に指示する識別子保持部と、
    前記データ秘匿装置の前記第2の暗号化部から出力される前記第1の暗号文と、前記記憶装置の前記暗号文記憶部から読み出された前記暗号文と、を入力とし、入力した二つの前記暗号文の差分を出力する暗号文減算部と、
    前記暗号文減算部から出力される前記第1、第2の暗号文の差分と、
    前記記憶装置の前記補助データ記憶部から読み出された前記第1の補助データと、
    前記データ秘匿装置の前記補助データ生成部から出力される前記第2の補助データと、
    を入力とし、
    前記暗号文減算部から出力される前記第1、第2の暗号文の差分と、前記記憶装置の前記補助データ記憶部から読み出された前記第1の補助データとに基づき生成される途中データを一方向性変換部に送付し、前記一方向性変換部が前記途中データに応じて生成した一方向性変換後データと、前記データ秘匿装置の前記補助データ生成部から出力される一方向性変換された前記第2の補助データの一つと、が等しいか否かで、前記第1、第2の暗号文の差分に対応する平文のハミング距離が予め定められた所定値以下であるか否かを判定する一致判定部と、
    前記一致判定部が計算した前記途中データを入力とし、前記途中データを一方向性変換した結果を出力する前記一方向性変換部と、
    前記データ秘匿装置と前記指定データ照合装置との間のデータのやりとりを制御する制御部と、
    を備える請求項1記載の暗号文照合システム。
  4. 登録データ生成装置と、
    記憶装置と、
    データ秘匿装置と、
    データ照合装置と、
    を備え、
    前記登録データ生成装置は、
    固定長の入力データと、鍵を入力とし、前記入力データを前記鍵で暗号化した暗号文であって、
    平文1を鍵1で暗号化した暗号文1と平文2を鍵2で暗号化した暗号2文との和が、前記平文1と前記平文2の和を前記鍵1と前記鍵2の和で暗号化した暗号文に、等しいという関係を満たす暗号文を出力する第1の暗号化部と、
    前記第1の暗号化部に入力する前記鍵を生成する第1の鍵生成部と、
    前記入力データと、前記第1の鍵生成部で生成された前記鍵を入力とし、前記第1の暗号化部によって出力された第1の暗号文が、前記データ秘匿装置によって出力される第2の暗号文と、平文のハミング距離が予め定められた値以下であることを検証するための前記第1の補助データを出力する登録補助データ生成部と、
    を備え、
    前記記憶装置は、
    前記登録データ生成装置の第1の暗号化装置が出力する一又は複数の暗号文を格納する暗号文記憶部と、
    前記登録データ生成装置の前記登録補助データ生成部が出力する一又は複数の補助データを格納する補助データ記憶部と、
    前記データ照合装置から識別子を入力とし、前記暗号文記憶部と、前記補助データ記憶部とに前記識別子に対応する暗号文と補助データとをそれぞれ出力させる識別子管理部と、
    を備え、
    前記データ秘匿装置は、
    固定長の入力データと鍵を入力とし、前記入力データを前記鍵で暗号化した暗号文であって、
    平文1を鍵1で暗号化した暗号文1と平文2を鍵2で暗号化した暗号2文との和が、前記平文1と前記平文2の和を前記鍵1と前記鍵2の和で暗号化した暗号文に、等しいという関係を満たす暗号文を出力する第2の暗号化部と、
    前記第2の暗号化部に入力する前記鍵を生成する第2の鍵生成部と、
    前記入力データと、前記第2の鍵生成部で生成された前記鍵と、を入力とし、前記第2の暗号化部によって出力された第2の暗号文が、前記登録データ生成装置の前記第1の暗号化部によって出力される第1の暗号文と、平文のハミング距離が予め定められた所定値以下であることを検証するための前記第2の補助データを出力する補助データ生成部と、
    前記補助データ生成部から出力される前記第2の補助データの少なくとも一部を一方向性変換したデータを出力する一方向性変換部と、
    を備え、
    前記データ照合装置は、
    識別子出力部からの命令により、前記記憶装置内に格納されている全てのデータを逐次的に読み出す命令を識別子管理部に入力する全データ要求部と、
    前記データ秘匿装置の前記第2の暗号化部から出力される前記第2の暗号文と、前記記憶装置内の前記暗号文記憶部に格納される前記第1の暗号文とを入力とし、入力した前記第1、第2の暗号文の差分を出力する暗号文減算部と、
    前記暗号文減算部から出力される前記第1、第2の暗号文の差分と、
    前記記憶装置の前記補助データ記憶部から読み出された前記第1の補助データと、
    前記データ秘匿装置の前記補助データ生成部から出力される前記第2の補助データと、
    を入力として、
    前記暗号文減算部から出力される前記第1、第2の暗号文の差分と、前記記憶装置の前記補助データ記憶部から読み出された前記第1の補助データとに基づき生成される途中データを一方向性変換部に送付し、前記一方向性変換部が前記途中データに応じて生成した一方向性変換後データと、前記データ秘匿装置の前記補助データ生成部から出力される一方向性変換された前記第2の補助データの一つと、が等しいか否かで、前記第1、第2の暗号文の差分に対応する平文のハミング距離が予め定められた所定値以下であるか否かを判定する一致判定部と、
    前記一致判定部が計算した前記途中データを入力とし、前記途中データを一方向性変換した結果を出力する前記一方向性変換部と、
    前記一致判定部からの判定結果の出力と、前記識別子管理部の出力とを入力とし、前記一致判定部が、平文のハミング距離が予め定められた所定値以下と判定したデータに対応する識別子を出力する前記識別子出力部と、
    前記データ秘匿装置と、前記データ照合装置との間のデータのやりとりを制御する制御部と、
    を備える請求項1記載の暗号文照合システム。
  5. 前記第1、第2の暗号化部が、前記鍵と、前記入力データの平文に対して、前記鍵を、線形性を有する誤り訂正符号で符号化し、誤り訂正符号化結果である符号語と、前記平文とのベクトル上の和を計算した結果を、前記暗号文として出力する請求項3又は4記載の暗号文照合システム。
  6. 前記登録データ生成装置の前記登録補助データ生成部が出力する前記第1の補助データが、
    前記登録データ生成装置の前記第1の暗号化部に入力された鍵をS、
    前記第1の暗号化部が出力した暗号文をW1、
    繰り返し利用される可能性の低いデータをRとして、式
    (c,S)(+)h(W1,R)
    (但し、cは定数、(x、y)はベクトルx、yの内積を表し(c,S)はcとSの内積、hは暗号学的ハッシュ関数、(+)はビット毎の排他的論理和である)
    によって計算されるデータを含み、
    前記データ秘匿装置の前記補助データ生成部が出力する前記第2の補助データが、
    前記データ秘匿装置の前記第2の暗号化部に入力された鍵をS’、
    前記第2の暗号化部が出力した暗号文をW1’、
    繰り返し利用される可能性の低いデータをR’として、式
    (c,S’)(+)h(W1’,R’)
    によって計算されるデータ
    を含む請求項3又は4記載の暗号文照合システム。
  7. 請求項に記載の暗号文照合システムを備え、前記登録データ生成装置、前記データ秘匿装置に入力される入力データが、生体情報によって生成され、前記データ秘匿装置を介して前記指定データ照合装置に入力されたデータが、記憶装置に格納されたデータと一致するか否かを判定することによって生体認証を行う生体認証システム。
  8. 請求項に記載の暗号文照合システムを備え、前記登録データ生成装置、前記データ秘匿装置に入力される入力データが、生体情報によって生成され、前記データ秘匿装置を介して前記データ照合装置に入力されたデータが、記憶装置に格納されたデータと一致するか否かを判定することによって生体認証を行う生体認証システム。
  9. 暗号照合システムの第1の手段が、入力データを暗号化して記憶装置に登録される第1の暗号文と、照合対象の入力データを暗号化した第2の暗号文とに対して、平文のハミング距離を用いて照合を検証するための第1、第2の補助データをそれぞれ生成し、
    暗号照合システムの第2の手段が、前記第2の補助データの少なくとも一部を一方向性変換し、前記第1の暗号文と前記第2の暗号文との差分と、前記第1の補助データとに基づき生成される途中データを一方向性変換し、前記途中データを一方向性変換した結果と、一方向性変換した前記第2の補助データとを用いて、前記第1の暗号文と前記第2の暗号文の前記差分に対応する平文のハミング距離が予め定められた所定値以下であるか否か判定する暗号文照合方法。
  10. コンピュータを、請求項1記載の暗号文照合システムとして機能させるためのプログラム。
JP2015513792A 2013-04-24 2014-04-23 暗号文照合システムと方法とプログラム Active JP6229713B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013091466 2013-04-24
JP2013091466 2013-04-24
PCT/JP2014/061398 WO2014175320A1 (ja) 2013-04-24 2014-04-23 暗号文照合システムと方法とプログラム

Publications (2)

Publication Number Publication Date
JPWO2014175320A1 JPWO2014175320A1 (ja) 2017-02-23
JP6229713B2 true JP6229713B2 (ja) 2017-11-15

Family

ID=51791890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015513792A Active JP6229713B2 (ja) 2013-04-24 2014-04-23 暗号文照合システムと方法とプログラム

Country Status (4)

Country Link
US (1) US9900146B2 (ja)
EP (1) EP2991266B1 (ja)
JP (1) JP6229713B2 (ja)
WO (1) WO2014175320A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454681B1 (en) 2017-11-17 2019-10-22 ISARA Corporation Multi-use key encapsulation processes
US10031795B1 (en) * 2017-12-22 2018-07-24 ISARA Corporation Using conversion schemes in public key cryptosystems
US10061636B1 (en) * 2017-12-22 2018-08-28 ISARA Corporation Conversion schemes for public key cryptosystems
US12086223B2 (en) 2019-02-25 2024-09-10 Nec Corporation Linear sketch system, apparatus, authentication method, program, and recording medium

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926508A (en) * 1995-02-21 1999-07-20 Koos Technical Services, Inc. Communication scheme using non-coherent frequency detection of trellis-based coding of plural transmission frequencies per baud
US7243290B2 (en) * 2003-07-11 2007-07-10 Micron Technology, Inc. Data encoding for fast CAM and TCAM access times
RU2316120C2 (ru) * 2004-05-12 2008-01-27 Корпорация "Самсунг Электроникс" Биометрическая система аутентификации
JP2008502071A (ja) * 2004-06-09 2008-01-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バイオメトリック・テンプレートの保護および特徴処理
EP1815637B1 (en) * 2004-11-16 2016-04-20 Koninklijke Philips N.V. Securely computing a similarity measure
JP4564348B2 (ja) 2004-12-10 2010-10-20 株式会社日立製作所 生体情報の特徴量変換方法および生体認証システム
EP1964305B1 (en) * 2005-12-13 2014-07-30 Koninklijke Philips N.V. Secure threshold decryption protocol computation
JP2008306395A (ja) * 2007-06-06 2008-12-18 Canon Inc 情報処理装置、情報処理方法
US7881089B2 (en) * 2009-02-24 2011-02-01 International Business Machines Corporation Coding techniques for improving the sense margin in content addressable memories
US8601259B2 (en) * 2009-04-20 2013-12-03 Cleversafe, Inc. Securing data in a dispersed storage network using security sentinel value
US9684710B2 (en) * 2009-05-28 2017-06-20 Microsoft Technology Licensing, Llc Extending random number summation as an order-preserving encryption scheme
US20100329448A1 (en) * 2009-06-30 2010-12-30 Rane Shantanu D Method for Secure Evaluation of a Function Applied to Encrypted Signals
EP2495908A4 (en) * 2009-10-29 2017-07-19 Mitsubishi Electric Corporation Data processing device
IN2014DN11080A (ja) * 2012-07-13 2015-09-25 Nec Corp

Also Published As

Publication number Publication date
US20160080142A1 (en) 2016-03-17
EP2991266B1 (en) 2019-02-27
WO2014175320A1 (ja) 2014-10-30
EP2991266A4 (en) 2016-12-14
US9900146B2 (en) 2018-02-20
EP2991266A1 (en) 2016-03-02
JPWO2014175320A1 (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
JP6048501B2 (ja) 暗号文照合システムと方法とプログラム
JP6229714B2 (ja) 暗号文照合システムと方法とプログラム
Aumasson et al. The hash function BLAKE
JP6931247B2 (ja) 暗号文照合システム、方法、およびプログラム
JP6323338B2 (ja) ビット列照合システムと方法とプログラム
JP6229715B2 (ja) 暗号文照合システムと方法とプログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
JP6229713B2 (ja) 暗号文照合システムと方法とプログラム
JP2016111594A (ja) 暗号文照合システム、方法、およびプログラム
WO2021214922A1 (ja) メモリ処理装置、メモリ検証装置、メモリ更新装置、メモリ保護システム、方法及びコンピュータ可読媒体
Cayrel et al. Efficient implementation of hybrid encryption from coding theory
Yasuda et al. Privacy-preserving fuzzy commitment for biometrics via layered error-correcting codes
Nicholas et al. Enhancing Confidentiality and Integrity in Cloud Computing using RSA Encryption Standard and MD5 Hashing Algorithm
Ciocan et al. A Modified Argon2i Using a Tweaked Variant of Blake3
Jauhari et al. Secure and Optimized Algorithm for Implementation of Digital Signature

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171002

R150 Certificate of patent or registration of utility model

Ref document number: 6229713

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150