CN117278210A - 基于可信执行环境的随机不经意传输扩展方法及相关装置 - Google Patents

基于可信执行环境的随机不经意传输扩展方法及相关装置 Download PDF

Info

Publication number
CN117278210A
CN117278210A CN202311256876.8A CN202311256876A CN117278210A CN 117278210 A CN117278210 A CN 117278210A CN 202311256876 A CN202311256876 A CN 202311256876A CN 117278210 A CN117278210 A CN 117278210A
Authority
CN
China
Prior art keywords
seed
random number
generating
sender
pseudo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311256876.8A
Other languages
English (en)
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.)
Shenzhen Dongjian Intelligent Technology Co ltd
Original Assignee
Shenzhen Dongjian Intelligent Technology 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 Shenzhen Dongjian Intelligent Technology Co ltd filed Critical Shenzhen Dongjian Intelligent Technology Co ltd
Priority to CN202311256876.8A priority Critical patent/CN117278210A/zh
Publication of CN117278210A publication Critical patent/CN117278210A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种基于可信执行环境的随机不经意传输扩展方法及相关装置,应用于两方计算系统,所述两方计算系统包括:发送方和接收方,该方法包括:发送方根据协商出种子,得到第一种子和第二种子;接收方协商出种子,得到第三种子和第四种子;第一种子等于第三种子;第二种子等于第四种子;发送方产生m对第一消息(k_0_i,k_1_i);接收方产生m个k_i;发送方输出m对第一消息(k_0_i,k_1_i);接收方输出m个k_i。本申请实施例可以提升随机不经意传输扩展效率。

Description

