EP2920907A2 - Verfahren für sicheren symbolvergleich - Google Patents

Verfahren für sicheren symbolvergleich

Info

Publication number
EP2920907A2
EP2920907A2 EP13854202.2A EP13854202A EP2920907A2 EP 2920907 A2 EP2920907 A2 EP 2920907A2 EP 13854202 A EP13854202 A EP 13854202A EP 2920907 A2 EP2920907 A2 EP 2920907A2
Authority
EP
European Patent Office
Prior art keywords
symbol
ciphertext
bits
encrypted
binary representation
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.)
Withdrawn
Application number
EP13854202.2A
Other languages
English (en)
French (fr)
Inventor
Kurt ROHLOFF
David Bruce Cousins
Richard SCHANTZ
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.)
RTX BBN Technologies Corp
Original Assignee
Raytheon BBN Technologies 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 Raytheon BBN Technologies Corp filed Critical Raytheon BBN Technologies Corp
Publication of EP2920907A2 publication Critical patent/EP2920907A2/de
Withdrawn legal-status Critical Current

Links

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

Definitions

  • This invention relates to the field of encryption and, more particularly, to a method useful in securely computing on encrypted data.
  • the present invention relates to a method to securely compare two ciphertexts, which are each respective encryptions of two possibly different symbols, to form, without the use of secret keys or decryption, a ciphertext containing an encrypted indication of whether the symbols are the same.
  • Homomorphic encryption is a form of encryption which enables the performing of an operation on a pair of ciphertexts, producing a result which when decrypted is the same as if a corresponding operation had been performed on the plaintexts.
  • the ciphertext operations for performing homomorphic multiplication and addition are referred to herein as EvalMult and EvalAdd, respectively.
  • EvalAdd and EvalMult operations are understood to be modulus-2 operations, i.e., they are modulus-2 homomorphic addition and modulus-2 homomorphic multiplication, respectively.
  • a homomorphic encryption scheme is referred to herein as somewhat homomorphic if its homomorphic characteristics support only a finite number of sequential EvalAdd or EvalMult operations.
  • the number of EvalMult operations that may be performed on ciphertexts while ensuring that the result, when decrypted, will equal the product of the corresponding plaintexts is referred to herein as the multiplicative degree, or the depth, of the encryption scheme.
  • An additive degree may be defined in an analogous manner.
  • a somewhat homomorphic encryption scheme may have infinite additive degree but finite multiplicative degree.
  • a homomorphic encryption scheme which has infinite additive degree and infinite multiplicative degree is referred to herein as a fully homomorphic encryption scheme.
  • An encryption scheme may be referred to as partially homomorphic if it supports only an EvalAdd or an EvalMult operation, but not both.
  • Homomorphic encryption may be useful, for example if an untrusted party is charged with processing data without having access to the data.
  • a trusted party or data proprietor may encrypt the data, deliver it to the untrusted party, the untrusted party may process the encrypted data and return it to the data proprietor or turn it over to another trusted party. The recipient may then decrypt the results to extract the decrypted, processed data.
  • the operations desired may include comparison of symbols.
  • An untrusted party may, for example, receive ciphertexts corresponding to two plaintext symbols from one or more data proprietors, and may wish to send a third party an encrypted indication of whether the plaintext symbols are the same, which the third party may decrypt, obtaining for example a binary 1 if the symbols match, i.e., are identical, and a binary 0 if they do not match.
  • a binary 1 if the symbols match, i.e., are identical, and a binary 0 if they do not match.
  • This invention enables fundamental capabilities for secure computing on encrypted data.
  • a user can encrypt data, share the data with an untrusted third party that can compute algorithms on this data without access the original data or encryption keys such that the result of running the algorithm on the encrypted data can be decrypted to a result which is equivalent to the result of running the algorithm on the original unencrypted data.
  • a user may encrypt two symbols, share the encrypted symbols with an untrusted third party, and the untrusted third party may perform a sequence of operations on the encrypted symbols to produce an encrypted result which, when decrypted by a trusted party, indicates whether the two symbols are the same.
  • This invention could be used by cloud computing hosts, financial institutions and any other commercial entity that may like to use or offer secure computing.
  • the secure symbol matching provides the capability to securely determine whether two symbols are equal on unsecure hardware without sharing data in the clear or secret keys.
  • This invention requires the use of either a fully encryption (FHE) or a sufficient somewhat homomorphic encryption (SHE) scheme. FHE and SHE schemes support computation on encrypted data.
  • a method for comparing a first symbol and a second symbol including: performing a sequence of operations, on: a first set of ciphertexts corresponding to the first symbol; and a second set of ciphertexts corresponding to the second symbol, to form a resulting ciphertext containing an encrypted indication of whether the first symbol matches the second symbol.
  • the sequence of operations includes one or more EvalAdd operations and one or more EvalMult operations.
  • the method includes decrypting the resulting ciphertext.
  • the method includes: converting the first symbol into a binary representation of the first symbol; encoding the binary representation of the first symbol to form a first set of plaintext vectors; encrypting the first set of plaintext vectors with a homomorphic encryption scheme to form the first set of ciphertexts; converting the second symbol into a binary representation of the second symbol; encoding the binary representation of the second symbol to form a second set of plaintext vectors; and encrypting the second set of plaintext vectors with the homomorphic encryption scheme to form the second set of ciphertexts.
  • the encoding of the binary representation of the first symbol to form a first set of plaintext vectors includes forming, for each bit of the binary representation, a vector of bits, the bit of the binary representation being the most significant bit of the vector of bits, and the remaining bits of the vector of bits being zero; and the encoding of the binary representation of the second symbol to form a second set of plaintext vectors includes forming, for each bit of the binary representation, a vector of bits, the bit of the binary representation being the most significant bit of the vector of bits, and the remaining bits of the vector of bits being zero.
  • the sequence of operations includes: for each first ciphertext of the first set of ciphertexts, and for each corresponding second ciphertext of the second set of ciphertexts: homomorphically adding the first ciphertext and the second ciphertext to obtain a first encrypted sum; homomorphically inverting the first encrypted sum to obtain an encrypted factor, and homomorphically multiplying the encrypted factors to form the resulting ciphertext.
  • the homomorphically adding of the first ciphertext and the second ciphertext to obtain a first encrypted sum includes performing an EvalAdd operation on the first ciphertext and the second ciphertext.
  • the homomorphically inverting of the first encrypted sum to obtain an encrypted factor includes performing an EvalAdd operation with the encrypted sum and a ciphertext encrypting a vector of bits with a leading 1.
  • a system for comparing a first symbol and a second symbol including a processing unit configured to: perform a sequence of operations, on: a first set of ciphertexts corresponding to the first symbol; and a second set of ciphertexts corresponding to the second symbol, to form a resulting ciphertext containing an encrypted indication of whether the first symbol matches the second symbol.
  • the sequence of operations includes one or more EvalAdd operations and one or more EvalMult operations.
  • the processing unit is configured to decrypt the resulting ciphertext.
  • the processing unit is configured to: convert the first symbol into a binary representation of the first symbol; encode the binary representation of the first symbol to form a first set of plaintext vectors; encrypt the first set of plaintext vectors with a homomorphic encryption scheme to form the first set of ciphertexts; convert the second symbol into a binary representation of the second symbol; encode the binary representation of the second symbol to form a second set of plaintext vectors; and encrypt the second set of plaintext vectors with the homomorphic encryption scheme to form the second set of ciphertexts.
  • the encoding of the binary representation of the first symbol to form a first set of plaintext vectors includes forming, for each bit of the binary representation, a vector of bits, the bit of the binary representation being the most significant bit of the vector of bits, and the remaining bits of the vector of bits being zero; and the encoding of the binary representation of the second symbol to form a second set of plaintext vectors includes forming, for each bit of the binary representation, a vector of bits, the bit of the binary representation being the most significant bit of the vector of bits, and the remaining bits of the vector of bits being zero.
  • the sequence of operations includes: for each first ciphertext of the first set of ciphertexts, and for each corresponding second ciphertext of the second set of ciphertexts: homomorphically adding the first ciphertext and the second ciphertext to obtain a first encrypted sum; homomorphically inverting the first encrypted sum to obtain an encrypted factor, and homomorphically multiplying the encrypted factors to form the resulting ciphertext.
  • the homomorphically adding of the first ciphertext and the second ciphertext to obtain a first encrypted sum includes performing an EvalAdd operation on the first ciphertext and the second ciphertext.
  • the homomorphically inverting of the first encrypted sum to obtain an encrypted factor includes performing an EvalAdd operation with the encrypted sum and a ciphertext encrypting a vector of bits with a leading 1.
  • FIG. 1 is a dataflow diagram illustrating data flows, processing steps, intermediate data products, and a final result in a method for secure symbol matching according to an embodiment of the present invention
  • FIG. 2 is a flowchart illustrating a method for secure symbol matching according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a subset of acts executed in a method for secure symbol matching according to an embodiment of the present invention.
  • each of two symbols selected from a set of symbols referred to herein as an alphabet, is used to form a sequence of ciphertexts, which are then processed with a sequence of operations to form a resulting ciphertext, the resulting ciphertext containing an encrypted indication of whether the two symbols match, i.e., are the same.
  • each symbol is first mapped to a sequence of bits, i.e., a binary representation of the symbol is formed.
  • ASCII American Standard Code for Information Interchange
  • ASCII maps an alphabet (referred to herein as the ASCII alphabet) including the most common characters in western languages, to a set of 7-bit binary integers.
  • Each of the bits bij may then be encoded to a plaintext vector of bits (bij, 0,0,0, ... ,0); ( elements 125, 130 in FIG. 1).
  • the plaintext vector is formed by making the bit bij the most significant bit of the plaintext vector, and padding the remainder of the plaintext vector with zeros, to a total length of m bits.
  • Such vectors of bits of length m are referred to herein as m-bit- vectors; an m-bit- vector in which the first bit is a 1 is referred to as an m-bit- vector with leading 1, and an m-bit- vector in which the first bit is a 0 is referred to as an m-bit-vector with leading 0.
  • the m-bit- vectors are encrypted using a homomorphic encryption scheme to form two sets of ciphertexts 135, 140, one set for each of the symbols, and each ciphertext corresponding to one bit of the binary representation of one symbol.
  • This operation is represented symbolically as cij - Enc((bij,0,0,0,...,0)).
  • each ciphertext c3j encrypts an m-bit vector with leading 0 if the corresponding bits of the two symbols are the same, and encrypts an m-bit vector with leading 1 if the corresponding bits of the two symbols are different.
  • the ciphertext c4j contains an encrypted indication of whether the j* bits of the binary representations of the two plaintext symbols are the same.
  • c4j encrypts an m-bit-vector with a leading 1 if the j bits of the binary representations of the two plaintext symbols are the same and c4j encrypts an m-bit-vector with a leading 0 if the j" 1 bits of the binary representations of the two plaintext symbols are not the same.
  • ciphertexts c4j are then combined by a sequence of EvalMult operations, to form a ciphertext cfinal, which contains an encrypted indication of whether the two plaintext symbols are the same, i.e., of whether each bit of the binary representation of the first plaintext symbol si is the same as the corresponding bit of the binary representation of the second plaintext symbol s2, for all ⁇ bits.
  • a homomorphic logical AND operation is well suited for this purpose, and the EvalMult operation, which implements modulus-2 multiplication, is equivalent to a logical AND of the most significant bits of two vectors, the remaining bits being zeros.
  • the product of multiple factors ⁇ 41 * ⁇ 2*...* ⁇ 4 ⁇ employed in the expression for cfinal above may be implemented by operating on the factors and intermediate products pairwise using the EvalMult(a,b) operation until only one final product remains.
  • EvalMult(c41,c42,...,c47) may be evaluated as
  • C41*c42*c43*c44*c45*c46*c47 (((c41*c42)*(c43*c44))*((c45*c46)*c47))
  • (a*b) is used as shorthand notation for EvalMult(a,b)
  • the above expression requires, as can be seen by counting the nesting depth of the parentheses, at least a somewhat homomorphic encryption scheme of degree 3.
  • a minimum-degree EvalMult operation may be defined recursively using the relation EvalMult(al,a2, ...
  • EvalMult(c41,c42,...,c4 ) implements a homomorphic logical AND of the ciphertexts ⁇ 41, ⁇ 42,..., ⁇ 4 ⁇ , each of which encrypts an m-bit- vector with a leading 1 if the corresponding bits of the two symbols match, and an m-bit-vector with a leading 0 if the corresponding bits of the two symbols do not match
  • cfinal ⁇ 3 ⁇ ( ⁇ 41, ⁇ 42,..., ⁇ 4 ⁇ ) encrypts an m-bit-vector with a leading 1 if the two symbols match, and an m-bit- vector with a leading 0 if the two symbols do not match.
  • decrypting cfinal results in a vector 155 with components (i3, 0, 0, 0), in which i3 is one if the two symbols match, and zero if they do not. Extracting the leading bit 160 from this vector results in a single bit which is 1 if the plaintext symbols match, and 0 if they do not.
  • Embodiments of the present invention may be practiced with any SHE (or FHE) scheme configuration as long as it provides adequate degree ceil(log2( ⁇ )) in EvalMult computations, assuming that the encryption scheme has infinite additive degree.
  • FIG. 2 summarizes the process according to one embodiment.
  • an act 205 two plaintexts are mapped to corresponding ⁇ -bit binary representations.
  • each bit of each of the two ⁇ -bit binary representations is used as the most significant bit of an m-bit vector, with the remainder of the vector padded with zeros.
  • each vector is encrypted into a corresponding ciphertext, and in act 220, a sequence of EvalAdd and EvalMult operations is performed on the ciphertexts.
  • the ciphertext is decrypted, and in an act 230, the leading bit, which is 1 if the plaintext symbols match, and 0 they do not match, is extracted.
  • FIG. 3 shows details of the sequence of operations of act 220 (FIG. 2).
  • act 305 the ciphertexts are added pairwise using the EvalAdd operation.
  • act 310 the sums are inverted, and in an act 315, the ciphertexts resulting from act 310 are all multiplied together homomorphically, by repeated application of the EvalMult operation.
  • Processing unit is used herein to include any combination of hardware, firmware, and software, employed to process data or digital signals.
  • Processing unit hardware may include, for example, application specific integrated circuits (ASICs), general purpose or special purpose central processing units (CPUs), digital signal processors (DSPs), graphics processing units (GPUs), and programmable logic devices such as field programmable gate arrays (FPGAs).
  • ASICs application specific integrated circuits
  • CPUs general purpose or special purpose central processing units
  • DSPs digital signal processors
  • GPUs graphics processing units
  • FPGAs field programmable gate arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
EP13854202.2A 2012-11-16 2013-11-14 Verfahren für sicheren symbolvergleich Withdrawn EP2920907A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261727654P 2012-11-16 2012-11-16
PCT/US2013/070168 WO2014113132A2 (en) 2012-11-16 2013-11-14 Method for secure symbol comparison

Publications (1)

Publication Number Publication Date
EP2920907A2 true EP2920907A2 (de) 2015-09-23

Family

ID=50693944

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13854202.2A Withdrawn EP2920907A2 (de) 2012-11-16 2013-11-14 Verfahren für sicheren symbolvergleich

Country Status (3)

Country Link
US (1) US9893880B2 (de)
EP (1) EP2920907A2 (de)
WO (1) WO2014113132A2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201608601TA (en) * 2014-04-23 2016-11-29 Agency Science Tech & Res Method and system for generating / decrypting ciphertext, and method and system for searching ciphertexts in a database
US9641318B2 (en) * 2015-01-06 2017-05-02 Google Inc. Systems and methods for a multiple value packing scheme for homomorphic encryption
CN104883679B (zh) * 2015-04-09 2016-04-20 努比亚技术有限公司 语音通话加密的测试方法及装置
CN106209344A (zh) * 2016-06-30 2016-12-07 宇龙计算机通信科技(深圳)有限公司 一种语音加密的测试方法及测试设备
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US11070357B2 (en) * 2019-10-17 2021-07-20 Raytheon Company Techniques for privacy-preserving data processing across multiple computing nodes
US11177944B1 (en) * 2020-04-22 2021-11-16 Shield Crypto Systems Inc. Method and system for confidential string-matching and deep packet inspection
US12019781B2 (en) 2020-04-22 2024-06-25 Lorica Cybersecurity Inc. Method and system for confidential string-matching and deep packet inspection
US11483139B2 (en) 2020-08-07 2022-10-25 Bank Of America Corporation System for secure data transmission using fully homomorphic encryption

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2237474A1 (de) * 2009-03-30 2010-10-06 Mitsubishi Electric Corporation Sichere Verzerrungsberechnung unter Parteien, die sich nicht vertrauen, mittels homomorpher Verschlüsselung

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2103032B1 (de) 2006-12-08 2016-12-28 International Business Machines Corporation Vergleich von datensätzen mit verbesserter privatsphäre
US8630422B2 (en) 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8515058B1 (en) 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
US8861716B2 (en) 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US8565435B2 (en) 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
WO2012149395A1 (en) * 2011-04-29 2012-11-01 International Business Machines Corporation Fully homomorphic encryption
US9009447B2 (en) * 2011-07-18 2015-04-14 Oracle International Corporation Acceleration of string comparisons using vector instructions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2237474A1 (de) * 2009-03-30 2010-10-06 Mitsubishi Electric Corporation Sichere Verzerrungsberechnung unter Parteien, die sich nicht vertrauen, mittels homomorpher Verschlüsselung

Also Published As

Publication number Publication date
US9893880B2 (en) 2018-02-13
US20140233728A1 (en) 2014-08-21
WO2014113132A3 (en) 2014-10-09
WO2014113132A2 (en) 2014-07-24

Similar Documents

Publication Publication Date Title
US9893880B2 (en) Method for secure symbol comparison
US20140233727A1 (en) Method for secure substring search
KR101861089B1 (ko) 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법
Anees et al. Designing secure substitution boxes based on permutation of symmetric group
KR100259179B1 (ko) 암호화 통신 처리
JP7750744B2 (ja) 準群演算を含む暗号化データに対して等価演算および未満演算を実行するシステムおよび方法
Sarkar et al. Role of cryptography in network security
Alsaidi et al. Compression multi-level crypto stego security of texts utilizing colored email forwarding
JP7612608B2 (ja) Aesカウンタモード暗号化において準群演算によって暗号化された整数を加算および比較するシステムおよび方法
WO2010123112A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
Saarinen Ring-LWE ciphertext compression and error correction: Tools for lightweight post-quantum cryptography
JP2011164607A (ja) シンボルシーケンスの編集距離のプライバシーを保護した計算の方法およびシステム
CN109474425B (zh) 一种基于多个共享密钥获得任意指定长度派生密钥的方法
Tiwari Cryptography in blockchain
US9300469B2 (en) Secure computing system, secure computing method, secure computing apparatus, and program therefor
WO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
CN114499845B (zh) 多方安全计算的方法、系统、装置、存储介质及设备
WO2009115824A1 (en) Encryption method
Sankhyan et al. Hybrid Security Protocols: bridging the gap between efficiency and security
CN110474772A (zh) 一种基于格的加密方法
Kuang Quantum permutation pad for quantum secure symmetric and asymmetric cryptography
Sharma et al. TEXCEL: text encryption with elliptic curve cryptography for enhanced security
Bhavani et al. Modified AES using dynamic S-box and DNA cryptography
CN103812658B (zh) 一种基于流密码的安全通信协议
CN115632765A (zh) 加密方法、解密方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150522

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20180214

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 9/00 20060101AFI20210120BHEP

INTG Intention to grant announced

Effective date: 20210218

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20210629