本发明是一种在三叉树的结构上,面值为3n的可分电子现金的构造方法,主要用于解决可分电子现金中额度单一的问题,属于信息安全的技术领域。
背景技术:
可分电子现金是一种用户可以一次购买一个大面值的电子现金,然后分多次支付的数字货币系统。可分电子现金系统为用户提供匿名性保护,能实现对双花用户的身份追踪,同时还具有可分性,使用非常方便。
然而,现有可分电子现金系统仅允许用户购买的单个电子现金的面额为2n,然后分多次使用。虽然这种电子现金在支付协议中能够满足任何额度的支付,但可能会造成较大的支付次数,从而导致支付效率的降低。
技术实现要素:
为了解决上述现有技术中存在的问题,本发明提供了一种基于三叉树的电子现金构造方法,该方法按照以下步骤来实现,包含:
1、电子现金系统公共参数设置。设sn是由长度小于n的字符串组成的集合。对于任意的s∈sn,|s|表示比特串s的长度,集合yn(s)={y||y|=n,y由s在其尾部添加一个字符串构成}。设g1,g2是阶为素数p的群,{g1,g2,gt,e}为一个双线性群,g=e(g,h)为gt的一个生成元,g,h分别为g1,g2的生成元,e为双线性映射。
2、构造面值为3n的电子现金。利用深度为n的三叉树构造面值3n的电子现金。根节点为gs,该节点包含了该电子现金的发行时间,发行该电子现金的银行信息等参数。该三叉树的非根非叶节点为s∈sn,其中s的位数与其深度相等。
对三叉树的每一个非根非叶节点为s∈sn,选择随机数rs∈zp,设
对三叉树的每一个叶节点y∈yn(s),选择随机数ly∈zp;
对每一个s∈sn,以及每一个叶节点y∈yn(s),计算
这里每一个叶子节点y就是一个面值为1的电子现金,用
3、使用。在支付协议中,用户可以结合面值2n的电子现金,按照实际需要来选择面值为3n以及2n的节点进行支付,可提高支付效率。
本发明具有以下有益效果:1在电子现金系统中,用户能够购买面值为2n的电子现金,还可以购买面值为3n的电子现金,具有灵活性和实用性。2.在支付协议中,用户可以按照实际需要来选择面值为3n以及2n的节点进行支付,可减少支付的电子现金的个数,从而提高支付效率,节省资源。
附图说明
图1是基于三叉树的可分电子现金示意图。表示本发明方法所包括的电子现金构成示例。
图2是流程示意图。表示本发明的流程示意。
具体实施方式
步骤1:电子现金系统公共参数设置。设sn是由长度小于n的字符串组成的集合。对于任意的s∈sn,|s|表示比特串s的长度,集合yn(s)={y||y|=n,y由s在其尾部添加一个字符串构成}。设g1,g2是阶为素数p的群,{g1,g2,gt,e}为一个双线性群,g=e(g,h)为gt的一个生成元,g,h分别为g1,g2的生成元,e为双线性映射。
步骤2:构造面值为3n的电子现金。利用深度为n的三叉树构造面值3n的电子现金。根节点为gs,该节点包含了该电子现金的发行时间,发行该电子现金的银行信息等参数。该三叉树的非根非叶节点为s∈sn,其中s的位数与其深度相等。
对三叉树的每一个非根非叶节点为s∈sn,选择随机数rs∈zp,设
对三叉树的每一个叶节点y∈yn(s),选择随机数ly∈zp;
对每一个s∈sn,以及每一个叶节点y∈yn(s),计算
这里每一个叶子节点y就是一个面值为1的电子现金,用
步骤3:使用。在支付协议中,结合面值2n的电子现金,按照实际需要来选择面值为3n以及2n的节点进行支付,可提高支付效率。