CN110546642B - 不利用可信初始化器的安全多方计算方法、系统及装置 - Google Patents

不利用可信初始化器的安全多方计算方法、系统及装置 Download PDF

Info

Publication number
CN110546642B
CN110546642B CN201980001760.5A CN201980001760A CN110546642B CN 110546642 B CN110546642 B CN 110546642B CN 201980001760 A CN201980001760 A CN 201980001760A CN 110546642 B CN110546642 B CN 110546642B
Authority
CN
China
Prior art keywords
matrix
party
data
random
sub
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
CN201980001760.5A
Other languages
English (en)
Other versions
CN110546642A (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of CN110546642A publication Critical patent/CN110546642A/zh
Application granted granted Critical
Publication of CN110546642B publication Critical patent/CN110546642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0263Targeted advertisements based upon Internet or website rating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0627Directed, with specific intent or strategy using item specifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本文公开了方法、系统和装置,包括编码在计算机存储介质上的计算机程序,通过不利用可信初始化器的秘密共享安全协同地计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积。一种方法包括获得包括第一方的隐私数据的第一矩阵;生成第一随机矩阵;识别第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵;基于第一矩阵、第一随机矩阵、第一子矩阵和第二子矩阵计算第一方的第一加扰隐私数据;接收第二方的第二加扰隐私数据;计算矩阵乘积的第一加数;接收矩阵乘积的第二加数;以及通过对第一加数和第二加数求和来计算矩阵乘积。

Description

不利用可信初始化器的安全多方计算方法、系统及装置
技术领域
本文涉及两方或更多方之间的协同计算(例如安全多方计算(MPC))而不公开各方的隐私数据或敏感数据。
背景技术
随着技术和数据分析的发展,许多在线平台收集不同类型的数据。例如,电影评级平台从用户收集评级数据,而社交媒体平台从用户收集社交网络数据。这些收集的数据很有价值,并且通常由各自的平台作为隐私信息保存。平台越来越关注数据隐私,并不一定要共享他们收集的数据,至少不共享原始形式的数据。期望允许多个平台之间的协同计算,而不公开各方的隐私或敏感数据。
发明内容
本文描述了用于两方或多方之间的安全协同计算(例如,安全多方计算(MPC))而不公开各方的隐私或敏感数据的技术。这些技术通常涉及经由不利用可信初始化器的秘密共享方案在两方或更多方之间进行协同计算,同时保护各方的隐私或敏感数据。秘密共享方案允许各方执行本地计算。在秘密共享方案中,本地计算的结果是加扰的隐私数据(也称为经操作的数据),其不公开各方的隐私或敏感信息。本地计算的结果在各方之间是共享的,并用于协同计算。经由秘密共享方案的协同计算不需要可信初始化器,这降低了成本并提高了协同计算的效率和灵活性。
本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。
本文还提供了用于实施本文提供的所述方法的系统。该系统包括一个或多个处理器以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将导致所述一个或多个处理器按照本文提供的方法的实施例执行操作。
应了解,依据本文的方法可以包括本文描述的方面和特征的任意组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。
以下在附图和描述中阐述了本文的一个或多个实施方式的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显而易见。
附图说明
图1是示出了根据本文实施例的在平台A和平台B之间不利用可信初始化器共享秘密的示例性系统的框图。
图2是示出了根据本文实施例的平台A和平台B之间不利用可信初始化器的示例性秘密共享方法的流程图,以由平台A生成推荐。
图3是示出了根据本文实施例的在平台A和平台B之间的示例性秘密共享方法的流程图,以通过不利用可信初始化器的秘密共享方案来计算矩阵A和矩阵B的矩阵乘积的元素Zij
图4是示出了根据本文实施例的由对象评级和推荐平台使用不利用可信初始化器的秘密共享方案来生成推荐的示例性方法的流程图。
图5是示出了根据本文实施例的用于提供与本公开中描述的所描述的算法、方法、功能、处理、流程和过程相关联的计算功能的示例性计算机系统的框图。
图6是示出根据本文实施例的在平台A和平台B之间使用利用可信初始化器的秘密共享方案来计算矩阵X和矩阵Y的乘积的示例性秘密共享方法的流程图。
图7是根据本文实施例的通过不利用可信初始化器的秘密共享安全协同地计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的示例性方法的流程图。
图8描绘了根据本文实施例的装置的模块的示例。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本文描述了用于两方或多方之间的协同计算(例如,安全多方计算(MPC))而不公开各方的隐私或敏感数据的技术。这些技术通常涉及经由不利用可信初始化器的秘密共享方案在两方或更多方之间进行协同计算,同时保护各方的隐私或敏感数据。秘密共享方案允许各方执行本地计算。在秘密共享方案中,本地计算的结果是加扰的隐私数据(也称为经操作的数据),其不公开各方的隐私或敏感信息。本地计算的结果在各方之间共享,并用于协同计算。经由秘密共享方案的协同计算不需要可信初始化器,这降低了成本并提高了协同计算的效率和灵活性。
秘密共享包括用于在两个或更多个参与者之间分配秘密的方法,每个参与者被分配该秘密的一个份额。只有当足够数量的、可能不同类型的份额组合在一起时,才能重建所述秘密,而单个份额单独没有用处。换句话说,单个参与者无法恢复秘密信息;只有几个参与者一起合作才能恢复秘密。
秘密共享方法通常可以分为两类,一类利用可信初始化器(信任发起方),另一类不利用可信初始化器。对于利用可信初始化器的秘密共享,在开始时,需要可信初始化器来初始化参与多方安全计算的各方的参数,例如,通过生成满足特定条件的随机数。对于不利用可信初始化器的秘密共享,不需要这样的第三方初始化器。参与多方安全计算的每一方都可以在本地生成确保数据安全所需的随机数,并通过某些数据交换协议完成多方安全计算。
在一些实施例中,参与多方安全计算的各方可包括例如一个或多个平台或者其他实体。在许多在线平台中,不同的平台可以累积不同类型的数据。例如,诸如NETFLIX或IMDB的对象评级和推荐平台累积来自用户的关于电影和电视剧的评级数据。诸如FACEBOOK或TWITTER的社交媒体或社交网络平台累积来自用户及其朋友的社交网络数据。因为亲密的朋友往往具有相似的偏好,所以社交信息可以改善推荐系统的性能。基于推荐方法的现有社交假定对象的用户评级数据和用户之间的社交数据是共享的。但是,出于数据隐私或其他考虑,在线平台通常不会与其他方共享其原始数据。
描述了示例性技术,所述技术允许平台在基于评级数据和社交网络数据构建改进的推荐系统时安全地协作,而每个平台的隐私数据不向其他平台公开。例如,可以基于评级数据和社交网络数据经由对象评级和推荐平台与社交网络平台之间的秘密共享方案来训练社交推荐模型。在秘密共享方案下,在平台之间的数据交换是经操作的形式,而不是它们的原始形式。交换数据经操作,使得一方不能从经操作的数据中恢复或解码出原始数据。
秘密共享方案不同于用于安全数据传输的编码、加密或其他方案,其中数据源(例如,作为发送端)在传输之前将原始数据编码或加密成编码形式,并且预期的接收端可以例如基于已知的安全密钥或相应的解码算法从接收的编码数据中解码出或恢复原始数据。秘密共享方案保护原始数据,甚至不被预期的接收端所知。这样,数据源可以保护原始数据的隐私。
因此,秘密共享方案鼓励不同平台之间的协作,并且可以帮助实现互惠,而不会损害数据隐私。例如,利用所公开的秘密共享方案,对象评级和推荐平台可以利用来自社交网络平台的社交网络信息来更好地预测用户的需求并向用户提供有针对性的推荐,从而增强用户体验并为对象评级和推荐平台带来潜在的利润回报。
图1是示出了根据本文实施例的在平台A和平台B之间的秘密共享的示例性系统的框图。平台A102可以包括但不限于娱乐、零售、服务以及其他行业或部门中的对象评级和推荐平台,用户可以在平台上对产品、服务或其他对象评级。对象评级和推荐平台的示例包括例如AMAZON、NETFLIX或IMDB平台。平台A102可以从其用户收集评级数据R。评级数据R可以包括用户给出的一个或多个对象(例如,产品或服务)的一个或多个实际评级,或者基于用户对于对象的点击、购买、搜索或其他历史活动的一个或多个映射评级。评级可以反映用户对对象的需求、喜好或偏好。评级可以具有特定范围(例如,[0,1]或[1,5])。在一些实施例中,评级数据R可以用维度为M*N的矩阵表示,其中M表示用户的数量,N表示对象的数量,条目Rij表示用户i对对象j的评级。
平台A102还可以包括用户数据,用户数据可以包括:例如用户的姓名、年龄、性别、地址或任何其他账户或个人资料信息、购买历史、浏览历史或用户在平台A102处的搜索历史。平台A102还可以包括对象数据,对象数据可以包括例如与对象相关的名称、类别、价格、关键字、指令等。
在一些实施例中,因为只有少量(与M*N相比)的条目Rij具有评级或基于与对象有关的现有用户活动的映射评级,所以收集的评级数据R可以是稀疏矩阵。在一些实施例中,平台A102可以预测对象的已知评级,以便向用户提供对象的目标推荐。在一些实施例中,平台A102可以例如根据机器学习或统计算法基于用户数据和对象数据来预测对象的已知评级。作为示例,平台A102可以根据矩阵分解方法或其他技术基于用户特征数据U(也称为用户因子数据)和对象特征数据V(也称为对象因子数据)来提供对象的推荐。具体地,每个用户(例如,用户i)可以通过诸如年龄、性别、地理位置、访问模式等的用户特征的向量(例如,Ui)来表征。每个对象(例如,对象j)可以通过诸如类别、关键字、主题、价格等对象特征的向量(例如,Vj)来表征。用户特征和对象特征可以是影响给定用户评级、选择或购买给定对象的因素。在一些实施例中,用户给出的对象的评级可以近似为用户特征的向量和对象特征的向量的点积。例如,
Rij≈Ui TVj (1)
其中Ui表示与用户i对应的用户特征数据的向量;Vj表示与对象j对应的对象特征数据的向量;以及Rij表示用户i对对象j的评级。
在一些实施例中,用户特征向量(例如,Ui)以及对象特征向量(例如,Vj)是可以从训练数据(例如,已知的评级数据)中学习的潜在向量。
平台B104可以包括但不限于社交媒体平台(诸如FACEBOOK、TWITTER或INSTRAGRAM)。平台B104可以从其用户收集社交网络数据S。社交网络数据可以包括例如姓名、年龄、性别、地址、工作、关系、爱好、状态、评论、博客、浏览历史或平台B处的其他人口统计、职业、娱乐信息以及用户的朋友、家人、同事等的对应信息。这样的社交网络数据S可以向平台A提供用于预测用户对对象的评级并提供推荐的信息。
例如,平台A可以通过求解如等式(2)所示的优化问题来预测用户的评级:
Figure SMS_1
其中Sik表示社交网络数据S中用户i和用户k之间的社交关系;λ1表示与社交网络数据相关联的预定义权重;以及λ2表示防止过度拟合的预定义权重。
在该示例中,等式(2)右侧的目标函数包括3项。第一项
Figure SMS_2
Figure SMS_3
表示已知评级数据与基于用户特征数据(例如,U=[U1,U2,...,UM])和对象特征数据(例如,V=[V1,V2,...,VN])计算得到的近似评级之间的误差或距离。第二项
Figure SMS_4
表示社交网络数据S对用户特征向量的影响。例如,两个用户的社交关系越密切或越强,则这两个用户特征向量越相似。在一些实施例中,两个用户的社交关系越密切或越强,则Sik越大。第三项/>
Figure SMS_5
用于防止过度拟合。可以预先确定权重λ1和λ2的值。权重越大,相应对象对目标函数的影响越大。
可以通过例如梯度下降或其他算法来求解上述使目标函数最小化的优化问题。例如,对潜在向量U和V求导可以得到以下两个等式:
Figure SMS_6
Figure SMS_7
为求解上述式(3)和式(4)中的U和V,矩阵乘积U·diag(S·IM)和U·S的结果是足够的,无需分别知道U和S的值。这样,平台A和平台B可以使用秘密共享方案来获得矩阵乘积U·diag(S·IM)和U·S的结果。在秘密共享方案下,平台A可以向平台B公开经操作的U,而不向平台B公开原始U;以及平台B可以向平台A公开经操作的S,而不向平台A公开原始S。
在一些实施例中,秘密共享方案可以在利用或不利用可信初始化器的情况下实现。在利用可信初始化器的情况下,可以由该可信初始化器建立公共初始点,并将公共初始点发送到两个平台以辅助它们的数据交换。在不利用可信初始化器的情况下,两个平台可以各自生成随机数作为它们各自的初始点,以帮助它们的数据交换。平台可以受益于协作且无需共享敏感的隐私信息。
图2是示出根据本文实施例的在平台A和平台B之间不利用可信初始化器的示例性秘密共享方法200的流程图,以由平台A生成推荐。平台A可以是图1中描述的平台A,平台B可以是图1中描述的平台B。在一些实施例中,示例性秘密共享方法可以在迭代算法中实现。迭代次数T可以是:例如预定值或基于某些标准(例如,在不同的迭代之后,该算法是收敛还是更新或U或V的差异是否低于阈值)确定的值。在202,平台A识别用户评级数据R和初始用户特征数据U和对象特征数据V,以及迭代次数T。在204,平台B识别社交网络数据S。对于第t个迭代(t<T),在208,平台A和平台B可以执行不利用可信化初始器的秘密共享方案,以获得矩阵乘积U·diag(S·IM)和U·S。在206,平台A例如根据等式(3)和等式(4)基于矩阵乘积U·diag(S·IM)和U·S更新U或V。在T次迭代之后,在210,平台A对象特征基于更新的用户特征数据U和对象特征数据V生成推荐。
在一些实施例中,令矩阵Z为矩阵A与矩阵B的乘积。即Z=A·B。Zij代表Z的条目/元素中的第i行第j列。例如,Zij可以根据等式(5)来计算。例如可以计算矩阵乘积U·diag(S·IM)和U·S,
Zij≈Ai TBj (5)
其中Ai T表示矩阵A的第i行,Bj表示矩阵B的第j列。
图3是根据本文实施例示出的在平台A和平台B之间的示例性秘密共享方法300的流程图,以通过不利用可信初始化器的秘密共享方案来计算矩阵A和矩阵B的乘积元素Zij。在不利用可信初始化器的秘密共享方案中,两个平台都会在一系列步骤和计算中生成随机数,这些随机数将取代对可信初始化器的需求。
在304,平台A获得初始向量x=(x1,x2,…,x_2k),其可以是矩阵A的第i行Ai T。在324,平台B获得初始向量y=(y1,y2,…,y_2k),其可以是表示矩阵B的第j列的Bj。向量x和y可以具有相同维度2k。向量x和y可以包括例如随机变量、全零值、预定值或其他初始值。
在一些实施例中,平台A和B都通过循环k次350来计算输出。在第k次迭代,在306,平台A302生成随机值aj和cj,使得总和(aj+cj)不等于0。例如,如308所示,可以重复生成随机生成的值aj和cj,直到aj+cj不等于0。当发现aj+cj不等于0时,平台A 302计算将被操作并随后发送到平台B 322的值。如310所示,平台A 302的计算值可包括但不限于pj=aj+cj,x'[2j-1]=x[2j-1]+aj,以及x'[2j]=x[2j]+cj。在311,向平台B 322发送值{pj,x'[2-1],x'[2j]}用于计算。类似地,在326,平台B 322生成随机值bj和dj,使得总和(bj+dj)不等于0。例如,如328所示,可以重复生成随机生成的值bj和dj,直到bj+dj不等于0为止。如330所示,平台B 322的计算的值可以包括但不限于:qj=bj+dj,y'[2j-1]=y[2j-1]+bj,以及y'[2j]=y[2j]+dj。在331,向平台A 302发送值{qj,y'[2-1],y'[2j]}用于计算。
在平台彼此发送经操作的数据之后,当仍然在第k次循环中时,两个平台计算最终总计为输出值的值。如312所示,平台A 302计算hj=y'[2j-1](x[2j-1]+2aj)+y'[2j](x[2j]+2cj)+qj(aj+2cj)。如332所示,平台B 322计算gj=x'[2j-1](2y'[2j-1]-bj)+x'[2j](2y[2j]-dj)+pj(dj-2bj)。在314,平台A 302通过对所有hj求和来获得值h,即,
Figure SMS_8
如314所示。在334,平台B 322通过对所有gj求和来获得值g,即/>
Figure SMS_9
如334所示。
在315,平台A可以从平台B接收值g。h和g的和等于向量x和y的乘积。也就是说,xy=h+g。这样,在315,平台A从平台B接收值g。在335,平台A向平台B发送值h。在316,平台A可以通过计算h及g的和来计算向量x和y的乘积,其中h及g是向量x和y的经操作的数据。类似地,在336,平台B还可以通过计算h和g的和来计算向量x和y的乘积。
假设x可以是矩阵A的第i行Ai T,以及y可以是矩阵B的第j列Bj,则可以获得矩阵A和矩阵B的乘积的元素Zij为Zij=Ai TBj=xy。因此,可以获得矩阵A和矩阵B的矩阵乘积Z。
通过用A代替矩阵U,并用B代替diag(S·IM),可以获得矩阵乘积U·diag(S·IM)。类似地,通过用A代替矩阵U,并用B代替S,可以获得矩阵乘积U·S。利用矩阵乘积U·diag(S·IM)和U·S,平台A可以例如根据等式(3)和(4)更新U或V,如关于图2中的206所描述的。
因此,平台A 302可以基于更新的用户特征数据和对象特征数据生成预测评级数据。在一些实施例中,除其他功能外,平台A 302可以基于预测的评级数据生成针对特定客户的特定对象的推荐。在不需要可信机构作为监管的情况下可以实现上述技术和计算。
图4是根据实施例的由对象评级和推荐平台使用不利用可信初始化器的秘密共享方案生成对用户的推荐的示例性方法400的流程图。为了清楚地呈现,以下在本文的其它附图的背景中一般地描述方法400。例如,对象评级和推荐平台可以是针对图1至图3所描述的平台A。然而,应当理解,方法400可以由例如任何适当的系统、环境、软件和硬件,或者系统、环境、软件和硬件的组合来适当地执行。在一些实施例中,方法400的各个步骤可以并行、组合、循环或以任何顺序执行。
在402,由对象评级和推荐平台识别评级数据,该评级数据包括但不限于针对多个用户的多个对象的对应评级。识别评级数据包括(例如,从另一设备)接收、从存储器检索或加载、或基于对方法400的一个或多个输入来确定评级数据。评级数据可包括针对图1至图3描述的评级数据R。例如,评级数据可以包括实际评级或基于与对象有关的现有用户活动的映射评级。方法400从402进行到404。
在404,由对象评级和推荐平台识别包括多个用户特征的用户特征数据,所述用户特征有助于针对多个用户的多个对象的对应评级。识别用户特征数据包括(例如,从另一设备)接收、从存储器检索或加载、或基于对方法400的一个或多个输入确定用户特征数据。在一些实施例中,用户特征数据可以由矩阵U表示。用户特征数据可以包括针对图1至图3所描述的用户特征数据U。方法400从404进行到406。
在406,由对象评级和推荐平台识别包括多个对象特征的对象特征数据,所述多个对象特征有助于针对多个用户的多个对象的对应评级。在一些实施例中,识别对象特征数据包括(例如,从另一设备)接收、从存储器检索或加载、或基于对方法400的一个或多个输入确定对象特征数据。对象特征数据可以包括对象特征数据V。对象特征数据可以包括针对图1至图3描述的对象特征数据V。方法400从406进行到408。
在408,对象评级和推荐平台经由不利用可信初始化器的秘密共享方案从社交网络平台接收基于社交网络数据(例如,社交网络数据矩阵S的向量y)计算的多个经操作的社交网络数据(例如,关于图3描述的g)。此外,社交网络数据表明多个用户中的任何两个之间的社交关系。在不利用可信初始化器的秘密共享方案中,社交网络平台与对象评级和推荐平台共享多个经操作的社交网络数据(例如,g)而不公开社交网络数据(例如,y),其中经操作的社交网络数据基于社交网络数据和多个第一随机变量(例如,bj,dj)计算得到的。在一些实施例中,在不利用可信初始化器的秘密共享方案中,对象评级和推荐平台与社交网络平台共享多个经操作的用户特征数据(例如,h)而不公开用户特征数据(例如,用户特征数据矩阵U的向量x),其中该多个经操作的用户特征数据是基于用户特征数据和多个第二随机变量(例如,aj,cj)计算得到的。在一些实施例中,经操作的社交网络数据被以一方不能从经操作的社交网络数据中恢复原始社交网络数据的方式操作。
在一些实施例中,不利用可信初始化器的秘密共享方案用于解决例如针对图3所描述的等式(2)所描述的优化问题。例如,在不利用可信初始化器的秘密共享方案中,对象评级和推荐平台获得用户特征数据(例如,x)的向量,并基于用户特征数据(例如,x)的向量和随机变量的第二数(例如,aj,cj)生成第一经操作的用户特征数据(例如,x')。对象评级和推荐平台向社交网络平台发送第一经操作的用户特征数据(例如,x'),并从社交网络平台接收基于社交网络数据(例如,y)和随机变量的第一数(例如,bj,dj)计算的第一经操作的社交网络数据(例如,y')。
对象评级和推荐平台可以基于第一经操作的用户特征数据(例如,x')、第一经操作的社交网络数据(例如,y')或随机变量的第二数(例如,aj,cj)中的两个或多个,来生成经操作的用户特征数据(例如,h)中的一个。类似地,社交网络平台可以基于第一经操作的用户特征数据(例如,x')、第一经操作的社交网络数据(例如,y')或随机变量的第一数(例如,bj,dj)中的两个或多个的计算,来生成经操作的社交网络数据(例如,g)中的一个。方法400从408进行到410。
在410,对象评级和推荐平台向社交网络平台发送多个经操作的用户特征数据(例如,多个h),而不公开用户特征数据(例如,x或任何U的向量)例如,如针对图3所描述的。方法400从410进行到412。
在412,对象评级和推荐平台基于评级数据和多个经操作的社交网络数据来更新用户特征数据。在一些实施例中,更新用户特征数据包括通过计算多个经操作的用户特征数据(例如,h)之一与多个经操作的社交网络数据(例如,g)之一的总和来计算用户特征数据和社交网络数据的乘积。此外,所提到的计算可以包括在不利用社交网络数据的情况下,针对计算用户特征数据和社交网络数据的乘积中的每项,以及计算多个经操作的用户特征数据之一和多个经操作的社交网络数据之一。在一些实施例中,用户特征数据包括求解优化问题以使如等式(2)所示的预测评级数据和评级数据之间的差、社交网络数据加权的用户特征数据和防止过度拟合的项的加权和最小化。在一些实施例中,更新用户特征数据包括根据针对图3所描述的示例性技术更新用户特征数据。方法400从412进行到414。
在414,例如,根据针对图3描述的示例性技术,对象评级和推荐平台基于评级数据和用户特征数据更新对象特征数据。方法400从414进行到416。
在416,基于用户特征数据和对象特征数据的乘积生成针对多个用户的多个对象的预测评级数据。在一些实施例中,例如,可以根据等式(1)基于用户特征数据和对象特征数据的乘积来生成预测评级数据。在一些实施例中,由于结合了社交网络,所生成的评级可以更好地与用户的需求或偏好一致。方法400从416进行到418。
在418,基于预测评级数据生成的针对特定用户的特定对象推荐。在一些实施例中,可以向特定用户推荐具有关于特定用户的最高预测评级的一个或多个对象。特定对象的推荐可以是电影或购物对象的推荐。例如,NETFLIX可以更好地推荐电影,或者AMAZON可以基于社交网络数据更好地推荐对象。在一些实施例中,可以例如经由用户接口(UI)输出针对特定对象的推荐。在一些实施例中,所选择的主题可以在图形用户界面(GUI)或其他UI的聊天框、弹出窗口等中显示,以供用户查看和考虑。方法400从418停止。
图5是根据实施例的用于提供与如本公开中所描述的算法、方法、函数、处理、流程和过程相关联的计算功能的示例性计算机系统500的框图。所示计算机502旨在包括诸如服务器、台式计算机、膝上型/笔记本计算机、无线数据端口、智能电话、个人数据助理(PDA)、平板计算设备、这些设备内的一个或多个处理器、或任何其它合适的处理设备,包括计算设备的物理或虚拟实例(或两者)的任何计算设备。此外,计算机502可包括这样的计算机:所述计算机包括诸如小型键盘、键盘、触摸屏或可接受用户信息的其它设备等的输入设备,以及传达与计算机502的操作相关联的信息的输出设备,所述信息包括数字数据、视觉或音频信息(或信息的组合)、或图形类型用户界面(UI)(或GUI)。
计算机502可以充当客户端、网络组件、服务器、数据库或其它持久性设备、或用于执行本公开中所描述的主题的计算机系统的任何其它组件的角色(或角色的组合)。所示计算机502与网络530可通信地耦接。在一些实施例中,计算机502的一个或多个组件可以被配置成在包括基于云计算的环境、本地环境、全局环境或其他环境(或环境的组合)的环境内操作。
在高层级处,计算机502是可操作用于接收、发送、处理、存储或管理与所描述的主题相关联的数据和信息的电子计算设备。根据一些实施例,计算机502还可以包括或应用服务器、电子邮件服务器、web服务器、高速缓存服务器、流数据服务器或其他服务器(或服务器的组合)或与其可通信地耦接。
计算机502可以通过网络530从客户端应用(例如,在另一计算机502上执行)接收请求,并通过使用适当的软件应用处理所接收的请求以响应所接收的请求。此外,请求也可以从内部用户(例如,从命令控制台或通过其他适当的访问方法)、外部或第三方、其他自动化应用、以及任何其他适当的实体、个人、系统或计算机被发送到计算机502。
计算机502的每个组件可以使用系统总线503进行通信。在一些实施例中,计算机502的任何或所有组件、硬件或软件(或硬件和软件的组合)可以使用应用程序接口(API)512或服务层513(或API 512和服务层513的组合)通过系统总线503彼此相连或与接口504(或两者的组合)相连。API 512可以包括例程的规范、数据结构和对象类。API 512可以是独立或依赖于计算机语言的,并且是指完整的接口、单个函数、或甚至一组API。服务层513向计算机502提供软件服务或向可通信地耦接到计算机502的其它组件(无论是否示出)提供软件服务。计算机502的功能对使用该服务层的所有服务消费者可以是可访问的。诸如由服务层513提供的软件服务通过定义的接口提供可重用的、定义的功能。例如,接口可以是以JAVA、C++或以可扩展标记语言(XML)格式或其它适当格式提供数据的其它适当语言编写的软件。虽然示出了API 512或服务层513为计算机502的集成组件,但可选实施例示出API512或服务层513为与计算机502的其它组件相关的独立组件或与可通信地耦接到计算机502的其它组件(无论是否示出)相关的独立组件。此外,在不脱离本公开的范围的情况下,API 512或服务层513的任何或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块(child or sub-modules)。
计算机502包括接口504。尽管在图5中示出了单个接口504,但是根据计算机502的特定需要、期望或特定实施例,可以使用两个或更多个接口504。接口504由计算机502使用以用于与分布式环境中连接至网络530(无论是否示出)的其它系统通信。通常,接口504包括编码在软件或硬件(或软件和硬件的组合)中的逻辑,并且可操作以与网络530通信。更具体地,接口504可以包括支持与通信相关联的一个或多个通信协议的软件,使得网络530或接口的硬件在所示计算机502之内和之外可操作地通信物理信号。
计算机502包括处理器505。尽管在图5中示出了单个处理器505,但是根据计算机502的特定需要、期望或特定实施例,可以使用两个或更多个处理器。通常,处理器505执行指令并操作数据,以执行计算机502的操作和如本公开中描述的任何算法、方法、功能、处理、流程和程序。
计算机502还包括可为计算机502或可连接到网络530(无论是否示出)的其它组件(或两者的组合)保存数据的数据库506。例如,数据库506可以是存储符合本公开数据的内存数据库、常规数据库或其它类型的数据库。在一些实施例中,根据计算机502的特定需要、期望或特定实施例以及所描述的功能,数据库506可以是两个或更多个不同数据库类型的组合(例如,内存中的和常规数据库的混合)。尽管在图5中示出单个数据库506,但根据计算机502的特定需要、期望或特定实施例以及所描述的功能,可使用(相同类型的或类型组合的)两个或多个数据库。虽然示出了数据库506为计算机502的集成组件,但在可选实施例中,数据库506可以位于计算机502外部。如所示,数据库506保存先前描述的评级数据516、用户特征数据518、对象特征数据526和社交网络数据528。
计算机502还包括可以为计算机502保存数据或为可以连接到网络530的其它组件(或两者的组合)保存数据的存储器507(无论是否示出)。存储器507可以存储符合本公开的任何数据。在一些实施例中,根据计算机502的特定需要、期望或特定实施例以及所描述的功能,存储器507可以是两种或更多种不同类型的存储器的组合(例如,半导体存储器和磁存储器的组合)。尽管在图5中示出了单个存储器507,但是根据计算机502的特定需要、期望或特定实施例以及所描述的功能,可以使用(相同的或类型组合的)两个或更多存储器507。尽管示出了存储器507为计算机502的集成组件,但在可选实施例中,存储器507可以位于计算机502外部。
应用508是根据计算机502的特定需要、期望或特定实施方案提供功能,尤其是关于本公开中所描述的功能的算法软件引擎。例如,应用508可以用作一个或多个组件、模块或应用程序。此外,尽管示出单个应用508,但应用508可被实现为计算机502上的多个应用508。另外,尽管示出了应用508集成到计算机502,但在可选实施例中,应用508可以位于计算机502外部。
计算机502还可包括电源514。电源514可以包括可以被配置为用户可更换的可再充电电池或用户不可更换的不可再充电电池。在一些实施例中,电源514可以包括功率转换或管理电路(包括再充电、待机或其他功率管理功能)。在一些实施例中,电源514可以包括电源插头,以允许计算机502的插头插入到墙壁插座或其他电源中,从而例如为计算机502供电或为可充电电池再充电。
可以存在任意数量个计算机502,计算机502与包含计算机502的计算机系统相关联,或者在包含计算机502的计算机系统的外部,每个计算机502通过网络530通信。此外,在不脱离本公开的范围的情况下,术语“客户端”、“用户”和其它适当的术语可以互换地合理使用。此外,本公开预期许多用户可以使用一个计算机502,或者一个用户可以使用多个计算机502。
图6是示出了根据本文实施例的用于在平台A和平台B之间使用不利用可信初始化器的秘密共享方案计算矩阵X和矩阵Y的乘积的示例性秘密共享方法600的流程图。示例性秘密共享方法300是秘密共享方法600的示例性应用,通过用A替换X并用B替换矩阵Y。示例性秘密共享方法300示出如何计算矩阵Z=A·B的元素Zij、矩阵A和矩阵B的乘积,而示例性秘密共享方法400示出了计算矩阵Z、矩阵A和矩阵B的乘积的方式的更紧凑的表示。
在604,平台A 602获得或接收具有维度x×y的输入矩阵X∈Rx×y。在一些实施例中,y是偶数,y=2k。针对304描述的示例性初始向量x=(x1,x2,...,x_2k)可以是矩阵X'的一行。在一些实施例中,如果原始输入矩阵
Figure SMS_10
其中/>
Figure SMS_11
是奇数,/>
Figure SMS_12
则全零列可被附加到输入矩阵/>
Figure SMS_13
这样输入矩阵X中就有了偶数列。
在606,平台A 602在本地生成与输入矩阵X之一具有相同维度x×y的矩阵X′∈Rx ×y
在624,平台B 622获得或接收具有维度y×z的输入矩阵Y′∈Ry×z。针对304描述的示例性初始向量y=(y1,y2,...,y_2k)可以是矩阵B的一列。在一些实施例中,如果原始输入矩阵
Figure SMS_14
其中/>
Figure SMS_15
是奇数,/>
Figure SMS_16
则全零行可被附加到输入矩阵/>
Figure SMS_17
这样输入矩阵Y中就有了偶数行。注意,在/>
Figure SMS_18
和/>
Figure SMS_19
中附加全零列和全零行不会改变它们的矩阵乘积,
Figure SMS_20
在626,平台B 602本地生成具有如输入矩阵Y之一的维度y×z的随机矩阵Y′∈Ry ×z
在610,平台A 602从随机矩阵X′∈Rx×y中分别提取偶数列
Figure SMS_21
和奇数列
Figure SMS_22
在630,平台B 622从随机矩阵Y′∈Ry×z中分别提取偶数行
Figure SMS_23
和奇数行
Figure SMS_24
在612,平台A 602计算X1=X+X′和X2=Xe′+Xo′。
在632,平台B 622计算Y1=Y′-Y和Y2=Ye′-Yo′。
在613,平台A 602向平台B 622发送X1和X2。在633,平台B 622向平台A 602发送Y1和Y2
在614,平台A 602计算M=(X+2X′)Y1+(X2+X′o)Y2
在634,平台B 622计算N=X1(2Y-Y′)+X2(Y2+Y′e)。
在615,平台A 602向平台B 622发送M。在635,平台B 622向平台A 602发送N。
在616,平台A 602计算矩阵乘积XY=M+N。
在636,平台B 622计算矩阵乘积XY=M+N。
图7是根据本文实施例的通过不利用可信初始化器的秘密共享来安全协同地计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的示例性方法700的流程图。为了清楚地呈现,以下描述在本说明书中的其他附图的背景下一般地描述了方法700。例如,使用不利用可信初始化器的秘密共享方案来计算矩阵X和矩阵Y的乘积的示例性秘密共享方法600是方法700的示例性实施例。
在一些实施例中,示例性方法700可以由参与秘密共享的一方(例如,第一方或第二方)执行,以在各方不可以实现第一方访问第二方的隐私数据且第二方访问第一方的隐私数据的情况下,实现安全协同地计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积。在一些实施例中,第一方可以是如针对图6所描述的平台A或平台B。在一些实施例中,第一方可以是如针对图1-图4所描述的对象评级和推荐平台或社交网络平台。在一些实施例中,如针对图1-图4所描述的,包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积可以是:例如,矩阵乘积U·diag(S·IM)或U·S。在一些实施例中,示例性方法700可用于计算其他矩阵乘积。
应当理解,方法700可以例如通过任何合适的系统、环境、软件和硬件,或者系统、环境、软件和硬件的组合来适当地执行。在一些实施例中,方法700的各个步骤可以并行、组合、循环或以任何顺序运行。
在701,第一方获得包括第一方的隐私数据的第一矩阵。在一些实施例中,获得第一矩阵包括接收(例如,从另一设备),从存储器检索或加载,或者基于方法700的一个或多个输入确定该第一矩阵。
在一些实施例中,如针对图6所描述的,包括第一方的隐私数据的第一矩阵可以是平台A的矩阵X。例如,第一平台可以是对象评级和推荐平台。如关于图1-图4所描述的,第一方的隐私数据可以包括评级数据R,其包括针对多个用户的多个对象的对应评级。在一些实施例中,第一平台包括社交网络平台。如针对图6所描述的,包括第一方的隐私数据的第一矩阵可以是平台B的矩阵Y。例如,第一方的隐私数据可以包括社交网络数据S,其指示针对图1-图4所描述的多个用户中的任何两个用户之间的社交关系。方法700从702进行到704。
在一些实施例中,第一平台包括对象评级和推荐平台,第一方的隐私数据包括评级数据,该评级数据包括针对多个用户的多个对象的对应评级;第二平台包括社交网络平台;并且第一方的隐私数据包括指示多个用户中的任何两个用户之间的社交关系的社交网络数据。
在702,第一方确定第一矩阵是否包括偶数列。
在703,响应于确定所述第一矩阵包括奇数列,第一方将全零列附加到第一矩阵。
在704,响应于确定第一矩阵包括偶数列,第一方生成与第一矩阵具有相同大小的第一随机矩阵。作为一个示例,如针对图6所描述的,第一随机矩阵可以是具有与平台A的第一矩阵X相同的维度的矩阵X'。作为另一个例子,如针对图6所描述的,第一随机矩阵可以是,例如,与平台B的第一矩阵Y具有相同维度的矩阵Y'。
在706,第一方识别第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵。在一些实施例中,第一随机矩阵的第一子矩阵包括第一随机矩阵的列的子集,而第一随机矩阵的第二子矩阵包括第一随机矩阵的剩余列。在一些实施例中,第一随机矩阵的第一子矩阵包括第一随机矩阵的偶数列(例如,第一随机矩阵的第二列、第四列、第六列、......,如针对图6所描述的X′e),并且第一随机矩阵的第二子矩阵包括第一随机矩阵的奇数列(例如,第一随机矩阵的第一列、第三列、第五列、......,如针对图6所描述的X′o)。在一些实施例中,可以以另一种方式将第一随机矩阵划分为第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵。例如,第一随机矩阵的第一子矩阵可以包括第一随机矩阵的列的前半部分,第一随机矩阵的第二子矩阵可以包括第一随机矩阵的列的后半部分。在一些实施例中,第一随机矩阵可以被划分为第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵,使得子矩阵可以用于加扰第一随机矩阵,并生成第一方的第一加扰隐私数据,用于计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积,而不将第一方的隐私数据暴露给第二方。
在708,第一方基于第一矩阵、第一随机矩阵、第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵来计算第一方的第一加扰隐私数据。例如,由于基于第一随机矩阵、第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵的操作,从第一方的第一加扰隐私数据不能唯一地导出第一方的隐私数据。这样,第一方的第一加扰隐私数据使得第一方的隐私数据免于从第一方的第一加扰隐私数据被解码出。
在一些实施例中,第一方的第一加扰隐私数据包括第一矩阵和第一随机矩阵的第一和以及第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵的第二和(例如,如针对图6所描述的X1=X+X′和X2=X′e+X′o)。在一些实施例中,第一方的第一加扰隐私数据可以基于第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵的另一种形式计算,只要可以基于第一方的第一加扰隐私数据计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积而不将第一方的隐私数据暴露给第二方。
在710,第一方将第一方的第一加扰隐私数据发送至第二方。因为从第一方的第一加扰隐私数据中不能唯一地导出第一方的隐私数据,所以即使第一方的第一加扰隐私数据被发送到第二方,也可以保护第一方的数据隐私和安全性。
在712,第一方从第二方接收第二方的第二加扰隐私数据。从第二方的第二加扰隐私数据中不能唯一地导出第二方的隐私数据。在一些实施例中,第一方的第一加扰隐私数据和第二方的第二加扰隐私数据可以由第一方或第二方用来计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的相应加数(例如,M和N)(例如,矩阵乘积XY=M+N)。
在一些实施例中,基于第二矩阵、与第二矩阵具有相同大小的第二随机矩阵、第二随机矩阵的第一子矩阵和第二随机矩阵的第二子矩阵来计算第二方的第二加扰隐私数据。在一些实施例中,第二方的第二加扰隐私数据包括第二矩阵与第二随机矩阵之间的第一差以及第二随机矩阵的第一子矩阵与第二随机矩阵的第二子矩阵之间的第二差。
在一些实施例中,由于基于第二随机矩阵、第二随机矩阵的第一子矩阵和第二随机矩阵的第二子矩阵的操作,第二方的第二加扰隐私数据使得第二方的隐私数据免于从第二方的第二加扰隐私数据被解码出。即使第一方接收到第二方的第二加扰隐私数据,也可以保护第二方的数据隐私和安全性。
在一些实施例中,第二随机矩阵的第一子矩阵包括第二随机矩阵的偶数行(例如,第二随机矩阵的第二行、第四行、第六行、......,如针对图6所描述的Y′e),并且第二随机矩阵的第二子矩阵包括第二随机矩阵的奇数行(例如,第二随机矩阵的第一行、第三行、第五行、......,如针对图6所描述的Y′o)。在一些实施例中,可以以另一种方式将第二随机矩阵划分为第二随机矩阵的第一子矩阵和第二随机矩阵的第二子矩阵,例如,取决于第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵,使得子矩阵可用于加扰第二随机矩阵并生成第二方的第二加扰隐私数据,从而用于计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积,而不将第二方的隐私数据暴露给第一方。
在714,第一方计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第一加数(例如,针对图6描述的M)。
在716,第一方从第二方接收包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第二加数(例如,针对图6所描述的N)。
在718,第一方通过对第一加数和第二加数求和来计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积(例如,如针对图6所描述的矩阵乘积XY=M+N),而不用访问或得知第二方的隐私数据。
图8是根据本文实施例的装置800的模块的示例的图。
装置800可以是参与矩阵乘积的安全协同计算的一方的实施例的示例。例如,装置800可以是通过不利用可信初始化器的秘密共享安全协同地计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第一方的示例。装置800可以对应于上述实施例,装置800包括以下:获得模块802,用于第一方获得包括第一方的隐私数据的第一矩阵;生成模块804,用于第一方生成与第一矩阵具有相同大小的第一随机矩阵;识别模块806,用于第一方识别第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵;第一计算模块808,用于第一方基于第一矩阵、第一随机矩阵、第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵计算第一方的第一加扰隐私数据,其中,从第一方的第一加扰隐私数据不能唯一地导出第一方的隐私数据;第一接收模块812,用于第一方从第二方接收第二方的第二加扰隐私数据,其中,从第二方的第二加扰隐私数据中不能唯一地导出第二方的隐私数据;第二计算模块814,用于第一方计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第一加数;第二接收模块816,用于第一方从第二方接收包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第二加数;以及第三计算模块818,第一方通过对第一加数和第二加数进行求和来计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积。
在可选实施例中,装置800还包括以下:发送模块810,用于第一方将第一方的第一加扰隐私数据发送至第二方。
在可选实施例中,装置800还包括以下:确定模块820,用于确定第一矩阵是否包括偶数列;以及附加模块822,用于响应于确定第一矩阵包括奇数列,将全零列附加到第一矩阵。
在可选实施例中,第一随机矩阵的第一子矩阵包括第一随机矩阵的全部偶数列,第一随机矩阵的第二子矩阵包括第一随机矩阵的全部奇数列。
在可选实施例中,第一方的第一加扰隐私数据包括第一矩阵与第一随机矩阵的第一和,以及第一随机矩阵的第一子矩阵与第一随机矩阵的第二子矩阵的第二和。
在可选实施例中,基于第二矩阵、与第二矩阵具有相同大小的第二随机矩阵、第二随机矩阵的第一子矩阵、以及第二随机矩阵的第二子矩阵来计算第二方的第二加扰隐私数据。
在可选实施例中,第二随机矩阵的第一子矩阵包括第二随机矩阵的全部偶数行,并且第二随机矩阵的第二子矩阵包括第二随机矩阵的全部奇数行。
在可选实施例中,第二方的第二加扰隐私数据包括第二矩阵和第二随机矩阵之间的第一差以及第二随机矩阵的第一子矩阵和第二随机矩阵的第二子矩阵之间的第二差。
在可选实施例中,第一平台包括对象评级和推荐平台;第一方的隐私数据包括评级数据,该评级数据包括针对多个用户的多个对象的相应评级;第二平台包括社交网络平台;并且第一方的隐私数据包括指示多个用户中的任何两个用户之间的社交关系的社交网络数据。
在先前实施中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实现设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板电脑、可穿戴设备或这些设备的任意组合。
对于装置中各个单元的功能和角色的实施过程,可以参考前一方法中相应步骤的实施过程。为简单起见,这里省略了细节。
由于装置实施例基本上对应于方法实施例,对于相关部分,可以参考方法实施例中的相关描述。先前描述的装置实施例仅是示例。被描述为单独部分的模块可以或可以不是物理上分离的,并且显示为模块的部分可以是或可以不是物理模块,可以位于一个位置,或者可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文解决方案的目标。本领域普通技术人员无需付出创造性努力就能理解和实现本申请的实施例。
再次参见图8,其可以被解释为示出第一方的内部功能模块和计算装置的结构,以通过不利用可信初始化器的秘密共享对包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积进行安全协同计算。本质上,执行主体可以是电子设备,该电子设备包括以下:一个或多个处理器;被配置为存储所述一个或多个处理器的可执行指令的存储器。
所述一个或多个处理器被配置为:所述第一方获得包括所述第一方的隐私数据的第一矩阵;所述第一方生成与所述第一矩阵具有相同大小的第一随机矩阵;所述第一方识别第一随机矩阵的第一子矩阵和第一随机矩阵的第二子矩阵;所述第一方基于所述第一矩阵、所述第一随机矩阵、所述第一随机矩阵的第一子矩阵和所述第一随机矩阵的第二子矩阵计算所述第一方的第一加扰隐私数据,其中,从第一方的第一加扰隐私数据中不能唯一地导出第一方的隐私数据;所述第一方从所述第二方接收第二方的第二加扰隐私数据,其中,从第二方的第二加扰隐私数据中不能唯一地导出第二方的隐私数据;所述第一方计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第一加数;由所述第一方从所述第二方接收包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积的第二加数;并且由所述第一方通过对第一加数和第二加数求和来计算包括第一方的隐私数据的第一矩阵和包括第二方的隐私数据的第二矩阵的矩阵乘积。
可选地,所述一个或多个处理器被配置为:所述第一方向将所述第一方的第一加扰隐私数据发送至所述第二方。
可选地,所述一个或多个处理器被配置为:确定所述第一矩阵是否包括偶数列;并且响应于确定所述第一矩阵包括奇数列,将全零列附加到第一矩阵。
可选地,所述第一随机矩阵的第一子矩阵包括第一随机矩阵的全部偶数列以及所述第一随机矩阵的第二子矩阵包括第一随机矩阵的全部奇数列。
可选地,第一方的第一加扰隐私数据包括第一矩阵与第一随机矩阵的第一和以及第一随机矩阵的第一子矩阵与第一随机矩阵的第二子矩阵的第二和。
可选地,基于第二矩阵、与第二矩阵具有相同大小的第二随机矩阵、第二随机矩阵的第一子矩阵和第二随机矩阵的第二子矩阵计算第二方的第二加扰隐私数据。
可选地,第二随机矩阵的第一子矩阵包括第二随机矩阵的全部偶数行,并且第二随机矩阵的第二子矩阵包括第二随机矩阵的全部奇数行。
可选地,第二方的第二加扰隐私数据包括第二矩阵与第二随机矩阵之间的第一差以及第二随机矩阵的第一子矩阵与第二随机矩阵的第二子矩阵的第二差。
可选地,第一平台包括对象评级和推荐平台;第一方的隐私数据包括评级数据,该评级数据包括针对多个用户的多个对象的对应评级;第二平台包括社交网络平台;以及第一方的隐私数据包括指示多个用户中的任何两个用户之间的社交关系的社交网络数据。
本文中描述的技术产生一种或多种技术效果。在一些实施例中,所描述的技术允许不同方(例如,平台、参与者和实体)在秘密共享中安全地协作而不公开隐私或敏感数据,这鼓励了各方之间的集成和协作而不损害数据隐私。在一些实施例中,所描述的技术允许参与秘密共享的各方实现对各方的隐私数据的矩阵乘积的安全协同计算,而一方无需访问或知悉另一方的隐私数据,例如,由于设计了秘密共享方案,一方可以计算其自己的隐私数据和另一方的隐私数据的矩阵乘积,而无需访问或了解另一方的隐私数据,反之亦然。因此,可以保护每一方的数据隐私和安全性。在一些实施例中,所描述的技术允许各方协作并实现数据安全性,而无需诸如可信初始化器之类的第三方权限的监管,从而降低了第三方权限的成本。在一些实施例中,所描述的技术允许每一方在没有第三方干预的情况下在本地执行计算,从而提高协作的效率和灵活性。在一些其他实施例中,由于在应用秘密共享方案之前各方可以完成大部分工作(例如,生成随机数和计算位置),所描述的技术允许更有效的共同开发活动(例如,关于时间、处理器周期、内存使用情况和网络带宽/拥塞)或当前在线方不支持的活动。在其他实施例中,所描述的技术可以提供对象评级和推荐方的改进的推荐模型,并提供更有针对性的推荐(例如,通过利用从社交媒体平台获得的社交网络数据,电影推荐方向用户提供更有针对性的相关推荐)。其他优点对于本领域普通技术人员来说将是显而易见的。
所描述的主题的实施例可以包括单独或组合的一个或多个特征。
例如,在第一实施例中,一种计算机实现的方法,通过不利用可信初始化器的秘密共享安全协同地计算第一矩阵和第二矩阵的矩阵乘积的方法,所述第一矩阵包括第一方的隐私数据,所述第二矩阵包括第二方的隐私数据,所述方法包括:所述第一方获得包括所述第一方的隐私数据的所述第一矩阵;所述第一方生成与所述第一矩阵具有相同大小的第一随机矩阵所述第一方识别所述第一随机矩阵的第一子矩阵和所述第一随机矩阵的第二子矩阵;所述第一方基于所述第一矩阵、所述第一随机矩阵、所述第一随机矩阵的第一子矩阵以及所述第一随机矩阵的第二子矩阵来计算所述第一方的第一加扰隐私数据,其中,从所述第一方的所述第一加扰隐私数据中不能唯一地导出所述第一方的隐私数据;所述第一方从所述第二方接收所述第二方的第二加扰隐私数据,其中,从所述第二方的所述第二加扰隐私数据不能唯一地导出所述第二方的隐私数据;所述第一方计算包括所述第一方的隐私数据的所述第一矩阵和包括所述第二方的隐私数据的所述第二矩阵的所述矩阵乘积的第一加数;所述第一方从所述第二方接收包括所述第一方的隐私数据的所述第一矩阵与包括所述第二方的隐私数据的所述第二矩阵的所述矩阵乘积的第二加数;以及所述第一方通过对所述第一加数和所述第二加数求和来计算包括所述第一方的隐私数据的所述第一矩阵与包括所述第二方的隐私数据的所述第二矩阵的所述矩阵乘积。可选地,所述一个或多个处理器被配置为:所述第一方向将所述第一方的第一加扰隐私数据发送至所述第二方。
前述和其他描述的实施例可以各自可选地包括以下特征中的一个或多个:
第一特征,可与以下任意特征组合,还包括:所述第一方将第一方的第一加扰隐私数据发送至所述第二方。
第二特征,可与以下任意特征组合,还包括:确定第一矩阵是否包括偶数列;并且响应于确定第一矩阵包括奇数列,将全零列附加到第一矩阵。
第三特征,可以与以下任意特征组合,其中,第一随机矩阵的第一子矩阵包括第一随机矩阵的全部偶数列,并且第一随机矩阵的第二子矩阵包括第一个随机矩阵的全部奇数列。
第四特征,可与以下任意特征组合,其中所述第一方的第一加扰隐私数据包括第一矩阵与第一随机矩阵的第一和,以及第一随机矩阵的第一子矩阵与第一随机矩阵的第二子矩阵的第二和。
第五特征,可与以下任意特征组合,其中,所述第二方的第二加扰隐私数据是基于所述第二矩阵、与第二矩阵具有相同大小的第二随机矩阵、第二随机矩阵的第一子矩阵和第二随机矩阵的第二子矩阵计算的。
第六特征,可以与以下任意特征组合,其中,所述第二随机矩阵的第一子矩阵包括第二随机矩阵的全部偶数行,并且第二随机矩阵的第二子矩阵包括第二随机矩阵的全部奇数行。
第七特征,可与以下任意特征组合,其中所述第二方的第二加扰隐私数据包括第二矩阵和第二随机矩阵之间的第一差以及第二随机矩阵的第一子矩阵与第二随机矩阵的第二子矩阵的第二差。
第八特征,可与以下任意特征组合,其中:所述第一平台包括对象评级和推荐平台;第一方的隐私数据包括评级数据,该评级数据包括针对多个用户的多个对象的对应评级;所述第二平台包括社交网络平台;并且所述第一方的隐私数据包括指示多个用户中的任何两个用户之间的社交关系的社交网络数据。
本文中描述的主题、动作和操作的实施例可以在数字电子电路中、有形体现的计算机软件或固件中、包括本文中公开的结构及其结构等同物的计算机硬件中,或者它们中的一个或多个的组合中实现。本文中描述的主题的实施例可以实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上,用于由数据处理装置执行或控制数据处理的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,其具有编码或存储在其上的指令。载体可以是有形的非暂态计算机可读介质,例如磁盘、磁光盘或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他媒体类型。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电、光或电磁信号,其被生成以编码用于传输到合适的接收器装置以供数据处理装置执行的信息。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎性语言、说明或程序性语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由数据通信网络互连的在一个或多个位置一台或多台计算机。
计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件中;或者多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的多个文件。
举例来说,用于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将接收用于执行的计算机程序的指令、以及接收来自耦接到处理器的非暂态计算机可读介质的数据。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。数据处理设备可以包括例如FPGA(现场可编程门阵列),ASIC(专用集成电路)或GPU(图形处理单元)的专用逻辑电路。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们一个或多个的组合的代码。
本文中描述的处理和逻辑流程可以由一台或多台计算机或处理器执行一个或多个计算机程序进行,以通过对输入数据进行运算并生成输出来执行操作。处理和逻辑流程也可以由例如FPGA,ASIC或GPU的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机还将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如磁盘、磁光盘或光盘、固态驱动器或任何其他类型的非暂态计算机可读介质。但是,计算机不需要具有这样的设备。因此,计算机可以耦接到本地和/或远程的例如一个或多个存储器的一个或多个存储设备。例如,计算机可以包括作为计算机的集成组件的一个或多个本地存储器,或者计算机可以耦接到云网络中的一个或多个远程存储器。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备。例如,通用串行总线(USB)闪存驱动器,仅举几例。
组件可以通过诸如直接地连接、或通过一个或多个中间组件彼此电学连接或光学连接可通信地连接而彼此“耦接”,。如果其中一个组件被集成到另一个组件中,组件也可以彼此“耦接”。例如,集成到处理器(例如,L2高速缓存组件)中的存储组件“耦接到”处理器。
为了提供与用户的交互,本文中所描述的主题的实施例可以在计算机上实现或配置为与该计算机通信,该计算机具有:显示设备,例如,LCD(液晶显示器)监视器,用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息并接收来自用户的响应消息来与用户交互。
本文使用与系统,装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
虽然本文包含许多具体实施例细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文多个单独实施例的上下文中描述的多个特定特征也可以在单个实施例中的组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且要求保护可以指向子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在一些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (10)

1.一种计算机实现的通过不利用可信初始化器的秘密共享安全协同地计算第一矩阵和第二矩阵的矩阵乘积的方法,所述第一矩阵包括第一方的隐私数据,所述第二矩阵包括第二方的隐私数据,所述方法包括:
所述第一方获得包括所述第一方的隐私数据的所述第一矩阵;
所述第一方生成与所述第一矩阵具有相同大小的第一随机矩阵;
所述第一方识别所述第一随机矩阵的第一子矩阵和所述第一随机矩阵的第二子矩阵;
所述第一方基于所述第一矩阵、所述第一随机矩阵、所述第一随机矩阵的第一子矩阵以及所述第一随机矩阵的第二子矩阵来计算所述第一方的第一加扰隐私数据,其中,从所述第一方的所述第一加扰隐私数据中不能唯一地导出所述第一方的隐私数据;
所述第一方从所述第二方接收所述第二方的第二加扰隐私数据,其中,从所述第二方的所述第二加扰隐私数据不能唯一地导出所述第二方的隐私数据;
所述第一方计算包括所述第一方的隐私数据的所述第一矩阵和包括所述第二方的隐私数据的所述第二矩阵的所述矩阵乘积的第一加数;
所述第一方从所述第二方接收包括所述第一方的隐私数据的所述第一矩阵与包括所述第二方的隐私数据的所述第二矩阵的所述矩阵乘积的第二加数;以及
所述第一方通过对所述第一加数和所述第二加数求和来计算包括所述第一方的隐私数据的所述第一矩阵与包括所述第二方的隐私数据的所述第二矩阵的所述矩阵乘积;
确定所述第一矩阵是否包括偶数列;以及
响应于确定所述第一矩阵包括奇数列,向所述第一矩阵添加全零列。
2.如权利要求1所述的方法,还包括:
所述第一方将所述第一方的所述第一加扰隐私数据发送至所述第二方。
3.如权利要求1或2所述的方法,其中,
所述第一随机矩阵的第一子矩阵包括所述第一随机矩阵的全部偶数列,并且
所述第一随机矩阵的第二子矩阵包括所述第一随机矩阵的全部奇数列。
4.如权利要求3所述的方法,其中,所述第一方的所述第一加扰隐私数据包括:
所述第一矩阵与所述第一随机矩阵的第一和,以及
所述第一随机矩阵的第一子矩阵与所述第一随机矩阵的第二子矩阵的第二和。
5.如权利要求1或2所述的方法,其中,基于所述第二矩阵、与所述第二矩阵具有相同大小的第二随机矩阵、所述第二随机矩阵的第一子矩阵和所述第二随机矩阵的第二子矩阵来计算所述第二方的所述第二加扰隐私数据。
6.如权利要求5所述的方法,其中,
所述第二随机矩阵的第一子矩阵包括所述第二随机矩阵的全部偶数行,并且
所述第二随机矩阵的第二子矩阵包括所述第二随机矩阵的全部奇数行。
7.如权利要求5所述的方法,其中,所述第二方的所述第二加扰隐私数据包括:
所述第二矩阵和所述第二随机矩阵之间的第一差,以及
所述第二随机矩阵的第一子矩阵与所述第二随机矩阵的第二子矩阵的第二差。
8.如权利要求1或2所述的方法,其中:
所述第一方包括对象评级和推荐平台;
所述第一方的隐私数据包括评级数据,所述评级数据包括针对多个用户的多个对象的对应评级;
所述第二方包括社交网络平台;以及
所述第二方的隐私数据包括社交网络数据,所述社交网络数据表明所述多个用户中的任意两个用户之间的社交关系。
9.一种通过第一方和第二方之间不利用可信初始化器的秘密共享提供数据安全性的系统,包括:
一个或多个处理器;以及
耦接至所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行权利要求1-8中任一项所述的方法。
10.一种通过第一方和第二方之间不利用可信初始化器的秘密共享提供数据安全的装置,所述装置包括用于执行权利要求1-8中任一项所述的方法的多个模块。
CN201980001760.5A 2018-10-17 2019-04-04 不利用可信初始化器的安全多方计算方法、系统及装置 Active CN110546642B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2018/110688 WO2020077573A1 (en) 2018-10-17 2018-10-17 Secret sharing with no trusted initializer
CNPCT/CN2018/110688 2018-10-17
PCT/CN2019/081385 WO2020077959A1 (en) 2018-10-17 2019-04-04 Secure multi-party computation with no trusted initializer

Publications (2)

Publication Number Publication Date
CN110546642A CN110546642A (zh) 2019-12-06
CN110546642B true CN110546642B (zh) 2023-06-02

Family

ID=66850327

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880012931.XA Pending CN110366722A (zh) 2018-10-17 2018-10-17 不利用可信初始化器的秘密共享
CN201980001760.5A Active CN110546642B (zh) 2018-10-17 2019-04-04 不利用可信初始化器的安全多方计算方法、系统及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880012931.XA Pending CN110366722A (zh) 2018-10-17 2018-10-17 不利用可信初始化器的秘密共享

Country Status (16)

Country Link
US (2) US10789377B2 (zh)
EP (2) EP3665583A4 (zh)
JP (1) JP6803980B1 (zh)
KR (1) KR102150816B1 (zh)
CN (2) CN110366722A (zh)
AU (2) AU2018353923B2 (zh)
BR (1) BR112019008135B1 (zh)
CA (2) CA3040669A1 (zh)
ES (1) ES2836207T3 (zh)
MX (1) MX2019004664A (zh)
PH (1) PH12019500891A1 (zh)
PL (1) PL3659292T3 (zh)
RU (1) RU2728522C1 (zh)
SG (2) SG11201903587TA (zh)
WO (2) WO2020077573A1 (zh)
ZA (1) ZA201902550B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2019004664A (es) 2018-10-17 2022-05-12 Advanced New Technologies Co Ltd Compartimiento secreto sin inicializador confiable.
CN111030811B (zh) * 2019-12-13 2022-04-22 支付宝(杭州)信息技术有限公司 一种数据处理的方法
CN111176582A (zh) * 2019-12-31 2020-05-19 北京百度网讯科技有限公司 矩阵存储方法、矩阵访问方法、装置和电子设备
CN111461858B (zh) * 2020-03-10 2023-02-17 支付宝(杭州)信息技术有限公司 基于隐私保护的连乘计算方法、装置、系统和电子设备
CN111428276B (zh) * 2020-03-19 2022-08-02 腾讯科技(深圳)有限公司 一种数据处理的方法、装置、设备和介质
CN111162896B (zh) * 2020-04-01 2020-06-26 支付宝(杭州)信息技术有限公司 双方联合进行数据处理的方法及装置
CN111506922B (zh) * 2020-04-17 2023-03-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111241570B (zh) * 2020-04-24 2020-07-17 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111291417B (zh) * 2020-05-09 2020-08-28 支付宝(杭州)信息技术有限公司 保护数据隐私的多方联合训练对象推荐模型的方法及装置
CN112163227B (zh) * 2020-09-02 2022-04-29 湖北工业大学 一种电商平台卖家用户销售额多维统计分析系统及方法
US11544767B2 (en) * 2020-11-02 2023-01-03 Sas Institute Inc. Recommendation system with implicit feedback
US11379743B2 (en) * 2020-11-02 2022-07-05 Sas Institute Inc. Recommendation system
CN112311546B (zh) * 2020-12-25 2021-04-09 鹏城实验室 数据保密判定方法、装置、设备及计算机可读存储介质
CN112560106B (zh) * 2021-02-20 2021-05-18 支付宝(杭州)信息技术有限公司 针对隐私矩阵进行处理的方法、装置和系统
CN116383848B (zh) * 2023-04-04 2023-11-28 北京航空航天大学 一种三方安全计算防作恶方法、设备及介质
US11743524B1 (en) 2023-04-12 2023-08-29 Recentive Analytics, Inc. Artificial intelligence techniques for projecting viewership using partial prior data sources

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788123B1 (en) * 2000-06-23 2010-08-31 Ekhaus Michael A Method and system for high performance model-based personalization
US20040133574A1 (en) * 2003-01-07 2004-07-08 Science Applications International Corporaton Vector space method for secure information sharing
US20090197681A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation System and method for targeted recommendations using social gaming networks
US8407286B2 (en) * 2008-05-15 2013-03-26 Yahoo! Inc. Method and apparatus for utilizing social network information for showing reviews
US8068426B2 (en) * 2008-05-29 2011-11-29 Massachusetts Institute Of Technology Feedback-based online network coding
US20100076850A1 (en) * 2008-09-22 2010-03-25 Rajesh Parekh Targeting Ads by Effectively Combining Behavioral Targeting and Social Networking
US8364713B2 (en) * 2009-01-20 2013-01-29 Titanium Fire Ltd. Personal data manager systems and methods
US8489515B2 (en) * 2009-05-08 2013-07-16 Comcast Interactive Media, LLC. Social network based recommendation method and system
US9460092B2 (en) * 2009-06-16 2016-10-04 Rovi Technologies Corporation Media asset recommendation service
US20110060738A1 (en) * 2009-09-08 2011-03-10 Apple Inc. Media item clustering based on similarity data
EP2507758A4 (en) * 2009-12-04 2013-11-27 Ericsson Telefon Ab L M SYSTEM AND METHOD FOR DATA PROTECTION OF USER INFORMATION IN A RECOMMENDATION SYSTEM
US20110246500A1 (en) * 2010-03-30 2011-10-06 Praphul Chandra Storing and querying of user feedback in a personal repository accessible to a personal computing device
US8812591B2 (en) * 2011-06-15 2014-08-19 Facebook, Inc. Social networking system data exchange
US9536268B2 (en) 2011-07-26 2017-01-03 F. David Serena Social network graph inference and aggregation with portability, protected shared content, and application programs spanning multiple social networks
EP2549423A1 (en) * 2011-07-22 2013-01-23 Axel Springer Digital TV Guide GmbH Automatic determination of the relevance of recommendations in a social network
US20130054481A1 (en) * 2011-08-23 2013-02-28 Infosys Limited System and method for sharing, analyzing and consolidating medical data in a social network
US20130097056A1 (en) * 2011-10-13 2013-04-18 Xerox Corporation Methods and systems for recommending services based on an electronic social media trust model
EP2590126A1 (en) * 2011-11-01 2013-05-08 Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO Recommender system for providing recommendations to groups of users
JP5917712B2 (ja) 2011-12-19 2016-05-18 インテル コーポレイション スマートデバイス支援取引
US9043250B2 (en) * 2012-01-10 2015-05-26 Telcordia Technologies, Inc. Privacy-preserving aggregated data mining
US10311403B2 (en) 2012-06-04 2019-06-04 Apple Inc. Providing feedback via a social network from a media distribution platform
KR20150023432A (ko) * 2012-06-21 2015-03-05 톰슨 라이센싱 사용자 데모그래픽을 추정하는 방법 및 장치
WO2014023432A1 (en) * 2012-08-09 2014-02-13 Livestudies Srl Apparatus and method for a collaborative environment using distributed touch sensitive surfaces
CN102932100B (zh) * 2012-10-16 2016-09-21 四川电力科学研究院 一种并行加扰的方法及装置
CN105637798A (zh) * 2013-03-04 2016-06-01 汤姆逊许可公司 用于隐私保护计数的方法和系统
US10733194B2 (en) * 2013-03-08 2020-08-04 Warren Young Systems and methods for providing a review platform
US20140288999A1 (en) 2013-03-12 2014-09-25 Correlor Technologies Ltd Social character recognition (scr) system
US20150066689A1 (en) * 2013-08-27 2015-03-05 Jon Anthony ASTORE Method and system for providing social media ecosystem compensation
WO2015061696A1 (en) * 2013-10-25 2015-04-30 Peep Mobile Digital Social event system
CN103713938A (zh) * 2013-12-17 2014-04-09 江苏名通信息科技有限公司 虚拟化环境下基于OpenMP的多GPU协同计算方法
CN103995823A (zh) 2014-03-25 2014-08-20 南京邮电大学 一种基于社交网络的信息推荐方法
US10235403B2 (en) * 2014-07-08 2019-03-19 Palo Alto Research Center Incorporated Parallel collective matrix factorization framework for big data
AU2015296901B2 (en) * 2014-08-01 2019-10-10 Commonwealth Scientific And Industrial Research Organisation Generating shares of secret data
CN104156436B (zh) 2014-08-13 2017-05-10 福州大学 一种社交云媒体协同过滤推荐方法
US9483311B2 (en) * 2014-09-15 2016-11-01 International Business Machines Corporation Logical data shuffling
CN107113183B (zh) * 2014-11-14 2021-08-10 比特诺比有限责任公司 大数据的受控共享的系统和方法
US10289733B2 (en) * 2014-12-22 2019-05-14 Rovi Guides, Inc. Systems and methods for filtering techniques using metadata and usage data analysis
US9706180B2 (en) * 2015-03-23 2017-07-11 Panasonic Intellectual Property Management Co., Ltd. Projection display apparatus
US10341701B2 (en) * 2015-04-21 2019-07-02 Edge2020 LLC Clustering and adjudication to determine a recommendation of multimedia content
CN104966125B (zh) 2015-05-06 2018-07-24 同济大学 一种社交网络的物品评分及推荐方法
US20160381158A1 (en) * 2015-06-29 2016-12-29 Google Inc. Automatic Invitation Delivery System
JP2017034531A (ja) * 2015-08-04 2017-02-09 富士通株式会社 動画像符号化装置及び動画像符号化方法
CN105550211A (zh) 2015-12-03 2016-05-04 云南大学 一种融合社交网络和项目内容的协同推荐系统
IL243026A0 (en) * 2015-12-10 2016-02-29 Rokach Lior Designing recommendation systems based on hidden context
WO2017105440A1 (en) * 2015-12-16 2017-06-22 Thomson Licensing Methods and apparatuses for processing biometric responses to multimedia content
CN105677701A (zh) * 2015-12-24 2016-06-15 苏州大学 一种基于不经意传输的社会化推荐方法
US11367149B2 (en) * 2016-01-15 2022-06-21 Carnegie Mellon University Pattern identification in time-series social media data, and output-dynamics engineering for a dynamic system having one or more multi-scale time-series data sets
US10708234B2 (en) * 2016-03-24 2020-07-07 International Business Machines Corporation System, method, and recording medium for preventing back propogation of data protection
RU2613530C1 (ru) 2016-04-19 2017-03-16 Игорь Юрьевич Скворцов Самонастраивающаяся интерактивная система, способ и считываемый компьютером носитель данных обмена комментариями между пользователями
WO2017200510A1 (ru) 2016-05-18 2017-11-23 Евгэн Мыхайловыч ВЫСОЦЬКЫЙ Обработка персональных и совокупных предпочтений пользователей (варианты)
US20180218426A1 (en) * 2017-01-27 2018-08-02 Xerox Corporation Systems and methods for privacy preserving recommendation of items
RU2649797C1 (ru) 2017-06-14 2018-04-04 Общество С Ограниченной Ответственностью "Центр Разработки И Внедрения Инновационных Технологий" Интерактивная система, способ и считываемый компьютером носитель данных представления рекламного контента
US10521225B2 (en) * 2017-06-29 2019-12-31 Oracle International Corporation Matrix multiplication at memory bandwidth
CN111095332B (zh) * 2017-07-06 2023-12-08 罗伯特·博世有限公司 用于保护隐私的社交媒体广告的方法和系统
RU2666336C1 (ru) 2017-08-01 2018-09-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для рекомендации медиаобъектов
CN108228833B (zh) 2018-01-04 2021-08-03 浙江大学 一种利用用户倾向性学习解决社区项目推荐任务的方法
CN108418810A (zh) * 2018-02-08 2018-08-17 中国人民解放军国防科技大学 一种基于Hadamard矩阵的秘密分享方法
CN108596774B (zh) * 2018-04-24 2021-10-01 山东师范大学 基于深层次网络嵌入特征的社会化信息推荐算法及系统
MX2019004664A (es) 2018-10-17 2022-05-12 Advanced New Technologies Co Ltd Compartimiento secreto sin inicializador confiable.
JP7109501B2 (ja) 2020-06-05 2022-07-29 東芝ライフスタイル株式会社 冷蔵庫

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备

Also Published As

Publication number Publication date
US11386212B2 (en) 2022-07-12
KR20200045441A (ko) 2020-05-04
AU2019257397A1 (en) 2020-05-07
SG11201903587TA (en) 2020-05-28
WO2020077573A1 (en) 2020-04-23
EP3665583A1 (en) 2020-06-17
SG11201910155SA (en) 2020-05-28
EP3659292A4 (en) 2020-06-03
KR102150816B1 (ko) 2020-09-02
EP3659292B8 (en) 2020-12-02
CA3040669A1 (en) 2020-04-17
EP3659292B1 (en) 2020-09-30
BR112019008135A2 (pt) 2021-05-18
MX2019004664A (es) 2022-05-12
JP2021508064A (ja) 2021-02-25
US10789377B2 (en) 2020-09-29
AU2018353923B2 (en) 2021-05-06
CN110546642A (zh) 2019-12-06
CA3059610A1 (en) 2020-04-17
AU2018353923A1 (en) 2020-05-07
PH12019500891A1 (en) 2019-06-17
AU2019257397B2 (en) 2020-10-01
WO2020077959A1 (en) 2020-04-23
JP6803980B1 (ja) 2020-12-23
EP3659292A1 (en) 2020-06-03
BR112019008135B1 (pt) 2022-01-04
ZA201902550B (en) 2020-12-23
EP3665583A4 (en) 2020-06-17
PL3659292T3 (pl) 2021-07-05
CN110366722A (zh) 2019-10-22
RU2728522C1 (ru) 2020-07-30
US20200320605A1 (en) 2020-10-08
ES2836207T3 (es) 2021-06-24
US20200125745A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
CN110546642B (zh) 不利用可信初始化器的安全多方计算方法、系统及装置
US10600006B1 (en) Logistic regression modeling scheme using secrete sharing
US11551110B2 (en) Recommendation system construction method and apparatus
US20180268283A1 (en) Predictive Modeling from Distributed Datasets
CN110325996B (zh) 利用可信初始化器共享秘密
US20230034384A1 (en) Privacy preserving machine learning via gradient boosting
CN110874481B (zh) 一种基于gbdt模型的预测方法和装置
US20230244752A1 (en) Augmenting mathematical optimization models generated from historical data
CN114764724A (zh) 用户属性预测方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018066

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant