TWI835300B - 一種資料匹配方法、裝置、設備及介質 - Google Patents

一種資料匹配方法、裝置、設備及介質 Download PDF

Info

Publication number
TWI835300B
TWI835300B TW111135467A TW111135467A TWI835300B TW I835300 B TWI835300 B TW I835300B TW 111135467 A TW111135467 A TW 111135467A TW 111135467 A TW111135467 A TW 111135467A TW I835300 B TWI835300 B TW I835300B
Authority
TW
Taiwan
Prior art keywords
vector
data
encrypted
target
distance
Prior art date
Application number
TW111135467A
Other languages
English (en)
Other versions
TW202336617A (zh
Inventor
劉紅寶
高鵬飛
鄭建賓
余蕭寒
邱震堯
周雍愷
程棟
趙慶航
Original Assignee
大陸商中國銀聯股份有限公司
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 大陸商中國銀聯股份有限公司 filed Critical 大陸商中國銀聯股份有限公司
Publication of TW202336617A publication Critical patent/TW202336617A/zh
Application granted granted Critical
Publication of TWI835300B publication Critical patent/TWI835300B/zh

Links

Images

Classifications

    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

本發明公開了一種資料匹配方法、裝置、設備及介質,該方法中分別將第一資料和第二資料登錄到預先訓練完成的向量轉化模型中,獲得對應的第一向量和第二向量,並獲取第一目標公開金鑰加密後的第一向量和第二向量的距離,基於加密後的距離以及第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於該目標距離確定兩個資料是否匹配,在兩個資料不完全相同時,也能實現資料的模糊匹配,拓寬了使用場景,且在進行模糊匹配過程中引入了第一目標公私密金鑰對分別進行同態加密和解密,實現了安全求交,保證了匹配過程的安全性,且整個匹配的過程中,資料均未以原始資料的形式離開過對應的設備,實現了原始資料不出庫也能實現模糊匹配,保證了匹配過程的安全性。

Description

一種資料匹配方法、裝置、設備及介質
本發明屬於資料處理技術領域,尤其是關於一種資料匹配方法、裝置、設備及介質。
當前隱私計算技術主要應用於安全求交和聯邦學習。所謂安全求交是指識別雙方資料的交集,比如,識別機構A和機構B的共有用戶,其中安全求交也為縱向聯邦學習的第一個步驟,也就是說,先對手機號、身份證號、營業執照號等關鍵資訊進行安全求交,然後再進行下一步聯合建模等步驟。
相關技術中,為了識別雙方資料的交集或者實現雙方資料的匹配,常見的安全求交演算法包括基於RSA加密演算法的安全求交演算法,以及基於不經意傳輸(Oblivious Transfer,OT)協定的安全求交演算法等等。但是目前的安全求交演算法只有當雙方資料完全相同時,也就是說,當雙方資料的資料類型以及資料包含的字元的數量完全相同時,才能匹配成功。但是實際業務中,往往存在很多資料不完全相同時待匹配的使用場景,因此現有技術中的安全求交演算法極大限制了其使用場景,影響匹配的業務範圍。
本發明提供了一種資料匹配方法、裝置、設備及介質,用以解決現有技術中的安全求交演算法只能在雙方資料完全相同時進行安全求交,使用場景有限,影響資料匹配的業務範圍的問題。
本發明提供了一種資料匹配方法,應用於第一設備,該方法包括: 將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量; 採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備; 獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的; 基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
本發明提供了一種資料匹配方法,應用於第二設備,該方法包括: 將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量; 接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量; 獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的; 基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
本發明還提供了一種資料匹配裝置,該裝置包括: 第一獲取模組,用於將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量; 第一處理模組,用於採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備; 該第一獲取模組,還用於獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的; 第一確定模組,用於基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
本發明還提供了一種資料匹配裝置,該裝置包括: 第二獲取模組,用於將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量; 第二處理模組,用於接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量; 該第二獲取模組,還用於獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的; 第二確定模組,用於基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
本發明還提供了一種電子設備,該電子設備包括處理器,該處理器用於執行記憶體中存儲的電腦程式時實現如上述任一所述資料匹配方法的步驟。
本發明還提供了一種電腦可讀存儲介質,其存儲有可由終端執行的電腦程式,當該程式在該終端上運行時,使得該終端執行上述任一項該資料匹配方法的步驟。
本發明還提供了一種電子設備,該電子設備包括處理器,該處理器用於執行記憶體中存儲的電腦程式時實現如上述任一所述資料匹配方法的步驟。
本發明還提供了一種電腦可讀存儲介質,其存儲有可由終端執行的電腦程式,當該程式在該終端上運行時,使得該終端執行上述任一項該資料匹配方法的步驟。
本發明中將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得第一資料對應的第一向量,採用自身生成的第一目標公開金鑰對第一向量進行同態加密生成第一加密向量,並將第一目標公開金鑰發送給第二設備,獲取基於第一加密向量和第二加密向量確定的加密後的第一向量和第二向量的距離,其中第二加密向量為採用第一目標公開金鑰對第二向量進行同態加密後得到的,第二向量為將第二資料登錄到第二設備中的預先訓練完成的向量轉化模型中獲得的,基於加密後的第一向量和第二向量的距離及第一目標公開金鑰對應的第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於目標距離以及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。由於在本發明實施例中,分別將待匹配的第一資料和第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量以及第二資料對應的第二向量,並獲取基於該第一向量加密後的第一加密向量,以及該第二向量加密後的第二加密向量,確定的加密後的第一向量和第二向量的距離,並基於加密後的第一向量和第二向量的距離以及自身生成的第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於該目標距離以及預設的第一距離閾值確定第一資料和第二資料是否匹配,即在第一資料和第二資料不完全相同時,也能實現第一資料和第二資料的模糊匹配,拓寬了使用場景,且在進行模糊匹配過程中引入了第一目標公開金鑰和第一目標私密金鑰分別進行同態加密和解密,實現了安全求交,保證了匹配過程的安全性,且整個匹配的過程中,第一資料以及第二資料均未以原始資料的形式離開過對應的第一設備以及第二設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出進步性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
為了保證雙方資料不完全相同時也可以進行匹配,拓寬資料匹配的業務範圍,本發明實施例提供了一種資料匹配方法、裝置、設備及介質。
本發明中,將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得第一資料對應的第一向量,採用自身生成的第一目標公開金鑰對第一向量進行同態加密生成第一加密向量,並將第一目標公開金鑰發送給第二設備,獲取基於第一加密向量和第二加密向量確定的加密後的第一向量和第二向量的距離,其中第二加密向量為採用第一目標公開金鑰對第二向量進行同態加密後得到的,第二向量為將第二資料登錄到第二設備中的預先訓練完成的向量轉化模型中獲得的,基於加密後的第一向量和第二向量的距離及第一目標公開金鑰對應的第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於目標距離以及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
實施例1: 圖1為本發明實施例提供的一種資料匹配過程示意圖,該過程包括以下步驟: S101:將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量。
本發明實施例提供的資料匹配方法應用於第一設備,該第一設備可以是智慧終端機、PC或者伺服器等設備。
為了保證雙方資料不完全相同時也能實現模糊匹配,在本發明實施例中,第一設備中部署了預先訓練完成的向量轉化模型,該預先訓練完成的向量轉化模型用於獲得待匹配的資料對應的向量,且針對不同的資料,該預先訓練完成的向量轉化模型輸出的向量的維度相同。
為了獲得待匹配的第一資料對應的第一向量,將該第一資料登錄到預先訓練完成的向量轉化模型中,該預先訓練完成的向量轉化模型輸出該第一資料對應的第一向量,該第一向量中的每個分量為數字,即通過該預先訓練完成的向量轉化模型將第一資料進行了量化。
S102:採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備。
在本發明實施例中,為了提高安全性,第一設備生成第一目標公私密金鑰對,其中,該第一目標公私密金鑰對中包含第一目標公開金鑰和第一目標私密金鑰,並根據該自身生成的第一目標公開金鑰對第一向量加密生成第一加密向量。其中,該第一目標公私密金鑰對可以為對稱公私密金鑰對,也可以為非對稱公私密金鑰對,具體的,可以根據需求設置目標公私密金鑰對。
其中,生成第一目標公私密金鑰對的過程為現有技術,在此不做贅述。
由於待與第一資料進行匹配的第二資料為第二設備獲取的,因此為了便於後續能夠確定第一資料對應的第一向量和第二資料對應的第二向量之間的目標距離,在本發明實施例中,第一設備還將第一目標公開金鑰發送給第二設備,以使第二設備可以根據該第一目標公開金鑰對第二資料對應的第二向量進行同態加密生成第二加密向量。具體的,在本發明實施例中,對該第一向量和第二向量進行同態加密時,基於該第一目標公開金鑰分別對該第一向量中的每個分量以及該第二向量中的每個分量進行同態加密,進而獲得第一加密向量和第二加密向量。
S103:獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的。
為了實現第一資料和第二資料的模糊匹配,第二設備中也部署了預先訓練完成的向量轉化模型,用於獲得待匹配的第二資料對應的第二向量,也就是說,將該第二資料登錄到預先訓練完成的向量轉化模型中,該預先訓練完成的向量轉化模型輸出該第二資料對應的第二向量,第二設備基於接收到的第一設備發送的第一目標公開金鑰對該第二向量進行同態加密,獲得第二加密向量。
由於採用了第一設備生成的第一目標公開金鑰對第一向量和第二向量分別進行了加密,因此,為了確定第一向量和第二向量的目標距離,在本發明實施例中,第一設備可以先接收第二設備發送的第二加密向量,並基於該第一設備自身生成的第一目標公私密金鑰對中的第一目標私密金鑰對第二加密向量進行解密,獲得第二向量,並基於該第一向量和第二向量,確定該第一向量和第二向量的目標距離。
為了提高安全性,在本發明實施例中,為了確定第一向量和第二向量的目標距離,可以先獲得基於第一加密向量和第二加密向量確定的加密後的第一向量和第二向量的距離。其中,該加密後的第一向量和第二向量的距離不是一個確定的數值,而是一個需要進行解密後才能獲得第一向量和第二向量的目標距離的確定運算式,其中,該加密後的第一向量和第二向量的距離可以為第一設備確定的,也可以為第二設備確定後發送給第一設備的。
S104:基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
在本發明實施例中,為了確定第一資料以及第二資料是否匹配,在確定加密後的第一向量和第二向量的距離之後,先對該加密後的第一向量和第二向量的距離進行解密,確定該第一向量和第二向量的目標距離。由於第一加密向量和第二加密向量均是由第一設備生成的第一目標公開金鑰加密生成的,因此,為了確定第一向量和第二向量的目標距離,在本發明實施例中,可以根據第一設備生成的第一目標私密金鑰對中的第一目標私密金鑰,對該加密後的第一向量和第二向量的距離進行解密,確定該第一向量和第二向量的目標距離。
為了確定該第一資料以及該第二資料是否匹配,在本發明實施例中,將該第一向量和第二向量的目標距離以及預設的第一距離閾值進行比較,根據比較結果,確定該第一資料以及該第二資料是否匹配。其中,目標距離越小,第一資料與第二資料越匹配。
由於在本發明實施例中,分別將待匹配的第一資料和第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量以及第二資料對應的第二向量,並獲取基於該第一向量加密後的第一加密向量,以及該第二向量加密後的第二加密向量,確定的加密後的第一向量和第二向量的距離,並基於加密後的第一向量和第二向量的距離以及自身生成的第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於該目標距離以及預設的第一距離閾值確定第一資料和第二資料是否匹配,即在第一資料和第二資料不完全相同時,也能實現第一資料和第二資料的模糊匹配,拓寬了使用場景,且在進行模糊匹配過程中引入了第一目標公開金鑰和第一目標私密金鑰分別進行同態加密和解密,實現了安全求交,保證了匹配過程的安全性,且整個匹配的過程中,第一資料以及第二資料均未以原始資料的形式離開過對應的第一設備以及第二設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
實施例2: 為了確定第一資料對應的第一向量,在上述實施例的基礎上,在本發明實施例中,該將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量包括: 確定待匹配的第一資料對應的第一目標資料類型; 根據該第一目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一資料對應的預先完成的第一目標向量轉化模型; 將該第一資料登錄到該預先訓練完成的第一目標向量轉化模型中,獲得該第一資料對應的第一向量。
在本發明實施例中,由於待匹配的第一資料可以為文字資料,比如,該第一資料可以為姓名、性別、位址等等,也可以為數字資料,比如,該第一資料可以為身份證號、銀行卡號以及准考證號等等,因此,針對不同資料類型的第一資料,獲得對應的第一向量的預先訓練完成的向量轉化模型也不相同。
具體的,可以在第一設備中保存有資料類型和預先訓練完成的向量轉化模型的對應關係,根據獲取到的待匹配的第一資料對應的第一目標資料類型,採用對應的預先訓練完成的向量轉化模型,獲取該第一資料對應的第一向量;其中,該對應的預先訓練完成的向量轉化模型也就是預先訓練完成的第一目標向量轉化模型。
為了準確的確定將第一資料轉換為第一向量的向量轉化模型,在上述各實施例的基礎上,在本發明實施例中,若該第一目標資料類型為文字類型,對應的預先訓練完成的第一目標向量轉化模型為詞向量模型或句向量模型;若該第一目標資料類型為數字類型,對應的預先訓練完成的第一目標向量轉化模型為獨熱(One-Hot)編碼模型。
具體的,若該第一資料為文字資料,即第一資料的第一目標資料類型為文字類型,則根據預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一目標資料類型對應的預先訓練完成的第一目標向量轉化模型,該第一目標向量轉化模型為詞向量模型或者句向量模型,並基於該預先訓練完成的詞向量模型或者句向量模型,獲取該第一資料對應的第一向量;若該第一資料為數字資料,即第一資料的第一目標資料類型為數字類型,則根據預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一目標資料類型對應的預先訓練完成的第一目標向量轉化模型,該第一目標向量轉化模型為預先訓練完成的One-Hot編碼模型,並基於該預先訓練完成的One-Hot編碼模型,獲取該第一資料對應的第一向量。
以預先訓練完成的向量轉化模型輸出的向量的維度為5,預先訓練完成的向量轉化模型為詞向量模型為例進行說明,若第一資料為文字資料,且該第一資料為「上海市浦東新區晴天小賣部」,則將「上海市浦東新區晴天小賣部」輸入到預先訓練完成的詞向量模型中,輸出的該「上海市浦東新區晴天小賣部」對應的第一向量為(1.0,2.0,1.5,2.0,3.5)。
若該預先訓練完成的向量轉化模型為One-Hot編碼模型,可以預先針對每個數字設置該對應的獨熱編碼,比如,數字包含0-9,則該0-9各個數字中,0對應的獨熱編碼為0000000001、1對應的獨熱編碼為0000000010、2對應的獨熱編碼為0000000100、3對應的獨熱編碼為0000001000、4對應的獨熱編碼為0000010000、5對應的獨熱編碼為0000100000、6對應的獨熱編碼為0001000000、7對應的獨熱編碼為0010000000、8對應的獨熱編碼為0100000000、9對應的獨熱編碼為1000000000。將數字資料登錄到One-Hot編碼模型中,該One-Hot編碼模型輸出的第一向量中每個第一分量為該第一資料中對應的每個數字的獨熱編碼。
若該第一資料為數字資料,該數字資料為「12345」,則將「12345」輸入到預先訓練完成的One-Hot編碼模型中,輸出的該「12345」對應的第一向量為(0000000010,0000000100,0000001000,0000010000,0000100000)。
其中,在對向量轉化模型進行訓練時,可以預先標注每個資料和資料對應的標注向量,將每個資料和對應的標注向量輸入到原始向量轉化模型中,根據原始向量轉化模型輸出的預測向量及對應的標注向量,對該原始向量轉化模型的參數進行調整,當滿足收斂條件時,確定向量轉化模型訓練完成。
在本發明實施例中,不管第一資料和第二資料是數字資料還是文字資料,都能實現模糊匹配,進一步的擴寬了場景應用。
實施例3: 為了確定加密後的第一向量和第二向量的距離,在上述各實施例的基礎上,在本發明實施例中,該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 接收該第二設備發送的該第二加密向量,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的; 基於該第一加密向量以及該第二加密向量,確定加密後的該第一向量和該第二向量的距離。
在本發明實施例中,第一設備獲得的基於第一加密向量和第二加密向量確定加密後的第一向量和第二向量的距離可以為第一設備確定的,還可以為第二設備確定併發送給第一設備的。
若該加密後的第一向量和第二向量的距離為第一設備確定的,為了確定加密後的第一向量和第二向量的距離,第一設備需要獲得第二設備發送的第二加密向量,具體的為了獲取到第二加密向量,第一設備在將第一目標公開金鑰發送給第二設備後,第二設備接收第一設備發送的第一目標公開金鑰,基於該第一目標公開金鑰對第二向量加密後獲得第二加密向量併發送給第一設備,其中,該第二向量為待匹配的第二資料登錄到第二設備中預先訓練完成的向量轉化模型中獲得的向量。
第一設備接收第二設備發送的第二加密向量,並基於接收到的第二加密向量以及第一設備確定的第一加密向量,在第一設備本地確定加密後的第一向量和第二向量的距離。
若基於該第一目標公開金鑰分別對該第一向量中的每個分量以及該第二向量中的每個分量進行同態加密,獲得第一加密向量和第二加密向量,則為了確定加密後的第一向量和第二向量的距離,在一種可能的實施方式中,第一設備基於該第一加密向量以及第二加密向量以及歐式距離公式,確定該加密後的第一向量和第二向量的距離。具體的,根據 ,確定加密後的第一向量和第二向量的距離,其中,該 為第一加密向量中的第i個分量, 為第二加密向量中的第i個分量,該 為加密後的第一向量和第二向量的距離,N為第一加密向量或第二加密向量中包含的分量的數量,且該第一加密向量中包含的分量的數量與該第二加密分量中包含的分量的數量相同,即第一加密向量的長度與第二加密向量的長度相等。
在另外一種可能的實施方式中,第一設備還可以根據該第一加密向量和第二加密向量以及余弦距離公式或者漢明距離公式確定該加密後的第一向量和第二向量的距離。
需要說明的是,由於該第一加密向量和該第二加密向量中每個分量被第一目標公開金鑰進行同態加密了,因此,該確定的加密後的第一向量和第二向量的距離並不是一個實際的數值,而是一種確定運算式。
由於在本發明實施例中,第二資料均未以原始資料的形式離開過第二設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
實施例4: 為了確定加密後的第一向量和第二向量的距離,在上述各實施例的基礎上,在本發明實施例中,該將該第一目標公開金鑰發送給第二設備包括: 將該第一加密向量以及該第一目標公開金鑰發送給該第二設備; 該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 接收該第二設備發送的基於該第一加密向量和該第二加密向量確定的加密後的該第一向量和該第二向量的距離,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的。
為了確定加密後的第一向量和第二向量的距離,在本發明實施例中,第一設備獲得的該加密後該第一向量和第二向量的距離還可以為第二設備確定併發送給第一設備的。
具體的,為了保證第二設備可以獲得加密後的第一向量和第二向量的距離,在本發明實施例中,第一設備在將生成的第一目標公開金鑰發送給第二設備時,還可以將第一加密向量一起發送給第二設備,第二設備在接收到第一設備發送的第一目標公開金鑰以及第一加密向量後,基於該第一目標公開金鑰對第二向量進行同態加密生成第二加密向量,第二設備基於該第二加密向量以及接收到的第一設備發送的第一加密向量確定加密後的第一向量和第二向量的距離,並將該加密後的第一向量和第二向量的距離發送給第一設備,第一設備獲取第二設備發送的加密後的第一向量和第二向量的距離。
若基於該第一目標公開金鑰分別對該第一向量中的每個分量以及該第二向量中的每個分量進行同態加密,獲得第一加密向量和第二加密向量,則為了確定加密後的第一向量和第二向量的距離,在一種可能的實施方式中,第二設備基於該第一加密向量以及第二加密向量以及歐式距離公式,確定加密後的第一向量和第二向量的距離。具體的,根據 ,確定加密後的第一向量和第二向量的距離,其中,該 為第一加密向量中的第i個分量, 為第二加密向量中的第i個分量,該 為加密後的第一向量和第二向量的距離,N為第一加密向量或第二加密向量中包含的分量的數量,且該第一加密向量中包含的分量的數量與該第二加密分量中包含的分量的數量相同,即第一加密向量的長度與第二加密向量的長度相等。
在另外一種可能的實施方式中,第二設備還可以根據該第一加密向量和第二加密向量以及余弦距離公式或者漢明距離公式確定該加密後的第一向量和第二向量的距離。
需要說明的是,由於該第一加密向量和該第二加密向量中每個分量被第一目標公開金鑰進行同態加密了,因此,該確定的加密後的第一向量和第二向量的距離並不是一個實際的數值,而是一種確定運算式。
由於在本發明實施例中,第一資料均未以原始資料的形式離開過第一設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
實施例5: 為了使得第二設備也能確定第一資料以及第二資料是否匹配,在上述各實施例的基礎上,該方法還包括: 接收該第二設備發送的第三加密向量以及該第二設備生成的第二目標公開金鑰;其中,該第三加密向量為該第二設備採用該第二目標公開金鑰對該第二向量進行同態加密後得到的; 基於該第二目標公開金鑰對該第一向量進行同態加密生成第四加密向量; 基於該第三加密向量以及該第四加密向量,確定加密後的該第二向量和該第一向量的距離,並將該加密後的該第二向量和該第一向量的距離發送給該第二設備,以使該第二設備根據加密後的該第二向量和該第一向量的距離以及該第二目標公開金鑰對應的第二目標私密金鑰,對該加密後的該第二向量和該第一向量的距離進行解密,確定該第二向量與該第一向量的目標距離,並根據該第二向量與該第一向量的目標距離及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
為了使得第一設備以及第二設備都能確定第一資料以及第二資料是否匹配,在本發明實施例中,第二設備也需要獲得第一向量和第二向量的目標距離,也就是說,第一設備需要與第二設備實現資料同步。其中,該第一向量和第二向量的目標距離可以是第二設備自身確定的,也可以是第一設備確定了目標距離後發送給第二設備的。
若該第一向量和第二向量的目標距離是第二設備自身確定的,具體的,第一設備可以接收第二設備發送的第二目標公開金鑰以及該第二設備發送的第三加密向量,其中,該第二目標公開金鑰為第二設備自身生成的,且該第三加密向量為第二設備採用該第二目標公開金鑰對第二向量進行同態加密後得到的。第一設備接收到第二設備發送的第二目標公開金鑰後,基於該第二目標公開金鑰對第一向量進行同態加密生成第四加密向量。為了確定加密後的第一向量和第二向量的距離,在本發明實施例中,第一設備基於接收到第二設備發送的第三加密向量以及自身生成的第四加密向量,確定加密後的第一向量和第二向量的距離,並將確定的該加密後的第一向量和第二向量的距離發送給第二設備,使第二設備根據接收到的該加密後的第一向量和第二向量的距離以及該第二設備自身生成的第二目標公開金鑰對應的第二目標私密金鑰,對該加密後的第一向量和第二向量的距離進行解密,確定該第二向量與第一向量的目標距離,並根據該第二向量與第一向量的目標距離及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
下面結合一個具體的例子進行說明: 第一設備將待匹配的第一資料登錄到部署在第一設備中的預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量,第二設備將待匹配的第二資料登錄到部署在第二設備中的預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量。若第一資料U1對應的第一向量為(x1,x2,x3……,xm),第二資料U2對應的第二向量為(y1,y2,y3……,ym)。
第一設備生成第一目標公私密金鑰對A(pka1,ska1),其中,該pka1為第一目標公開金鑰,ska1為第一目標私密金鑰,基於該第一目標公開金鑰對第一向量進行同態加密生成第一加密向量,第一向量(x1,x2,x3……,xm)對應的第一加密向量為( ),並將該第一加密向量以及該第一目標公開金鑰發送給第二設備。
第二設備接收到第一設備發送的第一目標公開金鑰以及第一加密向量後,基於該第一目標公開金鑰對第二向量進行同態加密,獲得第二加密向量。具體的,該第二向量(y1,y2,y3……,ym)對應的第二加密向量為( ),第二設備根據該第二加密向量以及接收到的第一加密向量,確定加密後的第一向量和第二向量的距離併發送給第一設備。
第二設備生成第二目標公私密金鑰對B(pka2,ska2),其中,該pka2為第二目標公開金鑰,ska2為第二目標私密金鑰,基於該第二目標公開金鑰對第二向量進行同態加密生成第三加密向量,該第二向量(y1,y2,y3……,ym)對應的第三加密向量為( ),第二設備將該第二目標公開金鑰以及該第三加密向量發送給第一設備。
第一設備接收到該第二設備發送的第二目標公開金鑰以及該第三加密向量之後,基於該第二目標公開金鑰對該第一向量進行同態加密,獲得第四加密向量,具體的,第一向量(x1,x2,x3……,xm)對應的第四加密向量為( )。第一設備基於該第四加密向量以及第三加密向量,確定加密後的第一向量和第二向量的距離,並將該加密後的第一向量和第二向量的距離發送給第二設備。
第一設備接收到該加密後的第一向量和第二向量的距離後,根據自身生成的第一目標公開金鑰對應的第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,確定第一向量和第二向量的目標距離,第一設備再根據第二向量與第一向量的目標距離及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
第二設備接收到該加密後的第一向量和第二向量的距離後,根據自身生成的第二目標公開金鑰對應的第二目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,確定第一向量和第二向量的目標距離,第二設備再根據第二向量與第一向量的目標距離及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
實施例6: 為了使得第二設備也能確定第一資料以及第二資料是否匹配,在上述各實施例的基礎上,在本發明實施例中,該確定該第一向量和該第二向量的目標距離之後,該方法還包括: 將該第一向量和該第二向量的目標距離發送給該第二設備,使該第二設備基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
為了使得第二設備也能確定第一資料以及第二資料是否匹配,在本發明實施例中,第二設備也需要獲得第一向量和第二向量的目標距離,具體的,該第二設備獲得的第一向量和第二向量的目標距離可以是第一設備獲得後發送給第二設備的。第二設備在接收到第一設備發送的第一向量和第二向量的目標距離後,基於該目標距離以及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
下面以一個具體的例子進行說明: 第一設備將待匹配的第一資料登錄到部署在第一設備中的預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量,第二設備將待匹配的第二資料登錄到部署在第二設備中的預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量。若第一資料U1對應的第一向量為(x1,x2,x3……,xm),第二資料U2對應的第二向量為(y1,y2,y3……,ym)。
第一設備生成第一目標公私密金鑰對A(pka1,ska1),其中,該pka1為第一目標公開金鑰,ska1為第一目標私密金鑰,基於該第一目標公開金鑰對第一向量進行同態加密生成第一加密向量,第一向量(x1,x2,x3……,xm)對應的第一加密向量為( ),並將該第一加密向量以及該第一目標公開金鑰發送給第二設備。
第二設備接收到第一設備發送的第一目標公開金鑰以及第一加密向量後,基於該第一目標公開金鑰對第二向量進行同態加密,獲得第二加密向量。具體的,該第二向量(y1,y2,y3……,ym)對應的第二加密向量為( ),第二設備根據該第二加密向量以及接收到的第一加密向量,確定加密後的第一向量和第二向量的距離併發送給第一設備。
第一設備接收到該加密後的第一向量和第二向量的距離後,根據自身生成的第一目標公開金鑰對應的第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,確定第一向量和第二向量的目標距離,第一設備可以基於該目標距離及預設的第一距離閾值,確定第一資料以及第二資料是否匹配,並且第一設備將該第一向量和第二向量的目標距離發送給第二設備,第二設備根據第二向量與第一向量的目標距離及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
實施例7: 為了確定第一向量和第二向量的目標距離,在上述各實施例的基礎上,在本發明實施例中,該基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和第二向量的目標距離包括: 採用第一設備自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密,確定該第一向量和該第二向量的目標距離。
在本發明實施例中,由於第一設備獲得的加密後的第一向量和第二向量的距離是基於第一加密向量和第二加密向量確定的,且該第一加密向量和該第二加密向量為根據該第一設備生成的第一目標公開金鑰確定的,因此,為了確定第一向量和第二向量的目標距離,第一設備在獲得加密後的第一向量和第二向量的距離後,採用第一設備生成的第一目標公開金鑰對應的第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,確定第一向量和第二向量的目標距離。
實施例8: 為了確定第一加密向量,在上述各實施例的基礎上,在本發明實施例中,該將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量包括: 針對該第一資料中的每個第一子資料,將該第一子資料登錄到預先訓練完成的向量轉化模型中,獲得該第一子資料對應的第一子向量;其中,每個第一子資料對應的第一子向量的長度均為第一預設長度; 將該每個第一子資料對應的第一子向量進行拼接,得到該第一資料對應的該第一向量。
在本發明實施例中,一個第一資料中可能包含一個第一子資料,也可能包含多個第一子資料,比如,該第一資料中包含「上海市浦東新區晴天小賣部」一個第一子資料,該第一資料中還可以包含三個第一子資料,比如,該三個第一子資料分別為:「上海市浦東新區晴天小賣部」、「上海市天天餐飲店」、以及「高科路楊國福麻辣燙」。
為了確定第一資料對應的第一向量,可以針對第一資料中的每個第一子資料,將該第一子資料登錄到預先訓練完成的向量轉化模型中,獲得該第一子資料對應的第一子向量,其中,每個第一子資料包含的文字或者數字或者字元的長度可以不相同,但是每個第一子資料對應的第一子向量的長度均為第一預設長度,其中,該第一預設長度可以為3,也可以為4或者6等等,具體的,該第一預設長度可以根據需求進行設置。
以預先訓練完成的向量轉化模型輸出的向量的維度為5,預先訓練完成的向量轉化模型為詞向量模型為例進行說明,若第一資料中包含三個第一子資料,每個第一子資料都為文字資料,該三個第一子資料分別為「上海市浦東新區晴天小賣部」,「上海市天天餐飲店」以及「高科路楊國福麻辣燙」,則將「上海市浦東新區晴天小賣部」輸入到預先訓練完成的詞向量模型中,輸出的該「上海市浦東新區晴天小賣部」對應的第一子向量為(1.0,2.0,1.5,2.0,3.5),將「上海市天天餐飲店」輸入到預先訓練完成的詞向量模型中,輸出的該「上海市天天餐飲店」對應的第一子向量為(3.0,4.0,2.5,2.5,1.5),將「高科路楊國福麻辣燙」輸入到預先訓練完成的詞向量模型中,輸出的該「高科路楊國福麻辣燙」對應的第一子向量為(4.5,5.5,7.5,1.5,0.5)。
若第一資料中包含三個第一子資料,每個第一子資料都為數字資料,該三個數字資料分別為「12345」,「11111」,以及「22233」,則將「12345」輸入到預先訓練完成的詞向量模型中,輸出的該「12345」對應的第一子向量為(0000000010,0000000100,0000001000,0000010000,0000100000),將「11111」輸入到預先訓練完成的詞向量模型中,輸出的該「11111」對應的第一子向量為(0000000010,0000000010,0000000010,0000000010,0000000010),將「22233」輸入到預先訓練完成的詞向量模型中,輸出的該「22233」對應的第一子向量為(0000000100,0000000100,0000000100,0000001000,0000001000)。
為了確定該第一資料對應的第一向量,在本發明實施例中,在獲得第一資料中每個第一子資料對應的第一子向量後,將每個第一子資料對應的第一子向量進行拼接,將拼接的結果確定為該第一資料對應的第一向量,具體的,可以先隨機對該第一資料中包含的每個第一子資料進行排序,根據第一子資料的排序結果,對第一子資料進對應的第一子向量進行排序並拼接,得到第一向量。
比如,第一資料中包含「上海市浦東新區晴天小賣部」、「上海市天天餐飲店」、以及「高科路楊國福麻辣燙」三個第一子資料時,「上海市浦東新區晴天小賣部」對應的第一子向量為(1.0,2.0,1.5),「上海市天天餐飲店」對應的第一子向量為(3.0,4.0,2.5),「高科路楊國福麻辣燙」對應的第一子向量為(4.5,5.5,7.5),則可以隨機對該第一資料中包含的每個第一子資料進行排序後,獲得的排序結果為「上海市浦東新區晴天小賣部」、「高科路楊國福麻辣燙」、「上海市天天餐飲店」,則按照排序結果,對三個第一子資料對應的第一子向量進行拼接後獲得的第一資料對應的第一向量為(1.0,2.0,1.5,4.5,5.5,7.5,3.0,4.0,2.5)。
為了實現第一資料與第二資料的模糊匹配,在上述各實施例的基礎上,在本發明實施例中,該第一向量和該第二向量的長度均為第二預設長度。
在本發明實施例中,為了實現第一資料與第二資料的模糊匹配,獲得的第一資料對應的第一向量的長度以及第二資料對應的第二向量的長度必須是相同的,且均為第二預設長度,其中,該第二預設長度不小於該第一預設長度,第二預設長度為第一預設長度的整數倍,且若該第一資料中只包含一個第一子資料,則該第一預設長度等於第二預設長度。
由於針對第一資料對應的第一向量的長度和第二資料對應的第二向量的長度均為第二預設長度,因此,即使第一資料與第二資料不相同,也能實現模糊匹配,拓寬了使用場景。
實施例9: 為了確定第一加密向量,在上述各實施例的基礎上,在本發明實施例中,該採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量包括: 針對該第一向量中的每個第一分量,確定該第一分量對應的第一平方分量; 將每個第一分量對應的第一平方分量按照預設的***規則***到該第一向量中,並將***第一平方分量後獲得的向量更新為該第一向量; 基於該第一目標公開金鑰對該第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成該第一加密向量。
為了生成第一加密向量,在本發明實施例中,可以直接基於第一目標公開金鑰對該第一向量進行同態加密,獲得加密後的第一加密向量。為了保證可以在不對第一加密向量和第二加密向量進行解密的前提下,還可以基於第一加密向量和第二加密向量確定加密後的第一向量和第二向量的距離,在本發明實施例中,還可以先針對第一向量中的每個第一分量,確定該第一分量對應的第一平方分量。
比如,若該第一向量為(1,2,4,5,3),則該第一向量中為1的第一分量對應的第一平方分量為1,該第一向量中為2的第一分量對應的第一平方分量為4,該第一向量中為4的第一分量對應的第一平方分量為16,該第一向量中為5的第一分量對應的第一平方分量為25,該第一向量中為3的第一分量對應的第一平方分量為9。
在本發明實施例中,可以針對第一向量中的每個第一分量後,在確定該第一分量對應的第一平方分量後,將每個第一分量對應的第一平方分量按照預設的規則***到第一向量中,並將***第一平方分量後獲得的向量更新為第一向量,具體的,針對每個第一分量對應的第一平方分量,可以將該第一分量對應的第一平方分量***到第一向量中的任意位置,比如,將該第一分量對應的第一平方分量***到第一向量中該第一分量的前面,或者將該第一分量對應的第一平方分量***到該第一向量中該第一分量的後面,或者將第一平方分量按照順序***到第一分量的後面,只要保證第一設備和第二設備能夠識別每個向量中的第一分量和第一平方分量即可。
比如,若該第一向量為(1,2,4,5,3),在確定第一向量中各個第一分量的第一平方分量後,將第一平方分量***到第一向量中,獲得的更新後的第一向量為(1,9,2,16,4,4,5,25,1,3)。
為了便於後續基於***第一平方分量的第一向量,確定加密後的第一向量和第二向量的距離,在本發明實施例中,針對第一向量中的每個第一分量,在確定該第一分量對應的第一平方分量後,還可以將每個第一分量對應的第一平方分量按照預設的***規則***到第一向量中,並將***第一平方分量後獲得的向量更新為第一向量,具體的,可以將該第一分量對應第一平方分量***到該第一向量中該第一分量後面且與該第一分量相鄰的位置。
比如,若該第一向量為(1,2,4,5,3),在確定第一向量中各個第一分量的第一平方分量後,將第一平方分量***到第一向量中,獲得的更新後的第一向量為(1,1,2,4,4,16,5,25,3,9)。
在確定更新後的第一向量後,為了確定第一加密向量,在本發明實施例中,可以基於該第一目標公開金鑰對第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成第一加密向量。
比如,若更新後的第一向量為(2,4,3,9),則第一加密向量為( ),其中,該 表徵基於目標公開金鑰對第一向量中為2的第一分量進行同態加密後的結果,該 表徵基於目標公開金鑰對第一向量中為4的第一分量進行同態加密後的結果,該 表徵基於目標公開金鑰對第一向量中為3的第一分量進行同態加密後的結果,該 表徵基於目標公開金鑰對第一向量中為9的第一分量進行同態加密後的結果。
為了確定加密後的第一向量和第二向量的距離,在上述各實施例的基礎上,在本發明實施例中,該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;並根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量; 根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量; 根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離; 根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
在本發明實施例中,為了確定加密後的第一向量和第二向量的距離,第一設備可以針對預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量,其中一組第一加密分量和第一加密平方分量中是對同一個分量本身和該分量的平方分量進行同態加密得到的。即每組第一加密分量和第一加密平方分量中,該第一加密平方分量為對該第一加密分量在加密前對應的第一分量對應的第一平方分量進行同態加密後獲得的。
具體的,若該預設的***規則為將該第一分量對應的第一平方分量***到該第一向量中該第一分量後面且與該第一分量相鄰的位置,則在確定每組第一加密分量和第一加密分量時,可以直接從該第一向量的第一個分量開始,將待確定分組的分量與該第一向量中該待確定分組的分量的下一個與該待確定分組的分量確定為一組,依次進行劃分,直至確定所有分組對應的第一加密分量和第一加密平方分量。
比如,該第一加密向量為( ),則可以獲得兩組第一加密分量和第一加密平方分量,其中第一組為 ,第二組為 。其中,第一組中的 為該第一組中的第一加密分量, 為該第一組中的第一加密平方分量,第二組中的 為該第二組中的第一加密分量, 為該第二組中的第一加密平方分量。
在本發明實施例中,第一設備在獲得第二設備發送的第二加密向量後,也可以針對預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量,其中,該獲得第一向量時對應的預設的***規則與獲得第二向量時對應的預設的***規則相同,且獲得每組第二加密分量和第二加密平方分量的過程與獲得每組第一加密分量和第一加密平方分量的過程相同,在此不做贅述。
為了確定該加密後的第一向量與第二向量之間的距離,在本發明實施例中,可以根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離,具體的,針對每組,可以先確定該組中第一加密平方分量與第二加密平方分量的目標和值,然後確定該組中第一加密分量、第二加密分量以及預設的數值的目標乘積,其中,在本發明實施例中,該預設的數值為2,最後確定該目標和值與該目標乘積的目標差值,將該目標差值確定為該組加密後的子距離。
在確定每組加密後的子距離後,可以根據每個子距離的和值,確定加密後的第一向量和第二向量的距離。
比如,若確定第一資料對應的第一向量為(1,5),第二資料對應的第二向量為(2,3),在確定第一向量中各個第一分量的第一平方分量後,將各個第一平方分量***到第一向量中,獲得的更新後的第一向量為(1,1,5,25),確定第一加密向量為( ),在確定第二向量中各個第二分量的第二平方分量後,將各個第二平方分量***到第二向量中,獲得的更新後的第二向量為(2,4,3,9),確定第二加密向量為( ),則確定加密的該第一向量和第二向量的距離為[ ]+[ ]。
由於待匹配的第一資料可能包含多個第一子資料,待匹配的第二資料中也可能包含多個第二子資料,因此,針對每個第一子資料以及每個第二子資料,還能確定該加密後的第一子資料的第一子向量和該第二子資料的第二子向量的距離,進而確定每個第一子資料以及每個第二子資料是否匹配,因此,為了方便,可以根據各個加密後的第一子向量和第二子向量的距離,確定加密後的距離矩陣,其中,該加密後的距離矩陣中每個元素為對應的加密後的第一子向量和第二子向量的距離。在基於目標私密金鑰對加密後的距離矩陣進行解密後,確定該目標子距離矩陣,其中,該目標子距離矩陣中每個元素為對應的第一子向量和第二子向量的目標子距離。
在確定每個第一子向量和每個第二子向量的目標子距離後,還可以根據每個目標子距離的和值,確定該第一向量和第二向量的目標距離,且還可以確定每個第一子資料與每個第二子資料是否匹配,具體的,可以預先設置了子距離閾值,針對每個第一子向量以及每個第二子向量,根據該第一子向量和該第二子向量的目標子距離,確定該目標子距離是否小於預先設置的子距離閾值,若是,則確定該第一子向量對應的第一子資料與該第二子向量對應的第二子資料匹配。
圖2a為本發明一些實施例提供的一種目標子距離的顯示示意圖,圖2b為本發明一些實施例提供的一種目標子距離矩陣的顯示示意圖,圖3a為本發明一些實施例提供的另外一種目標子距離的顯示示意圖,圖3b為本發明一些實施例提供的另外一種目標距離子矩陣的顯示示意圖,現針對圖2a、圖2b、圖3a及圖3b進行說明。
D(x,y)表徵的為目標子距離,x表徵的第一向量,y表徵的第二向量,若第一資料中存在三個第一子資料,第二資料中也存在三個第二子資料,且該三個第一資料子對應的第一子向量分別表示為A1、A2以及A3,三個第二子資料對應的第二子向量分別表示為B1、B2以及B3,A1與B1對應的目標子距離為1,A1與B2對應的目標子距離為3.64,A1與B3對應的目標子距離為7.66,A2與B1對應的目標子距離為3.9,A2與B2對應的目標子距離為0,A2與B3對應的目標子距離為5.7,A3與B1對應的目標子距離為8.35,A3與B2對應的目標子距離為5.16,A3與B3對應的目標子距離為8.18,如圖2a所示,對應的目標子距離矩陣如圖2b所示。
若第一資料中存在三個第一子資料,第二資料中也存在三個第二子資料,且該三個第一子資料對應的第一子向量分別表示為A1、A2以及A3,三個第二子資料對應的第二子向量分別表示為B1、B2以及B3,A1與B1對應的目標子距離為2.82,A1與B2對應的目標子距離為1,A1與B3對應的目標子距離為3.16,A2與B1對應的目標子距離為3,A2與B2對應的目標子距離為1.73,A2與B3對應的目標子距離為3,A3與B1對應的目標子距離為0,A3與B2對應的目標子距離為2.83,A3與B3對應的目標子距離為3,如圖3a所示,對應的目標子距離矩陣如圖3b所示。
實施例10: 為了確定第一資料以及第二資料是否匹配,在各上述實施例的基礎上,在本發明實施例中,該基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配包括: 確定該目標距離是否小於預設的第一距離閾值; 若是,則確定該第一資料與該第二資料匹配; 否則,確定該第一資料與該第二資料不匹配。
為了確定該第一資料以及該第二資料是否匹配,在本發明實施例中,將該目標距離以及預設的距離閾值進行比較,若該目標距離小於預設的第一距離閾值,則確定該第一資料以及該第二資料匹配,若該目標距離不小於預設的第一距離閾值,則確定該第一資料以及該第二資料不匹配。其中,該預設的第一距離閾值可以為1,可以為1.5等等,具體的,該預設的第一距離閾值可以根據需求進行設置。其中,該目標距離越小,該第一向量和第二向量越匹配。
為了確定第二資料與第一資料是否完全匹配,在上述各實施例的基礎上,在本發明實施例中,該確定該第一資料與該第二資料匹配之後,該方法還包括: 確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
在本發明實施例中,若該目標距離等於預設的第二距離閾值,則說明該第一資料與該第二資料相同,也就是說,該第一資料與該第二資料完全匹配,其中,該預設的第二距離閾值小於該預設的第一距離閾值,且該預設的第二距離閾值等於0。
實施例11: 為了保證雙方資料不完全相同時也可以進行匹配,拓寬資料匹配的業務範圍,本發明實施例提供了一種資料匹配方法、裝置、設備及介質。
圖4為本發明實施例提供的一種資料匹配方法過程示意圖,該過程包括以下步驟: S401:將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量。
本發明實施例提供的資料匹配方法應用於第二設備,該第二設備可以是智慧終端機、PC或者伺服器等設備,且該第二設備與本發明中的第一設備為不同的設備。
在本發明實施例中,為了保證雙方資料不完全相同時,也能實現模糊匹配,在本發明實施例中,第二設備中部署了預先訓練完成的向量轉化模型,用於獲得待匹配的資料對應的向量,且針對不同的資料,該預先訓練完成的向量轉化模型輸出的向量的維度相同。
為了獲得待匹配的第二資料對應的第二向量,將該第二資料登錄到預先訓練完成的向量轉化模型中,該預先訓練完成的向量轉化模型輸出該第二資料對應的第二向量。
在本發明實施例中,第一資料與第二資料一般為同一種類型的資料,比如,都為文字資料或者都為數字資料。
S402:接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量。
在本發明實施例中,為了確定第二加密向量,第二設備接收第一設備發送的第一目標公開金鑰後,採用該第一目標公開金鑰對第二向量進行同態加密生成第二加密向量。
S403:獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的。
在本發明實施例中,為了實現第二設備也能確定第一資料與第二資料是否匹配,因此該第二設備也獲得了基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,其中,該目標距離可以為第一設備確定後發送給第二設備的,還可以為第二設備確定的。
其中,該第一加密向量為第一設備採用第一設備生成的第一目標公開金鑰對第一向量加密後得到的,第一向量為第一資料登錄到第一設備中的預先訓練完成的向量轉化模型中獲得的。
S404:基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
為了確定該第一資料以及該第二資料是否匹配,在本發明實施例中,將該目標距離以及預設的第一距離閾值進行比較,根據比較結果,確定該第一資料以及該第二資料是否匹配。
由於在本發明實施例中,分別將待匹配的第一資料和第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量以及第二資料對應的第二向量,並獲取基於該第一向量加密後的第一加密向量,以及該第二向量加密後的第二加密向量,確定的加密後的第一向量和第二向量的距離,並基於加密後的第一向量和第二向量的距離以及自身生成的第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於該目標距離以及預設的第一距離閾值確定第一資料和第二資料是否匹配,即在第一資料和第二資料不完全相同時,也能實現第一資料和第二資料的模糊匹配,拓寬了使用場景,且在進行模糊匹配過程中引入了第一目標公開金鑰和第一目標私密金鑰分別進行同態加密和解密,實現了安全求交,保證了匹配過程的安全性,且整個匹配的過程中,第一資料以及第二資料均未以原始資料的形式離開過對應的第一設備以及第二設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
實施例12: 為了確定第二資料對應的第二向量,在各上述實施例的基礎上,在本發明實施例中,該將獲取到待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量包括: 確定待匹配的第二資料對應的第二目標資料類型; 根據該第二目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先完成的第二目標向量轉化模型; 將該第二資料登錄到該預先訓練完成的第二目標向量轉化模型中,獲得該第二資料對應的第二向量。
在本發明實施例中,由於待匹配的第二資料可以為文字資料,比如,該第一資料可以為姓名、性別、位址等等,也可以為數字資料,比如,該第二資料可以為身份證號、銀行卡號以及准考證號等等,因此,針對不同資料類型的第二資料,獲得對應的第二向量的預先訓練完成的向量轉化模型也不相同。
具體的,可以在第二設備中保存有資料類型和預先完成的向量轉化模型的對應關係,根據獲取到的待匹配的第二資料對應的第二目標資料類型,採用對應的預先訓練完成的向量轉化模型,獲取該第二資料對應的第二向量;其中,該對應的預先訓練完成的向量轉化模型也就是預先訓練完成的第二目標向量轉化模型。
圖5a為本發明一些實施例提供的一種獲取文字類型資料對應的向量的過程示意圖,圖5b為本發明一些實施例提供的一種獲取數字類型資料對應的向量的過程示意圖,現針對圖5a和圖5b進行說明。
若待匹配的資料為文字資料,該待匹配的資料可以為第一資料或者第二資料,則該先訓練完成的向量轉化模型為詞向量模型,將該文字資料登錄到的預先訓練完成的詞向量模型中,該詞向量模型輸出該文字資料對應的向量。
若待匹配的資料為數字資料,該待匹配的資料可以為第一資料或者第二資料,則該預先訓練完成的向量轉化模型為One-Hot編碼模型,將該數字資料登錄到預先訓練完成的One-Hot編碼模型中,該One-Hot編碼模型輸出該數字資料對應的向量。
為了準確的確定將第二資料轉換為第二向量的模型,在上述各實施例的基礎上,若該第二目標資料類型為文字類型,對應的預先訓練完成的第二目標向量轉化模型為詞向量模型或句向量模型;若該第二目標資料類型為數字類型,對應的預先訓練完成的第二目標向量轉化模型為獨熱編碼模型。
在本發明實施例中,若該第二資料為文字資料,則為了獲得該文字資料對應的第二向量,第二設備中部署的預先訓練完成的向量轉化模型可以為詞向量模型或者句向量模型,若該第二資料為數字資料,則為了確定該數字資料對應的第二向量,第二設備中部署的預先訓練完成的向量轉化模型可以為One-Hot編碼模型。
具體的,若該第二資料為文字資料,則根據預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先完成的第二目標向量轉化模型為詞向量模型,並基於該預先訓練完成的詞向量模型,獲取該第二資料對應的第二向量;若該第二資料為數字資料,則根據預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先完成的第二目標向量轉化模型為One-Hot編碼模型,並基於該預先訓練完成的One-Hot編碼模型,獲取該第二資料對應的第二向量。
其中,在對向量轉化模型進行訓練時,可以預先標注每個資料和資料對應的標注向量,將每個資料和對應的標注向量輸入到原始向量轉化模型中,根據原始向量轉化模型輸出的預測向量及對應的標注向量,對該原始向量轉化模型的參數進行調整,當滿足收斂條件時,確定向量轉化模型訓練完成。
實施例13: 為了獲得基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,在上述各實施例的基礎上,該接收第一設備發送的該目標公開金鑰包括: 接收該第一設備發送的該第一目標公開金鑰以及該第一加密向量,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量進行同態加密後得到的; 該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括: 根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離; 將該加密後的該第一向量和第二向量的距離發送給該第一設備; 接收該第一設備發送的該目標距離,其中,該目標距離為該第一設備採用自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密後得到的。
在本發明實施例中,第二設備獲得的基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離可以為第一設備確定併發送給第二設備的,還可以為第二設備確定的。
由於第一加密向量和第二加密向量為基於第一設備生成的第一目標公開金鑰對第一向量和第二向量進行同態加密生成的,因此,在確定加密後的第一向量和第二向量的距離後,也需要基於該第一設備產生的第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,若該第一向量和第二向量的目標距離為第二設備確定的,則第二設備需要接收第一設備發送的該第一目標私密金鑰,若在發送過程中存在漏洞或者攻擊,則影響資訊的安全,安全性不高。
為了提高安全性,在本發明實施例中,該目標距離可以為第一設備確定的,併發送給第二設備的,具體的,第二設備在接收第一設備發送的第一目標公開金鑰的同時,還可以接收第一設備確定的第一加密向量,其中,該第一加密向量為第一設備採用該第一目標公開金鑰對第一向量進行同態加密後得到的。
第二設備在接收第一設備發送的第一加密向量以及第一目標公開金鑰後,可以先基於該第一目標公開金鑰對第二向量進行同態加密,確定第二加密向量,然後基於該第一加密向量和第二加密向量,確定加密後的第一向量和第二向量的距離,由於第一加密向量和第二加密向量都是基於第一設備生成的第一目標公私密金鑰對中的第一目標公開金鑰加密生成的,因此,在本發明實施例中,為了確定第一向量和第二向量的目標距離,第二設備可以將確定的加密後的第一向量和第二向量的距離發送給第一設備,以使第一設備根據生成的第一目標公私密金鑰對中的第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密生成目標距離,並將該目標距離發送給第二設備,第二設備接收該第一設備發送的目標距離。
由於在本發明實施例中,第一資料均未以原始資料的形式離開過第一設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
實施例14: 為了獲得基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,在上述各實施例的基礎上,該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括: 向該第一設備發送該第二加密向量,以使該第一設備基於該第二加密向量以及採用自身生成的該第一目標公開金鑰對該第一向量進行同態加密後得到的該第一加密向量,確定加密後的該第一加密向量和該第二加密向量的距離; 接收該第一設備發送的該第一向量和第二向量的目標距離,其中,該目標距離為該第一設備基於自身生成的該第一目標公開金鑰對應的目標私密金鑰對該加密後的該第一向量和第二向量的距離解密得到的。
在本發明實施例中,為了獲取基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,第一設備除了可以向第二設備發送第一目標公開金鑰以及第一加密向量,以使第二設備基於第一加密向量和基於第一目標公開金鑰對第二向量加密生成的第二加密向量,確定加密後的第一向量和第二向量的距離以外,第一設備還可以只將第一目標公開金鑰發送給第二設備。
第二設備在接收到第一設備發送的第一目標公開金鑰後,基於該第一目標公開金鑰對第二向量進行同態加密,生成第二加密向量後,將該第二加密向量發送給第一設備,以使第一設備基於該第二加密向量以及第一加密向量,確定該加密後的第一加密向量和第二加密向量的距離,並基於自身生成的第一目標公私密金鑰對中的第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,確定該第一向量和第二向量的目標距離併發送給第二設備,第二設備接收第一設備發送的第一向量和第二向量的目標距離,並可以基於該目標距離,確定第一資料和第二資料是否匹配。
圖6為本發明一些實施例提供的一種雙方資料進行模糊匹配的整體過程示意圖,現針對圖6進行說明。
將待匹配的第一資料和第二資料登錄到預先訓練完成的向量轉化模型中,輸出待匹配的第一資料對應的第一向量,以及待匹配的第二資料對應的第二向量,基於第一目標公開金鑰對該第一向量和第二向量分別進行同態加密,獲得第一加密向量和第二加密向量,根據該第一加密向量和第二加密向量,確定該加密後的第一向量和第二向量的距離,基於第一目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,確定該第一向量和第二向量的目標距離,根據目標距離以及預設的第一距離閾值進行比較,確定匹配結果。
圖7為本發明一些實施例提供的一種雙方資料進行模糊匹配的具體過程示意圖,現針對圖7進行說明。
第一設備將待匹配的第一資料登錄到部署在第一設備中的預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量,第二設備將待匹配的第二資料登錄到部署在第二設備中的預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量。如圖7所述,第一資料包含四個第一子資料,分別為U1、U2、U3、U4,且U1對應的第一子向量為(x11,x12,x13……,x1m),U2對應的第一子向量為(x21,x22,x23……,x2m),U3對應的第一子向量為(x31,x32,x33……,x3m),U4對應的第一子向量為(x41,x42,x43……,x4m)。第一資料對應的第一向量為(x11,x12,x13……,x1m,x21,x22,x23……,x2m,x31,x32,x33……,x3m,x41,x42,x43……,x4m)。第二資料包含四個第二子資料,分別為U5、U6、U7、U8,且U5對應的第二子向量為(y11,y12,y13……,y1m),U6對應的第二子向量為(y21,y22,y23……,y2m),U7對應的第二子向量為(y31,y32,y33……,y3m),U8對應的第二子向量為(y41,y42,y43……,y4m),第二資料對應的第二向量為(y11,y12,y13……,y1m,y21,y22,y23……,y2m,y31,y32,y33……,y3m,y41,y42,y43……,y4m)。
第一設備生成第一目標公私密金鑰對A(pka,ska),其中,該pka為第一目標公開金鑰,ska為第一目標私密金鑰,該第一目標公私密金鑰對為同態加密目標公私密金鑰對。基於該第一目標公開金鑰對第一向量進行同態加密生成第一加密向量,(x11,x12,x13……,x1m,x21,x22,x23……,x2m,x31,x32,x33……,x3m,x41,x42,x43……,x4m)對應的第一加密向量為( )。其中該第一加密向量中包含m/2組加密後的第一加密分量和第一加密平方分量。
第一設備將該第一目標公開金鑰以及第一加密向量發送給第二設備,第二設備在接收到該第一目標公開金鑰以及第一加密向量後,基於該第一目標公開金鑰對第二向量進行同態加密生成第二加密向量,(y11,y12,y13……,y1m,y21,y22,y23……,y2m,y31,y32,y33……,y3m,y41,y42,y43……,y4m)對應的第二加密向量為( )。其中該第二加密向量中包含m/2組加密後的第二加密分量和第二加密平方分量。
針對每個加密後第一子向量以及對應的每個加密後的第二子向量,第二設備確定加密後的第一子向量和該第二子向量之間的距離,基於每個加密後的第一子向量和該第二子向量之間的距離,確定加密後的距離矩陣,並將該加密後的距離矩陣發送給第一設備。
第一設備在接收到第二設備發送的加密的距離矩陣後,基於該第一設備生成的第一目標私密金鑰對該加密的距離矩陣進行解密,也就是說,對每個加密後的第一子向量和該第二子向量之間的距離進行解密,獲得目標子距離矩陣,第一設備基於該目標子距離矩陣,確定各個第一子資料與各個第二子資料是否匹配,其中,該目標子距離矩陣中每個元素為對應的目標子距離,將該目標子距離矩陣發送給第二設備,第二設備也獲得該目標子距離矩陣,第二設備基於該目標子距離矩陣,確定各個第一子資料與各個第二子資料是否匹配。
實施例15: 為了獲得基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,在上述各實施例的基礎上,該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括: 採用自身生成的第二目標公開金鑰對該第二向量進行同態加密,獲得第三加密向量,並將該第二目標公開金鑰以及該第三加密向量發送給該第一設備; 接收該第一設備發送的基於該第三加密向量以及第四加密向量,確定加密後的該第二向量和該第一向量的距離,其中,該第四加密向量為採用該第二目標公開金鑰對該第一向量進行同態加密生成的; 基於該加密後的該第一向量和第二向量的距離及該第二目標公開金鑰對應的第二目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
為了使得第一設備以及第二設備都能確定第一資料以及第二資料是否匹配,在本發明實施例中,第二設備也可以獲得第一向量和第二向量的目標距離,其中,該第一向量和第二向量的目標距離可以是第二設備對接收到第一設備發送的加密後的第一向量和第二向量的距離進行解密後獲得的。
具體的,第二設備可以採用自身生成的第二目標公開金鑰對第二向量進行同態加密,獲得第三加密向量,並將該第三加密向量以及第二目標公開金鑰發送給該第一設備,第一設備在接收到該第三加密向量以及第二目標公開金鑰後,基於該第二目標公開金鑰對第一向量進行同態加密,獲得第四加密向量。第一設備可以根據該第三加密向量以及第四加密向量確定加密後的第一向量和第二向量的距離,並將該加密後的第一向量和第二向量的距離發送給第二設備,第二設備接收到該加密後的第一向量和第二向量的距離後,採用自身生成的第二目標公開金鑰對應的第二目標私密金鑰對該加密後的第一向量和第二向量的距離進行解密,獲得第一向量和第二向量的目標距離,並根據該第一向量和第二向量的目標距離以及預設的第一距離閾值,確定第一資料以及第二資料是否匹配。
其中,第二設備根據第一向量和第二向量的目標距離以及預設的第一距離閾值,確定第一資料以及第二資料是否匹配的過程,與第一設備根據第一向量和第二向量的目標距離以及預設的第一距離閾值,確定第一資料以及第二資料是否匹配的過程相同,在此不做贅述。
由於在本發明實施例中,第二資料均未以原始資料的形式離開過第二設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
實施例16: 為了獲得基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,在上述各實施例的基礎上,該將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量包括: 針對該第二資料中的每個第二子資料,將該第二子資料登錄到預先訓練完成的向量轉化模型中,獲得該第二子資料對應的第二子向量;其中,每個第二子資料對應的第二子向量的長度均為第一預設長度; 將該每個第二子資料對應的第二子向量進行拼接,得到該第二資料對應的該第二向量。
在本發明實施例中,一個第二資料中可能包含一個第二子資料,也可能包含多個第二子資料,比如,該第二資料中包含「上海市浦東新區晴天小賣部」一個第二子資料,該第二資料中還可以包含三個第二子資料,比如,該三個第二子資料分別為:「上海市浦東新區晴天小賣部」、「上海市天天餐飲店」、以及「高科路楊國福麻辣燙」。
為了確定第二資料對應的第二向量,可以針對第二資料中的每個第二子資料,將該第二子資料登錄到預先訓練完成的向量轉化模型中,獲得該第二子資料對應的第二子向量,其中,每個第二子資料包含的文字或者數字或者字元的長度可以不相同,但是每個第二子資料對應的第二子向量的長度均為第一預設長度,其中,該第一預設長度可以為3,也可以為4或者6等等,具體的,該第一預設長度可以根據需求進行設置。
比如,第二資料中包含「上海市浦東新區晴天小賣部」、「上海市天天餐飲店」、以及「高科路楊國福麻辣燙」三個第二子數據時,將「上海市浦東新區晴天小賣部」輸入到預先訓練完成的詞向量模型中,輸出的該「上海市浦東新區晴天小賣部」對應的第二子向量為(2.0,3.0,2.5,1.0,1.5),將「上海市天天餐飲店」輸入到預先訓練完成的詞向量模型中,輸出的該「上海市天天餐飲店」對應的第二子向量為(2.3,4.4,3.5,4.5,2.5),將「高科路楊國福麻辣燙」輸入到預先訓練完成的詞向量模型中,輸出的該「高科路楊國福麻辣燙」對應的第二子向量為(2.5,2.7,8.3,4.5,1.5)。
若第二資料中包含三個第二子資料,每個第二子資料都為數字資料,該三個數字資料分別為「54321」,「00001」,以及「33322」,則將「54321」輸入到預先訓練完成的詞向量模型中,輸出的該「54321」對應的第二子向量為(0000100000,0000010000,0000001000,0000000100,0000000010),將「00001」輸入到預先訓練完成的詞向量模型中,輸出的該「000011」對應的第二子向量為(0000000000,0000000000,0000000000,0000000010,0000000010),將「33322」輸入到預先訓練完成的詞向量模型中,輸出的該「22233」對應的第二子向量為(0000000010,0000000010,0000000010,0000000100,0000000100)。
為了確定該第二資料對應的第二向量,在本發明實施例中,在獲得第二資料中每個第二子資料對應的第二子向量後,將每個第二子資料對應的第二子向量進行拼接,將拼接的結果確定為該第二資料對應的第二向量,具體的,可以先隨機對該第二資料中包含的每個第二子資料進行排序,根據第二子資料的排序結果,對第二子資料進對應的第二子向量進行排序並拼接,得到第二向量。
比如,第二資料中包含「上海市浦東新區晴天小賣部」、「上海市天天餐飲店」、以及「高科路楊國福麻辣燙」三個第二子資料時,「上海市浦東新區晴天小賣部」對應的第二子向量為(1.0,2.0,1.5),「上海市天天餐飲店」對應的第二子向量為(3.0,4.0,2.5),「高科路楊國福麻辣燙」對應的第二子向量為(4.5,5.5,7.5),則可以隨機對該第二資料中包含的每個第二子資料進行排序後,獲得的排序結果為「上海市浦東新區晴天小賣部」、「高科路楊國福麻辣燙」、「上海市天天餐飲店」,則按照排序結果,對三個第二子資料對應的第二子向量進行拼接後獲得的第二資料對應的第二向量為(1.0,2.0,1.5,4.5,5.5,7.5,3.0,4.0,2.5)。
為了實現第一資料與第二資料的模糊匹配,在上述各實施例的基礎上,該第一向量和該第二向量的長度均為第二預設長度。
在本發明實施例中,為了實現第一資料與第二資料的模糊匹配,獲得的第一資料對應的第一向量的長度以及第二資料對應的第二向量的長度必須是相同的,且均為第二預設長度,其中,該第二預設長度不小於該第一預設長度,第二預設長度為第一預設長度的整數倍,且若該第二資料中若只包含一個第二子資料,則該第一預設長度等於第二預設長度。
由於針對第一資料對應的第一向量的長度和第二資料對應的第二向量的長度均為第二預設長度,因此,即使第一資料與第二資料不相同,也能實現模糊匹配,拓寬了使用場景。
實施例17: 為了確定第二加密向量,在上述各實施例的基礎上,該採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量包括: 針對該第二向量中的每個第二分量,確定該第二分量對應的第二平方分量; 將每個第二分量對應的第二平方分量按照預設的***規則***到該第二向量中,並將***第二平方分量後獲得的向量更新為該第二向量; 基於該第一目標公開金鑰對該第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成該第二加密向量。
為了生成第二加密向量,在本發明實施例中,可以直接基於第一目標公開金鑰對該第二向量進行同態加密,獲得加密後的第二加密向量。為了保證可以在不對第二加密向量和第二加密向量進行解密的前提下,還可以基於第一加密向量和第二加密向量確定加密後的第一向量和第二向量的距離,在本發明實施例中,還可以先針對第二向量中的每個第二分量,確定該第二分量對應的第二平方分量。
比如,若該第二向量為(1,2,4,5,3),則該第二向量中為1的第二分量對應的第二平方分量為1,該第二向量中為2的第二分量對應的第二平方分量為4,該第二向量中為4的第二分量對應的第二平方分量為16,該第二向量中為5的第二分量對應的第二平方分量為25,該第二向量中為3的第二分量對應的第二平方分量為9。
在本發明實施例中,可以針對第二向量中的每個第二分量後,在確定該第二分量對應的第二平方分量後,將每個第二分量對應的第二平方分量按照預設的規則***到第二向量中,並將***第二平方分量後獲得的向量更新為第二向量,具體的,針對每個第二分量對應的第二平方分量,可以將該第二分量對應的第二平方分量***到第二向量中的任意位置,比如,將該第二分量對應的第二平方分量***到第二向量中該第二分量的前面,或者將該第二分量對應的第二平方分量***到該第二向量中該第二分量的後面,或者將第二平方分量按照順序***到第二分量的後面,只要保證第一設備和第二設備能夠識別每個向量中的第二分量和第二平方分量即可。
比如,若該第二向量為(1,2,4,5,3),在確定第二向量中各個第二分量的第二平方分量後,將第二平方分量***到第二向量中,獲得的更新後的第二向量為(1,9,2,16,4,4,5,25,1,3)。
為了便於後續基於***第二平方分量的第二向量確定加密後的第一向量和第二向量的距離,在本發明實施例中,針對第二向量中的每個第二分量後,在確定該第二分量對應的第二平方分量後,還可以將每個第二分量對應的第二平方分量按照預設的***規則***到第二向量中,並將***第二平方分量後獲得的向量更新為第二向量,具體的,可以將該第二分量對應第二平方分量***到該第二向量中該第二分量後面且與該第二分量相鄰的位置。
比如,若該第二向量為(1,2,4,5,3),在確定第二向量中各個第二分量的第二平方分量後,將第二平方分量***到第二向量中,獲得的更新後的第二向量為(1,1,2,4,4,16,5,25,3,9)。
在確定更新後的第二向量後,為了確定第二加密向量,在本發明實施例中,可以基於該第一目標公開金鑰對第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成第二加密向量。
比如,若更新後的第二向量為(2,4,3,9),則第二加密向量為( ),其中,該 表徵基於目標公開金鑰對第二向量中為2的第二分量進行同態加密後的結果,該 表徵基於目標公開金鑰對第二向量中為4的第二分量進行同態加密後的結果,該 表徵基於目標公開金鑰對第二向量中為3的第二分量進行同態加密後的結果,該 表徵基於目標公開金鑰對第二向量中為9的第二分量進行同態加密後的結果。
實施例18: 為了獲得基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,在上述各實施例的基礎上,該根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離包括: 根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;並根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量; 根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量; 根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離; 根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
在本發明實施例中,為了確定加密後的第一向量和第二向量的距離,第二設備可以針對預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量,其中一組第二加密分量和第二加密平方分量中是對同一個分量本身和該分量的平方分量進行同態加密得到的。即每組第二加密分量和第二加密平方分量中,該第二加密平方分量為對該第二加密分量在加密前對應的第二分量對應的第二平方分量進行同態加密後獲得的。
具體的,若該預設的***規則為將該第二分量對應的第二平方分量***到該第二向量中該第二分量後面且與該第二分量相鄰的位置。則在確定每組第二加密分量和第二加密分量時,可以直接從該第二向量的第一個分量開始,將待確定分組的分量與該第二向量中該待確定分組的分量的下一個與該待確定分組的分量確定為一組,依次進行劃分,直至確定所有分組對應的第二加密分量和第二加密平方分量。
比如,該第二加密向量為( ),則可以獲得兩組第二加密分量和第二加密平方分量,其中第二組為 ,第二組為 。其中,第二組中的 為該第二組中的第二加密分量, 為該第二組中的第二加密平方分量,第二組中的 為該第二組中的第二加密分量, 為該第二組中的第二加密平方分量。
在本發明實施例中,第二設備在獲得第一設備發送的第一加密向量後,也可以針對預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量,其中,該獲得第二向量時對應的預設的***規則與獲得第一向量時對應的預設的***規則相同,且獲得每組第二加密分量和第二加密平方分量的過程與獲得每組第一加密分量和第一加密平方分量的過程相同,在此不做贅述。
為了確定該加密後的第一向量與第二向量之間的距離,在本發明實施例中,可以根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離,具體的,針對每組,可以先確定該組中第一加密平方向量,與第二加密平方分量的目標和值,然後確定該組中第一加密分量、第二加密分量以及預設的數值的目標乘積,其中,在本發明實施例中,該預設的數值為2,最後確定該目標和值與該目標乘積的目標差值,將該目標差值確定為該組確定的加密後的子距離。
在確定每組的加密後的子距離後,可以根據每個子距離的和值,確定加密後的第一向量和第二向量的距離。
實施例19: 為了確定第一資料以及第二資料是否匹配,在上述各實施例的基礎上,該基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配包括: 確定該目標距離是否小於預設的第一距離閾值; 若是,則確定該第一資料與該第二資料匹配; 否則,確定該第一資料與該第二資料不匹配。
為了確定該第一資料以及該第二資料是否匹配,在本發明實施例中,將該目標距離以及預設的距離閾值進行比較,若該目標距離小於預設的第一距離閾值,則確定該第一資料以及該第二資料匹配,若該目標距離不小於預設的第一距離閾值,則確定該第一資料以及該第二資料不匹配。其中,該預設的第一距離閾值可以為1,可以為1.5等等,具體的,該預設的第一距離閾值可以根據需求進行設置。其中,該目標距離越小,該第一向量和第二向量越匹配。
為了獲得基於第一加密向量和第二加密向量確定的第一向量和第二向量的目標距離,在上述各實施例的基礎上,該確定該第一資料與該第二資料匹配之後,該方法還包括: 確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
在本發明實施例中,若該目標距離等於預設的第二距離閾值,則說明該第一資料與該第二資料相同,也就是說,該第一資料與該第二資料完全匹配,其中了,該預設的第二距離閾值小於該預設的第一距離閾值,且該預設的第二距離閾值等於0。
實施例20: 圖8為本發明一些實施例提供的一種資料匹配裝置結構示意圖,該裝置包括: 第一獲取模組801,用於將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量; 第一處理模組802,用於採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備; 該第一獲取模組801,還用於獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的; 第一確定模組803,用於基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
在一種可能的實施方式中,該第一獲取模組801,具體用於確定該第一資料對應的第一目標資料類型;根據該第一目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一資料對應的預先訓練完成的第一目標向量轉化模型;將該第一資料登錄到該預先訓練完成的第一目標向量轉化模型中,獲得該第一資料對應的該第一向量。
在一種可能的實施方式中,該第一處理模組802,具體用於將該第一加密向量以及該第一目標公開金鑰發送給該第二設備; 該第一獲取模組801,具體用於接收該第二設備發送的基於該第一加密向量和該第二加密向量確定的加密後的該第一向量和該第二向量的距離,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的。
在一種可能的實施方式中,該第一處理模組802,還用於接收該第二設備發送的第三加密向量以及該第二設備生成的第二目標公開金鑰;其中,該第三加密向量為該第二設備採用該第二目標公開金鑰對該第二向量進行同態加密後得到的;基於該第二目標公開金鑰對該第一向量進行同態加密生成第四加密向量;基於該第三加密向量以及該第四加密向量,確定加密後的該第二向量和該第一向量的距離,並將該加密後的該第二向量和該第一向量的距離發送給該第二設備,以使該第二設備根據加密後的該第二向量和該第一向量的距離以及該第二目標公開金鑰對應的第二目標私密金鑰,對該加密後的該第二向量和該第一向量的距離進行解密,確定該第二向量與該第一向量的目標距離,並根據該第二向量與該第一向量的目標距離及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
在一種可能的實施方式中,該第一處理模組801,還用於將該第一向量和該第二向量的目標距離發送給該第二設備,使該第二設備基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
在一種可能的實施方式中,該第一獲取模組801,具體用於採用第一設備自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密,確定該第一向量和該第二向量的目標距離。
在一種可能的實施方式中,該第一獲取模組801,具體用於針對該第一資料中的每個第一子資料,將該第一子資料登錄到預先訓練完成的向量轉化模型中,獲得該第一子資料對應的第一子向量;其中,每個第一子資料對應的第一子向量的長度均為第一預設長度;將該每個第一子資料對應的第一子向量進行拼接,得到該第一資料對應的該第一向量。
在一種可能的實施方式中,該第一處理模組802,具體用於針對該第一向量中的每個第一分量,確定該第一分量對應的第一平方分量;將每個第一分量對應的第一平方分量按照預設的***規則***到該第一向量中,並將***第一平方分量後獲得的向量更新為該第一向量;基於該第一目標公開金鑰對該第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成該第一加密向量。
在一種可能的實施方式中,該第一獲取模組801,具體用於根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;並根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離;根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
在一種可能的實施方式中,該第一確定模組803,具體用於確定該目標距離是否小於預設的第一距離閾值;若是,則確定該第一資料與該第二資料匹配;否則,確定該第一資料與該第二資料不匹配。
在一種可能的實施方式中,該第一確定模組803,還用於確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
實施例21: 圖9為本發明一些實施例提供的一種資料匹配裝置結構示意圖,該裝置包括: 第二獲取模組901,用於將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量; 第二處理模組902,用於接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量; 該第二獲取模組901,還用於獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的; 第二確定模組903,用於基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
在一種可能的實施方式中,該第二獲取模組901,具體用於確定該第二資料對應的第二目標資料類型;根據該第二目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先訓練完成的第二目標向量轉化模型;將該第二資料登錄到該預先訓練完成的第二目標向量轉化模型中,獲得該第二資料對應的該第二向量。
在一種可能的實施方式中,該第二處理模組902,具體用於接收該第一設備發送的該第一目標公開金鑰以及該第一加密向量,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量進行同態加密後得到的; 該第二獲取模組901,具體用於根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離;將該加密後的該第一向量和第二向量的距離發送給該第一設備;接收該第一設備發送的該目標距離,其中,該目標距離為該第一設備採用自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密後得到的。
在一種可能的實施方式中,該第二獲取模組901,具體用於向該第一設備發送該第二加密向量,以使該第一設備基於該第二加密向量以及該第一加密向量,確定加密後的該第一加密向量和該第二加密向量的距離;接收該第一設備發送的該第一向量和第二向量的目標距離,其中,該目標距離為該第一設備基於自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一加密向量和該第二加密向量的距離解密得到的。
在一種可能的實施方式中,該第二獲取模組901,具體用於採用自身生成的第二目標公開金鑰對該第二向量進行同態加密,獲得第三加密向量,並將該第二目標公開金鑰以及該第三加密向量發送給該第一設備;接收該第一設備發送的基於該第三加密向量以及第四加密向量,確定加密後的該第二向量和該第一向量的距離,其中,該第四加密向量為採用該第二目標公開金鑰對該第一向量進行同態加密生成的;基於該加密後的該第一向量和第二向量的距離及該第二目標公開金鑰對應的第二目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
在一種可能的實施方式中,該第二獲取模組901,具體用於針對該第二資料中的每個第二子資料,將該第二子資料登錄到預先訓練完成的向量轉化模型中,獲得該第二子資料對應的第二子向量;其中,每個第二子資料對應的第二子向量的長度均為第一預設長度;將該每個第二子資料對應的第二子向量進行拼接,得到該第二資料對應的該第二向量。
在一種可能的實施方式中,該第二處理模組902,具體用於針對該第二向量中的每個第二分量,確定該第二分量對應的第二平方分量;將每個第二分量對應的第二平方分量按照預設的***規則***到該第二向量中,並將***第二平方分量後獲得的向量更新為該第二向量;基於該第一目標公開金鑰對該第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成該第二加密向量。
在一種可能的實施方式中,該第二獲取模組901,具體用於根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;並根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離;根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
在一種可能的實施方式中,該第二確定模組903,具體用於確定該目標距離是否小於預設的第一距離閾值;若是,則確定該第一資料與該第二資料匹配;否則,確定該第一資料與該第二資料不匹配。
在一種可能的實施方式中,該第二確定模組903,還用於確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
實施例22: 在上述各實施例的基礎上,本發明一些實施例還提供了一種電子設備,如圖10所示,包括:處理器1001、通信介面1002、記憶體1003和通信匯流排1004,其中,處理器1001,通信介面1002,記憶體1003通過通信匯流排1004完成相互間的通信。
該記憶體1003中存儲有電腦程式,當該程式被該處理器1001執行時,使得該處理器1001執行如下步驟: 將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量; 採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備; 獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的; 基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該處理器1001,還用於確定該第一資料對應的第一目標資料類型;根據該第一目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一資料對應的預先訓練完成的第一目標向量轉化模型;將該第一資料登錄到該預先訓練完成的第一目標向量轉化模型中,獲得該第一資料對應的該第一向量。
進一步地,該處理器1001,還用於接收該第二設備發送的該第二加密向量,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的;基於該第一加密向量以及該第二加密向量,確定加密後的該第一向量和該第二向量的距離。
進一步地,該處理器1001,還用於將該第一加密向量以及該第一目標公開金鑰發送給該第二設備;接收該第二設備發送的基於該第一加密向量和該第二加密向量確定的加密後的該第一向量和該第二向量的距離,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的。
進一步地,該處理器1001,還用於接收該第二設備發送的第三加密向量以及該第二設備生成的第二目標公開金鑰;其中,該第三加密向量為該第二設備採用該第二目標公開金鑰對該第二向量進行同態加密後得到的;基於該第二目標公開金鑰對該第一向量進行同態加密生成第四加密向量;基於該第三加密向量以及該第四加密向量,確定加密後的該第二向量和該第一向量的距離,並將該加密後的該第二向量和該第一向量的距離發送給該第二設備,以使該第二設備根據加密後的該第二向量和該第一向量的距離以及該第二目標公開金鑰對應的第二目標私密金鑰,對該加密後的該第二向量和該第一向量的距離進行解密,確定該第二向量與該第一向量的目標距離,並根據該第二向量與該第一向量的目標距離及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該處理器1001,還用於將該第一向量和該第二向量的目標距離發送給該第二設備,使該第二設備基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該處理器1001,還用於採用第一設備自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密,確定該第一向量和該第二向量的目標距離。
進一步地,該處理器1001,還用於針對該第一資料中的每個第一子資料,將該第一子資料登錄到預先訓練完成的向量轉化模型中,獲得該第一子資料對應的第一子向量;其中,每個第一子資料對應的第一子向量的長度均為第一預設長度;將該每個第一子資料對應的第一子向量進行拼接,得到該第一資料對應的該第一向量。
進一步地,該處理器1001,還用於針對該第一向量中的每個第一分量,確定該第一分量對應的第一平方分量;將每個第一分量對應的第一平方分量按照預設的***規則***到該第一向量中,並將***第一平方分量後獲得的向量更新為該第一向量;基於該第一目標公開金鑰對該第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成該第一加密向量。
進一步地,該處理器1001,還用於根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;並根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離;根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
進一步地,該處理器1001,還用於確定該目標距離是否小於預設的第一距離閾值;若是,則確定該第一資料與該第二資料匹配;否則,確定該第一資料與該第二資料不匹配。
進一步地,該處理器1001,還用於確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
上述伺服器提到的通信匯流排可以是外設部件互連標準(Peripheral Component Interconnect,PCI)匯流排或延伸工業標準架構(Extended Industry Standard Architecture,EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
通信介面1002用於上述電子設備與其他設備之間的通信。
記憶體可以包括隨機存取記憶體(Random Access Memory,RAM),也可以包括非易失性記憶體(Non-Volatile Memory,NVM),例如至少一個磁碟記憶體。可選地,記憶體還可以是至少一個位於遠離前述處理器的存儲裝置。
上述處理器可以是通用處理器,包括中央處理器、網路處理器(Network Processor,NP)等;還可以是數字指令處理器(Digital Signal Processing,DSP)、專用積體電路、現場可程式設計門陳列或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。
實施例23: 在上述各實施例的基礎上,本發明一些實施例還提供了一種電子設備,如圖11所示,包括:處理器1101、通信介面1102、記憶體1103和通信匯流排1104,其中,處理器1101,通信介面1102,記憶體1103通過通信匯流排1104完成相互間的通信。
該記憶體1103中存儲有電腦程式,當該程式被該處理器1101執行時,使得該處理器1101執行如下步驟: 將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量; 接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量; 獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的; 基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該處理器1101,還用於確定該第二資料對應的第二目標資料類型;根據該第二目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先訓練完成的第二目標向量轉化模型;將該第二資料登錄到該預先訓練完成的第二目標向量轉化模型中,獲得該第二資料對應的該第二向量。
進一步地,該處理器1101,還用於接收該第一設備發送的該第一目標公開金鑰以及該第一加密向量,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量進行同態加密後得到的;根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離;將該加密後的該第一向量和第二向量的距離發送給該第一設備;接收該第一設備發送的該目標距離,其中,該目標距離為該第一設備採用自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密後得到的。
進一步地,該處理器1101,還用於向該第一設備發送該第二加密向量,以使該第一設備基於該第二加密向量以及該第一加密向量,確定加密後的該第一加密向量和該第二加密向量的距離;接收該第一設備發送的該第一向量和第二向量的目標距離,其中,該目標距離為該第一設備基於自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一加密向量和該第二加密向量的距離解密得到的。
進一步地,該處理器1101,還用於採用自身生成的第二目標公開金鑰對該第二向量進行同態加密,獲得第三加密向量,並將該第二目標公開金鑰以及該第三加密向量發送給該第一設備;接收該第一設備發送的基於該第三加密向量以及第四加密向量,確定加密後的該第二向量和該第一向量的距離,其中,該第四加密向量為採用該第二目標公開金鑰對該第一向量進行同態加密生成的;基於該加密後的該第一向量和第二向量的距離及該第二目標公開金鑰對應的第二目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該處理器1101,還用於針對該第二資料中的每個第二子資料,將該第二子資料登錄到預先訓練完成的向量轉化模型中,獲得該第二子資料對應的第二子向量;其中,每個第二子資料對應的第二子向量的長度均為第一預設長度;將該每個第二子資料對應的第二子向量進行拼接,得到該第二資料對應的該第二向量。
進一步地,該處理器1101,還用於針對該第二向量中的每個第二分量,確定該第二分量對應的第二平方分量;將每個第二分量對應的第二平方分量按照預設的***規則***到該第二向量中,並將***第二平方分量後獲得的向量更新為該第二向量;基於該第一目標公開金鑰對該第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成該第二加密向量。
進一步地,該處理器1101,還用於根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;並根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離;根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
進一步地,該處理器1101,還用於確定該目標距離是否小於預設的第一距離閾值;若是,則確定該第一資料與該第二資料匹配;否則,確定該第一資料與該第二資料不匹配。
進一步地,該處理器1101,還用於確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
上述伺服器提到的通信匯流排可以是外設部件互連標準(Peripheral Component Interconnect,PCI)匯流排或延伸工業標準架構(Extended Industry Standard Architecture,EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
通信介面1102用於上述電子設備與其他設備之間的通信。
記憶體可以包括隨機存取記憶體(Random Access Memory,RAM),也可以包括非易失性記憶體(Non-Volatile Memory,NVM),例如至少一個磁碟記憶體。可選地,記憶體還可以是至少一個位於遠離前述處理器的存儲裝置。
上述處理器可以是通用處理器,包括中央處理器、網路處理器(Network Processor,NP)等;還可以是數字指令處理器(Digital Signal Processing,DSP)、專用積體電路、現場可程式設計門陳列或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。
實施例24: 在上述各實施例的基礎上,本發明實施例還提供了一種電腦可讀存儲介質,該電腦可讀存儲介質內存儲有可由電子設備執行的電腦程式,當該程式在該電子設備上運行時,使得該電子設備執行時實現如下步驟: 將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量; 採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備; 獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的; 基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量包括: 確定該第一資料對應的第一目標資料類型; 根據該第一目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一資料對應的預先訓練完成的第一目標向量轉化模型; 將該第一資料登錄到該預先訓練完成的第一目標向量轉化模型中,獲得該第一資料對應的該第一向量。
進一步地,該第一目標資料類型為文字類型或數字類型。
進一步地,若該第一目標資料類型為文字類型,對應的預先訓練完成的第一目標向量轉化模型為詞向量模型或句向量模型;若該第一目標資料類型為數字類型,對應的預先訓練完成的第一目標向量轉化模型為獨熱編碼模型。
進一步地,該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 接收該第二設備發送的該第二加密向量,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的; 基於該第一加密向量以及該第二加密向量,確定加密後的該第一向量和該第二向量的距離。
進一步地,該將該第一目標公開金鑰發送給第二設備包括: 將該第一加密向量以及該第一目標公開金鑰發送給該第二設備; 該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 接收該第二設備發送的基於該第一加密向量和該第二加密向量確定的加密後的該第一向量和該第二向量的距離,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的。
進一步地,該方法還包括: 接收該第二設備發送的第三加密向量以及該第二設備生成的第二目標公開金鑰;其中,該第三加密向量為該第二設備採用該第二目標公開金鑰對該第二向量進行同態加密後得到的; 基於該第二目標公開金鑰對該第一向量進行同態加密生成第四加密向量; 基於該第三加密向量以及該第四加密向量,確定加密後的該第二向量和該第一向量的距離,並將該加密後的該第二向量和該第一向量的距離發送給該第二設備,以使該第二設備根據加密後的該第二向量和該第一向量的距離以及該第二目標公開金鑰對應的第二目標私密金鑰,對該加密後的該第二向量和該第一向量的距離進行解密,確定該第二向量與該第一向量的目標距離,並根據該第二向量與該第一向量的目標距離及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該確定該第一向量和該第二向量的目標距離之後,該方法還包括: 將該第一向量和該第二向量的目標距離發送給該第二設備,使該第二設備基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和第二向量的目標距離包括: 採用第一設備自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密,確定該第一向量和該第二向量的目標距離。
進一步地,該將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量包括: 針對該第一資料中的每個第一子資料,將該第一子資料登錄到預先訓練完成的向量轉化模型中,獲得該第一子資料對應的第一子向量;其中,每個第一子資料對應的第一子向量的長度均為第一預設長度; 將該每個第一子資料對應的第一子向量進行拼接,得到該第一資料對應的該第一向量。
進一步地,該第一向量和該第二向量的長度均為第二預設長度。
進一步地,該採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量包括: 針對該第一向量中的每個第一分量,確定該第一分量對應的第一平方分量; 將每個第一分量對應的第一平方分量按照預設的***規則***到該第一向量中,並將***第一平方分量後獲得的向量更新為該第一向量; 基於該第一目標公開金鑰對該第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成該第一加密向量。
進一步地,該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;並根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量; 根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量; 根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離; 根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
進一步地,該基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配包括: 確定該目標距離是否小於預設的第一距離閾值; 若是,則確定該第一資料與該第二資料匹配; 否則,確定該第一資料與該第二資料不匹配。
進一步地,該確定該第一資料與該第二資料匹配之後,該方法還包括: 確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
實施例25: 在上述各實施例的基礎上,本發明實施例還提供了一種電腦可讀存儲介質,該電腦可讀存儲介質內存儲有可由電子設備執行的電腦程式,當該程式在該電子設備上運行時,使得該電子設備執行時實現如下步驟: 將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量; 接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量; 獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的; 基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量包括: 確定該第二資料對應的第二目標資料類型; 根據該第二目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先訓練完成的第二目標向量轉化模型; 將該第二資料登錄到該預先訓練完成的第二目標向量轉化模型中,獲得該第二資料對應的該第二向量。
進一步地,該第二目標資料類型為文字類型或數字類型。
進一步地,若該第二目標資料類型為文字類型,對應的預先訓練完成的第二目標向量轉化模型為詞向量模型或句向量模型;若該第二目標資料類型為數字類型,對應的預先訓練完成的第二目標向量轉化模型為獨熱編碼模型。
進一步地,該接收第一設備發送的第一目標公開金鑰包括: 接收該第一設備發送的該第一目標公開金鑰以及該第一加密向量,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量進行同態加密後得到的; 該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括: 根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離; 將該加密後的該第一向量和第二向量的距離發送給該第一設備; 接收該第一設備發送的該目標距離,其中,該目標距離為該第一設備採用自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密後得到的。
進一步地,該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括: 向該第一設備發送該第二加密向量,以使該第一設備基於該第二加密向量以及該第一加密向量,確定加密後的該第一加密向量和該第二加密向量的距離; 接收該第一設備發送的該第一向量和第二向量的目標距離,其中,該目標距離為該第一設備基於自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一加密向量和該第二加密向量的距離解密得到的。
進一步地,該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括: 採用自身生成的第二目標公開金鑰對該第二向量進行同態加密,獲得第三加密向量,並將該第二目標公開金鑰以及該第三加密向量發送給該第一設備; 接收該第一設備發送的基於該第三加密向量以及第四加密向量,確定加密後的該第二向量和該第一向量的距離,其中,該第四加密向量為採用該第二目標公開金鑰對該第一向量進行同態加密生成的; 基於該加密後的該第一向量和第二向量的距離及該第二目標公開金鑰對應的第二目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
進一步地,該將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量包括: 針對該第二資料中的每個第二子資料,將該第二子資料登錄到預先訓練完成的向量轉化模型中,獲得該第二子資料對應的第二子向量;其中,每個第二子資料對應的第二子向量的長度均為第一預設長度; 將該每個第二子資料對應的第二子向量進行拼接,得到該第二資料對應的該第二向量。
進一步地,該第一向量和該第二向量的長度均為第二預設長度。
進一步地,該採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量包括: 針對該第二向量中的每個第二分量,確定該第二分量對應的第二平方分量; 將每個第二分量對應的第二平方分量按照預設的***規則***到該第二向量中,並將***第二平方分量後獲得的向量更新為該第二向量; 基於該第一目標公開金鑰對該第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成該第二加密向量。
進一步地,該根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離包括:
根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;並根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量; 根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量; 根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離; 根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
進一步地,該基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配包括: 確定該目標距離是否小於預設的第一距離閾值; 若是,則確定該第一資料與該第二資料匹配; 否則,確定該第一資料與該第二資料不匹配。
進一步地,該確定該第一資料與該第二資料匹配之後,該方法還包括: 確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
由於在本發明實施例中,分別將待匹配的第一資料和第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量以及第二資料對應的第二向量,並基於第一目標公開金鑰獲取該第一向量加密後的第一加密向量,以及該第二向量加密後的第二加密向量,並確定加密後的第一向量和第二向量的距離,並基於加密後的第一向量和第二向量的距離以及自身生成的第一目標私密金鑰,確定第一向量和第二向量的目標距離,基於該目標距離以及預設的第一距離閾值確定第一資料和第二資料是否匹配,即實現了第一資料和第二資料不完全相同時,也能實現第一資料和第二資料的模糊匹配,拓寬了使用場景,且在進行模糊匹配過程中引入了第一目標公開金鑰和第一目標私密金鑰分別進行同態加密和解密,實現了安全求交,保證了匹配過程的安全性,且整個匹配的過程中,第一資料以及第二資料均未離開以原始資料的形式離開過對應的第一設備以及第二設備,實現了原始資料不出庫也能實現模糊匹配,進一步保證了匹配過程的安全性。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用存儲介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明申請專利範圍及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
S101~S104、S401~S404:步驟 801:第一獲取模組 802:第一處理模組 803:第一確定模組 901:第二獲取模組 902:第二處理模組 903:第二確定模組 1001:處理器 1002:通信介面 1003:記憶體 1004:通信匯流排 1101:處理器 1102:通信介面 1103:記憶體 1104:通信匯流排
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域的普通技術人員來講,在不付出進步性勞動性的前提下,還可以根據這些附圖獲得其他的附圖: 圖1為本發明實施例提供的一種資料匹配過程示意圖; 圖2a為本發明一些實施例提供的一種目標子距離的顯示示意圖; 圖2b為本發明一些實施例提供的一種目標子距離矩陣的顯示示意圖; 圖3a為本發明一些實施例提供的另外一種目標子距離的顯示示意圖; 圖3b為本發明一些實施例提供的另外一種目標子距離矩陣的顯示示意圖; 圖4為本發明實施例提供的一種資料匹配方法過程示意圖; 圖5a為本發明一些實施例提供的一種獲取文字類型資料對應的向量的過程示意圖; 圖5b為本發明一些實施例提供的一種獲取數字類型資料對應的向量的過程示意圖; 圖6為本發明一些實施例提供的一種雙方資料進行模糊匹配的整體過程示意圖; 圖7為本發明一些實施例提供的一種雙方資料進行模糊匹配的具體過程示意圖; 圖8為本發明一些實施例提供的一種資料匹配裝置結構示意圖; 圖9為本發明一些實施例提供的一種資料匹配裝置結構示意圖; 圖10為本發明一些實施例提供的一種電子設備的結構示意圖; 圖11為本發明一些實施例提供的一種電子設備的結構示意圖。
S101~S104:步驟

Claims (30)

  1. 一種資料匹配方法,其特徵在於,應用於第一設備,該方法包括:將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量;採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備;獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的;基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配;該採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量包括:針對該第一向量中的每個第一分量,確定該第一分量對應的第一平方分量;將每個第一分量對應的第一平方分量按照預設的***規則***到該第一向量中,並將***第一平方分量後獲得的向量更新為該第一向量;基於該第一目標公開金鑰對該第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成該第一加密向量。
  2. 如請求項1所述的資料匹配方法,其中,該將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量包括:確定該第一資料對應的第一目標資料類型;根據該第一目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第一資料對應的預先訓練完成的第一目標向量轉化模型;將該第一資料登錄到該預先訓練完成的第一目標向量轉化模型中,獲得該第一資料對應的該第一向量。
  3. 如請求項2所述的資料匹配方法,其中,該第一目標資料類型為文字類型或數字類型。
  4. 如請求項3所述的資料匹配方法,其中,若該第一目標資料類型為文字類型,對應的預先訓練完成的第一目標向量轉化模型為詞向量模型或句向量模型;若該第一目標資料類型為數字類型,對應的預先訓練完成的第一目標向量轉化模型為獨熱編碼模型。
  5. 如請求項1所述的資料匹配方法,其中,該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括:接收該第二設備發送的該第二加密向量,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的;基於該第一加密向量以及該第二加密向量,確定加密後的該第一向量和該第二向量的距離。
  6. 如請求項1所述的資料匹配方法,其中,該將該第一目標公開金鑰發送給第二設備包括: 將該第一加密向量以及該第一目標公開金鑰發送給該第二設備;該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括:接收該第二設備發送的基於該第一加密向量和該第二加密向量確定的加密後的該第一向量和該第二向量的距離,其中,該第二加密向量為該第二設備基於該第一目標公開金鑰對該第二向量進行同態加密後得到的。
  7. 如請求項6所述的資料匹配方法,其中,該方法還包括:接收該第二設備發送的第三加密向量以及該第二設備生成的第二目標公開金鑰;其中,該第三加密向量為該第二設備採用該第二目標公開金鑰對該第二向量進行同態加密後得到的;基於該第二目標公開金鑰對該第一向量進行同態加密生成第四加密向量;基於該第三加密向量以及該第四加密向量,確定加密後的該第二向量和該第一向量的距離,並將該加密後的該第二向量和該第一向量的距離發送給該第二設備,以使該第二設備根據加密後的該第二向量和該第一向量的距離以及該第二目標公開金鑰對應的第二目標私密金鑰,對該加密後的該第二向量和該第一向量的距離進行解密,確定該第二向量與該第一向量的目標距離,並根據該第二向量與該第一向量的目標距離及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
  8. 如請求項1、5或6所述的資料匹配方法,其中,該確定該第一向量和該第二向量的目標距離之後,該方法還包括: 將該第一向量和該第二向量的目標距離發送給該第二設備,使該第二設備基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
  9. 如請求項1、5或6所述的資料匹配方法,其中,該基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和第二向量的目標距離包括:採用第一設備自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密,確定該第一向量和該第二向量的目標距離。
  10. 如請求項1所述的資料匹配方法,其中,該將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量包括:針對該第一資料中的每個第一子資料,將該第一子資料登錄到預先訓練完成的向量轉化模型中,獲得該第一子資料對應的第一子向量;其中,每個第一子資料對應的第一子向量的長度均為第一預設長度;將該每個第一子資料對應的第一子向量進行拼接,得到該第一資料對應的該第一向量。
  11. 如請求項1或10所述的資料匹配方法,其中,該第一向量和該第二向量的長度均為第二預設長度。
  12. 如請求項1所述的資料匹配方法,其中,該獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離包括: 根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;並根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離;根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
  13. 如請求項1所述的資料匹配方法,其中,該基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配包括:確定該目標距離是否小於預設的第一距離閾值;若是,則確定該第一資料與該第二資料匹配;否則,確定該第一資料與該第二資料不匹配。
  14. 如請求項13所述的資料匹配方法,其中,該確定該第一資料與該第二資料匹配之後,該方法還包括:確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
  15. 一種資料匹配方法,其特徵在於,應用於第二設備,該方法包括:將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量; 接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量;獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量進行同態加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的;基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配;該採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量包括:針對該第二向量中的每個第二分量,確定該第二分量對應的第二平方分量;將每個第二分量對應的第二平方分量按照預設的***規則***到該第二向量中,並將***第二平方分量後獲得的向量更新為該第二向量;基於該第一目標公開金鑰對該第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成該第二加密向量。
  16. 如請求項15所述的資料匹配方法,其中,該將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量包括:確定該第二資料對應的第二目標資料類型;根據該第二目標資料類型以及預先保存的資料類型和預先訓練完成的向量轉化模型的對應關係,確定該第二資料對應的預先訓練完成的第二目標向量轉化模型; 將該第二資料登錄到該預先訓練完成的第二目標向量轉化模型中,獲得該第二資料對應的該第二向量。
  17. 如請求項16所述的資料匹配方法,其中,該第二目標資料類型為文字類型或數字類型。
  18. 如請求項17所述的資料匹配方法,其中,若該第二目標資料類型為文字類型,對應的預先訓練完成的第二目標向量轉化模型為詞向量模型或句向量模型;若該第二目標資料類型為數字類型,對應的預先訓練完成的第二目標向量轉化模型為獨熱編碼模型。
  19. 如請求項15所述的資料匹配方法,其中,該接收第一設備發送的第一目標公開金鑰包括:接收該第一設備發送的該第一目標公開金鑰以及該第一加密向量,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量進行同態加密後得到的;該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括:根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離;將該加密後的該第一向量和第二向量的距離發送給該第一設備;接收該第一設備發送的該目標距離,其中,該目標距離為該第一設備採用自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一向量和第二向量的距離進行解密後得到的。
  20. 如請求項15所述的資料匹配方法,其中,該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括:向該第一設備發送該第二加密向量,以使該第一設備基於該第二加密向量以及該第一加密向量,確定加密後的該第一加密向量和該第二加密向量的距離;接收該第一設備發送的該第一向量和第二向量的目標距離,其中,該目標距離為該第一設備基於自身生成的該第一目標公開金鑰對應的第一目標私密金鑰對該加密後的該第一加密向量和該第二加密向量的距離解密得到的。
  21. 如請求項15所述的資料匹配方法,其中,該獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離包括:採用自身生成的第二目標公開金鑰對該第二向量進行同態加密,獲得第三加密向量,並將該第二目標公開金鑰以及該第三加密向量發送給該第一設備;接收該第一設備發送的基於該第三加密向量以及第四加密向量,確定加密後的該第二向量和該第一向量的距離,其中,該第四加密向量為採用該第二目標公開金鑰對該第一向量進行同態加密生成的;基於該加密後的該第一向量和第二向量的距離及該第二目標公開金鑰對應的第二目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配。
  22. 如請求項15所述的資料匹配方法,其中,該將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量包括: 針對該第二資料中的每個第二子資料,將該第二子資料登錄到預先訓練完成的向量轉化模型中,獲得該第二子資料對應的第二子向量;其中,每個第二子資料對應的第二子向量的長度均為第一預設長度;將該每個第二子資料對應的第二子向量進行拼接,得到該第二資料對應的該第二向量。
  23. 如請求項15或22所述的資料匹配方法,其中,該第一向量和該第二向量的長度均為第二預設長度。
  24. 如請求項19所述的資料匹配方法,其中,該根據該第一加密向量以及該第二加密向量,確定加密後的該第一向量和第二向量的距離包括:根據該預設的***規則及該第二加密向量中的每個第二分量,獲取每組第二加密分量和第二加密平方分量;並根據該預設的***規則及該第一加密向量中的每個第一分量,獲取每組第一加密分量和第一加密平方分量;根據該預設的***規則,確定對應的每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根據每組第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,確定加密後的每個子距離;根據每個子距離的和值,確定加密後的該第一向量和該第二向量的距離。
  25. 如請求項15所述的資料匹配方法,其中,該基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配包括:確定該目標距離是否小於預設的第一距離閾值;若是,則確定該第一資料與該第二資料匹配;否則,確定該第一資料與該第二資料不匹配。
  26. 如請求項25所述的資料匹配方法,其中,該確定該第一資料與該第二資料匹配之後,該方法還包括:確定該目標距離是否等於預設的第二距離閾值,若是,則確定該第一資料與該第二資料相同。
  27. 一種資料匹配裝置,其特徵在於,應用於第一設備,該裝置包括:第一獲取模組,用於將待匹配的第一資料登錄到預先訓練完成的向量轉化模型中,獲得該第一資料對應的第一向量;第一處理模組,用於採用自身生成的第一目標公開金鑰對該第一向量進行同態加密生成第一加密向量,並將該第一目標公開金鑰發送給第二設備;該第一獲取模組,還用於獲取基於該第一加密向量和第二加密向量確定的加密後的該第一向量和第二向量的距離,其中該第二加密向量為採用該第一目標公開金鑰對該第二向量進行同態加密後得到的;該第二向量為將第二資料登錄到該第二設備中的預先訓練完成的向量轉化模型中獲得的;第一確定模組,用於基於該加密後的該第一向量和第二向量的距離及該第一目標公開金鑰對應的第一目標私密金鑰,確定該第一向量和該第二向量的目標距離,基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配;該第一處理模組,具體用於針對該第一向量中的每個第一分量,確定該第一分量對應的第一平方分量;將每個第一分量對應的第一平方分量按照預設的***規則***到該第一向量中,並將***第一平方分量後獲得的向量更新為該 第一向量;基於該第一目標公開金鑰對該第一向量中的每個第一分量及每個第一平方分量分別進行同態加密,生成該第一加密向量。
  28. 一種資料匹配裝置,其特徵在於,應用於第二設備,該裝置包括:第二獲取模組,用於將待匹配的第二資料登錄到預先訓練完成的向量轉化模型中,獲得該第二資料對應的第二向量;第二處理模組,用於接收第一設備發送的第一目標公開金鑰,採用該第一目標公開金鑰對該第二向量進行同態加密生成第二加密向量;該第二獲取模組,還用於獲取基於第一加密向量和該第二加密向量確定的第一向量和該第二向量的目標距離,其中,該第一加密向量為採用該第一目標公開金鑰對該第一向量加密後得到的,該第一向量為將第一資料登錄到該第一設備中的預先訓練完成的向量轉化模型中獲得的;第二確定模組,用於基於該目標距離以及預設的第一距離閾值,確定該第一資料以及該第二資料是否匹配;該第一處理模組,具體用於針對該第二向量中的每個第二分量,確定該第二分量對應的第二平方分量;將每個第二分量對應的第二平方分量按照預設的***規則***到該第二向量中,並將***第二平方分量後獲得的向量更新為該第二向量;基於該第一目標公開金鑰對該第二向量中的每個第二分量及每個第二平方分量分別進行同態加密,生成該第二加密向量。
  29. 一種電子設備,其特徵在於,該電子設備包括處理器和記憶體,該記憶體用於存儲程式指令,該處理器用於執行記憶體中存儲的電腦程式 時實現如請求項1至14中任一項所述的資料匹配方法的步驟或如請求項15至26中任一項所述的資料匹配方法的步驟。
  30. 一種電腦可讀存儲介質,其特徵在於,其存儲有電腦程式,該電腦程式被處理器執行時實現如請求項1至14中任一項所述的資料匹配方法的步驟或如請求項15至26中任一項所述的資料匹配方法的步驟。
TW111135467A 2022-02-28 2022-09-20 一種資料匹配方法、裝置、設備及介質 TWI835300B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210191650.3A CN114817943A (zh) 2022-02-28 2022-02-28 一种数据匹配方法、装置、设备及介质
CN202210191650.3 2022-02-28

Publications (2)

Publication Number Publication Date
TW202336617A TW202336617A (zh) 2023-09-16
TWI835300B true TWI835300B (zh) 2024-03-11

Family

ID=82528992

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111135467A TWI835300B (zh) 2022-02-28 2022-09-20 一種資料匹配方法、裝置、設備及介質

Country Status (3)

Country Link
CN (1) CN114817943A (zh)
TW (1) TWI835300B (zh)
WO (1) WO2023159888A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817943A (zh) * 2022-02-28 2022-07-29 ***股份有限公司 一种数据匹配方法、装置、设备及介质
CN115865391A (zh) * 2022-08-04 2023-03-28 ***股份有限公司 一种数据匹配方法、装置、***、设备及介质
CN115442021A (zh) * 2022-08-09 2022-12-06 ***股份有限公司 一种数据匹配方法、装置、***、设备及介质
CN115687870A (zh) * 2023-01-03 2023-02-03 四川易利数字城市科技有限公司 一种基于矩阵运算的地名匹配方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160119119A1 (en) * 2014-05-15 2016-04-28 Xeror Corporation Compact fuzzy private matching using a fully-homomorphic encryption scheme
CN108881204A (zh) * 2018-06-08 2018-11-23 浙江捷尚人工智能研究发展有限公司 隐私保护聚类数据挖掘方法、电子设备、存储介质及***
TW202123123A (zh) * 2019-12-13 2021-06-16 大陸商支付寶(杭州)信息技術有限公司 多方聯合訓練針對IoT機具的風險評估模型的方法及裝置
CN113722753A (zh) * 2021-08-25 2021-11-30 银清科技有限公司 基于区块链的隐私数据处理方法、装置及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11430434B1 (en) * 2017-02-15 2022-08-30 Amazon Technologies, Inc. Intelligent privacy protection mediation
CN108897810A (zh) * 2018-06-19 2018-11-27 苏州大学 一种实体匹配方法、***、介质及设备
CN113434878B (zh) * 2021-06-25 2023-07-07 平安科技(深圳)有限公司 基于联邦学习的建模及应用方法、装置、设备及存储介质
CN113904808B (zh) * 2021-09-08 2024-07-19 北京信安世纪科技股份有限公司 一种私钥分发、解密方法、装置、设备及介质
CN114817943A (zh) * 2022-02-28 2022-07-29 ***股份有限公司 一种数据匹配方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160119119A1 (en) * 2014-05-15 2016-04-28 Xeror Corporation Compact fuzzy private matching using a fully-homomorphic encryption scheme
CN108881204A (zh) * 2018-06-08 2018-11-23 浙江捷尚人工智能研究发展有限公司 隐私保护聚类数据挖掘方法、电子设备、存储介质及***
TW202123123A (zh) * 2019-12-13 2021-06-16 大陸商支付寶(杭州)信息技術有限公司 多方聯合訓練針對IoT機具的風險評估模型的方法及裝置
CN113722753A (zh) * 2021-08-25 2021-11-30 银清科技有限公司 基于区块链的隐私数据处理方法、装置及***

Also Published As

Publication number Publication date
WO2023159888A1 (zh) 2023-08-31
CN114817943A (zh) 2022-07-29
TW202336617A (zh) 2023-09-16

Similar Documents

Publication Publication Date Title
TWI835300B (zh) 一種資料匹配方法、裝置、設備及介質
US20190229919A1 (en) Proof chaining and decomposition
WO2021046668A1 (zh) 区块链***及信息传输方法、***、装置、计算机介质
US20160094347A1 (en) Method and system for secure management of computer applications
CN113159327A (zh) 基于联邦学习***的模型训练方法、装置、电子设备
CN114036565B (zh) 隐私信息检索***及隐私信息检索方法
CN111027981B (zh) 多方联合训练针对IoT机具的风险评估模型的方法及装置
CN115567188B (zh) 一种多键值隐匿求交方法、装置及存储介质
CN109615376B (zh) 一种基于零知识证明的交易方法及装置
CN114186264A (zh) 数据随机加密、解密方法、装置及***
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及***
EP4302255A1 (en) Method and system for the atomic exchange of blockchain assets using transient key pairs
CN110704875B (zh) 客户敏感信息的处理方法、装置、***、介质及电子设备
CN114491637A (zh) 数据查询方法、装置、计算机设备和存储介质
CN114386058A (zh) 一种模型文件加密与解密方法及装置
TWI832640B (zh) 一種資料匹配方法、裝置、系統、設備及介質
EP2286610B1 (en) Techniques for peforming symmetric cryptography
CN115599959A (zh) 数据共享方法、装置、设备及存储介质
CN110995440B (zh) 工作履历确认方法、装置、设备以及存储介质
US11095429B2 (en) Circuit concealing apparatus, calculation apparatus, and program
CN109981547B (zh) 一种基于区块链的物流传输方法及装置
CN115587897B (zh) 一种基于隐私计算的警税联合分析方法
CN114817970B (zh) 基于数据来源保护的数据分析方法、***及相关设备
CN114896313B (zh) 一种数据传输方法、装置、设备及介质
US20240129113A1 (en) Method for providing oracle service of blockchain network by using zero-knowledge proof and aggregator terminal using the same