1.本技术实施例涉及金融科技技术领域,尤其涉及一种交易处理方法、设 备及系统。
背景技术:
2.在金融科技(fintech)技术领域中,区块链(block chain)技术是一种 通过链状结构存储交易数据的常用技术,该链状结构可以称为区块链。区块 链上的交易数据通常是需要加密存储的,在对该交易数据进行验证通过之后 才可以使用该交易数据。
3.上述交易数据的加密算法和验证算法会影响交易数据的安全性,也就是 交易安全性。从而,如何在加密过程和验证过程中提高交易安全性是亟待解 决的问题。
技术实现要素:
4.本技术提供一种交易处理方法、设备及系统,以提高交易安全性。
5.第一方面,本技术提供一种交易处理方法,所述方法包括:
6.第一电子设备通过第一输入盲化因子对第一用户的输入交易数据进 行加密得到第一输入承诺,以及,通过第一输出盲化因子对第一用户的输 出交易数据进行加密得到第一输出承诺;
7.所述第一电子设备将所述第一输出盲化因子与所述第一输入盲化因 子的比值确定为第一校验信息;
8.所述第一电子设备对所述第一校验信息求哈希得到第一签名内容;
9.所述第一电子设备通过所述第一输出盲化因子和所述第一输入盲化 因子的差值,对所述第一签名内容进行签名得到第一签名信息;
10.所述第一电子设备生成第一交易信息,所述第一交易信息包括:所述第 一输入承诺、所述第一输出承诺、所述第一校验信息、所述第一签名信息和 第一签名内容。
11.可选地,所述第一用户是第一用户群中的任意用户,所述第一用户群 中包括多个用户,所述方法还包括:
12.所述第一电子设备接收至少一个第二电子设备发送的第二用户的第 一交易信息,所述第二用户的第一交易信息是所述第二电子设备根据所述 第二用户的信息生成的,所述第二电子设备生成所述第二用户的第一交易 信息的方式,与所述第一电子设备生成所述第一用户的第一交易信息的方 式相同,所述第二用户为所述第一用户群中除所述第一用户外的用户;
13.所述第一电子设备对所述第一用户群中的各用户的所述第一交易信 息进行聚合得到所述第一用户群的第一聚合交易信息,所述第一聚合交易 信息中包括以下至少一种信息:各用户的第一输入承诺聚合得到的第一聚 合输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用 户的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名信息 聚合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第一
聚 合签名内容。
14.可选地,所述第一用户是第一用户群中的任意用户,所述第一用户群 中包括多个用户,所述方法还包括:
15.所述第一电子设备将所述第一交易信息发送给第三电子设备,以使所 述第三电子设备对所述第一用户群中的各用户的第一交易信息进行聚合 得到所述第一用户群的第一聚合交易信息,所述第一聚合交易信息中包括 以下至少一种信息:各用户的第一输入承诺聚合得到的第一聚合输入承诺、 各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用户的第一校验 信息聚合得到的第一聚合校验信息、各用户的第一签名信息聚合得到的第 一聚合签名信息、各用户的第一签名内容聚合得到的第一聚合签名内容。
16.可选地,所述第一电子设备对所述第一校验信息求哈希得到第一签名 内容,包括:
17.所述第一电子设备对所述第一校验信息和所述第一用户群中的各用 户的公钥求哈希得到所述第一签名内容。
18.可选地,所述第一用户的公钥是通过以下步骤生成的:
19.所述第一电子设备从预设的整数有限域中随机选取所述第一用户的 初始私钥;
20.所述第一电子设备根据所述初始私钥生成所述第一用户的初始公钥;
21.所述第一电子设备根据第一目标哈希值和所述初始私钥确定所述第 一用户的私钥,所述第一目标哈希值是对所述第一用户的初始公钥和所述 第一用户群的各用户的初始公钥集合求哈希得到的;
22.所述第一电子设备根据所述第一用户的私钥生成所述第一用户的公 钥。
23.第二方面,本技术提供一种交易处理方法,包括:
24.第四电子设备获取第一用户群的第一聚合交易信息,所述第一聚合交 易信息中包括:所述第一用户群中的各用户的第一输入承诺聚合得到的第 一聚合输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、 各用户的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名 信息聚合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第 一聚合签名内容;
25.所述第四电子设备对所述第一聚合签名信息和所述第一用户群的生 成子进行双线性配对得到第一配对结果,以及,对所述第一聚合签名内容 和所述第一聚合校验信息进行双线性配对得到第二配对结果;
26.若所述第一配对结果与所述第二配对结果一致,且所述第一聚合输出 承诺与所述第一聚合输入承诺的比值与所述第一聚合校验信息一致,则所 述第四电子设备确定所述第一聚合交易信息验证成功。
27.可选地,所述第四电子设备确定所述第一聚合交易信息验证成功之后, 还包括:
28.所述第四电子设备将所述第一用户群中的各用户的第一输出盲化因 子之和作为第二输入盲化因子;
29.所述第四电子设备在第三用户进行交易时,通过所述第二输入盲化因 子对所述第三用户的输入交易数据进行加密得到第二输入承诺;
30.所述第四电子设备生成所述第三用户的第二交易信息,所述第二交易 信息中包括所述第二输入承诺。
31.可选地,所述第三用户是第二用户群中的任意用户,所述第二用户群 中包括多个用户,所述第二交易信息中还包括第二输出承诺,所述第四电 子设备生成所述第三用户的第二交易信息之前,还包括:
32.所述第四电子设备在预设的整数有限域中选取所述第三用户的初始 盲化因子;
33.所述第四电子设备对所述初始盲化因子和所述第二用户群中的各用 户的公钥集合求哈希,得到第二目标哈希值;
34.所述第四电子设备根据所述初始盲化因子和所述第二目标哈希值,确 定所述第三用户的第二输出盲化因子;
35.所述第四电子设备通过所述第二输出盲化因子对所述第三用户的输 出交易数据进行加密得到所述第二输出承诺。
36.可选地,所述方法还包括:
37.所述第四电子设备根据所述第一用户群中的各用户的第一输出盲化 因子、所述第一用户群中的各用户的第一输入盲化因子,确定真实校验信 息;
38.所述若所述第一配对结果与所述第二配对结果一致,且所述第一聚合 输出承诺与所述第一聚合输入承诺的比值与所述第一聚合校验信息一致, 则所述第四电子设备确定所述第一聚合交易信息验证成功,包括:
39.若所述第一配对结果与所述第二配对结果一致,且所述第一聚合输出 承诺与所述第一聚合输入承诺的比值与所述第一聚合校验信息一致,且所 述真实校验信息与所述第一聚合校验信息一致,则所述第四电子设备确定 所述第一聚合交易信息验证成功。
40.第三方面,本技术提供一种第一电子设备,包括:至少一个处理器和 存储器;
41.所述存储器存储计算机执行指令;
42.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述 第一电子设备实现如前述第一方面的方法。
43.第四方面,本技术提供一种第四电子设备,包括:至少一个处理器和 存储器;
44.所述存储器存储计算机执行指令;
45.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述 第四电子设备实现如前述第二方面的方法。
46.第五方面,本技术提供一种交易处理系统,包括第三方面的第一电子设 备和第四方面的第四电子设备。
47.第六方面,本技术提供一种计算机可读存储介质,所述计算机可读存储 介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计 算设备实现如前述第一方面或第二方面的方法。
48.第七方面,本技术提供一种计算机程序,所述计算机程序用于实现如前 述第一方面或第二方面的方法。
49.本技术提供的交易处理方法、设备及系统,该方法包括:通过第一输 入盲化因子对第一用户的输入交易数据进行加密得到第一输入承诺,以及, 通过第一输出盲化因子对第一用户的输出交易数据进行加密得到第一输 出承诺;将第一输出盲化因子与第一输入盲化因子的比值确定为第一校验 信息;对第一校验信息求哈希得到第一签名内容;通过第一输出盲化因子 和第一输入盲化因子的差值,对第一签名内容进行签名得到第一签名信
息; 生成第一交易信息,第一交易信息包括:第一输入承诺、第一输出承诺、 第一校验信息、第一签名信息和第一签名内容。本技术实施例可以将承诺 和签名联合起来,也就是使两者的计算过程中均需要使用盲化因子。这样, 即使修改盲化因子和承诺之后可以使其满足承诺公式,但是无法满足签名 验证公式。从而可以保证验证不通过,避免了恶意攻击对交易的影响,提 高了交易的安全性。
附图说明
50.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
51.图1是现有技术提供的多笔交易的关系示意图;
52.图2是现有技术提供的一种基于承诺和聚合签名的交易过程示意图;
53.图3是现有技术提供的聚合交易过程示意图;
54.图4是本技术实施例提供的一种交易处理方法的具体步骤流程图;
55.图5是本技术实施例提供的另一种交易处理方法的具体步骤流程图;
56.图6是本技术实施例提供的电子设备的一种结构框图。
具体实施方式
57.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于 本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本技术保护的范围。
58.本技术实施例可以适用于电子货币的交易过程中,每个交易都有一个输 入数据和多个输出数据。在电子货币的交易过程中,每一笔交易的输入数据 是上一笔交易的输出数据或系统奖励的货币数据,每一笔交易的输出数据都 可以作为下一笔交易的输入数据。这里的输入数据和输出数据均可以是电子 货币的数量。
59.在实际应用中,交易的输出数据可以存储在utxo(unspent transactionoutputs,未使用的交易产出)中,输入数据是上一笔交易的输出数据中的部 分或全部。图1是现有技术提供的多笔交易的关系示意图。
60.参照图1所示,第一笔交易tx0具有一个输入数据ipt00和两个输出数 据opt00、opt01。其中,输入数据ipt00是系统奖励的100,输出数据opt00 中的40作为下一笔交易tx1的输入数据ipt10,输出数据opt01中的50作 为下一笔交易tx2的输入数据ipt20。
61.参照图1所示,tx0的下一笔交易tx1具有一个输入数据ipt10和一个 输出数据opt10。其中,输入数据ipt10是上一笔交易tx0的输出数据opt00 中的40,输出数据opt10中的30作为下一笔交易tx3的输入数据ipt30。
62.参照图1所示,tx1的下一笔交易tx3具有一个输入数据ipt30和一个 输出数据opt30。其中,输入数据ipt30是上一笔交易tx1的输出数据opt10 中的30,输出数据opt30暂未被下一笔交易使用。
63.参照图1所示,tx0的下一笔交易tx2具有一个输入数据ipt20和两个 输出数据opt20、opt21。其中,输入数据ipt20是上一笔交易tx1的输出 数据opt01中的50,输出数据opt20中的20作为下一笔交易tx4的输入 数据tx4,输出数据opt21中的20作为下一笔交易tx5的输入数据ipt50。
64.参照图1所示,tx2的下一笔交易tx4具有一个输入数据ipt40和一个 输出数据opt40。其中,输入数据ipt40是上一笔交易tx2的输出数据opt20 中的20,输出数据opt40中的10作为下一笔交易tx6的输入数据ipt 60。
65.参照图1所示,tx2的下一笔交易tx5具有一个输入数据ipt50和一个 输出数据opt50。其中,输入数据ipt50是上一笔交易tx2的输出数据opt21 中的20,输出数据opt50中的10作为下一笔交易tx6的输入数据ipt61。
66.参照图1所示,tx4和tx5的下一笔交易tx6具有两个输入数据ipt60、 ipt61和一个输出数据opt60。其中,输入数据ipt60是上一笔交易tx4的 输出数据opt40中的10,输入数据ipt61是上一笔交易tx5的输出数据 opt50中的10,输出数据opt60暂未被下一笔交易使用。
67.从上述过程中可以看出,每一笔交易的输出数据可以作为下一笔交易的 输入数据,也就是被下一笔交易使用。在输出数据被使用完之后,该笔交易 的输出数据不再存储于utxo中。如果输出数据未被使用完,则该笔交易的 输出数据存储于utxo中。
68.为了保证上述交易过程的安全性,可以通过承诺对输入数据和输出数据 进行加密。对输入数据加密得到的数据可以称为输入承诺,对输出数据加密 得到的数据可以称为输出承诺,上一笔交易的输入承诺和输出承诺被发送到 接收方,以使接收方通过下一笔交易对上一笔交易的输出数据进行使用。
69.在上述承诺过程中,还需要对交易进行签名,基于承诺和聚合签名的交 易过程可以涉及两个用户群:发送方用户群和接收方用户群,发送方用户群 向接收方用户群进行转账交易。发送方用户群和接收方用户群是相对的,对 于不同的交易过程,发送方用户群和接收方用户群可以是不同的。例如,用 户群ug1向用户群ug2转账的过程中,ug1是发送方用户群,ug2是接收 方用户群。又例如,用户群ug2向用户群ug3转账的过程中,ug2是发送 方用户群,ug3是接收方用户群。
70.其中,用户群可以是按照任何方式对所有用户进行划分之后得到的,例 如,可以按照区域划分得到用户群ug1、ug2和ug3。
71.图2是现有技术提供的一种基于承诺和聚合签名的交易过程示意图。参 照图2所示,交易过程可以包括以下步骤:
72.s1:发送方用户群中的每个用户的电子设备生成输入承诺和输出承诺。
73.具体得,发送方用户群中的第i个用户usr_i的电子设备通过随机生成 的usr_i的输入盲化因子ik_i,对usr_i的输入数据ipt_i进行加密得到usr_i的输入承诺ico_i,以及,通过随机生成的usr_i的输出盲化因子ok_i, 对usr_i的输出数据opt_i进行加密得到usr_i的输出承诺oco_i。
74.这里的加密过程可以采用以下公式:
75.co=(gk·hv
)(mod q)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
76.其中,co可以为输入承诺或输出承诺,g和h为以q为阶的群的生成子, k为输入盲
化因子或输出盲化因子,v为输入数据或输出数据。
77.可以理解的是,当对输入数据ipt_i进行加密时,将ipt_i替换v、ik_i 替换k,即可通过上述公式(1)计算得到co,该co为usr1_i的输入承诺, 记为ico_i。当对输出数据opt_i进行加密时,将opt_i替换v、ok_i替换 k,即可通过上述公式(1)计算得到co,该co为usr_i的输出承诺,记 为oco_i。
78.s2:发送方用户群中的每个用户的电子设备对空字符串进行签名,得到 签名信息。
79.具体地,可以通过以下公式计算得到签名信息:
80.sgn_i=[hash(m)]
sk_i
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0081]
其中,sgn_i为签名信息,hash(m)用于对空字符串m求哈希,sk_i 为用户的私钥。
[0082]
在得到上述输入承诺、输出承诺和签名信息之后,发送方用户群中的各 用户的电子设备可以将自己的输入承诺、输出承诺和签名信息,发送给非信 任聚合器,以使非信任聚合器对其进行交易聚合,得到聚合交易信息。
[0083]
其中,非信任聚合器可以为发送方用户群中的其中一个目标用户的电子 设备,还可以是第三方的电子设备。其中,目标用户可以是发送方用户群中 的任意用户。
[0084]
当非信任聚合器为目标用户的电子设备时,目标用户的电子设备可以将 聚合得到的聚合交易信息发送给接收方用户群的电子设备或第三方的电子设 备,以对该聚合交易信息进行验证。上述生成输入承诺和输出承诺的过程可 以称为承诺阶段,之后还存在打开阶段。在打开阶段中,发送方用户群中的 每个用户的电子设备需要将加密使用的输入盲化因子和输出盲化因子发送给 目标用户的电子设备,以使其将输入盲化因子和输出盲化因子转发给接收方 用户群或第三方的电子设备。接收方用户群或第三方的电子设备可以对聚合 交易信息进行承诺验证,承诺验证所需要的生成子g和h也是发送方用户群 提前公开的。
[0085]
当非信任聚合器为第三方的电子设备时,第三方的电子设备可以将聚合 得到的聚合交易信息发送给接收方用户群的电子设备,以使接收方用户群的 电子设备对该聚合交易信息进行验证。第三方的电子设备还可以对聚合得到 的聚合交易信息进行验证。在打开阶段中,发送方用户群中的每个用户的电 子设备需要将加密使用的输入盲化因子和输出盲化因子发送给第三方的电子 设备,以使其将输入盲化因子和输出盲化因子转发给接收方用户群或自己验 证使用。接收方用户群或第三方的电子设备可以对聚合交易信息进行承诺验 证,承诺验证所需要的生成子g和h也是发送方用户群提前公开的。
[0086]
本技术实施例的图2中,以非信任聚合器是目标用户的电子设备并且对 聚合交易信息进行验证的设备是接收方用户群的电子设备为例进行说明。
[0087]
s3:目标用户的电子设备对发送方用户群中的各用户的输入承诺、输出 承诺和签名信息进行聚合,得到聚合交易信息,聚合交易信息中包括:聚合 输入承诺、聚合输出承诺和聚合签名信息。
[0088]
其中,聚合输入承诺可以为发送方用户群中的各用户的输入承诺的乘积, 聚合输出承诺可以为发送方用户群中的各用户的输出承诺的乘积,聚合签名 信息可以为发送方用户群中的各用户的签名信息的乘积。
[0089]
s4:接收方用户群的电子设备对聚合交易信息进行承诺验证以及对聚合 签名信
息进行签名验证。
[0090]
其中,接收方用户群的电子设备可以是接收方用户群中的任意用户的电 子设备。接收方用户群中的全部或部分用户的电子设备可以进行上述s4中的 验证。
[0091]
在承诺验证过程中,首先,可以将发送方用户群中的各用户的输入盲化 因子求和,得到总输入盲化因子,以及将发送方用户群中的各用户的输出盲 化因子求和,得到总输出盲化因子;然后,将总输入盲化因子替换公式(1) 中的k计算得到一个承诺,可以称为验证输入承诺,以及,将总输出盲化因 子替换公式(1)中的k计算得到另一个承诺,可以称为验证输出承诺;最后, 如果该验证输入承诺与聚合输入承诺一致,且验证输出承诺与聚合输出承诺 一致,则确定承诺验证通过,否则,确定承诺验证未通过。
[0092]
在签名验证过程中,将发送方用户群中的各用户的公钥pk_i求乘积得到 聚合公钥pk,并验证以下公式(3)是否成立,如果公式(3)成立,则确定 签名验证通过,否则确定签名验证未通过。
[0093]
e(hash(y),pk)=e(g,sgn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0094]
其中,y为空字符串,e是双线性配对算法,g是前述生成子,sgn为聚 合签名信息。
[0095]
如果上述承诺验证通过以及签名验证通过,那么代表验证成功,也就是 发送方用户群向接收方用户群的转账交易成功。从而,接收方用户群可以通 过自己的交易使用发送方用户群这次转账交易对应的输出数据,这就是下一 次交易过程,该过程与图2所示的过程一样,只不过发送方用户群和接收方 用户群需要调整。
[0096]
可以看出,上述聚合交易过程是需要发送方用户群的所有用户的电子设 备将交易信息发送给无信任聚合器的。图3是现有技术提供的聚合交易过程 示意图,图3是以发送方用户群和接收方用户群之间的聚合交易为例,图3 中的无信任聚合器是一个发送方用户群中的用户usr_m的电子设备。参照 图3中所示,发送方用户群中的各个用户usr2_1至usr2_m-1的电子设备 将交易信息tx2_1至tx2_m-1发送无信任聚合器,无信任聚合器将交易信 息tx2_1至tx2_m-1和tx2_m进行聚合,得到聚合交易信息tx2,然后, 无信任聚合器将tx2发送给接收方用户群,以使接收方用户群中的用户 usr3_1至usr3_n的电子设备使用发送方用户群的总输出数据。
[0097]
然而,上述无信任聚合器可能会对发送来的交易信息进行修改。由于现 有技术中承诺与签名信息是独立的,不存在共同参数的,从而会导致修改交 易信息中的承诺之后,再对应的修改盲化因子,以使承诺验证和签名验证均 成功。在这种情况下,恶意攻击就可以通过修改承诺攻击成功,降低了交易 的安全性。
[0098]
例如,首先,用户群ug1作为发送方用户群,按照上述图2中的过程与 接收方用户群ug2进行交易。在ug1和ug2的交易完成之后,ug2作为发 送方用户群,需要按照上述图2中的过程和接收方用户群ug3进行交易。
[0099]
假设用户群ug2中包括两个用户usr2_1和usr2_2。通过上述图2中 的方法,用户群ug2的电子设备对用户群ug1的聚合交易信息验证通过之 后,usr2_1和usr2_2的电子设备需要生成新的交易,以使用用户群ug1 转账给用户群ug2的输出数据。生成新的交易时,usr2_1和usr2_2的电 子设备分别生成交易信息,并统一发送给一个用户(例如usr2_1)的电子设 备。如果usr2_1的电子设备根据usr2_2的电子设备发来的输入承诺 g
ik_2
·
h5(mod q),将usr2_1的输入承诺g
ik_1
·
h5(mod q)修改为 g
ik_1
·h10
(mod q)/g
ik_2
·
h5(mod q),以
及,usr2_1的电子设备根据usr2_2的输 出承诺g
ok_2
·
h5(mod q),将usr2_1的输出承诺g
ok_1
·
h5(mod q)修改为 g
ok_1
·h10
(mod q)/g
ok_2
·
h5(mod q),然后,再将g
ik_1
·h10
(mod q)/g
ik_2
·
h5(mod q)与 usr2_2的输入承诺g
ik_2
·
h5(mod q)进行聚合得到聚合输入承诺 g
ik_1
·h10
(mod q),将g
ok_1
·h10
(mod q)/g
ok_2
·
h5(mod q)与usr2_2的输出承诺 g
ok_2
·
h5(mod q)进行聚合得到聚合输出承诺g
ok_1
·h10
(mod q);最后,对usr2_1 的签名信息hash(m)
sk_1
和usr2_1的签名信息hash(m)
sk_2
进行聚合得到聚合 签名信息hash(m)
sk_1
·
hash(m)
sk_2
。
[0100]
这样,将上述聚合输入承诺、聚合输出承诺和聚合签名信息、输入盲化 因子ik_1和输出盲化因子ok_1发送给用户群ug3之后,用户群ug3对其 进行验证。
[0101]
在ug3的电子设备对聚合输入承诺进行验证时,先将用户群ug2的输 入盲化因子ik_1聚合,得到聚合输入盲化因子,再将该聚合输入盲化因子 ik_1和总输入数据10输入到公式(1)中,可以得到验证输入承诺 g
ik_1
·h10
(mod q)。可以看出,验证输入承诺与聚合输入承诺相同,从而输入承 诺验证通过。
[0102]
同理,在对聚合输出承诺进行验证时,先将用户群ug2的输出盲化因子 ok_1聚合,得到聚合输出盲化因子,再将该聚合输出盲化因子ok_1和总输 出数据10输入到公式(1)中,可以得到验证输出承诺g
ok_1
·h10
(mod q)。可以 看出,验证输出承诺与聚合输出承诺相同,从而输出承诺验证通过。
[0103]
最后,在对聚合签名信息进行验证时,由于对签名信息未进行修改,从 而聚合签名信息仍然验证成功。
[0104]
通过上述验证过程,用户群ug3中的用户可以不使用usr2_2的盲化因 子即可使用usr2_2的输出数据,也就是说,用户群ug3中的用户即使不被 usr2_2授权也可以使用其数据,降低了交易的安全性。
[0105]
为了解决上述问题,本技术实施例可以将承诺和签名联合起来,也就是 使两者的计算过程中均需要使用盲化因子。这样,即使修改盲化因子和承诺 之后可以使其满足承诺公式,但是无法满足签名验证公式。从而可以保证验 证不通过,避免了恶意攻击对交易的影响,提高了交易的安全性。
[0106]
图4是本技术实施例提供的一种交易处理方法的具体步骤流程图,应用 于第一电子设备中。参照图4所示,该方法可以包括:
[0107]
s101:第一电子设备通过第一输入盲化因子对第一用户的输入交易数 据进行加密得到第一输入承诺,以及,通过第一输出盲化因子对第一用户 的输出交易数据进行加密得到第一输出承诺。
[0108]
其中,第一用户是第一用户群中的任意用户,第一用户群中包括多个 用户。本技术实施例中的第一用户群可以为发送方用户群,第一用户为发 送方用户。在本技术实施例中,假设第一用户是第一用户群中的第i个用 户usr_i。
[0109]
具体地,针对第一用户的每笔交易,随机生成该第一用户针对这笔交 易的第一输入盲化因子,以将第一输入盲化因子替换掉公式(1)中的k, 将第一用户的这笔交易的第一输入数据替换掉公式(1)中的v,通过公式 (1)计算得到的co为第一用户的这笔交易的第一输入承诺。
[0110]
同理,针对第一用户的每笔交易,随机生成该第一用户针对这笔交易 的第一输出盲化因子,以将第一输出盲化因子替换掉公式(1)中的k, 将第一用户的这笔交易的第一输
出数据替换掉公式(1)中的v,通过公式 (1)计算得到的co为第一用户的这笔交易的第一输出承诺。
[0111]
当然,如果同一个用户有多笔交易,那么会对应生成多笔交易的上述 第一输入承诺和第一输出承诺,每笔交易对应有第一输入盲化因子,每笔 交易对应有第一输出盲化因子。这样,会得到第一用户的第一输入承诺集 合、第一用户的第一输出承诺集合、第一用户的第一输入盲化因子集合、 第一用户的第一输出盲化因子集合。从而,第一用户的第一输入承诺可以 为该第一用户的第一输入承诺集合中多笔交易的第一输入承诺的乘积,该 第一用户的第一输出承诺可以为该第一用户的第一输出承诺集合中多笔 交易的第一输出承诺的乘积。
[0112]
s102:第一电子设备将第一输出盲化因子与第一输入盲化因子的比值 确定为第一校验信息。
[0113]
需要说明的是,这里的第一校验信息不仅可以理解为对输入输出承诺 的校验信息,还可以理解为对第一签名信息的公钥。
[0114]
s103:第一电子设备对第一校验信息求哈希得到第一签名内容。
[0115]
其中,哈希算法是密码学常用的算法,在此不再赘述。
[0116]
可选地,第一签名内容可以是仅对第一校验信息求哈希得到的,还可 以是对第一校验信息和第一用户群中各用户的公钥求哈希得到的。
[0117]
s104:第一电子设备通过第一输出盲化因子和第一输入盲化因子的差 值,对第一签名内容进行签名得到第一签名信息。
[0118]
具体地,针对第一用户usr_i,可以通过以下公式计算得到该第一用 户的第一签名信息:
[0119][0120]
其中,sgn_i是usr_i的第一签名信息,e_i是usr_i的第一校验信 息,pk是第一用户群中各用户的公钥构成的第一用户群的公钥集合, kout_i_j为usr_i的第j笔交易的第一输出盲化因子,kin_i_j为usr_i的第 j笔交易的第一输入盲化因子,j_i是usr_i的交易笔数。
[0121]
上述公式(3)中的hash(e_i,pk)为usr_i的第一签名内容m_i。在本 申请实施例中,在计算第一签名内容时,还可以不使用公钥集合pk,即 将hash(e_i)作为第一签名内容,也就是通过以下公式(4)计算第一用户 的第一签名信息。
[0122][0123]
可以看出,公式(3)中的第一签名内容是对第一校验信息和第一用 户群中的各用户的公钥求哈希得到的,公式(4)中的第一签名内容是对 第一校验信息求哈希得到的。如此,公式(3)的第一签名内容的验证需 要使用第一用户群中的所有用户的公钥,从而,相对于公式(4),公式 (3)的可靠性更好,有助于进一步提高交易的安全性。
[0124]
s105:第一电子设备生成第一交易信息,第一交易信息包括:第一输 入承诺、第一输出承诺、第一校验信息、第一签名信息和第一签名内容。
[0125]
具体地,可以根据前述得到的第一输入承诺ico_i、第一输出承诺 oco_i、第一校
验信息e_i、第一签名信息sgn_i和第一签名内容m_i, 生成第一交易信息tx_i={ico_i,oco_i,e_i,sgn_i,m_i}。
[0126]
需要说明的是,由于前述第一用户是第一用户群中的任一用户,从而 上述s101至s105是第一用户群中的任意用户的电子设备均可以生成其用 户的第一交易信息。基于此,可以将第一用户群中的各用户的第一交易信 息聚合得到第一用户群的第一聚合交易信息。该聚合过程是非信任聚合器 进行的,该非信任聚合器可以是前述第一用户的电子设备进行的,也可以 是第三方的电子设备进行的。
[0127]
当非信任聚合器为前述第一电子设备时,为了聚合第一用户群中的各 用户的第一交易信息,第一电子设备还需要接收至少一个第二电子设备发 送的第二用户的第一交易信息。该第二用户的第一交易信息是第二电子设 备根据第二用户的信息生成的,第二电子设备生成第二用户的第一交易信 息的方式,与第一电子设备生成第一用户的第一交易信息的方式相同,第 二用户为第一用户群中除第一用户外的用户。
[0128]
第一电子设备在接收到第二电子设备发送的上述第一交易信息之后, 第一电子设备可以对第一用户群中的各用户的第一交易信息进行聚合得 到第一用户群的第一聚合交易信息,第一聚合交易信息中包括以下至少一 种信息:各用户的第一输入承诺聚合得到的第一聚合输入承诺、各用户的 第一输出承诺聚合得到的第一聚合输出承诺、各用户的第一校验信息聚合 得到的第一聚合校验信息、各用户的第一签名信息聚合得到的第一聚合签 名信息、各用户的第一签名内容聚合得到的第一聚合签名内容。
[0129]
当非信任聚合器为前述第三方的电子设备(后续称为第三电子设备) 时,上述第一电子设备将第一交易信息发送给第三电子设备,以使第三电 子设备对第一用户群中的各用户的第一交易信息进行聚合得到第一用户 群的第一聚合交易信息,第一聚合交易信息中包括以下至少一种信息:各 用户的第一输入承诺聚合得到的第一聚合输入承诺、各用户的第一输出承 诺聚合得到的第一聚合输出承诺、各用户的第一校验信息聚合得到的第一 聚合校验信息、各用户的第一签名信息聚合得到的第一聚合签名信息、各 用户的第一签名内容聚合得到的第一聚合签名内容。
[0130]
其中,第一聚合输入承诺是第一用户群中的各用户的第一输入承诺的 乘积,第一聚合输出承诺是第一用户群中的各用户的第一输出承诺的乘积, 第一聚合校验信息是第一用户群中的各用户的第一校验信息的乘积,第一 聚合签名信息是第一用户群中的各用户的第一签名信息的乘积,第一聚合 签名内容是第一用户群中的各用户的第一签名内容聚合的乘积。
[0131]
本技术可以将第一用户群的各用户的第一交易信息进行聚合得到第 一聚合交易信息,以对第一聚合交易信息进行验证。这种聚合过程可以有 效减少验证次数,进而降低验证复杂度。在实际应用中,在第一电子设备 生成第一交易信息之前,第一电子设备需要进行密码学环境初始化,这里 的密码学环境初始化过程与现有技术相同。具体可以包括以下签名环境初 始化、承诺环境初始化和范围证明环境初始化。
[0132]
具体地,可以包括以下过程:
[0133]
首先,第一电子设备选定一条椭圆形曲线,g1、g2和gt是该曲线上 的公开点集,是以p为阶的有限群,zp为以p为阶的整数有限域。g1和 g2是上述曲线上公开的点,且分别是g1和g2中的值,分别为g1和g2 的生成子,g和h是群g2的生成子。
[0134]
然后,第一电子设备确定上述椭圆形曲线上的双线性映射函数e:g1
×ꢀ
g2-》gt。
[0135]
再然后,第一电子设备确定哈希函数hash。
[0136]
在第一电子设备进行上述初始化之后,还需要生成密钥对。具体地, 每个参与交易的用户仅需要生成密钥对。
[0137]
具体地,首先,第一电子设备在上述预设的整数有限域zp中随机选 取一个整数作为初始私钥kl_i,以根据初始私钥计算该第一用户的初始 公钥pl_i=(g2)
kl_i
;然后,第一电子设备将自己的初始公钥发送给第一用 户群中的其余用户的电子设备,以使第一用户群中的每个用户均可以得到 初始公钥集合pl={pl_1,
…
pl_i,
…
,pl_m};再然后,第一电子设备 根据第一目标哈希值和初始私钥生成该第一用户的私钥 sk_i=hash(pl_i,pk)
·
kl_i,其中,hash(pl_i,pl)是第一目标哈希值,也就 是说第一目标哈希值是第一电子设备对第一用户的初始公钥和第一用户 群的各用户的初始公钥集合求哈希得到的;最后,第一电子设备根据第一 用户的私钥生成第一用户的公钥p_i=g2
·
sk_i,公钥集合 pk={p_1,
…
p_i,
…
,p_m}。
[0138]
可以看出,相较于现有技术将上述过程中的初始私钥和初始公钥作为 最终使用的私钥和公钥,本技术实施例根据初始私钥和第一目标哈希值重 新生成最终使用的私钥。这样,可以提高私钥的随机性,避免私钥被破解, 有助于提高私钥的安全性,进而提高交易的安全性。
[0139]
图4所示的上述方法是生成交易信息及聚合交易信息的过程,相应地, 图5是本技术实施例提供的另一种交易处理方法的具体步骤流程图,应用 于第四电子设备中。图5所示的方法是对第一聚合交易信息的验证过程, 该第四电子设备可以是前述第三电子设备,也可以是接收方用户群中的部 分或全部用户所在的电子设备。参照图5所示,该方法可以包括:
[0140]
s201:第四电子设备获取第一用户群的第一聚合交易信息,第一聚合 交易信息中包括:第一用户群中的各用户的第一输入承诺聚合得到的第一 聚合输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、各 用户的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名信 息聚合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第一 聚合签名内容。
[0141]
可以理解的是,这里的第一聚合交易信息是前述无信任聚合器发送的。
[0142]
s202:第四电子设备对第一聚合签名信息和第一用户群的生成子进行 双线性配对得到第一配对结果,以及,对第一聚合签名内容和第一聚合校 验信息进行双线性配对得到第二配对结果。
[0143]
其中,第一配对结果为e(sgn,g2),第二配对结果为e(m,e),e为 双线性配对算法。sgn为第一聚合签名信息,g2为前述初始化时得到的 第一用户群的生成子,m为第一聚合签名内容,e为第一聚合校验信息。
[0144]
当e(sgn,g2)=e(m,e)时,第四代电子设备确定第一配对结果与第二 配对结果一致。否则,第四电子设备确定第一配对结果和第二配对结果不 一致。
[0145]
s203:若第一配对结果与第二配对结果一致,且第一聚合输出承诺与 第一聚合输入承诺的比值与第一聚合校验信息一致,则第四电子设备确定 第一聚合交易信息验证成功。
[0146]
根据前述第一聚合校验信息的定义可知,第一聚合校验信息其中,e_i是usr_i的第一校验信息。
[0147]
又根据第一校验信息e_i的定义可知从而可以确定第一 聚合校验信息其中,oco_i和ico_i分别是 usr_i的第一输出承诺和第一输入承诺,oco和ico分别为第一聚合输 出承诺和第一聚合输入承诺。也就是说,如果第一聚合输出承诺和第一聚 合输入承诺的比值与第一校验信息一致,则代表承诺和校验信息是对应的, 从而承诺验证成功。否则,第一聚合输出承诺和第一聚合输入承诺是不对 应的,从而承诺验证失败。
[0148]
可选地,本技术实施例的第四电子设备还可以根据第一用户群中的各 用户的第一输出盲化因子、第一用户群中的各用户的第一输入盲化因子, 确定真实校验信息。具体地,首先,计算第一用户群中的各用户的第一输 出盲化因子之和,以及,再计算第一用户群中的各用户的第一输入盲化因 子之和;然后,将第一输出盲化因子之和作为指数,g为底数计算指数结 果,称为第一指数结果,以及,将第一输入盲化因子之和作为指数,g为 底数计算指数结果,称为第二指数结果;最后,计算第二指数结果与第一 指数结果的比值作为真实校验信息。
[0149]
从而,第四电子设备可以结合上述真实校验信息、上述第一配对结果、 第二配对结果、第一聚合输出承诺与第一聚合输入承诺的比值、第一聚合 校验信息对上述第一聚合交易信息进行验证。具体地,若第一配对结果与 第二配对结果一致,且第一聚合输出承诺与第一聚合输入承诺的比值与第 一聚合校验信息一致,且真实校验信息与第一聚合校验信息一致,则第四 电子设备确定第一聚合交易信息验证成功。
[0150]
由于真实校验信息是根据第一用户群中的各用户的第一输出盲化因 子、第一用户群中的各用户的第一输入盲化因子确定的,从而真实校验信 息与第一聚合校验信息是否一致也就代表第一聚合校验信息是否是根据 第一用户群中的各用户的第一输出盲化因子、第一用户群中的各用户的第 一输入盲化因子确定的,从而提高了第一聚合校验信息的准确度,进而进 一步提高了交易的安全性。
[0151]
可以理解的是,当上述验证过程是第三方的电子设备执行时,第三方 的电子设备可以将验证结果发送给第二用户群的用户的电子设备,以使第 二用户群的用户的电子设备对第一用户群的输出数据进行使用。当上述验 证过程是第二用户群的用户的电子设备执行时,第四电子设备是第二用户 群的用户的电子设备,第四电子设备可以直接对该对第一用户群的输出数 据进行使用。第二用户群可以为接收方用户群。
[0152]
上述第四电子设备对第一用户群的输出数据进行使用的过程可以包 括:首先,第四电子设备将第一用户群中的各用户的第一输出盲化因子之 和作为第二输入盲化因子;然后,第四电子设备在第三用户进行交易时, 通过第二输入盲化因子对第三用户的输入数据进行加密得到的第二输入 承诺,第三用户是第二用户群中的用户,也就是第四电子设备
的用户;最 后,第四电子设备生成第三用户的第二交易信息,第二交易信息中包括第 二输入承诺。
[0153]
具体地,将第二输入盲化因子替换掉公式(1)中的k,将第三用户的 输入数据替换掉公式(1)中的v,将第二用户群的生成子g和h,以及阶 数q带入公式(1)可以得到第二输入承诺。
[0154]
同样地,将第二输出盲化因子替换掉公式(1)中的k,将第三用户的 输出数据替换掉公式(1)中的v,将第二用户群的生成子g和h,以及阶 数q带入公式(1)可以得到第二输出承诺。
[0155]
现有技术中,第二输出盲化因子是从预设的整数有限域中随机选取的。 这样会导致第二输出盲化因子容易被攻击,从而降低了第二输出盲化因子 的安全性,进而降低了交易安全性。
[0156]
为了提高交易安全性,本技术实施例的第四电子设备可以通过二次盲 化以提高第二输出盲化因子的安全性,进而提高交易安全性。
[0157]
具体地,首先,第四电子设备可以在预设的整数有限域中选取第三用 户的初始盲化因子;然后,第四电子设备对初始盲化因子和第二用户群中 的各用户的公钥集合求哈希,得到第二目标哈希值;再然后,第四电子设 备根据初始盲化因子和第二目标哈希值,确定第三用户的第二输出盲化因 子;最后,第四电子设备通过第二输出盲化因子对第三用户的输出数据进 行加密得到第二输出承诺。
[0158]
当然,第四电子设备除生成第二输出承诺和第二输入承诺,还需要将 第二输出承诺和第二输入承诺的比值确定为第二校验信息,以及生成第二 签名信息、第二签名内容,第二输入承诺、第二输出承诺、第二校验信息、 第二签名信息、第二签名内容构成第二交易信息。第二用户群中的各用户 的第二交易信息被聚合得到第二聚合交易信息,被发送给第三方或第三用 户群。
[0159]
可以看出,上述过程是第二用户群作为新的发送方用户群,第三用户 群作为新的接收方用户群的交易过程,第三用户群需要对第二聚合交易信 息进行验证。如此,循环下去,直至用户群不再有交易。
[0160]
可以理解的是,当任意用户群作为发送方用户群时,其生成交易信息 的过程可以参照图4中的生成第一交易信息的过程。当任意用户群作为接 收方用户群时,其对交易信息的验证过程可以参照前述图5中的验证过程。
[0161]
上述第一电子设备和第四电子设备可以统称为电子设备,图6是本技术 实施例提供的电子设备的一种结构框图。该电子设备600包括存储器602和 至少一个处理器601。
[0162]
其中,存储器602存储计算机执行指令。至少一个处理器601执行存储 器602存储的计算机执行指令,使得第一电子设备601实现图4中的方法或 使第四电子设备601实现图5中的方法。
[0163]
此外,该电子设备还可以包括接收器603和发送器604,接收器603用 于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将 信息发送到其余装置或设备。
[0164]
本技术实施例还提供了一种交易处理系统,包括:第一电子设备和第四 电子设备。
[0165]
其中,所述第一电子设备用于:
[0166]
通过第一输入盲化因子对第一用户的输入交易数据进行加密得到第 一输入承诺,以及,通过第一输出盲化因子对第一用户的输出交易数据进 行加密得到第一输出承诺;将所述第一输出盲化因子与所述第一输入盲化 因子的比值确定为第一校验信息;对所述第一校验信息求哈希得到第一签 名内容;通过所述第一输出盲化因子和所述第一输入盲化因子的差值,对 所述第一签名内容进行签名得到第一签名信息;生成第一交易信息,所述 第一交易信息包括:所述第一输入承诺、所述第一输出承诺、所述第一校 验信息、所述第一签名信息和第一签名内容。
[0167]
可选地,所述第一用户是第一用户群中的任意用户,所述第一用户群 中包括多个用户,所述第一电子设备还用于:
[0168]
首先,接收至少一个第二电子设备发送的第二用户的第一交易信息, 所述第二用户的第一交易信息是所述第二电子设备根据所述第二用户的 信息生成的,所述第二电子设备生成所述第二用户的第一交易信息的方式, 与所述第一电子设备生成所述第一用户的第一交易信息的方式相同,所述 第二用户为所述第一用户群中除所述第一用户外的用户。
[0169]
然后,对所述第一用户群中的各用户的所述第一交易信息进行聚合得 到所述第一用户群的第一聚合交易信息,所述第一聚合交易信息中包括以 下至少一种信息:各用户的第一输入承诺聚合得到的第一聚合输入承诺、 各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用户的第一校验 信息聚合得到的第一聚合校验信息、各用户的第一签名信息聚合得到的第 一聚合签名信息、各用户的第一签名内容聚合得到的第一聚合签名内容。
[0170]
可选地,所述第一用户是第一用户群中的任意用户,所述第一用户群 中包括多个用户,所述第一电子设备还用于:
[0171]
将所述第一交易信息发送给第三电子设备,以使所述第三电子设备对 所述第一用户群中的各用户的第一交易信息进行聚合得到所述第一用户 群的第一聚合交易信息,所述第一聚合交易信息中包括以下至少一种信息: 各用户的第一输入承诺聚合得到的第一聚合输入承诺、各用户的第一输出 承诺聚合得到的第一聚合输出承诺、各用户的第一校验信息聚合得到的第 一聚合校验信息、各用户的第一签名信息聚合得到的第一聚合签名信息、 各用户的第一签名内容聚合得到的第一聚合签名内容。
[0172]
可选地,所述第一电子设备还用于:
[0173]
对所述第一校验信息和所述第一用户群中的各用户的公钥求哈希得 到所述第一签名内容。
[0174]
可选地,所述第一电子设备还用于通过以下步骤生成所述第一用户的 公钥:
[0175]
从预设的整数有限域中随机选取所述第一用户的初始私钥;根据所述 初始私钥生成所述第一用户的初始公钥;根据第一目标哈希值和所述初始 私钥确定所述第一用户的私钥,所述第一目标哈希值是对所述第一用户的 初始公钥和所述第一用户群的各用户的初始公钥集合求哈希得到的;根据 所述第一用户的私钥生成所述第一用户的公钥。
[0176]
上述第四电子设备用于:
[0177]
首先,获取第一用户群的第一聚合交易信息,所述第一聚合交易信息 中包括:所
述第一用户群中的各用户的第一输入承诺聚合得到的第一聚合 输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用户 的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名信息聚 合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第一聚合 签名内容。
[0178]
然后,对所述第一聚合签名信息和所述第一用户群的生成子进行双线 性配对得到第一配对结果,以及,对所述第一聚合签名内容和所述第一聚 合校验信息进行双线性配对得到第二配对结果。
[0179]
最后,若所述第一配对结果与所述第二配对结果一致,且所述第一聚 合输出承诺与所述第一聚合输入承诺的比值与所述第一聚合校验信息一 致,则确定所述第一聚合交易信息验证成功。
[0180]
可选地,上述第四电子设备还用于:
[0181]
在确定所述第一聚合交易信息验证成功之后,将所述第一用户群中的 各用户的第一输出盲化因子之和作为第二输入盲化因子;在第三用户进行 交易时,通过所述第二输入盲化因子对所述第三用户的输入交易数据进行 加密得到第二输入承诺;生成所述第三用户的第二交易信息,所述第二交 易信息中包括所述第二输入承诺。
[0182]
可选地,所述第三用户是第二用户群中的任意用户,所述第二用户群 中包括多个用户,所述第二交易信息中还包括第二输出承诺,所述第四电 子设备还用于:
[0183]
在生成所述第三用户的第二交易信息之前,在预设的整数有限域中选 取所述第三用户的初始盲化因子;对所述初始盲化因子和所述第二用户群 中的各用户的公钥集合求哈希,得到第二目标哈希值;根据所述初始盲化 因子和所述第二目标哈希值,确定所述第三用户的第二输出盲化因子;通 过所述第二输出盲化因子对所述第三用户的输出交易数据进行加密得到 所述第二输出承诺。
[0184]
可选地,上述第四电子设备还用于:
[0185]
根据所述第一用户群中的各用户的第一输出盲化因子、所述第一用户 群中的各用户的第一输入盲化因子,确定真实校验信息;从而,若所述第 一配对结果与所述第二配对结果一致,且所述第一聚合输出承诺与所述第 一聚合输入承诺的比值与所述第一聚合校验信息一致,且所述真实校验信 息与所述第一聚合校验信息一致,则确定所述第一聚合交易信息验证成功。
[0186]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介 质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算 设备实现前述图4或图5所示的方法。
[0187]
本技术实施例还提供一种计算机程序,所述计算机程序用于实现图4或 图5所示的方法。
[0188]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对 其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并 不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:
1.一种交易处理方法,其特征在于,所述方法包括:第一电子设备通过第一输入盲化因子对第一用户的输入交易数据进行加密得到第一输入承诺,以及,通过第一输出盲化因子对所述第一用户的输出交易数据进行加密得到第一输出承诺;所述第一电子设备将所述第一输出盲化因子与所述第一输入盲化因子的比值确定为第一校验信息;所述第一电子设备对所述第一校验信息求哈希得到第一签名内容;所述第一电子设备通过所述第一输出盲化因子和所述第一输入盲化因子的差值,对所述第一签名内容进行签名得到第一签名信息;所述第一电子设备生成第一交易信息,所述第一交易信息包括:所述第一输入承诺、所述第一输出承诺、所述第一校验信息、所述第一签名信息和第一签名内容。2.根据权利要求1所述的方法,其特征在于,所述第一用户是第一用户群中的任意用户,所述第一用户群中包括多个用户,所述方法还包括:所述第一电子设备接收至少一个第二电子设备发送的第二用户的第一交易信息,所述第二用户的第一交易信息是所述第二电子设备根据所述第二用户的信息生成的,所述第二电子设备生成所述第二用户的第一交易信息的方式,与所述第一电子设备生成所述第一用户的第一交易信息的方式相同,所述第二用户为所述第一用户群中除所述第一用户外的用户;所述第一电子设备对所述第一用户群中的各用户的所述第一交易信息进行聚合得到所述第一用户群的第一聚合交易信息,所述第一聚合交易信息中包括以下至少一种信息:各用户的第一输入承诺聚合得到的第一聚合输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用户的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名信息聚合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第一聚合签名内容。3.根据权利要求1所述的方法,其特征在于,所述第一用户是第一用户群中的任意用户,所述第一用户群中包括多个用户,所述方法还包括:所述第一电子设备将所述第一交易信息发送给第三电子设备,以使所述第三电子设备对所述第一用户群中的各用户的第一交易信息进行聚合得到所述第一用户群的第一聚合交易信息,所述第一聚合交易信息中包括以下至少一种信息:各用户的第一输入承诺聚合得到的第一聚合输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用户的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名信息聚合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第一聚合签名内容。4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一电子设备对所述第一校验信息求哈希得到第一签名内容,包括:所述第一电子设备对所述第一校验信息和所述第一用户群中的各用户的公钥求哈希得到所述第一签名内容。5.根据权利要求4所述的方法,其特征在于,所述第一用户的公钥是通过以下步骤生成的:所述第一电子设备从预设的整数有限域中随机选取所述第一用户的初始私钥;
所述第一电子设备根据所述初始私钥生成所述第一用户的初始公钥;所述第一电子设备根据第一目标哈希值和所述初始私钥确定所述第一用户的私钥,所述第一目标哈希值是对所述第一用户的初始公钥和所述第一用户群的各用户的初始公钥集合求哈希得到的;所述第一电子设备根据所述第一用户的私钥生成所述第一用户的公钥。6.一种交易处理方法,其特征在于,包括:第四电子设备获取第一用户群的第一聚合交易信息,所述第一聚合交易信息中包括:所述第一用户群中的各用户的第一输入承诺聚合得到的第一聚合输入承诺、各用户的第一输出承诺聚合得到的第一聚合输出承诺、各用户的第一校验信息聚合得到的第一聚合校验信息、各用户的第一签名信息聚合得到的第一聚合签名信息、各用户的第一签名内容聚合得到的第一聚合签名内容;所述第四电子设备对所述第一聚合签名信息和所述第一用户群的生成子进行双线性配对得到第一配对结果,以及,对所述第一聚合签名内容和所述第一聚合校验信息进行双线性配对得到第二配对结果;若所述第一配对结果与所述第二配对结果一致,且所述第一聚合输出承诺与所述第一聚合输入承诺的比值与所述第一聚合校验信息一致,则所述第四电子设备确定所述第一聚合交易信息验证成功。7.根据权利要求6所述的方法,其特征在于,所述第四电子设备确定所述第一聚合交易信息验证成功之后,还包括:所述第四电子设备将所述第一用户群中的各用户的第一输出盲化因子之和作为第二输入盲化因子;所述第四电子设备在第三用户进行交易时,通过所述第二输入盲化因子对所述第三用户的输入交易数据进行加密得到第二输入承诺;所述第四电子设备生成所述第三用户的第二交易信息,所述第二交易信息中包括所述第二输入承诺。8.根据权利要求7所述的方法,其特征在于,所述第三用户是第二用户群中的任意用户,所述第二用户群中包括多个用户,所述第二交易信息中还包括第二输出承诺,所述第四电子设备生成所述第三用户的第二交易信息之前,还包括:所述第四电子设备在预设的整数有限域中选取所述第三用户的初始盲化因子;所述第四电子设备对所述初始盲化因子和所述第二用户群中的各用户的公钥集合求哈希,得到第二目标哈希值;所述第四电子设备根据所述初始盲化因子和所述第二目标哈希值,确定所述第三用户的第二输出盲化因子;所述第四电子设备通过所述第二输出盲化因子对所述第三用户的输出交易数据进行加密得到所述第二输出承诺。9.根据权利要求6至8任一项所述的方法,其特征在于,所述方法还包括:所述第四电子设备根据所述第一用户群中的各用户的第一输出盲化因子、所述第一用户群中的各用户的第一输入盲化因子,确定真实校验信息;所述若所述第一配对结果与所述第二配对结果一致,且所述第一聚合输出承诺与所述
第一聚合输入承诺的比值与所述第一聚合校验信息一致,则所述第四电子设备确定所述第一聚合交易信息验证成功,包括:若所述第一配对结果与所述第二配对结果一致,且所述第一聚合输出承诺与所述第一聚合输入承诺的比值与所述第一聚合校验信息一致,且所述真实校验信息与所述第一聚合校验信息一致,则所述第四电子设备确定所述第一聚合交易信息验证成功。10.一种第一电子设备,其特征在于,所述电子设备包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述第一电子设备实现如权利要求1至5任一项所述的方法。11.一种第四电子设备,其特征在于,所述电子设备包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述第四电子设备实现如权利要求6至9任一项所述的方法。12.一种交易处理系统,其特征在于,包括权利要求10所述的第一电子设备和权利要求11所述的第四电子设备。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如权利要求1至5任一项所述的方法,或6至9任一项所述的方法。
技术总结
本申请提供一种交易处理方法、设备及系统。该方法包括:通过第一输入盲化因子对第一用户的输入交易数据进行加密得到第一输入承诺,以及,通过第一输出盲化因子对第一用户的输出交易数据进行加密得到第一输出承诺;将第一输出盲化因子与第一输入盲化因子的比值确定为第一校验信息;对第一校验信息求哈希得到第一签名内容;通过第一输出盲化因子和第一输入盲化因子的差值,对第一签名内容进行签名得到第一签名信息;生成第一交易信息,第一交易信息包括:第一输入承诺、第一输出承诺、第一校验信息、第一签名信息和第一签名内容。本申请实施例可以将承诺和签名联合起来,使两者的计算过程中均需要使用盲化因子,提高了交易安全性。性。性。
技术研发人员:郭锐 莫楠 李辉忠 范瑞彬 张开翔 胡朝新
受保护的技术使用者:深圳前海微众银行股份有限公司
技术研发日:2021.12.07
技术公布日:2022/3/8