基于可信执行环境的随机不经意传输扩展方法及相关装置
技术领域
本申请涉及隐私计算技术领域以及计算机技术领域,具体涉及一种基于可信执行环境的随机不经意传输扩展方法及相关装置。
背景技术
不经意传输协议(oblivious transfer,OT),也叫茫然传输协议,是一种保护隐私的两方通信协议,消息发送方(sender,S)持有两条待发送的消息,消息接收方(receiver,R)选择一条进行接收,事后发送方对接收方获取哪一条消息毫不知情,接收方对于未选择的消息也无法获取任何信息,这类OT通常被称为基础OT(Base OT)。而随机OT协议(RandomOT,ROT)是指消息发送方会随机生成消息M0,M1,接收方会输入随机选择比特b∈{0,1}(也可以为协议本身随机生成),协议结束之后接收方会得到消息Mb,无法获得其他任何信息。OT扩展(OT Extension,OTE)协议是“一次预处理多次执行”(One-Time Preprocessing,Many-Time Execution)技术。它是一种用于实现大量OT实例的高效密码学协议。
目前,在OT扩展协议中,首先在Base OT阶段,该阶段需要进行多次OT实例,需要进行复杂的通信和计算,会导致昂贵的计算开销与通信开销。在OT扩展阶段,将具有相关性的短种子信息扩展为相关性的长伪随机比特流,进行传输,会导致大量的通信开销和储存开销,因此,如何提升随机不经意传输扩展效率的问题亟待解决。
发明内容
本申请实施例提供了一种基于可信执行环境的随机不经意传输扩展方法及相关装置,可以提升随机不经意传输扩展效率。
第一方面,本申请实施例提供一种基于可信执行环境的随机不经意传输扩展方法,应用于两方计算系统,所述两方计算系统包括:发送方和接收方,所述方法包括:
通过所述发送方将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G;
通过所述接收方将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1;
通过所述发送方本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方;
通过所述接收方本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方;
通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子;
通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子;
通过所述发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i;
通过所述接收方产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素;
通过所述发送方删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i);
通过所述接收方删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
第二方面,本申请实施例提供了一种基于两方计算系统,所述两方计算系统包括:发送方和接收方,其中,
所述发送方,用于将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G;
所述接收方,用于将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1;
所述发送方,用于本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方;
所述接收方,用于本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方;
所述发送方,用于根据a、b、C、D协商出种子,得到第一种子和第二种子;
所述接收方,用于根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子;
所述发送方,用于产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i;
所述接收方,用于产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素;
所述发送方,用于删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i);
所述接收方,用于删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的基于可信执行环境的随机不经意传输扩展方法及相关装置,应用于两方计算系统,两方计算系统包括:发送方和接收方,通过发送方将公共参数输入到TEE中,公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G,通过接收方将公共参数以及向量r输入到TEE中;向量r包括m个元素,每一元素为0或者1,通过发送方本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给接收方,通过接收方本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给发送方,通过发送方根据a、b、C、D协商出种子,得到第一种子和第二种子,通过接收方根据A、B、c、d协商出种子,得到第三种子和第四种子;第一种子等于第三种子;第二种子等于第四种子,通过发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过第一种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第一随机数,通过第一随机数和第一哈希函数产生k_0_i;通过第二种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第二随机数,通过第二随机数和第二哈希函数产生k_1_i,通过接收方产生m个k_i,具体为:当r_i为0时,通过第三种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第三随机数,通过第三随机数和第三哈希函数产生k_i;当r_i为1时,通过第四种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第四随机数,通过第四随机数和第四哈希函数产生k_i;r_i为向量r的任一元素,通过发送方删除TEE中的a、b、A、B、C、D、第一种子和第二种子;输出m对第一消息(k_0_i,k_1_i),通过接收方删除TEE中的c、d、A、B、C、D、第三种子和第四种子;输出m个k_i,利用可信执行环境的安全性,保证发送方与接收方除TEE输出不会获得其他信息,且保证发送方与接收方随机数种子只存在于可信执行环境,利用随机数发生器的性质,只需协商一次就可以派发出多组随机数,在协商随机数种子之后,便不需要在进行通信,且当扩展ROT时,在协商随机数种子之后,不需要频繁出入可信执行环境,减少了中断次数,提高了计算效率,从而,可以提升随机不经意传输扩展效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于实现基于可信执行环境的随机不经意传输扩展方法的两方计算系统的架构示意图;
图2是本申请实施例提供的一种基于可信执行环境的随机不经意传输扩展方法的流程示意图;
图3是本申请实施例提供的另一种基于可信执行环境的随机不经意传输扩展方法的流程示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例中的电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、行车记录仪、服务器、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备(如智能手表、蓝牙耳机)等,上述仅是举例,而非穷举,包含但不限于上述电子设备,该电子设备也可以为云服务器,或者,该电子设备也可以为计算机集群。
本申请实施例中,可信执行环境(trusted execution environment,TEE)即一种安全的计算环境,它是计算设备中的一个受保护区域,用于存放和执行敏感的计算任务,以确保这些任务在硬件和软件层面都受到高度的保护和隔离。
本申请实施例中,不经意传输协议是一种隐私保护的密码学协议,常用于以下应用场景:私密选择、安全多方计算、无感知传输、安全密钥交换等等,在此不做限定。
私密选择:一个典型的应用场景是在私密选择中。例如,在电子投票系统中,选民可以使用OT协议从候选人列表中选择一个候选人,而保持他们的选择对其他人是私密的。这确保了投票的隐私性,选民的选择不会被泄露,从而保护其隐私。
安全多方计算(secure multi-party computation,SMPC):在SMPC中,多个参与方合作进行计算,但希望保持他们的输入对其他参与方是私密的。OT协议可以用于在计算过程中传输私密输入,从而实现SMPC的隐私保护。
无感知传输:OT协议最早用于实现无感知传输。在这种情况下,接收方从多个消息中选择一个,而发送方对接收方的选择毫不知情。这种协议在许多隐私保护场景中有广泛的应用,如隐私保护通信、匿名投票等。
安全密钥交换:在密钥交换协议中,OT可以用于安全地交换密钥。一方作为接收方,从另一方提供的多个密钥中选择一个,而发送方则不知道接收方选择的是哪个密钥。
具体实现中,通过使用OT扩展技术,可以显著减少计算和通信开销,并提高在大规模场景下的性能。这在许多隐私保护、安全多方计算等应用中具有重要意义。
相关技术中,具体实现:
Ishai、Kilian等人提出了一种OT扩展协议,此协议被简记为IKNP协议,为OT扩展的经典协议,协议如下:
公共参数:安全参数λ;哈希函数H:[m]×{0,1}λ→{0,1}l;伪随机数生成器G:{0,1}λ→{0,1}m;base-OT原语表示执行λ次λ比特字符串的2选择1OT。
参与方:发送方S和接收方R。
S输入:m对消息
R输入:向量r=(r0,...,rm)r*∈{0,1}。
初始BaseOT阶段:
A)、S初始化随机向量s=(s1,...,sλ)∈{0,1}λ,R选择λ对长度为λ的种子
B)、调用原语,S作为接收方输入向量s,R作为发送方输入/>
C)、R后续需计算生成矩阵T,U。对于所有1≤i≤λ,让其中T=[t1|...|tλ]表示m×λ的比特矩阵,其中,第i列表示ti,第j行表示tj,其中1≤j≤m,表示m×λ的比特矩阵,其中第i列表示ui,第j行表示uj其中1≤j≤m。
OT扩展阶段:
A)、R计算以及/>然后发送ui给S,1≤i≤λ。
B)、对于所有1≤i≤λ,S定义
输出阶段:
A)、S发送其中:/>
B)、R计算S无输出。
相关技术中,在OT扩展协议中,首先在Base OT阶段,该阶段需要进行多次OT实例,需要进行复杂的通信和计算,会导致昂贵的计算开销与通信开销。在OT扩展阶段,将具有相关性的短种子信息扩展为相关性的长伪随机比特流,进行传输,会导致大量的通信开销和储存开销。
为了解决相关技术中的缺陷,请参阅图1,图1是本申请实施例提供的一种用于实现基于可信执行环境的随机不经意传输扩展方法的两方计算系统的架构示意图,如图所示,本两方计算系统可以包括:发送方和接收方;基于该两方计算系统可以实现如下功能:
所述发送方,用于将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G;
所述接收方,用于将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1;
所述发送方,用于本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方;
所述接收方,用于本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方;
所述发送方,用于根据a、b、C、D协商出种子,得到第一种子和第二种子;
所述接收方,用于根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子;
所述发送方,用于产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i;
所述接收方,用于产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素;
所述发送方,用于删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i);
所述接收方,用于删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
可选的,在所述根据a、b和g生成A、B方面,所述发送方具体用于:
根据a和g进行指数运算,得到A;
根据b和g进行指数运算,得到B。
可选的,在所述根据c、d和g生成C、D方面,所述接收方具体用于:
根据c和g进行指数运算,得到C;
根据d和g进行指数运算,得到D。
可选的,在所述通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子方面,所述发送方具体用于:
通过所述发送方根据C和a进行指数运算,得到所述第一种子;根据D和b进行指数运算,得到所述第二种子。
可选的,在所述通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子方面,所述接收方具体用于:
根据A和c进行指数运算,得到所述第三种子;根据B和d进行指数运算,得到所述第四种子。
请参阅图2,图2是本申请实施例提供的一种基于可信执行环境的随机不经意传输扩展方法的流程示意图,如图所示,本基于可信执行环境的随机不经意传输扩展方法可以包括如下步骤:
201、通过所述发送方将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G。
本申请实施例中,公共参数包括q、g和m,其中,g和q具备如下关系:生成元为g的素数q阶循环群G。即公共参数:生成元为g的素数q阶循环群G。
其中,m为正整数。
本申请实施例中,TEE可以包括以下至少一种:Intel公司的软件保护拓展(software guard extensions,SGX)技术、AMD公司的安全加密虚拟化(secure encryptedvirtualization,SEV)技术、ARM公司的信任区域(TrustZone)技术等等,在此不做限定。
本申请实施例中,可以通过发送方将公共参数输入到TEE中,公共参数包括q、g和m,其中,g和q具备如下关系:生成元为g的素数q阶循环群G。
其中,发送方可以记作S,即S输入:m对消息
202、通过所述接收方将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1。
本申请实施例中,向量r可以包括m个元素,每一元素为0或者1。
203、通过所述发送方本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方。
本申请实施例中,发送方可以本地生成随机数a、b,具体的,可以利用随机数发生器生成随机数,再根据a、b和g生成A、B,将A、B发送给接收方,以便于接收方可以协商出对应的种子。
其中,随机数发生器可以包括以下至少一种:伪随机数发生器(Pseudorandomnumber generation)、随机数生成器(Mersenne Twister)等等,在此不做限定。
其中,接收方可以记作R。
可选的,上述步骤203,根据a、b和g生成A、B,可以包括如下步骤:
31、根据a和g进行指数运算,得到A;
32、根据b和g进行指数运算,得到B。
本申请实施例中,可以根据a和g进行指数运算,得到A,具体为:A=ga,进而,可以得到A,还可以根据b和g进行指数运算,得到B,具体为:B=gb,即可以得到B。
204、通过所述接收方本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方。
本申请实施例中,接收方可以本地生成随机数c、d,具体的,可以利用随机数发生器生成随机数,再根据c、d和g生成C、D;将C、D发送给发送方。
可选的,上述步骤204,根据c、d和g生成C、D,可以包括如下步骤:
41、根据c和g进行指数运算,得到C;
42、根据d和g进行指数运算,得到D。
本申请实施例中,可以根据c和g进行指数运算,得到C,具体为:C=gc,进而,可以得到C,还可以根据d和g进行指数运算,得到D,具体为:D=gd,即可以得到D。
205、通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子。
本申请实施例中,发送方可以根据a、b、C、D协商出种子,得到第一种子和第二种子。
举例说明下,例如,第一种子可以记作seed_0,第二种子可以记作seed_1。通过接收R的TEE中C、D协商出种子seed_0,seed_1。
本申请实施例中,协商随机数种子的密钥协商算法可以包括但不限于:Diffie-Hellman(DH)算法、椭圆曲线Diffie-Hellman(ECDH)算法、Triple Diffie-Hellman(T-DH)算法、Supersingular isogeny Diffie–Hellman key exchange(SIDH)算法等等,在此不做限定。
可选的,上述步骤205,通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子,可以按照如下方式实施:
通过所述发送方根据C和a进行指数运算,得到所述第一种子;根据D和b进行指数运算,得到所述第二种子。
本申请实施例中,发送方根据C和a进行指数运算,得到第一种子,再根据D和b进行指数运算,得到第二种子,具体的,假若第一种子可以记作seed_0,第二种子可以记作seed_1,则seed_0=Ca,seed_1=Db
206、通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子。
本申请实施例中,第一种子等于第三种子;第二种子等于第四种子,即假若第一种子可以记作seed_0,第二种子可以记作seed_1,则第三种子可以记作seed_0,第四种子可以记作seed_1。
具体实现中,接收方可以根据A、B、c、d协商出种子,得到第三种子和第四种子,即通过接收S的TEE中A、B协商出种子seed_0,seed_1。
即通过上述算法可安全协商出seed_0,seed_1,且R的TEE中seed_0等于S的TEE中seed_0,R的TEE中seed_1等于S的TEE中seed_1。
可选的,上述步骤206,通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子,可以包括如下步骤:
通过所述接收方根据A和c进行指数运算,得到所述第三种子;根据B和d进行指数运算,得到所述第四种子。
本申请实施例中,接收方根据A和c进行指数运算,得到第三种子,再根据B和d进行指数运算,得到第四种子,具体的,假若第三种子可以记作seed_0,第四种子可以记作seed_1,则seed_0=Ac,seed_1=Bd
207、通过所述发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i。
其中,随机数关联生成器可以预先设置或者系统默认。第一哈希函数、第二哈希函数也可以预先设置或者系统默认,第一哈希函数、第二哈希函数可以相同或者不同。
本申请实施例中,发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过第一种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第一随机数,通过第一随机数和第一哈希函数产生k_0_i,由于哈希函数具备一个特性,即输入是确定,输出是随机的,即消除映射关系,无法通过输出推断出输入,即可以切断k_0_i之间关联性。再通过第二种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第二随机数,通过第二随机数和第二哈希函数产生k_1_i,类似地,切断k_1_i之间关联性。通过伪随机数关联生成器R保证k_0_i、k_1_i之间互不相同。
具体实现中,可以通过如下代码生成k_0_i,k_1_i,具体如下:
for(i=0;i<m;i++)
{k_0_i=H(G(seed_0));k_1_i=H(G(seed_1))}
具体可以参见图3,基于上述代码可以得到k_0_i,k_1_i,其中,H表示哈希函数,G表示随机数关联生成器。
举例说明下,假设第一伪随机数关联生成器、第二伪随机数关联生成器均为伪随机数关联生成器R,R:{0,1}q→{0,1}m,则具体实现中,可以产生m对k_0_i,k_1_i,通过种子seed_0初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_0_i,切断k_0_i之间关联性。通过种子seed_1初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_1_i,切断k_1_i之间关联性。通过伪随机数关联生成器R保证k_0_i、k_1_i之间互不相同。
208、通过所述接收方产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素。
其中,随机数关联生成器可以预先设置或者系统默认。第三哈希函数、第四哈希函数也可以预先设置或者系统默认,第三哈希函数、第四哈希函数可以相同或者不同。
其中,第一哈希函数、第二哈希函数、第三哈希函数、第四哈希函数可以相同或者不同。
本申请实施例中,接收方可以产生m个k_i,具体为:当r_i为0时,通过第三种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第三随机数,通过第三随机数和第三哈希函数产生k_i,由于哈希函数具备一个特性,即输入是确定,输出是随机的,即消除映射关系,无法通过输出推断出输入,切断k_i之间关联性;当r_i为1时,通过第四种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第四随机数,通过第四随机数和第四哈希函数产生k_i,类似地,切断k_i之间关联性。
具体实现中,可以通过如下代码生成k_i,具体如下:
具体可以参见图3,基于上述代码可以得到k_i,其中,H表示哈希函数,G表示随机数关联生成器。
举例说明下,假设第三伪随机数关联生成器、第四伪随机数关联生成器均为伪随机数关联生成器R,R:{0,1}q→{0,1}m,具体实现中,可以产生m个k_i,当r_i为0时使用种子seed_0初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_i,切断k_0_i之间关联性。当r_i为1时使用种子seed_1初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_i,切断k_i之间关联性。通过伪随机数关联生成器R保证k_i之间互不相同。
209、通过所述发送方删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i)。
本申请实施例中,发送方可以删除TEE中的a、b、A、B、C、D、第一种子和第二种子,再输出m对第一消息(k_0_i,k_1_i)。
具体实现中,发送方可以删除TEE中a、b、A、B、C、D、seed_0、seed_1,保证S不会获取除输出之外其他信息。即delete(a,b,A,B,C,D),delete(seed_0,seed_1)。
进一步的,S中TEE输出k_0_i,k_1_i,i∈(1,m)。
210、通过所述接收方删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
本申请实施例中,接收方可以删除TEE中的c、d、A、B、C、D、第三种子和第四种子;输出m个k_i。
具体实现中,R删除TEE中c、d、A、B、C、D、seed_0、seed_1,保证R不会获取除输出之外其他信息。即delete(c,d,A,B,C,D),delete(seed_0,seed_1)。
进一步的,R中TEE输出k_i,i∈(1,m)。
本申请实施例中,使用TEE来进行协商大量ROT,解决了在OTE方案中过需要进行大量计算与通信的问题,具体的,通过在可信硬件中使用密钥协商算法,生成在可信执行环境公开的随机数种子,再利用相同种子随机数发生器派发的随机数相同这一性质,生成所需要的ROT。
其中,通过可信执行环境来隔离与宿主机的关联,通过可信执行环境中协商随机数种子,利用相同种子随机数发生器派发的随机数相同这一性质,进行大量的ROT扩展。
举例说明下,如图3所示,实现过程如下:公共参数:生成元为g的素数q阶循环群G;哈希函数H:[m]×{0,1}q→{0,1}l,伪随机数关联生成器R:{0,1}q→{0,1}m,内存空间清理方法delete()。
参与方:发送方S和接收方R;S输入:m对消息R输入:向量r=(r0,...,rm)r*∈{0,1}。
则TEE输入阶段,具体如下:S将q,g,m输入到TEE中,R将q,g,m以及选择向量r输入到TEE中。
TEE扩展阶段,具体如下:
S中步骤1,2是DH算法,本地生成随机数a,b,a,b∈(1,q)并计算A=ga,B=gb,通过接收R的TEE中C、D协商出种子seed_0,seed_1。R中步骤1,2是DH算法,本地生成随机数c,d,c,d∈(1,q),并计算C=gc,D=gd,通过接收S的TEE中A、B协商出种子seed_0,seed_1。通过此算法可安全协商出seed_0,seed_1,且R的TEE中seed_0等于S的TEE中seed_0,R的TEE中seed_1等于S的TEE中seed_1。
S中步骤3将产生m对k_0_i,k_1_i,通过种子seed_0初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_0_i,切断k_0_i之间关联性。通过种子seed_1初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_1_i,切断k_1_i之间关联性。通过伪随机数关联生成器R保证k_0_i、k_1_i之间互不相同。
R中步骤3将产生m个k_i,当r_i为0时使用种子seed_0初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_i,切断k_0_i之间关联性。当r_i为1时使用种子seed_1初始化伪随机数关联生成器R,产生随机数后通过哈希函数产生对应的k_i,切断k_i之间关联性。通过伪随机数关联生成器R保证k_i之间互不相同。
在S的步骤4中删除TEE中a、b、A、B、C、D、seed_0、seed_1,保证S不会获取除输出之外其他信息。在R步骤4中删除TEE中c、d、A、B、C、D、seed_0、seed_1,保证R不会获取除输出之外其他信息。
TEE输出阶段:S的步骤5中TEE输出k_0_i,k_1_i,i∈(1,m),R的步骤5中TEE输出k_i,i∈(1,m)。
进一步的,最终输出阶段:S发送其中:R计算/>1≤i≤m,S无输出。
TEE扩展输出是指通过本申请实施例产生以下特殊性质的随机数;S和R是两个不同参与方。对于任意的i(1<=i<=m),S输出k_0_i,k_1_i;R输出k_i值是与其输入r_i的值有关,当r_i=0时,k_i=k_0_i;当r_i=1时,k_i=k_1_i,最终输出是指使用上述特殊性质的随机数对,来实现不经意传输(消息发送者(Sender,S)持有两条待发送的消息,接收者(Receiver,R)选择一条进行接收,事后发送者对接收者获取哪一条消息毫不知情,接收者对于未选择的消息也无法获取任何信息,这类OT通常被称为基础OT)。
本申请实施例中,利用可信执行环境的安全性,保证S与R除TEE输出不会获得其他信息。利用密钥协商协议,保证S与R随机数种子只存在于可信执行环境,利用随机数发生器的性质,只需协商一次就可以派发出多组随机数,在协商随机数种子之后,便不需要在进行通信,且当扩展ROT时,在协商随机数种子之后,不需要频繁出入可信执行环境,减少了中断次数,提高了计算效率。
具体实现中,在S与R可信执行环境中,协商出相同随机数种子,且利用随机数发生器的性质,随机数种子生成之后,后续计算不需要进行交互通信,本协议没有可信第三方。
举例说明下,在银行业务中,银行需要评估借款人的信用风险和还款能力,以便确定是否授予贷款以及贷款的利率。在此过程中,银行可以使用多家银行的平均数作为参考指标之一,例如,计算多家银行的违约率平均值,但是通常这些数据不能对外泄露,所以,可以使用多方安全计算来进行平均值的计算。假设有k家银行需要进行平均值计算,银行记为banki,i属于[1,k],输入需要计算均值数据标记为mi,i属于[1,k]。
Banki将输入数据mi拆分为mi_0,mi_1,其中表示异或计算,分别将mi_0发送至S,mi_1发送至R。
S将所拥有的mi拆分片为mi_0,i属于[1,k];R将所拥有的mi拆分片为mi_1,i属于[1,k]。
R进行安全求和计算,在计算机中加法可以拆分成一个电路表示称为加法器,加法器是由与门、异或门组成,例如,一个半加器,其可以由一个与门,与异或门组成;又例如,两个半加器可组成一个全加器,多个全加器可以组成加法器。
其中,安全的异或计算过程如下:若计算可将A拆分为A_0、A_1,其中,/> B拆分为B_0、B_1,其中,/>分别将A_0、B_0发送至S,A_1、B_1发送至R,S本地计算/>R本地计算/>此时,S、R计算的结果
进一步的,安全的与计算过程如下:若计算C=A∧B,∧表示与门计算,可将A拆分为A_0、A_1,其中,B拆分为B_0、B_1,其中,/>分别将A_0、B_0发送至S,A_1、B_1发送至R。需要一组布尔乘法三元组:S拥有z_0、x_0、y_0,R拥有z_1、x_1、y_1,其中,z=x∧y,/>S计算/> 将e_0、f_0发送R。R计算/>将e_1、f_1发送S;R、S计算/>R计算/>S计算/>此时,S、R计算的结果/>
在安全的与计算中布尔乘法三元组:S拥有z_0、x_0、y_0,R拥有z_1、x_1、y_1。令 满足条件z=x∧y,即 需要使用ROT进行协商具体如下:
其中,方法f表示如下算法:
A1、R生成随机a,a∈{0,1};
A2、S与R执行ROT后,S获得k_0、k_1,R获得k(当a=0时,k=k_0,否则k=k_1);
A3、R令u=k,S令v=k_0;
A4、R输出a,u;S输出b,v;
其中,方法f输出值会有性质
进一步的,还可以实施如下操作:
B1、R、S执行方法f,R获得(x_0,u_0),S获得(y_1,v_1),
B2、R、S替换方法f身份再次执行,R获得(y_0,v_0),S获得(x_1,u_1),
B3、R令S令/>此时,则满足
由上方法可以执行与门需要2次ROT,而由安全与门、安全异或门构成的加法器需要大量的ROT计算,提升了ROT生成效率,可以显著提升安全多方计算计算效率。
实现了加法器就可以进行安全的联合数据平均数计算了,R通过加法器计算结果sum_0并发送S,S获得sum_1并发送R,双方获得明文计算mean=sum/k即可获得平均数。
本申请实施例中,在安全多方计算应用场景中,随着安全多方计算技术的不断发展,为了满足不同的场景需求,安全多方计算协议也不断优化并产生了各种各样的协议变体。Daniel等人基于不经意传输扩展协议提出了一个安全两方计算框架ABY,在ABY中为了提高算术共享计算效率,使用了不经意传输扩展来替换同态加密来构造乘法三元组,通过实验对比,使用不经意传输扩展可以显著缩短计算时间且降低通信开销。而QUOTIENT框架提出了使用不经意传输协议安全两方深度神经网络(deep neural networks,DNN)模型训练方法,与此前最优的DNN训练方案SecureML相比,在广域网(wide area network,WAN)WAN环境下整体效率提升了50倍,在绝对准确率上提升了6%。
综上所述,不经意传输协议已经成为了安全多方计算的关键基础密码构件,不经意传输协议的效率也往往是多方安全计算的性能瓶颈,所以,不经意传输协议的性能优化都会换来多方安全计算协议的效率提升,即采用本申请实施例,能够减少中断次数,提高计算效率,从而,可以提升随机不经意传输扩展效率。
可以看出,本申请实施例中所描述的基于可信执行环境的随机不经意传输扩展方法,应用于两方计算系统,两方计算系统包括:发送方和接收方,通过发送方将公共参数输入到TEE中,公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G,通过接收方将公共参数以及向量r输入到TEE中;向量r包括m个元素,每一元素为0或者1,通过发送方本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给接收方,通过接收方本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给发送方,通过发送方根据a、b、C、D协商出种子,得到第一种子和第二种子,通过接收方根据A、B、c、d协商出种子,得到第三种子和第四种子;第一种子等于第三种子;第二种子等于第四种子,通过发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过第一种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第一随机数,通过第一随机数和第一哈希函数产生k_0_i;通过第二种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第二随机数,通过第二随机数和第二哈希函数产生k_1_i,通过接收方产生m个k_i,具体为:当r_i为0时,通过第三种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第三随机数,通过第三随机数和第三哈希函数产生k_i;当r_i为1时,通过第四种子初始化伪随机数关联生成器,通过伪随机数关联生成器产生第四随机数,通过第四随机数和第四哈希函数产生k_i;r_i为向量r的任一元素,通过发送方删除TEE中的a、b、A、B、C、D、第一种子和第二种子;输出m对第一消息(k_0_i,k_1_i),通过接收方删除TEE中的c、d、A、B、C、D、第三种子和第四种子;输出m个k_i,利用可信执行环境的安全性,保证发送方与接收方除TEE输出不会获得其他信息,且保证发送方与接收方随机数种子只存在于可信执行环境,利用随机数发生器的性质,只需协商一次就可以派发出多组随机数,在协商随机数种子之后,便不需要在进行通信,且当扩展ROT时,在协商随机数种子之后,不需要频繁出入可信执行环境,减少了中断次数,提高了计算效率,从而,可以提升随机不经意传输扩展效率。
与上述实施例一致地,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,该电子设备应用于两方计算系统,所述两方计算系统包括:发送方和接收方,本申请实施例中,上述程序包括用于执行以下步骤的指令:
通过所述发送方将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G;
通过所述接收方将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1;
通过所述发送方本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方;
通过所述接收方本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方;
通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子;
通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子;
通过所述发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i;
通过所述接收方产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素;
通过所述发送方删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i);
通过所述接收方删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
可选的,在所述根据a、b和g生成A、B方面,上述程序包括用于执行以下步骤的指令:
根据a和g进行指数运算,得到A;
根据b和g进行指数运算,得到B。
可选的,在所述根据c、d和g生成C、D方面,上述程序包括用于执行以下步骤的指令:
根据c和g进行指数运算,得到C;
根据d和g进行指数运算,得到D。
可选的,在所述通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子方面,上述程序包括用于执行以下步骤的指令:
通过所述发送方根据C和a进行指数运算,得到所述第一种子;根据D和b进行指数运算,得到所述第二种子。
可选的,在所述通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子方面,上述程序包括用于执行以下步骤的指令:
通过所述接收方根据A和c进行指数运算,得到所述第三种子;根据B和d进行指数运算,得到所述第四种子。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于可信执行环境的随机不经意传输扩展方法,其特征在于,应用于两方计算系统,所述两方计算系统包括:发送方和接收方,所述方法包括:
通过所述发送方将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G;
通过所述接收方将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1;
通过所述发送方本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方;
通过所述接收方本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方;
通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子;
通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子;
通过所述发送方产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i;
通过所述接收方产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素;
通过所述发送方删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i);
通过所述接收方删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
2.根据权利要求1所述的方法,其特征在于,所述根据a、b和g生成A、B,包括:
根据a和g进行指数运算,得到A;
根据b和g进行指数运算,得到B。
3.根据权利要求1或2所述的方法,其特征在于,所述根据c、d和g生成C、D,包括:
根据c和g进行指数运算,得到C;
根据d和g进行指数运算,得到D。
4.根据权利要求1或2所述的方法,其特征在于,所述通过所述发送方根据a、b、C、D协商出种子,得到第一种子和第二种子,包括:
通过所述发送方根据C和a进行指数运算,得到所述第一种子;根据D和b进行指数运算,得到所述第二种子。
5.根据权利要求1或2所述的方法,其特征在于,所述通过所述接收方根据A、B、c、d协商出种子,得到第三种子和第四种子,包括:
通过所述接收方根据A和c进行指数运算,得到所述第三种子;根据B和d进行指数运算,得到所述第四种子。
6.一种两方计算系统,其特征在于,所述两方计算系统包括:发送方和接收方,其中,
所述发送方,用于将公共参数输入到TEE中,所述公共参数包括q、g和m,其中,m为扩展随机不经意传输的数量,g和q具备如下关系:生成元为g的素数q阶循环群G;
所述接收方,用于将所述公共参数以及向量r输入到所述TEE中;所述向量r包括m个元素,每一元素为0或者1;
所述发送方,用于本地生成随机数a、b,根据a、b和g生成A、B;将A、B发送给所述接收方;
所述接收方,用于本地生成随机数c、d,根据c、d和g生成C、D;将C、D发送给所述发送方;
所述发送方,用于根据a、b、C、D协商出种子,得到第一种子和第二种子;
所述接收方,用于根据A、B、c、d协商出种子,得到第三种子和第四种子;所述第一种子等于所述第三种子;所述第二种子等于所述第四种子;
所述发送方,用于产生m对第一消息(k_0_i,k_1_i),具体为:通过所述第一种子初始化伪随机数关联生成器,通过所述伪随机数关联生成器产生第一随机数,通过所述第一随机数和第一哈希函数产生k_0_i;通过所述第二种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第二随机数,通过所述第二随机数和第二哈希函数产生k_1_i;
所述接收方,用于产生m个k_i,具体为:当r_i为0时,通过所述第三种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第三随机数,通过所述第三随机数和第三哈希函数产生k_i;当r_i为1时,通过所述第四种子初始化所述伪随机数关联生成器,通过所述伪随机数关联生成器产生第四随机数,通过所述第四随机数和第四哈希函数产生k_i;r_i为所述向量r的任一元素;
所述发送方,用于删除所述TEE中的a、b、A、B、C、D、所述第一种子和所述第二种子;输出所述m对第一消息(k_0_i,k_1_i);
所述接收方,用于删除所述TEE中的c、d、A、B、C、D、所述第三种子和所述第四种子;输出所述m个k_i。
7.根据权利要求6所述的系统,其特征在于,在所述根据a、b和g生成A、B方面,所述发送方具体用于:
根据a和g进行指数运算,得到A;
根据b和g进行指数运算,得到B。
8.根据权利要求6或7所述的系统,其特征在于,在所述根据c、d和g生成C、D方面,所述接收方具体用于:
根据c和g进行指数运算,得到C;
根据d和g进行指数运算,得到D。
9.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
CN202311256876.8A 2023-09-25 2023-09-25 基于可信执行环境的随机不经意传输扩展方法及相关装置 Pending CN117278210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311256876.8A CN117278210A (zh) 2023-09-25 2023-09-25 基于可信执行环境的随机不经意传输扩展方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311256876.8A CN117278210A (zh) 2023-09-25 2023-09-25 基于可信执行环境的随机不经意传输扩展方法及相关装置

Publications (1)

Publication Number Publication Date
CN117278210A true CN117278210A (zh) 2023-12-22

Family

ID=89205808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311256876.8A Pending CN117278210A (zh) 2023-09-25 2023-09-25 基于可信执行环境的随机不经意传输扩展方法及相关装置

Country Status (1)

Country Link
CN (1) CN117278210A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579255A (zh) * 2024-01-17 2024-02-20 同盾科技有限公司 一种不经意传输实例生成方法、装置、电子设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579255A (zh) * 2024-01-17 2024-02-20 同盾科技有限公司 一种不经意传输实例生成方法、装置、电子设备及介质
CN117579255B (zh) * 2024-01-17 2024-03-29 同盾科技有限公司 一种不经意传输实例生成方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
WO2022237450A1 (zh) 多方安全计算方法、装置、设备及存储介质
JP4575283B2 (ja) 暗号装置、復号装置、プログラム及び方法
US11323255B2 (en) Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
EP3075098A1 (en) Server-aided private set intersection (psi) with data transfer
CN108632261B (zh) 多方量子求和方法及系统
Velliangiri et al. An efficient lightweight privacy-preserving mechanism for industry 4.0 based on elliptic curve cryptography
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
Feng et al. Privacy-preserving computation in cyber-physical-social systems: A survey of the state-of-the-art and perspectives
CN113468601B (zh) 数据隐私融合方法和装置
CN117278210A (zh) 基于可信执行环境的随机不经意传输扩展方法及相关装置
CN115510502B (zh) 一种隐私保护的pca方法及系统
CN115694777A (zh) 基于同态加密的隐私集合求交方法、装置、设备及介质
Xue et al. Secure and privacy-preserving decision tree classification with lower complexity
CN111259440B (zh) 一种针对云外包数据的隐私保护决策树分类方法
CN112532383A (zh) 一种基于秘密分享的隐私保护计算方法
Pattanayak et al. Encryption based on neural cryptography
Liu et al. ESA-FedGNN: Efficient secure aggregation for federated graph neural networks
CN117349685A (zh) 一种通信数据的聚类方法、系统、终端及介质
CN116743376A (zh) 基于高效密文混淆技术的多方秘密分享数据隐私比较方法
CN111046408A (zh) 判断结果处理方法、查询方法、装置、电子设备和系统
Ogunleye et al. Elliptic Curve Cryptography Performance Evaluation for Securing Multi-Factor Systems in a Cloud Computing Environment
CN115564447A (zh) 一种信用卡交易风险检测方法及装置
CN115580443A (zh) 一种图数据的处理方法、装置、设备和介质
Zakerolhosseini et al. Secure transmission of mobile agent in dynamic distributed environments
CN114358323A (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