一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在终端设备、支付系统、货币系统和监控单元之间直接传输电子币数据组的方法与流程

2022-12-03 12:36:43 来源:中国专利 TAG:


1.本发明涉及一种在终端设备之间直接传输电子币数据组的方法。此外,本发明涉及一种用于交换货币数额的支付系统和一种货币系统。


背景技术:

2.支付交易和相关支付交易数据的安全意味着保护交换数据的机密性;保护交换数据的完整性;以及保护交换数据的可用性。
3.传统的基于区块链的支付交易,例如比特币,代表了对完整性的高度保护。当电子币数据组(也称为“硬币(coins)”)在区块链技术中变换所有者时,大量的信息被公布。因此,这种支付交易、特别是交换的数据,并不是完全保密的。此外,支付交易非常耗费计算并且因此耗能。
4.因此,通常在区块链分类账中仅存储机密数据的哈希值而不是机密数据。相应的明文数据由此必须在区块链之外进行管理。到目前为止,这种设计不适用于电子币数据组,因为它们不具有基本的控制功能,特别是(1)识别多次输出方法,也称为双重支出,以及(2)识别未涵盖的支付。在情况(1)中,有人试图多次输出相同的币数据组,在第二种情况下,有人试图输出币数据组,尽管该币数据组没有(不再有)任何信用。
5.从de 10 2009 038 645 a1和de 10 2009 034 436 a1已知用于以电子数据组的形式传输资金价值数额的系统,其中,防止利用数据组的重复件进行支付并且提供高度的防篡改性,其中在此在交换时需要复杂的结构和麻烦的加密和签名过程。事实证明,它们在实践中并不可行。
6.在wo 2016/200885 a1中描述了一种用于对在区块链分类帐中进行的数额进行加密的方法,其中,保持了交易的可验证性。在此,将混淆数额与输入值相加。然后产生输出值并对其进行加密。所述输入值和所述输出值均在值范围内,其中所述范围内的任意两个值的总和不超过阈值。加密的输入值和加密的输出值之和可以等于零。范围检查(所谓的range-proof)与输入值和输出值中的每一个相关联。这些范围检查证实输入值和输出值都在值范围内。每个公钥可以利用基于交易中的接收方的公钥的环签名进行签名。在该方法中,区块链技术是必要的,在接收到币数据组后需要调用该区块链技术来对币数据组进行验证。


技术实现要素:

7.本发明要解决的技术问题是,提供一种方法和一种系统,在所述方法和系统中,支付交易被安全地但仍然简单地设计。在此,特别是在设备之间实现匿名的直接支付,所述设备例如是令牌、智能手机以及诸如pos终端或自动售货机的机器。币数据组应该能够在获得之后立即继续使用,以便即使在没有连接到线上单元、例如dlt的情况下也能够实现支付。多个币数据组应该能够在用户中任意地彼此组合和/或分割,以便能够实现灵活的交换。交
换的币数据组一方面应对其他系统参与者保密,但另一方面应允许每个系统参与者进行基本的监控检查,特别是识别多次输出的尝试和识别利用不存在的数额来支付的尝试。从长远来看,应该有可能完全放弃现金(纸币和模拟币),至少放弃模拟币。
8.电子币数据组的修改,即例如分割、连接(=组合)或切换,应在没有高的计算开销的情况下并且以用于传输币数据组的最小数据量进行。修改的验证应该能够可靠地进行,而不需要麻烦地证明相应的有效性(范围检查,range-proof),以便提高灵活性的程度并且因此提高用户友好性。
9.所提出的技术问题利用独立权利要求的特征来解决。其他有利的设计方案在从属权利要求中进行描述。
10.所述技术问题尤其通过一种用于在终端设备之间直接传输电子币数据组以在支付系统中进行支付的方法来解决,其中,第一终端设备具有至少一个电子币数据组,其中,至少一个电子币数据组具有货币数额和混淆数额作为币数据组元素,所述方法具有以下步骤:优选地在第一终端设备中通过将例如同态的单向函数应用到电子币数据组的第一币数据组元素上,优选应用到其混淆数额上,来掩码电子币数据组的第一币数据组元素,以获得掩码的第一电子币数据组元素;优选地在第一终端设备中将电子币数据组的第二币数据组元素添加到掩码的第一电子币数据组元素中,以获得准掩码的电子币数据组;以及将准掩码的电子币数据组发送给监控实体,以用于对所述电子币数据组进行登记。
11.因此,在中间结果中计算(获得)掩码的币数据组元素并且然后利用币数据组的币数据组元素扩展掩码的币数据组元素。
12.要添加的币数据组元素是未掩码的。在所述方法的一种设计方案中,所述币数据组元素可以直接从相应的币数据组中提取。它被添加到完全掩码的币数据组中并且可以在不对币数据组进行解掩码的情况下被读取、提取和/或解释。
13.掩码步骤的第一币数据组元素与添加步骤的第二币数据组元素不同。
14.该方法确保电子币数据组不会以公开的方式发送给监控实体,但仍然可以在监控实体中以足够安全的方式进行检查。
15.添加是通过相应的(逻辑)操作来完成的。该操作将掩码的第一电子币数据组元素和币数据组的第二币数据组元素组装在一起。由此产生新的数据组,即准掩码的电子币数据组。所述添加例如也被称为连结或链接或附加。也可以设置数据结构,如tlv,以便将币数据组的掩码的第一电子币数据组元素和第二币数据组元素合并成准掩码的电子币数据组。
16.在一种优选的设计方案中,掩码步骤的第一币数据组元素是电子币数据组的混淆数额。混淆数额是监控实体的秘密,并且仅在彼此传输币数据组的参与者之间的直接交易层中已知。
17.在一种优选的设计方案中,所添加的(第二)币数据组元素是电子币数据组的货币数额。由此,获得数额部分开放的掩码的电子币数据组作为准掩码的电子币数据组。利用这种准掩码的电子币数据组可以立即并且无需进一步的解密步骤或解掩码步骤地读取和解释货币数额。因此,准掩码的电子币数据组的部分以开放的方式(数额部分开放地)进行传输和登记,而其他部分以掩码的方式进行传输和登记。因此,该方法保持匿名和安全,但可以随时跟踪和登记转移的资金价值数额。因此,支付过程仍然是匿名的,尽管数额转移是透明的。
18.在一种优选的设计方案中,所添加的(第二)币数据组元素是电子币数据组的逐位分割为较高价值数额分量和较低价值数额分量的货币数额的较高价值的数额分量,由此获得仅在较高价值的数额分量方面数额部分开放的电子币数据组作为准掩码的电子币数据组。利用这种电子币数据组,可以立即并且在没有进一步的解密步骤或解掩码步骤的情况下读取和解释较高价值的数额份额。因此,该程序仍然是匿名的,并且无法公开获得参与者单元之间转移的资金数额,因此可以随时跟踪和登记转移的资金价值数额。因此,支付过程仍然是匿名的,尽管数额转移是半透明的。
19.优选地,准掩码的电子币数据组于是仅在较低价值的数额分量方面被掩码。
20.较高价值的数额分量代表货币数额的一部分,其大于代表较低价值的数额分量的货币数额的部分。例如可以透明地传输代表货币数额的(第二)币数据组元素的较高价值的位,例如一个或多个“最高有效位(most-significant bit,msb)”。代表货币数额的数据元素的其他较低价值的位被掩码。
21.在一种优选的设计方案中,所述方法还包括:从至少两个掩码模式中确定掩码模式,其中,在第一掩码模式中,准掩码的电子币数据组为了登记目的被发送给监控实体,并且其中,在第二掩码模式中,优选在第一终端设备中通过将例如同态的单向函数应用到电子币数据组来掩码电子币数据组,以获得完全掩码的电子币数据组,并且为了登记目的将完全掩码的电子币数据组发送给监控实体。因此,掩码类型是可选择和可配置的。因此,在支付系统中可以为每个传输过程和/或一般地确定:应以何种程度的匿名性登记币数据组。
22.当使用第二掩码模式时,省略添加步骤,并且在掩码的币数据组中不包含或附加未掩码的币数据组元素。
23.在一种优选的设计方案中,所述方法包括第三掩码模式,所述第三掩码模式具有:优选在第一终端设备中将电子币数据组的货币数额逐位值地分割为第一货币数额部分和第二货币数额部分,其中,位值的底数是任意的:优选在第一终端设备中通过将单向函数应用到电子币数据组的货币数额的第一货币数额部分上来掩码电子币数据组的货币数额的第一货币数额部分以获得掩码的第一货币数额部分,并且(仅)添加第二货币数额部分以获得部分数额掩码的(下面也称为部分掩码的)电子币数据组。位值的选择要么根据方法范围内预先给定的预设值进行,要么基于随机地进行,要么相应于终端设备的选择进行。
24.在第三掩码模式的一种设计方案中,单向函数被应用到电子币数据组的混淆数额和第一货币数额部分的关联(链接)上,以便获得由混淆数额和第一货币数额部分(作为掩码的第一币数据组)构成的掩码的关联。将第二数额部分添加到该掩码的关联中,以获得部分数额掩码的电子币数据组。
25.在一种优选的设计方案中,依据所确定的掩码模式进行登记的步骤是,在监控实体中(对于第三掩码模式)登记完全掩码的电子币数据组(对于第二掩码模式)或者登记部分数额掩码的电子币数据组的准掩码的电子币数据组(对于第一掩码模式)。
26.掩码模式的确定或选择可以在所述方法中固定地预先给定,例如通过监控实体或第三方提供商(钱包提供商)来预先给定。因此,提供了一种方法,在该方法中固定地预先给定掩码模式。
27.替换地,确定的步骤可以通过在第一终端设备中选择掩码模式来进行。因此,提供了一种灵活的方法,在该方法中,相应的终端设备本身确定或选择掩码模式,或者为终端设
备的用户提供用于选择的可能性。于是,例如每个传输过程可以实现掩码模式的确定,从而传输例如遵循:币数据组的接收器在支付系统中是否是已知的和经验证的。
28.在一种优选的设计方案中,用于确定掩码模式的参数由监控实体或服务提供者预先给定。优选地,终端设备于是根据该参数选择掩码模式。因此,终端设备设置用于,依据情况根据参数决定:选择或确定哪个掩码模式。用于预设掩码模式的参数例如可以是终端设备的最小计算能力或用于掩码和登记币数据组的最大持续时间或币数据组的保密程度。特别地,由此与第一终端设备不同的另外的终端设备可能能够选择另外的掩码模式,以便遵守预设参数。
29.在一种优选的设计方案中,通过终端设备针对电子币数据组从(首先使用的)掩码模式变换到(随后的)另外的掩码模式。因此,在完全掩码的、准掩码的和部分数额掩码的电子币数据组之间实现互操作性,由此提高了传输的灵活性。
30.例如,准掩码的币数据组可以与完全掩码的电子币数据组连接。为此,可以将完全掩码的币数据组切换(switch)到准掩码的币数据组中,或者反之亦然。
31.这里描述的步骤不必按照所描述的顺序进行。然而,在此描述的顺序是优选的设计方案。
32.电子币数据组是通过币数据组元素代表的电子数据组。特别地,它是代表资金价值(=货币)数额的电子数据组,通俗地称为“数字币(digital coin)”或“电子币(electronic coin)”。在该方法中,该资金价值数额从第一终端设备变换到另外的终端设备,以用于在支付系统中支付(购买价格或退款)。作为币数据组元素的资金价值数额在下文中理解为数字的数额,所述数字的数额例如可以记入金融机构的账户中,或者可以兑换成另外的支付手段。因此,电子币数据组代表电子形式的现金。
33.终端设备可以具有多个电子币数据组,例如可以在终端设备的数据存储器中存储多个币数据组。数据存储器于是例如是电子钱包。数据存储器例如可以是内部的、外部的或虚拟的。在一种设计方案中,在接收电子币数据组时可以自动地发生“连接”,从而优选地在终端设备中仅存储一个电子币数据组或存储(特定数量的)多个电子币数据组。
34.终端设备例如可以是无源设备,如例如令牌、移动终端,例如智能手机、平板电脑、计算机、服务器或机器。
35.用于传输资金价值数额的电子币数据组与用于数据交换或数据传输的电子数据组基本上不同,因为例如经典的数据交易是基于问答原则或基于数据传输伙伴之间的相互通信进行的。然而,电子币数据组是唯一的、明确的并且处于安全概念的上下文中,所述安全概念例如可以包括签名或加密。在电子币数据组中,原则上包含接收实体在验证、认证和传递给其他实体方面所需的所有数据。因此,在这种类型的数据组的情况下,终端设备之间在交换时的相互通信原则上是不需要的。
36.优选地,电子币数据组在支付过程的范围内从第一终端设备传输给第二终端设备。
37.根据本发明,用于在两个终端设备之间传输的电子币数据组具有作为币数据组元素的货币数额,其表示电子币数据组的资金价值,和作为币数据组元素的混淆数额,例如随机数。此外,电子币数据组可以具有另外的币数据组元素,如元数据,元数据例如代表货币数额的货币或币数据组的标识。电子币数据组通过所述至少两个币数据组元素(货币数额
和混淆数额)被明确地代表。任何能够访问有效的电子币数据组的这至少两个币数据组元素的人都可以使用该电子币数据组进行支付。因此,对这两个币数据组元素(货币数额和混淆数额)的了解等同于对数字资金的拥有。该电子币数据组在两个终端设备之间直接传输。在本发明的一种设计方案中,电子币数据组由这两个币数据组元件组成,因此为了交换数字资金仅需要货币数额和混淆数额的转移。
38.为每个电子币数据组分配相应的掩码的电子币数据组和/或掩码的第一币数据组元素。该掩码的电子币数据组可以是完全掩码的电子币数据组(第二掩码模式)或准掩码的电子币数据组(第一掩码模式)或部分数额掩码的电子币数据组(第三掩码模式)。
39.完全掩码的电子币数据组(第二掩码模式)是一种掩码的电子币数据组,其全部的币数据组元素被掩码。完全掩码的电子币数据组尤其不包括未掩码的数据组元素。从完全掩码的电子币数据组中不能直接提取、读取和/或解释电子币数据组的(未掩码的)数据组元素。
40.准掩码的电子币数据组(第二掩码模式)是一种掩码的电子币数据组,其中以密码的加密形式包含(未掩码的)电子币数据组的至少一个(第一)币数据组元素。准掩码的电子币数据组通过将单向函数、例如密码加密函数应用于币数据组元素中的至少一个、优选地混淆数额,并且添加未掩码的第二币数据组元素来获得。因此,除了加密的第一币数据组元素之外,准掩码的电子币数据组尤其也包括至少一个未掩码的第二币数据组元素,尤其作为第二币数据组元素的货币数额。从准掩码的电子币数据组中可以直接提取电子币数据组的至少一个(未掩码的)币数据组元素。可以将未掩码的币数据组元素添加到掩码的币数据组元素中,以得到准掩码的币数据组。
41.部分数额掩码的电子币数据组(第三掩码模式)是一种掩码的电子币数据组,其中电子币数据组的货币数额的至少第一货币数额部分以掩码的、例如密码加密的形式被包含,并且电子币数据组的货币数额的第二数额部分公开地(未掩码地)被包含。因此,部分数额掩码的电子币数据组也包括未掩码的币数据组部分元素、尤其是第二货币数额部分。第一货币数额部分和第二货币数额部分是通过逐位值地分割电子币数据组的货币数额获得的,关于位值和底数的进一步说明见下文。将第二货币数额部分以未掩码的方式添加到货币数额的掩码的第一货币数额部分。因此,电子币数据组的至少第二货币数额部分可以直接从部分数额掩码的电子币数据组中提取。
42.在部分数额掩码的电子币数据组中,用于将货币数额分割成第一数额部分和第二数额部分的位值的确定优选地依据交易是可变的。因此,对接收到的币数据组的检查取决于关于所确定的位值的了解。该确定的位值在终端设备或参与者单元之间的交易中一起传输,或者一起存储在寄存器中。
43.在下文中,为了简化,当陈述既适用于完全掩码的电子币数据组,也适用于准掩码的电子币数据组,也适用于部分数额掩码的电子币数据组时,总是使用术语“掩码的电子币数据组”。
44.对掩码的电子币数据组的了解并不授权输出由电子币数据组代表的数字资金。这示出了掩码的电子币数据组与(未掩码的)电子币数据组之间的主要区别,并且是本发明的核心。掩码的电子币数据组是唯一且明确地与电子币数据组相关联的,即在(未掩码的)电子币数据组与掩码的电子币数据组之间存在1对1的关系。对电子币数据组的掩码优选通过
终端设备内部的终端设备的计算单元进行,该终端设备也具有至少一个电子币数据组。替换地,可以通过接收电子币数据组的终端设备的计算单元进行掩码。
45.通过应用单向函数、例如同态的单向函数、例如密码函数来获得掩码的电子币数据组。这个函数是单向函数,即数学函数,其从复杂性的角度来看是能够“容易”计算的,但“很难”逆转甚至不可能逆转。在此,单向函数也表示如下函数,对于所述函数迄今还不知道能够在适当的时间内并且以合理的耗费在实践中实施的反转。因此,从电子币数据组计算掩码的电子币数据组相当于或相应于在加密方法中通过剩余类组生成公钥。优选地,使用单向函数,该单向函数对离散对数问题难以由相应的密码方法的私钥求解的组进行运算,诸如:例如类似于椭圆曲线加密(elliptischer-kurve-verschl
ü
sselung,ecc)的加密方法。反向函数,即根据掩码的电子币数据组产生电子币数据组(或电子币数据组的一部分)在此(相当于在加密方法中通过剩余类组从公钥生成私钥)是非常耗时的。如果在本文件中提到求和以及求差或其他数学运算,则在数学意义上应理解为对相应数学组、例如椭圆曲线上的点组的相应运算。
46.单向函数在一种设计方案中是同态的,即具有同态特性的密码方法。因此,可以利用掩码的电子币数据组执行数学运算,所述数学运算与此并行地也可以在(未掩码的)电子币数据组上执行并且因此可以被跟踪。借助于同态的单向函数,可以在监控实体中跟踪利用掩码的电子币数据组的计算,而在那里不已知相应的(未掩码的)电子币数据组。因此,利用电子币数据组的特定的计算,例如用于修改(未掩码的)电子币数据组(例如分割或连接),也可以与所属的掩码的电子币数据组并行地证明,例如用于验证检查或用于监控相应的电子币数据组的合法性。同态特性至少适用于加法运算和减法运算,使得电子币数据组的分割或组合(=连接)也可以借助相应掩码的电子币数据组在监控实体中被记录并且可以由进行询问的终端设备和/或由监控实体跟踪,而无需获得关于货币数额和执行的终端设备的知识。
47.因此,同态特性能够实现,即使这些电子币数据组被修改(分割,连接,切换),在监控实体中在不知道电子币数据组的情况下,基于其掩码的电子币数据组来进行有效和无效的电子币数据组的登记。在此确保:没有产生附加的货币数额或者在监控实体中记录终端设备的身份。掩码提供了高度的安全性,而不提供对货币数额或终端设备的洞察。这产生了双层支付系统。一方面存在处理层,在所述处理层中检查掩码的电子数据组,另一方面存在直接交易层,在所述直接交易层中至少两个终端设备传输电子币数据组。
48.在另外的设计方案中,单向函数是密码加密函数。
49.将单向函数应用到电子币数据组上也包括将单向函数应用到电子币数据组的一部分上、尤其是应用到混淆数额和/或货币数额的数额部分上,在一种设计方案中仅应用到混淆数额上(准掩码的),在另外的设计方案中仅应用到货币数额的第一数额部分上(部分数额掩码的),在组合的设计方案中应用到混淆数额与货币数额的第一数额部分的关联上。
50.准掩码的电子币数据组的获得在将密码混淆函数应用到(未掩码的)电子币数据组的币数据组元素(优选混淆数额)上的情况下进行。混淆数额(作为秘密元素)可以用作加密的动态密钥。混淆数额不能用作解密的密钥。
51.在将电子币数据组从第一终端设备传输到第二终端设备时,两个终端设备了解该电子币数据组。为了防止进行发送的第一终端设备在另外的(第三)终端设备中同样将电子
币数据组用于支付(所谓的双重支出,double-spending),优选地实施所传输的电子币数据组从第一终端设备到第二终端设备上的切换(切换,switch)。切换优选地可以自动地在第二终端设备中接收电子币数据组时进行。附加地,也可以根据例如来自第一和/或第二终端设备的命令的请求进行。附加地,电子币数据组也可以被分割为至少两个币子数据组(分割,split)。附加地,可以将两个电子币数据组合并为一个币数据组(合并,merge)。
52.切换、分割和连接是对电子币数据组的不同修改。这些修改要求在监控实体中登记掩码的币数据组。在修改过程中的所述登记导致:由第一终端设备发送的电子币数据组变得无效,并且在第一终端设备的第二输出尝试中被识别为相应无效。通过在监控实体中进行登记,使由第二终端进行登记的币数据组变得有效。稍后将解释各个修改的具体实施。
53.此外,当电子币数据组被修改、例如被分割或与其他电子币数据组连接时,进行切换,特别是为了能够适当地结算要支付的货币数额。
54.为了修改电子币数据组(切换,分割,连接),在监控实体中检查,(掩码的)电子币数据组是否具有有效范围。为此,使用所谓的“零知识范围证明(zero-knowledge-range-proof)”作为范围证明。范围的证明一方面可以实现修改后的货币数额(分割,连接)在预定义的有效货币数额范围内,另一方面可以实现对要修改的货币数额的所有权进行证明。货币数额以二进制格式的表示以及在此基础上的环签名表示作为证明。
55.所述证明引导引起终端设备与监控实体之间要交换的数据的不小的数据量和计算耗费。期望的是,这种证明能够以显著简化的方式进行。
56.因此,在根据本发明的方法中设置了对至少一个电子币数据组的改进的掩码,以便简化范围证明。
57.根据本发明,在传输步骤之前和/或在登记步骤之前做出掩码模式的选择或确定掩码模式。所述选择例如由第一终端设备的用户通过终端设备上的相应的菜单控制来进行。所述选择例如基于在支付系统中的系统预设或者通过第三方提供商的系统预设来进行。例如,可以最佳地利用支付系统的性能,从而可以通过相应地选择掩码模式来控制基于监控实体中的当前的登记请求量的证明检查的开销。也可以基于终端设备属性进行选择。例如,在不支持其中一个掩码模式的情况下,可以进行相应的预选。
58.根据通过终端设备进行的选择,在监控实体中登记时创建范围检查(=range proof)。这还包括关于任何底数、例如底数2(二进制)或底数3(三进制)等逐位值地表示货币数额。
59.通过不同的掩码模式,可以实现不同的范围检查选项:
60.例如,如果在系统中、在监控实体中或在终端设备中未实现范围证明的简化(缩短)的选项,则不进行范围证明的简化(缩短)。然后进行对货币数额的整个范围的证明。
61.替换地,根据固定的预设值在修改(切换,分割,连接)币数据组时强制地在系统中规定范围证明简化。
62.替换地,范围证明缩短可选地设置有固定的预设值。在此,监控实体可以确定:是否要产生完全掩码的电子币数据组或准掩码的电子币数据组或部分数额掩码的电子币数据组,以及是否要进行从一种掩码类型到另一种掩码类型的切换。
63.替换地,范围证明缩短是可选的,具有可变的预设值。在此,用户可以在允许的系统预设内确定,应该披露多少掩码的币数据组。可以通过每次修改币数据组来再次更改可
变的预设值。
64.为了改善该方法的性能,在第三掩码模式中,通过仅对与预设值(系统预设或终端选择)对应的第一货币数额部分应用环签名,来附加地缩短范围证明。
65.关于如下决定:币数据组元素在多大程度上以未掩码的方式传输,即例如关于电子币数据组的信息在多大程度上对于监控实体是透明的或保持隐藏,可以基于传输相应的币数据组的终端设备的决定。为了描述这种决定的协商,使用了上文引入的术语“完全掩码的币数据组”和“不完全掩码的币数据组”。
66.(未掩码的)私人电子币数据组与完全掩码的币数据组相关联,所述私人电子币数据组相对于监控实体隐藏所有的币数据组元素、尤其是货币数额。对于这种私人电子币数据组,应选择第二掩码模式。
67.部分数额掩码的币数据组(在第三掩码模式中)与(未掩码的)半私人电子币数据组相关联,所述半私人电子币数据组相对于验证层(监控实体)公开第二货币数额部分。对于这种半私人电子币数据组,可以选择第三掩码模式。
68.在修改步骤中与半私人电子币数据组一起使用私人电子币数据组是没有问题的。如下面进一步描述的那样,利用切换步骤可以实现私人电子币数据组到半私人电子币数据组中的相应切换。
69.相反的情况,即在修改步骤中与私人电子币数据组一起使用半私人电子币数据组,需要附加的掩码步骤,如其在第二掩码模式中的连接或分割步骤中所描述的那样。
70.当连接以将半私人电子币数据组切换为私人电子币数据组时,需要附加的私人电子币数据组。如果当前在相应的终端设备中不存在附加的私人电子币数据组,则使用私人的电子零币数据组,该私人的电子零币数据组具有零的货币数额但具有混淆数额,即不是资金价值数额。该私人的零币数据组可以在任何时候利用分割步骤从唯一存在的私人电子币数据组创建。在该特殊的分割步骤中,产生第一私人币子数据组,其具有与唯一存在的私人电子币数据组相同的货币数额,并且产生第二私人币子数据组,其是电子零币数据组。用于获得私人零电子币数据组的这种分割是在将半私人电子币数据组转变为私人电子币数据组之前进行的,并且存储以供以后使用。
71.为了在第一或第三掩码模式中登记,例如货币数额或货币数额部分以未掩码的方式传输。然而,相应的掩码模式不限于货币数额(部分)的未掩码的传输,每个其它币数据组元素(部分)替换地或附加地以未掩码的方式传输。由此,不再需要发送用于复杂的范围证明的附加的数据包,或者通过使用明显更小的数据包提高了在第四掩码模式中的性能。
72.如果货币数额(或数额部分)以未掩码或未隐藏的方式传输,则范围证明简化为仅两个检查步骤,即(1)添加到不完全掩码的电子币数据组中的货币数额是否属于该掩码的电子币数据组,以及(2)是否证明修改的(未掩码的)电子币数据组的所有权。在第三掩码模式中,只需要检查缩短的范围证明。
73.在第一或第三掩码模式中的添加步骤优选是简单的逻辑运算,例如链接(konkatenation)或使用可扩展的数据结构、例如tlv数据结构。
74.这些简化导致用于修改(分割,连接,切换)的范围检查发生变化,如下所述。
75.在所述方法的一种优选的设计方案中,在传输之后在第二终端设备中设置另外的方法步骤:在根据电子币数据组在终端设备中生成待切换的电子币数据组的情况下切换电
子币数据组,其中,在第二终端设备中,在使用电子币数据组的混淆数额的情况下产生用于待切换的电子币数据组的混淆数额;以及将电子币数据组的货币数额用作待切换的电子币数据组的货币数额。
76.替换地或附加地设置:在第一终端设备中将电子币数据组分割为第一电子币子数据组和第二电子币子数据组,其中,货币数额被分割为至少一个第一货币数额和第二货币数额。
77.替换地或附加地设置:在第一终端设备中将第一和第二电子币数据组连接成连接的电子币数据组,所述步骤包括:通过形成第一和第二电子币数据组的相应的混淆数额的总和来计算用于待连接的电子币数据组的混淆数额;以及通过形成第一和第二电子币数据组的相应货币数额的总和来计算用于待连接的电子币数据组的货币数额。
78.在所有三个所描述的方法步骤中,即切换、分割和连接中,在第二掩码模式的掩码步骤中,电子币数据组的掩码包括第一和/或第二币子数据组的待切换的币数据组和/或连接的币数据组的掩码。
79.在第一或第三掩码模式的掩码步骤中,在掩码电子币数据组时,将币数据组元素、例如相应的电子币数据组的混淆数额用作动态私钥,但利用该动态私钥不能进行解密。
80.随后,对于所有掩码模式,将完全掩码的电子币数据组或准掩码的电子币数据组或部分数额掩码的电子币数据组发送给监控实体,以用于通过监控实体检查电子币数据组的有效性。下面将更详细地解释有效性的检查。
81.在一种优选的设计方案中,所述方法具有另外的方法步骤:在使用电子币数据组的混淆数额的情况下产生签名;将签名添加到准掩码的电子币数据组或完全掩码的电子币数据组中,其中,在监控实体中,利用签名来登记完全掩码的电子币数据组或准掩码的电子币数据组。在该设计方案中,所创建的签名一起登记在监控实体中。
82.在一种替换的设计方案中,所述方法具有另外的方法步骤:在使用电子币数据组的混淆数额的情况下产生签名;以及将签名与准掩码的电子币数据组或部分数额掩码的电子币数据组一起发送,其中在监控实体中仅登记部分数额掩码的电子币数据组或准掩码的电子币数据组。
83.在该替换方案的一种优选的设计方案中,在所述方法中,监控实体仅记录部分数额掩码的或准掩码的电子币数据组和/或仅记录电子币数据组,所述电子币数据组至少对于数额分量是数额开放的。
84.在该替换的设计方案中,所创建的签名用于在终端设备与监控实体之间传输掩码的币数据组,但是所述签名不在监控实体中登记(所述签名不是所登记的掩码的币数据组的组成部分)。签名在此是传输保险,并且在验证后被丢弃,以便登记没有签名的掩码的币数据组。
85.优选地,在切换步骤之后,在用于第一掩码模式的监控实体中的登记步骤包括:在监控实体中接收准掩码的待切换的电子币数据组;在监控实体中检查准掩码的电子币数据组的有效性;检查电子币数据组的货币数额是否等于待切换的电子币数据组的货币数额;计算准掩码的待切换的币数据组和准掩码的电子币数据组的差值;借助所添加的通过生成公共验证密钥创建的签名进行检查;以及当所有检查步骤都成功时,在监控实体中登记准掩码的待切换的电子币数据组,由此将待切换的电子币数据组认为是有效的。
86.优选地,在分割步骤之后,在用于第二和/或第三掩码模式的监控实体中的登记步骤包括:在监控实体中接收完全掩码的电子币子数据组或部分数额掩码的电子币子数据组;在监控实体中检查掩码的待切换的电子币数据组的有效性;在监控实体中在使用电子币数据组的货币数额的情况下来检查添加到部分数额掩码的电子币子数据组的环签名;计算完全掩码的电子币数据组的总和或部分数额掩码的电子币子数据组的总和与掩码的币数据组的差值,以检查,电子币数据组的货币数额是否等于相应电子币子数据组的第一和第二货币数额的总和(以检查,电子币数据组的货币数额是否等于待切换的电子币数据组的货币数额);以及当所有检查步骤都成功并且进行了简化的范围证明时,在监控实体中登记掩码的电子币子数据组,由此电子币子数据组被认为是有效的。
87.优选地,在连接步骤之后,在用于第二和/或第三掩码模式的监控实体中的登记步骤包括:在监控实体中接收部分数额掩码的连接的电子币数据组或完全掩码的连接的电子币数据组;在监控实体中检查掩码的第一和第二电子币数据组的有效性;在监控实体中,在使用第一电子币数据组的第一货币数额的情况下检查添加到部分数额掩码的电子币数据组或完全掩码的电子币数据组的第一环签名;在监控实体中,在使用第二电子币数据组的第二货币数额的情况下检查添加到部分数额掩码的电子币数据组或完全掩码的电子币数据组的第二环签名;计算部分数额掩码的连接的电子币数据组或完全掩码的连接的电子币数据组与由掩码的第一电子币数据组和掩码的第二电子币数据组形成的总和的差值,以检查,连接的电子币数据组的货币数额是否等于第一和第二电子币数据组的第一和第二货币数额之和;当所有检查步骤都成功并且进行了简化的范围证明时,在监控实体中登记掩码的连接的电子币数据组,由此将连接的电子币数据组认为是有效的。
88.优选地,在连接步骤之后,在用于第一掩码模式的监控实体中的登记步骤包括:在监控实体中接收准掩码的连接的电子币数据组;在监控实体中检查掩码的第一和第二电子币数据组的有效性;在监控实体中通过生成第一公共验证密钥来检查添加到准掩码的电子币数据组的第一签名;在监控实体中通过生成第二公共验证密钥来检查添加到准掩码的电子币数据组的第二签名;计算待验证的币数据组的货币数额与由待连接的第一电子币数据组和第二电子币数据组的货币数额形成的总和的差值;当所有检查步骤都成功并且进行了简化的范围证明时,在监控实体中登记准掩码的连接的电子币数据组,由此将连接的电子币数据组认为是有效的。
89.优选地,所述方法根据第三掩码模式包括在第一终端设备中创建证明的步骤,其中所述证明包括如下信息,即电子币数据组的货币数额是正的并且对于证明的创建者是已知的,下面也称为简化的范围证明,所述方法具有:在第一终端设备中,电子币数据组相应于固定的或可变的预设值被分割为第一电子币子数据组和第二电子币子数据组;在第一终端设备中逐位值地分割第二电子币子数据组,其中,被分割的第二电子币子数据组的位值代表电子币数据组的第二货币数额的位值,并且逐位值地分割的第二电子币数据组的所有混淆数额的总和得出电子币数据组的混淆数额,其中,位值的底数是任意的。
90.基于第二电子币数据组的逐位值的分割,终端设备建立环签名,所述环签名与部分数额掩码的电子币数据组一起被发送给监控单元并且在那里进行检查。
91.优选地,位值的底数为两或三。位值是指位值系统的底数的幂。因此,二进制系统是底数为2的位值系统,三进制系统是底数为3的位值系统,十进制系统是底数为10的位值
系统。在此,底数的值不是固定的,以便可以实现尽可能灵活的基于位值的分割,以用于简化的证明检查。
92.例如,基于预设值进行逐位值地分割。例如,该预设值指定要分割货币数额的位。例如,如果位值的底数为2,则该预设值对应于“最低有效位(least significant bits,lsb)”的数量。然后将该数量lsb作为第二货币数额部分添加到部分掩码的币数据组中。货币数额的其余位形成第一货币数额部分,并且对于掩码步骤代替货币数额。
93.替换地,如果位值的底数为2,则该预设值例如对应于“最高有效位(most significant bits,msb)”的数量。然后将该数量msb作为第二货币数额部分添加到部分掩码的币数据组中。货币数额的其余位形成第一货币数额部分,并且对于掩码步骤代替货币数额。
94.替换地,如果位值的底数为2,则该预设值例如对应于比特(bit)的随机数量。然后将该比特的数量作为第二货币数额部分添加到部分掩码的币数据组中。货币数额的其余位形成第一货币数额部分,并且对于掩码步骤代替货币数额。
95.替换地,如果该位值的底数为2,则该预设值例如对应于比特的具体的选择。然后,将该比特的选择作为第二货币数额部分添加到部分掩码的币数据组中。货币数额的其余位形成第一货币数额部分,并且对于掩码步骤代替货币数额。
96.所述检查优选以环签名为基础,所述环签名的参数要求在终端设备中产生随机数并且推导出散列值(哈希值,hash)。
97.如上所述,针对证明定义的预设值可以是系统相关参数,也可以是两个系统参与者(终端设备或监控实体)之间协商的结果。
98.关于第一掩码模式和在此创建的准掩码的币数据组进行以下阐述。选择第一掩码模式的前提条件可能是,在系统中不需要掩码(隐藏)币数据组元素、例如货币数额。这种缺少的需求极大地简化了整个支付系统和用于在终端设备之间直接交换电子币数据组的方法。于是可以将准掩码的电子币数据组配属给电子币数据组(如上所述并且包括至少一个货币数额和混淆数额作为数据元素),该准掩码的电子币数据组例如由未掩码的货币数额和加密的混淆数额(=掩码的币数据组元素)构成。所有修改(分割、切换、连接)也可以应用于这些准掩码的电子币数据组,并且在第一掩码模式的框架内随后处理。第一掩码模式的实施可以是第二或第三掩码模式的替换的设计方案,但是它们可以在签名创建、加密的选择、证明检查的选择方面任意地相互组合。即使在组合的情况下,总体目标也是大大简化范围检查(range-proof)。
99.优选地,在切换步骤之后,在用于第一掩码模式的监控实体中进行登记步骤:在监控实体中接收准掩码的待切换的电子币数据组;在监控实体中检查准掩码的电子币数据组的有效性;在监控实体中,在使用电子币数据组的加密的混淆数额(=掩码的币数据组元素)的情况下检查添加到准掩码的电子币数据组的签名;以及当两个检查步骤成功时,在监控实体中登记准掩码的待切换的电子币数据组,由此将待切换的电子币数据组认为是有效的。
100.优选地,在分割步骤之后,在用于第一掩码模式的监控实体中进行登记步骤:在监控实体中接收准掩码的电子币子数据组;在监控实体中检查准掩码的电子币数据组的有效性;在监控实体中,通过使用掩码的混淆数额来检查添加到准掩码的电子币数据组的签名;
检查电子币数据组的货币数额是否等于电子币子数据组的第一和第二货币数额之和;当三个检查步骤都成功时,在监控实体中登记准掩码的电子币子数据组,由此电子币子数据组被认为是有效的并且待分割的电子币数据组被认为是无效的。
101.优选地,在连接步骤之后,在用于第一掩码模式的监控实体中进行登记步骤:在监控实体中接收准掩码的连接的电子币数据组;在监控实体中检查准掩码的第一和第二电子币数据组的有效性;在监控实体中,通过使用掩码的混淆数额来检查添加到待连接的准掩码的连接的电子币数据组中的两个签名;检查连接的电子币数据组的货币数额是否等于第一和第二电子币数据组的第一和第二货币数额之和;当三个检查步骤都成功时,在监控实体中登记准掩码的连接的电子币数据组,由此将连接的电子币数据组认为是有效的并且将两个待连接的电子币数据组认为是无效的。
102.在切换、分割或连接步骤中检查准掩码的币数据组的步骤相应于有效性的检查来进行。
103.优选地,针对每个准掩码的电子币数据组创建签名。私人签名密钥优选地是(未掩码的)币数据组的(未掩码的)混淆数额。
104.所述签名在切换步骤中优选地通过准掩码的电子币数据组和准掩码的待切换的电子币数据组的加密的混淆数额建立。
105.所述签名在分割步骤中优选通过准掩码的电子币数据组、准掩码的第一电子币子数据组和准掩码的第二电子币子数据组建立。
106.所述签名在连接步骤中优选通过准掩码的第一电子币数据组、准掩码的第二电子币数据组和准掩码的连接的电子币数据组建立。
107.为了创建用于第一掩码模式的未掩码的电子币数据组,在监控实体中存储发行者关于准掩码的电子币数据组的签名。
108.当监控实体检查了发行者实体的签名时,就会删除准掩码的电子币数据组。
109.在该方法中产生的签名代替否则需要的附加信息,所述附加信息用于提供关于掩码的待分割的电子币数据组的范围证明或者关于相应掩码的电子币子数据组的范围证明。
110.为了产生签名,优选地使用非对称的密码系统,在该密码系统中,终端设备借助秘密的签名密钥(以下也称为私人签名密钥或“私钥,private key”)相对于币数据组计算一个值。该值可以实现任何人借助公共验证密钥(即公钥,public key)来检查币数据组的作者身份和完整性。
111.在该方法中为第一掩码模式添加的签名例如是第一签名,并且用于产生第一签名的私人签名密钥是相应的电子币数据组的混淆数额。然而,对于第二掩码模式,只使用两个签名,即用于产生和删除的中央银行的签名(=固定的私钥)和用于切换的签名(作为私钥的混淆数额)。
112.在该方法(所有掩码模式)中添加的签名例如是第二签名,并且用于产生第二签名的私人签名密钥由电子币数据组的混淆数额与用于待切换的电子币数据组的混淆数额的差值形成。
113.用于检查第一签名的公共验证密钥优选地由掩码的电子币数据组与将密码加密函数应用到电子币数据组的货币数额上的差值形成。
114.用于检查第二签名的公共验证密钥优选地由待切换的掩码的电子币数据组与掩
码的电子币数据组的差值形成。
115.所述方法优选具有另外的以下步骤:切换所传输的电子币子数据组;和/或将所传输的电子币数据组与第二电子币数据组连接成另外的电子币数据组,即连接的电子币数据组。
116.在切换时,由第一终端设备获得的电子币子数据组得出新的电子币数据组,优选地具有相同的货币数额,即所谓的待切换的电子币数据组。新的电子币数据组由第二终端生成,优选地方式是将获得的电子币数据组的货币数额用作待切换的电子币数据组的货币数额。在此,生成新的混淆数额,例如随机数。新的混淆数额例如与所获得的电子币数据组的混淆数额相加,由此两个混淆数额(新的和获得的)的总和用作待切换的电子币数据组的混淆数额。在切换之后,优选在终端设备中通过将单向函数分别应用于所获得的电子币子数据组和待切换的电子币子数据组来对所获得的电子币子数据组和待切换的电子币子数据组进行掩码,以便相应地获得掩码的所获得的电子币子数据组和掩码的待切换的电子币子数据组。
117.新创建的混淆数额必须具有高的熵,因为它们被用作相应的掩码的电子币子数据组的眩目因素。优选地,为此在终端设备上使用随机数发生器。
118.到目前为止,在切换的框架中,优选地在终端设备中计算附加信息,所述附加信息对于在远程监控实体中登记掩码的电子币数据组的切换是必需的。优选地,附加信息包含关于掩码的待切换的电子币数据组的范围证明和关于掩码的所获得的电子币数据组的范围证明。范围证明是电子币数据组的货币数额不是负数的证明,电子币数据组的有效创建和/或电子币数据组的货币数额和混淆数额对于范围证明的创建者是已知的证明。特别地,范围证明用于,在不公开掩码的电子币数据组的资金价值和/或混淆数额的情况下提供一个或多个证明。这些范围证明也被称为“零知识范围证明(zero-knowledge-range-proof)”。优选地,使用环签名作为范围证明。随后,在远程监控实体中登记掩码的电子币数据组的切换。
119.因此,通过将新的混淆数额添加到所获得的电子币数据组的混淆数额来对切换进行保护,从而获得只有第二终端知道的混淆数额。然而,新获得的混淆数额必须具有高的熵,因为它们被用作用于相应的掩码的电子币子数据组的眩目因素。优选地,为此在终端设备上使用随机数发生器。可以在监控实体中跟踪该保护。
120.此外,所述方法包括以下步骤:通过将例如同态的单向函数应用到待切换的电子币子数据组上来对第二终端设备中的待切换的电子币子数据组进行掩码,以获得掩码的电子币数据组;以及在远程监控实体中登记掩码的电子币数据组。
121.在此描述的步骤不必按照所描述的顺序进行。然而,在此描述的顺序是优选的设计方案。
122.优选地,当第二终端设备与监控实体连接时,执行登记的步骤。在电子币数据组用于两个终端设备之间的直接支付的同时,在监控实体中登记掩码的币数据组,由此可以在监控实体中登记对掩码的电子币数据组的修改。
123.在所述方法的另外优选的设计方案中,为了连接电子币子数据组,根据第一和第二电子币子数据组确定另外电子币数据组(连接的电子币数据组)。在此,通过形成第一和第二电子币数据组的相应的混淆数额的总和来计算用于待连接的电子币数据组的混淆数
额。此外,优选地通过形成第一和第二电子币数据组的相应的货币数额的总和来计算用于所连接的电子币数据组的货币数额。
124.在连接之后,在(第一和/或第二)终端设备中,通过将例如同态的单向函数分别应用到第一电子币子数据组、第二电子币子数据组以及待连接的电子币数据组上来掩码第一电子币子数据组、第二电子币子数据组以及待连接的电子币数据组,以便相应地获得掩码的第一电子币子数据组、掩码的第二电子币子数据组以及掩码的待连接的电子币数据组。此外,在终端设备中计算用于在远程监控实体中登记掩码的电子币数据组的连接所需的附加信息。优选地,所述附加信息包含关于掩码的第一电子币子数据组的范围证明和关于掩码的第二电子币子数据组的范围证明。范围证明是如下证明:电子币数据组的货币数额不是负数,电子币数据组的有效创建和/或电子币数据组的货币数额和混淆数额对于范围证明的创建者是已知的。特别地,范围证明用于在不公开掩码的电子币数据组的资金价值和/或混淆数额的情况下提供一个或多个证明。这些范围证明也被称为“零知识范围证明(zero-knowledge-range-proof)”。优选地,使用环签名作为范围证明。随后,在远程监控实体中登记两个掩码的电子币子数据组的连接。
125.通过连接的步骤,可以组合两个电子币数据组或两个电子币子数据组。在此,货币数额和混淆数额相加。因此,如在分割时那样,也可以在连接时执行两个原始币数据组的有效性。
126.在一种优选的设计方案中,登记步骤包括:在监控实体中接收掩码的待切换的电子币子数据组,检查掩码的待切换的电子币子数据组的有效性;以及当检查步骤成功时,在监控实体中登记掩码的待切换的电子币数据组,由此将待切换的电子币子数据组视为已被检查。
127.优选地,在检查步骤中确定,由掩码的电子币数据组和掩码的待切换的电子币子数据组形成的差值是否等于签名的公共验证密钥。这能够实现在没有麻烦的零知识证明的情况下简单地检查币子数据组的有效性。然而,仍然需要零知识证明来证明电子币数据组的所有权(第一掩码模式除外)。
128.本发明构思相对于已知的解决方案的主要区别特征在于,监控实体仅(即仅仅)进行对关于掩码的电子币数据组/币子数据组的了解和进行具有对掩码的电子币数据组/币子数据组的处理或改变的列表。具有(未掩码的)币数据组/币子数据组的实际支付交易未在监控实体中登记,并且直接在终端设备之间的直接交易层中发生。
129.根据本发明,还提供了由用于直接交换(未掩码的)电子币数据组的直接支付交易层和包括数据库的监控层组成的双层支付系统。在监控实体,即监控层,不记录任何支付交易,而只记录掩码的电子币数据组及其处理,以验证(未掩码的)电子币数据组的有效性。这确保了支付系统参与者的匿名性。监控实体提供关于有效和无效的电子币数据组的信息,以便例如避免相同的电子币数据组的多次输出或者验证电子币数据组作为有效发行的电子资金的真实性。
130.因此,终端设备可以在直接支付交易层中向另外的终端设备传输电子币数据组,而不与监控实体连接,特别是当终端设备离线时,即不存在与监控实体的通信连接。
131.终端设备当前可以具有安全元件,在所述安全元件中安全地存储电子币数据组。安全元件优选是特殊的计算机程序产品,特别是以终端设备的操作系统内的安全的运行时
环境的形式(可信的执行环境,trusted execution environments,tee),其存储在数据存储器上,例如移动终端设备、机器、优选自动柜员机。替换地,安全元件例如被构造为特殊的硬件,尤其以安全的硬件平台模块(可信的平台模块,trusted platform module,tpm)的形式或者被构造为嵌入式的安全模块(euicc,esim)。安全元件提供受信任的环境。
132.两个终端设备之间的通信可以无线地或有线地进行,或者例如也可以在光学路径上,优选通过qr码或条形码进行,并且可以构造为安全的通道。光学路径例如可以包括以下步骤:生成光学编码、特别是2d编码、优选qr码,以及读取光学编码。因此,电子币数据组的交换例如通过加密密钥、例如为电子币数据组交换协商的会话密钥或对称的或非对称的密钥对来确保。
133.通过终端设备之间的通信,例如通过其安全元件,保护被交换的电子币数据组不被盗窃或篡改。因此,安全元件的级别补充了已建立的区块链技术的安全性。
134.在一种优选的设计方案中,币数据组的传输作为apdu命令进行。为此,币数据组优选作为安全元件存储在(嵌入式的)uicc中并且在那里被管理。apdu是uicc与设备之间的链路协议的组合命令/数据块。apdu的结构由标准iso-7816-4定义。apdu表示应用层(osi层模型的层7)的信息元素。
135.此外,有利的是,电子币数据组可以以任意格式传输。这意味着它可以在任何通道上进行通信,即可以被传输。它们不需要以固定的格式或特定的程序存储。
136.移动电信终端设备、例如智能手机尤其被视为终端设备。替换地或附加地,终端设备也可以是如下设备,例如可穿戴设备、智能卡、机器、工具、自动售货机或容器或车辆。因此,根据本发明的终端设备要么是静止的,要么是移动的。终端设备优选地被构造用于使用因特网和/或其他公共或私人网络。为此,终端设备使用合适的连接技术,例如蓝牙、lora、nfc和/或wifi并且具有至少一个相应的接口。终端设备也可以被构造为借助对移动无线电网络的访问与因特网和/或其他网络连接。
137.在一种设计方案中可以规定,第一和/或第二终端设备在所述方法中在存在或接收多个电子币数据组时相应于其资金价值处理接收的电子币数据组。因此可以规定,在具有较低资金价值的电子币数据组之前处理具有较高资金价值的电子币数据组。在一种设计方案中,第一和/或第二终端设备可以构造为,在接收到电子币数据组之后,依据所附信息、例如货币或面额,将该电子币数据组与已经存在于第二终端设备中的电子币数据组连接并且相应地实施连接步骤。此外,第二终端设备也可以构造用于在从第一终端设备接收电子币数据组之后自动地实施切换。
138.在一种设计方案中,在传输时将另外的信息、尤其是元数据从第一终端设备传输到第二终端设备,例如货币。在一种设计方案中,该信息可以由电子币数据组所包括。
139.在一种优选的设计方案中,所述方法具有以下另外的步骤:在第二终端设备中,通过将例如同态的单向函数应用到所传输的电子币数据组来掩码所传输的电子币数据组;以及将掩码的传输的电子币数据组发送至远程监控实体,以通过远程监控实体来检查传输的电子币数据组的有效性。在这种情况下,例如,在电子币数据组的框架内的总货币数额已经被发送到第二终端。在收款人接受该电子币数据组之前,收款人在必要时检查其有效性。为此目的,第二终端设备产生掩码的传输的电子币数据组,将其发送给监控实体并且在此在监控实体处询问电子币数据组的有效性。监控实体现在检查,掩码的传输的电子币数据组
是否完全存在,并且其是否仍然有效,即还未被另外的终端设备消耗,以便因此避免双重输出。
140.在一种设计方案中,在第二终端设备中建立证明。所述证明包括关于所传输的电子币数据组的货币数额与待切换的电子币数据组的货币数额一致的信息。优选地,证明仅包括关于一致的信息,但不包括其中一个货币数额。
141.优选地,在登记步骤期间,在监控实体中或通过监控实体对第一和/或第二终端设备的电子币数据组进行验证。该检查依据在验证之前的步骤进行,例如是否进行了切换、连接和/或分割的步骤。在此,监控实体例如可以检查(掩码的)传输的和/或待分割的和/或第一和第二电子币数据组的有效性。这使得能够确定电子币数据组是否首次被处理。如果(掩码的)电子币数据组无效(即尤其如果它们不存在于监控实体中),则登记不能成功实施,例如因为终端设备尝试多次输出电子币数据组。
142.在另一优选的设计方案中,在实施切换步骤之后,登记步骤例如包括将由终端设备准备的切换命令发送给监控实体。优选地,监控实体将执行切换命令的结果通知给“发出命令的”终端设备,即在执行切换命令之后,所涉及的掩码的电子币数据组中的哪些是有效的。
143.在一种优选的设计方案中,监控实体是远程实体。因此,例如为了登记电子币数据组,规定建立与监控实体的通信连接。
144.监控实体被构造为上级实体。因此,监控实体不一定布置在终端设备的层级中或层中(直接交易层)。优选地,监控实体设置用于管理和检查掩码的电子币数据组并且设置有发布者层和/或监控层,在所述发布者层中也设置有发行者实体。可以想到,监控实体附加地管理和检查终端设备之间的交易。
145.监控实体优选是数据库,在数据库中,掩码的电子币数据组与掩码的电子币数据组的相应处理一起被登记。数据库可以被设计为分散控制的数据库(分布式分类账技术,distributed ledger technology,dlt)。在一种优选的设计方案中,由此可以推导出(掩码的)电子币数据组的有效性状态。优选地,(掩码的)电子币数据组的有效性记录在监控实体中并且通过监控实体记录。处理或处理步骤的登记也可以涉及关于电子币数据组的有效性的检查结果和中间检查结果的登记。如果处理是最终的,则这例如通过相应的标记或导出的总标记来指示。然后,最终的处理决定电子币数据组是有效还是无效。
146.该数据库进一步优选为非公共数据库,但也可以实现为公共数据库。该数据库可以实现以简单的方式检查币数据组的有效性,并防止“双重支出”,即多次输出,而无需登记或记录支付交易本身。数据库描述了一种用于联网的计算机的技术,这些计算机就特定交易的顺序以及这些交易更新数据的事实达成协议。它对应于分散管理的管理系统或分散管理的数据库。
147.在另外的设计方案中,数据库也可以构造为公共数据库。
148.替换地,监控实体是中央管理的数据库,例如以可公开访问的数据存储器的形式或者作为中央数据库和分散数据库的混合形式。
149.优选地,至少一个初始的电子币数据组仅由发行者实体创建,其中,优选地,所分割的电子币数据组、尤其是电子币子数据组也可以通过终端设备生成。创建和选择货币数额优选地还包括选择具有高的熵的混淆数额。发行者实体是计算系统,该计算系统优选地
远离第一和/或第二终端设备。在创建新的电子币数据组之后,通过将例如同态的单向函数应用于新的电子币数据组,在发行者实体中对新的电子币数据组进行掩码,以便相应地获得掩码的新的电子币数据组。此外,在发行者实体中计算用于在远程监控实体中登记创建掩码的新的电子币数据组所需的附加信息。优选地,这些另外的信息是如下证明,即例如通过对掩码的新的电子币数据组的签名来证明(掩码的)新的电子币数据组来自发行者实体。在一种设计方案中可以规定,发行者实体在产生电子币数据组时利用其签名对掩码的电子币数据组进行签名。发行者实体的签名为此存储在监控实体中。发行者实体的签名与第一终端生成的签名不同。
150.优选地,发行者实体可以停用其拥有的电子币数据组(即,发行者从该电子币数据组知道货币数额和混淆数额),其方式是,发行者实体利用例如同态的单向函数来对掩码的待停用的电子币数据组进行掩码并且为监控实体准备停用命令。停用命令的一部分优选除了掩码的待停用的电子币数据组之外还包括如下证明:停用步骤已由发行者实体发起,例如以签名的掩码的待停用的电子币数据组的形式。作为附加信息,可以在停用命令中包含用于掩码的待停用的电子币数据组的范围检查。随后,在远程监控实体中登记掩码的电子币数据组的停用。停用命令触发停用步骤。
151.创建和停用的步骤优选在安全的位置进行、尤其是不在终端设备中进行。在一种优选的设计方案中,创建和停用的步骤仅由发行者实体执行或启动。优选地,这些步骤在安全的位置处进行,例如在硬件和软件架构中进行,所述硬件和软件架构被开发用于在不安全的网络中处理敏感的数据材料。停用对应的掩码的电子币数据组引起,对应的掩码的电子币数据组不再可用于进一步处理、特别是交易,因为其已经在监控实体中和由监控实体标记为无效。然而,在一种实施方式中可以规定,停用的掩码的电子币数据组在发行者实体处以档案方式保持存在。停用的掩码的电子币数据组不再有效,例如可以借助标志或其他编码来标识,或者可以破坏和/或删除停用的掩码的电子币数据组。当然,也可以从终端设备物理地移除被停用的掩码的电子币数据组。
152.通过根据本发明的方法能够实现用于电子币数据组和相应的掩码的电子币数据组的不同的处理操作。在此,在监控实体中登记处理操作中的每个(尤其是创建、停用、分割、连接和切换)并且在那里以不变的形式附加到针对相应的掩码的电子币数据组的先前的处理操作的列表上。在此,登记在时间和位置(空间)上独立于终端设备之间的支付过程。处理操作“创建”和“停用”(其涉及货币数额本身的存在,即意味着资金的创建和销毁直至删除)需要发行者机构的额外授权,例如签名形式的授权,以便在监控实体中登记(即记录)。其余的处理操作(分割、连接、切换)不需要发行者实体或命令发起者(=支付者,例如第一终端设备)的授权。
153.在直接交易层中的处理仅涉及所有权和/或币数据组与相应的电子币数据组的终端设备的关联。相应的处理在监控实体中的登记例如通过数据库中的相应的列表条目实现,所述列表条目包括一系列标记,所述标记必须由监控实体执行。列表条目的可能的结构例如包括用于先前的币数据组的一个或多个列、用于后续的币数据组的一个或多个列、用于发行者实体的签名列、用于硬币分割过程的签名列和至少一个标记列。标记状态的更改需要得到监控实体的批准,然后必须以不变的方式存储。如果并且只有在必要的标记已由监控实体验证的情况下,即在相应的检查例如从状态“0”切换到状态“1”之后,改变才是最
终的。例如,如果检查失败或持续时间过长,则将其从状态
“‑”
更改为状态“0”。可以想到其他状态值和/或这里提到的状态值可以更换。优选地,相应的(掩码的)电子币数据组的有效性由标记的状态值组合地分别在针对在登记处理中涉及的每个掩码的电子币数据组的列中示出。
154.在另外的实施例中,前述标记中的至少两个优选三个或甚至所有标记也可以由唯一的标记代替,当所有检查都成功完成时,所述唯一的标记被设置。此外,用于先前的数据组和后续的数据组的每两列可以分别组合成一列,在该列中一起列出所有币数据组。由此也可以为每个字段条目管理多于两个电子币数据组,并且因此例如实现分割成多于两个币。
155.已在上文中描述了,通过监控实体的检查以检查处理是否是最终的,并且特别地:
[0156]-一个或多个先前列的掩码的电子币数据组是否有效?
[0157]-监控是否产生正确的测试值?
[0158]-掩码的电子币数据组的范围证明是否成功?
[0159]-掩码的电子币数据组的签名是否为发行者实体的有效签名?
[0160]
优选地,此外适用:如果以下检查之一符合,则掩码的电子币数据组无效,即:
[0161]
(1)掩码的电子币数据组未在监控实体中登记;
[0162]
(2)对掩码的电子币数据组的最后处理表明,其存在先前的币数据组,但该最后处理不是最终的;或
[0163]
(3)对掩码的电子币数据组的最后处理表明,其存在后续的币数据组,并且该最后处理是最终的;
[0164]
(4)除非由发行者实体签名,否则掩码的电子币数据组不是有效的掩码的电子记录的后续。
[0165]
在本发明的一个方面中,提供了一种用于交换货币数额的支付系统,所述支付系统具有:监控层,所述监控层具有数据库,在所述数据库中存储有掩码的电子币数据组;以及直接交易层,所述直接交易层具有至少两个终端设备,在所述终端设备中能够执行上述方法;和/或用于产生电子币数据组的发行者实体。在此,发行者实体可以证明,掩码的所产生的电子币数据组已由其产生,优选地,发行者实体可以通过签名证明自己,并且监控实体可以检查发行者实体的签名。
[0166]
在一种优选的设计方案中,支付系统包括用于产生电子币数据组的发行者实体。在此,发行者实体可以证明,掩码的所产生的电子币数据组已由其产生,优选地,发行者实体可以通过签名证明自己,并且监控实体可以检查发行者实体的签名。
[0167]
优选地,支付系统被构造为用于执行上述方法和/或实施变型方案中的至少一个。
[0168]
本发明的另一方面涉及一种货币系统,所述货币系统包括发行者实体、监控实体、第一终端设备和第二终端设备,其中,发行者实体被构造用于创建电子币数据组。掩码的电子币数据组被构造为能够通过发行者实体可证明地创建。监控实体被构造用于实施如在上述方法中那样实施的登记步骤。优选地,终端设备,即至少第一和第二终端设备,适用于执行上述用于传输的方法中的一个。
[0169]
在货币系统的一种优选的实施方案中,只有发行者实体有权初始创建电子币数据组。处理,例如连接、分割和/或切换的步骤,可以并且优选地通过终端设备来执行。停用的
处理步骤可以优选地仅由发行者实体执行。因此,只有发行者实体才有权使电子币数据组和/或掩码的电子币数据组无效。
[0170]
优选地,监控实体和发行者实体布置在服务器实体中或作为计算机程序产品存在于服务器和/或计算机上。
[0171]
电子币数据组在此可以以多种不同的外观形式存在,并且因此通过不同的通信通道(以下也称为接口)来交换。由此实现了电子币数据组的非常灵活的交换。
[0172]
电子币数据组例如能够以文件的形式示出。在此,文件由内容相关的数据组成,所述数据存储在数据载体、数据存储器或存储介质上。每个文件首先是一维的比特(bit)串,通常被综合地解释为字节(byte)块。应用程序(application)或操作系统本身例如将该比特序列或字节序列解释为文本、图像或声音记录。在此使用的文件格式可以是不同的,例如可以是纯文本文件,其代表电子币数据组。在此,货币数额和盲签名特别是被映射为文件。
[0173]
电子币数据组例如是美国信息交换标准代码(american standard code for information interchange,ascii)的序列。特别地,货币数额和盲签名被映射为这个序列。
[0174]
电子币数据组也可以在设备中从一种显示形式切换为另一种显示形式。因此,电子币数据组例如可以作为qr码在设备中接收并且作为文件或字符串由设备输出。
[0175]
在使用不同的传输介质(空气、纸、有线的传输)并且考虑到设备的技术设计方案的情况下,同一电子币数据组的这些不同表示形式可以实现在不同技术装备的设备之间的非常灵活的交换。电子币数据组的显示形式的选择优选自动地进行,例如基于识别的或协商的传输介质和设备部件。附加地,设备的用户也可以选择用于交换(=传输)电子币数据组的显示形式。
[0176]
在本发明的一个方面中,所述技术问题通过一种设备来解决,所述设备设置用于将电子币数据组直接传输给另外的设备。所述设备包括用于访问数据存储器的装置,其中,在数据存储器中存储有至少一个电子币数据组;至少用于将至少一个电子币数据组输出给另外的设备的接口;以及计算单元,所述计算单元用于通过将例如同态的(加密)单向函数应用于电子币数据组来在设备中掩码电子币数据组,以获得掩码的电子币数据组,以在监控实体中登记掩码的电子币数据组;并且设置用于借助接口输出电子币数据组。
[0177]
在此,设备是之前描述的终端设备或之前描述的机器。
[0178]
在简单的情况下,数据存储器是设备的内部数据存储器。在此存储电子币数据组。由此确保了对电子币数据组的简单访问。
[0179]
数据存储器尤其是外部数据存储器,也称为线上存储器。因此,所述设备仅具有对外部的并且因此可靠存储的币数据组的访问装置。特别是在设备丢失或设备故障的情况下,电子币数据组不会丢失。由于拥有(未掩码的)电子币数据组等于拥有货币数额,因此通过使用外部数据存储器可以更安全地保管资金。
[0180]
如果监控实体是远程监控实体,则设备优选具有用于借助常见的互联网通信协议、例如tcp、ip、udp或http进行通信的接口。所述传输可以包含通过移动无线电网络的通信。
[0181]
在一种优选的设计方案中,所述设备设置用于,在电子币数据组上执行已经描述的处理,尤其是分割、连接和切换。为此,计算单元设置用于,将待切换的电子币数据组作为电子币数据组进行掩码,监控实体为了登记切换命令或在切换步骤中需要所述电子币数据
组作为掩码的电子币数据组。以这种方式,可以切换电子币数据组,如上所述。
[0182]
此外或替换地,计算单元优选设置用于,对分割为多个币子数据组的电子币数据组进行掩码,以便获得掩码的电子币数据组和可能的多个掩码的电子币子数据组,其能够在监控实体中被登记。以这种方式,电子币数据组就可以被分割,如上所述。
[0183]
此外或替换地,计算单元优选设置用于,对第一和第二电子币数据组中的待连接的电子币子数据组作为电子币数据组进行掩码,以便获得掩码的待连接的币数据组作为掩码的电子币数据组,所述掩码的电子币数据组在监控实体中被登记。通过这种方式,可以连接电子币数据组,如上所述。
[0184]
在一种优选的设计方案中,用于输出至少一个电子币数据组的接口是设备的电子显示单元,所述电子显示单元设置用于显示电子币数据组并且由此(也)设置用于以视觉形式输出电子币数据组。如已经描述的那样,电子币数据组于是例如可以以可光电检测的代码、图像等的形式在设备之间交换。
[0185]
在一种优选的设计方案中,用于输出至少一个电子币数据组的接口是用于借助用于无线通信的通信协议将电子币数据组无线地发送给另外设备的协议接口。在此,尤其设置近场通信,例如借助蓝牙协议或nfc协议或ir协议,替换地或附加地,可以想到wlan连接或移动无线电连接。然后根据协议属性对电子币数据组进行调整和传输。
[0186]
在一种优选的设计方案中,用于输出至少一个电子币数据组的接口是用于借助应用程序将电子币数据组提供给另外设备的数据接口。与协议接口不同,电子币数据组在此借助应用程序来传输。然后,该应用程序以相应的文件格式传输币数据组。可以使用特定于电子币数据组的文件格式。以最简单的形式,币数据组作为ascii字符串或作为文本消息,例如sms、mms、即时消息(如threema或whatsapp)传输。在一种替换形式中,币数据组作为apdu字符串进行传输。也可以设置钱包应用程序。在此,进行更换的设备优选地确保借助应用程序进行更换是可能的,即两个设备具有应用程序并且能够用于更换。
[0187]
在一种优选的设计方案中,所述设备还具有用于接收电子币数据组的接口。
[0188]
在一种优选的设计方案中,用于接收至少一个电子币数据组的接口是设备的电子检测模块,所述电子检测模块设置用于检测以视觉形式示出的电子币数据组。于是,检测模块例如是照相机或条形码或qr码扫描仪。
[0189]
在一种优选的设计方案中,用于接收至少一个电子币数据组的接口是用于借助用于无线通信的通信协议从另外的设备无线地接收电子币数据组的协议接口。在此,尤其设置近场通信,例如借助蓝牙协议或nfc协议或ir协议。替换地或附加地,可以想到wlan连接或移动无线电连接。
[0190]
在一种优选的设计方案中,用于接收至少一个电子币数据组的接口是用于借助应用程序从另外的设备接收电子币数据组的数据接口。然后,该应用程序以相应的文件格式接收币数据组。可以使用特定于币数据组的文件格式。以最简单的形式,币数据组作为ascii字符串或作为文本消息,例如sms、mms、threema或whatsapp传输。在一种替换形式中,币数据组作为apdu字符串传输。附加地,可以借助钱包应用程序进行传输。
[0191]
在一种优选的设计方案中,用于接收至少一个电子币数据组的接口也是用于输出电子币数据组的接口,从而接口不仅设置用于发送而且用于接收币数据组。
[0192]
在一种优选的设计方案中,所述设备包括至少一个安全元件读取设备,所述安全
元件读取设备设置用于读取安全元件;随机数发生器;和/或到保险箱模块和/或银行机构的通信接口,所述保险箱模块和/或银行机构具有对银行账户的待授权的访问。
[0193]
在一种优选的设计方案中,数据存储器是共同的数据存储器,至少另一设备还能够访问该共同的数据存储器,其中,终端设备中的每个都具有应用程序,其中,该应用程序设置用于与监控实体通信,以相应地登记电子币子数据组。
[0194]
因此,在此提出一种解决方案,该解决方案以电子币数据组的形式发行数字资金,该数字资金类似于使用传统的(模拟的)纸币和/或硬币。在此,数字资金通过电子币数据组映射。与(模拟的)纸币一样,这些电子币数据组可以用于所有形式的支付,包括点对点和/或pos支付。了解有效的电子币数据组的所有组成部分(特别是货币数额和混淆数额),就等于拥有数字资金(所有权)。因此适宜的是,保密地处理这些有效的电子币数据组,即例如存储在终端设备的安全元件/保险箱模块中并且在那里进行处理。为了决定电子币数据组的真实性并且防止双重输出,在监控实体中保存掩码的电子币数据组作为电子币数据组的唯一的、对应的公开表示。了解或拥有掩码的电子币数据组并不构成拥有资金。相反,这类似于检查模拟支付手段的真实性。
[0195]
监控实体还包含关于对掩码的电子币数据组的已执行和计划的处理的标记。从用于处理的标记中导出相应的掩码的电子币数据组的状态,所述状态说明:相应的(未掩码的)电子币数据组是否有效,即是否能用于付款。因此,电子币数据组的接收器首先产生掩码的电子币数据组,并且掩码的电子币数据组的有效性可以通过监控实体来认证。根据本发明的解决方案的一大优点是,将数字资金分布到终端设备、商家、银行和系统的其他用户上,但是没有数字资金或其他元数据存储在监控实体(即共同的实体)处。
[0196]
所提出的解决方案可以集成到现有的支付系统和基础设施中。特别地,可以存在根据本发明的解决方案的具有纸币和硬币的模拟支付过程和数字支付过程的组合。因此,可以利用纸币和/或硬币进行支付过程,但是变换的资金或找回的资金作为电子币数据组存在。为了进行交易,例如可以设置具有相应配置、特别是具有合适通信接口的atm和/或移动终端设备。此外,可以想到将电子币数据组交换成纸币或硬币。
[0197]
在此列出的创建、切换、分割、连接和停用的步骤分别通过相应的创建、切换、分割、连接或停用命令触发。
[0198]
此外,要解决的技术问题通过监控单元来解决,所述监控单元设置用于接收掩码的电子币数据组并且用于登记掩码的电子币数据组。在第一掩码模式或第二掩码模式或第三掩码模式中对掩码的电子币数据组进行掩码。优选地,根据前述方法中的掩码步骤对掩码的电子币数据组进行掩码。此外,监控单元设置用于根据前述方法登记对币数据组的修改。
附图说明
[0199]
下面根据附图详细阐述本发明或本发明的其他实施方式和优点,其中附图仅描述本发明的实施例。附图中相同的组成部分具有相同的附图标记。附图不应被视为是按比例的,附图的各个元件可以过大或过于简化地示出。
[0200]
附图中:
[0201]
图1示出了根据本发明的支付系统的实施例;
[0202]
图2示出了监控实体的实施例;
[0203]
图3示出了根据本发明的用于分割和切换电子币数据组的支付系统的实施例;
[0204]
图4示出了根据本发明的用于连接电子币数据组的支付系统的实施例;
[0205]
图5示出了根据本发明的方法的方法流程图的实施例和币数据组的相应的处理步骤;
[0206]
图6示出了根据本发明的方法的方法流程图的实施例和币数据组的相应的处理步骤;
[0207]
图7示出了根据本发明的方法的方法流程图的另外的实施例;
[0208]
图8示出了根据本发明的设备的实施例;
[0209]
图9示出了根据第四掩码模式的根据本发明的方法的方法流程图的另外的实施例;
[0210]
图10示出了根据图9的方法的示意图;
[0211]
图11示出了根据本发明的方法的方法流程图的另外的实施例;
[0212]
图12示出了根据本发明的方法的另外的实施例;和
[0213]
图13示出了在图12中示出的根据本发明的方法的方法流程图。
具体实施方式
[0214]
图1示出了根据本发明的具有终端设备m1和m2的支付系统的实施例。终端设备m1和m2在此也可以是设备。
[0215]
在此,在发行者实体1、例如中央银行中产生电子币数据组ci。对于电子币数据组ci,产生掩码的电子币数据组zi并且将其登记在“混淆的电子数据组分类帐(verschleierten-elektronischen-datensatz-ledger)”中。在本发明的框架内,分类帐被理解为列表、目录、优选地数据库结构。电子币数据组ci被输出到第一终端设备m1。
[0216]
例如,为此产生真实的随机数作为混淆数额ri。该混淆数额ri与货币数额υi相关联并且然后形成根据本发明的第i个电子币数据组:
[0217]ci
={υi;ri}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0218]
有效的电子币数据组可用于支付。因此,两个值υi和ri的所有者拥有数字资金。然而,数字资金通过由有效的电子币数据组和相应的掩码的电子币数据组zi组成的对来限定。掩码的电子币数据组zi根据等式(2)通过应用单向函数f(ci)得到:
[0219]
zi=f(ci)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0220]
单向函数f(ci)例如是同态的。掩码的电子币数据组例如是完全掩码的电子币数据组、准掩码的电子币数据组或部分数额掩码的电子币数据组,如参照图9和以下还详细地实施的那样。
[0221]
所述函数f(ci)尤其对于完全掩码的电子币数据组、不完全掩码的电子币数据组和部分掩码的电子币数据组是公开的,即支付系统中的任何系统参与者都可以调用和使用该函数。该函数f(ci)例如根据等式(3)或等式(3a)定义:
[0222]
zi=υi
·
h ri
·gꢀꢀꢀꢀꢀꢀꢀ
(3)
[0223]
zi=ri
·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3a)
[0224]
其中,h和g是离散对数问题严重的组的生成点,具有生成元g和h,针对其,相应另
外底数的离散对数是未知的。例如,g(等式(3),(3a))和h(等式(3))分别是椭圆曲线加密的生成点,ecc,即ecc的私钥。在等式(3)的情况下,这些生成点g和h必须以g和h之间的关系不是公开已知的方式选择,使得:
[0225]
g=n
·hꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0226]
为了防止货币数额υi被操纵并且仍然可以计算出有效的zi,关联n实际上是不可发现的。等式(3)是“ecc的pederson承诺(pederson-commitment)”,其确保货币数额υi可以被授予(即“提交”)给监控实体2而不向监控实体2公开。因此,仅将掩码的币数据组zi发送(公开)给公共的和远程的监控实体2。
[0227]
即使在本示例中描述了基于椭圆曲线的加密,也可以想到基于离散对数方法并且基于等式(3a)的另外的密码学方法。
[0228]
在应用等式(3a)的情况下,单向函数仅应用于币数据组c的一部分,这里是混淆数额r(针对准掩码的币数据组)或货币数额的第一货币数额部分(针对部分数额掩码的币数据组)。
[0229]
掩码的混淆数额也可以称为r。
[0230]
等式(3)通过混淆数额ri的熵可以实现,即使在货币数额υi的值范围较小的情况下也能获得密码学上强的zi。因此,仅仅通过估计货币数额υi来进行简单的蛮力攻击实际上是不可能的。
[0231]
等式(3)和(3a)使用单向函数,即从ci计算zi很容易,因为存在有效的算法,而从zi计算ci非常困难,因为不存在可以在多项式时间内求解的算法。
[0232]
此外,等式(3)对于加法和减法是同态的,即成立:
[0233]
zi zj=(υi·
h ri·
g) (υj·
h rj·
g)=(υi υj)
·
h (ri rj)
·gꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0234]
因此,加法运算和减法运算既可以在直接交易层3中执行,也可以在监控层4中并行地执行,而监控层4不了解电子币数据组ci。等式(3)的同态特性可以实现仅基于掩码的币数据组zi来实施对有效和无效的电子币数据组ci的监控,并且确保没有创建新的货币数额υj。
[0235]
通过该同态特性,币数据组ci可以根据等式(1)被分割为:
[0236]ci
=cj ck={υj;rj} {υk;rk}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0237]
其中成立:
[0238]
υi=υj υkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0239]ri
=rj rkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0240]
针对相应的掩码的币数据组成立:
[0241]
zi=zj zkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0242]
利用等式(9),例如可以以简单的方式检查根据图3的币数据组的“分割”处理或“分割”处理步骤,而监控实体2不了解ci,cj,ck。特别地,检查等式(9)的条件,以便将分割的币数据组cj和ck宣布为有效并且将币数据组ci宣布为无效的。在图3中示出了电子币数据组ci的这种分割。
[0243]
电子币数据组也可以以相同的方式结合(连接),参见图4和对此的解释。
[0244]
附加地,还必须检查是否登记了(不允许的)负的货币数额。在此,电子币数据组ci的拥有者必须能够向监控实体2证明,在处理操作中的所有货币数额υi在[0,

,2
n-1]的值
范围内,而在此不将货币数额υi通知监控实体2。这些范围证明也称为“range-proof”。作为范围证明,优选使用环签名(英文:ring signature)。对于当前的实施例,电子币数据组c的货币数额υ和混淆数额r都被解析为比特表示。成立:
[0245]
υi=∑aj·2j
其中0≤j《n并且a
j“元素”{0;1}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9a)
[0246]

[0247]ri
=∑bj·2j
其中0≤j《n并且b
j“元素”{0;1}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9b)
[0248]
对于每个比特,优选地,利用如下等式来执行环签名
[0249]cij
=aj·
h bj·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9c)
[0250]

[0251]cij-aj·hꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9d)
[0252]
其中,在一种设计方案中可以规定,仅针对特定的比特执行环签名。
[0253]
在图1中,由发行者实体1产生电子币数据组ci,并且借助等式(3)或等式(3a)由发行者实体1计算掩码的电子币数据组zi并且将其登记在监控实体2中。
[0254]
接着,第一终端设备m1进行传输,所述第一终端设备可以将电子币数据组ci传输给第二终端设备m2或者可以实施处理步骤之一(切换、连接、分割)。传输例如通过wlan、nfc或蓝牙无线地进行。传输可以通过密码加密方法附加地被保护,方式是例如协商会话密钥或应用pki基础设施。
[0255]
在第二终端设备m2中,获取传输的电子币数据组ci作为c
i*
。随着电子币数据组c
i*
的获得,第二终端设备m2拥有由电子币数据组c
i*
代表的数字资金。如果两个终端设备相互信任,则不需要进一步的步骤来结束该方法。然而,终端设备m2不知道电子币数据组c
i*
是否实际有效。此外,终端设备m1还可以将电子币数据组ci传输给第三终端设备(未示出)。为了防止这种情况,在该方法中设置了其他优选的步骤。
[0256]
为了检查所获得的电子币数据组c
i*
的有效性,在第二终端设备m2中利用由等式(3)或等式(3a)构成的公开的单向函数计算掩码的传输的电子币数据组z
i*
。然后将掩码的传输的电子币数据组z
i*
传输给监控实体2并且在那里进行搜索。在与登记的且有效的掩码的电子币数据组一致的情况下,向第二终端设备m2显示所获得的币数据组c
i*
的有效性,并且适用:所获得的电子币数据组c
i*
等于所登记的电子币数据组c
i*
。在一种设计方案中,通过有效性检查可以确定,所获得的电子币数据组c
i*
仍然有效,也就是说,所述电子币数据组没有已经通过另外的处理步骤或在另外的交易中已经被使用和/或经受另外的改变。
[0257]
优选地,随后进行所获得的电子币数据组的切换。
[0258]
对于根据本发明的方法适用的是,仅知道(完全的,不完全的,准的或部分的)掩码的电子币数据组并不授权输出数字资金。然而,仅知道电子币数据组ci授权支付,即特别是当币数据组ci有效时,授权成功执行交易。在电子币数据组ci和相应的掩码的电子币数据组之间存在唯一的关系。掩码的电子币数据组被登记在监控实体2中,例如公共的分散的数据库中。通过这种登记,首先可以检查电子币数据组ci的有效性,例如是否(以非法的方式)创建了新的货币数额。
[0259]
与传统解决方案相比的主要区别特征是,掩码的电子币数据组存储在监控层4中并且在电子币数据组上的所有处理在那里被登记,而数字资金的实际传输在(秘密的,即公众不知道的)直接交易层3中进行。
[0260]
为了防止多次输出或者为了确保更灵活的传输,现在可以在根据本发明的方法中处理电子币数据组。在下表1中列出了各个操作,其中还利用指定的命令执行相应的处理步骤:
[0261]
命令或步骤创建签名创建随机数创建掩码创建范围证明产生1110或1停用1010或1分割0130或1连接0031切换0121
[0262]
表1-在终端设备或发行者实体中针对每次对币数据组的处理可执行的操作的数量;
[0263]
可能需要表1中未列出的其他操作。代替所提到的实施方案,也可以想到暗示其他操作的其他实施。表1显示,对于每个币数据组,每个处理“创建”、“停用”、“分割”、“连接”和“切换”可以设置不同的操作:“创建签名”;“创建随机数”;“创建掩码”;“范围检查”,其中,处理操作中的每个在监控实体2中登记并且在那里以不变的形式附加到用于掩码的电子币数据组的先前的处理操作的列表中,电子币数据组的处理“创建”和“停用”的操作仅在安全位置和/或仅由选定的实体、例如发行者实体1执行,而所有其余处理的操作可以在终端设备m1至m3上执行。
[0264]
针对各个处理的操作的数量在表1中标记为“0”、“1”或“2”。在此,数量“0”表示终端设备或发行者实体1不必针对电子币数据组的该处理执行该操作。数量“1”在此表示,终端设备或发行者实体1必须能够针对电子币数据组的该处理执行该操作一次。在此,数量“2”表示终端设备或发行者实体1必须能够针对电子币数据组的该处理执行该操作两次。
[0265]
原则上,在一种设计方案中也可以规定,在产生和/或删除时也通过发行者实体1执行范围检查。
[0266]
在下表2中,对于各个处理,列出了监控实体2所需的操作:
[0267][0268]
表2-在监控实体中针对每次对币数据组的处理可执行的操作的数量;
[0269]
可能需要表2中未列出的进一步操作。代替所提到的实施方案,可以想到暗示其他操作的其他实施。表2的所有操作可以在监控实体2中执行,所述监控实体作为可信的实体,例如作为分散的服务器、尤其是分布式可信的服务器,负责电子币数据组的足够的完整性。
[0270]
表3示出了对于图1的支付系统中的系统参与者优选要安装的部件:
[0271]
命令或步骤发行者实体终端设备监控实体随机数发生器(高安全性)是的
‑‑
随机发生器(确定性)-是的-用于签名的pki是的
‑‑
用于签名检查的pki-(是的)是的对数据库的读访问是的是的是的对数据库的写访问是的是的是的停用电子币数据组是的是的-传输加密是的是的-安全存储器(是的)是的-/是的掩码单元是的是的-范围证明-是的-检查范围证明
‑‑
是的数据库软件
‑‑
是的
[0272]
表3-系统部件中的优选的单元
[0273]
表3示出了在每个系统参与者,即发行者实体1、终端设备m1和监控实体2中关于要优选使用的部件的概述。终端设备m1可以被设计为用于电子币数据组ci的钱包,即作为电子钱包,即终端设备m1的数据存储器,其中可以存储多个币数据组ci,并且例如可以以应用程序的形式在商家、商业银行或其他市场参与者的智能手机或it系统上实现,并且发送或接收电子币数据组。由此,如表3所示的终端设备中的部件被实现为软件。假定监控实体2是由一系列受信任的市场参与者运行的数据库。在一种设计方案中,监控实体2是dlt。
[0274]
图2示出了图1的监控实体2的实施例。在图2中以表格的形式示出了示例性的数据库,在所述数据库中登记掩码的电子币数据组(在此为了简单起见是完全掩码的电子币数据组zi)和可能的对其的处理。监控实体2优选地在本地远离终端设备m1至m3地布置并且例如安置在服务器架构中。
[0275]
用于处理(创建、停用、分割、连接和切换)的每个处理操作在此在监控实体2中登记并且在那里以不变的形式附加到用于掩码的电子币数据组的先前的处理操作的列表上。各个操作或其检查结果,即在一定程度上的处理的中间结果被记录在监控实体2中。
[0276]
处理“创建”和“停用”,其涉及货币数额υi的存在,即意味着资金的创建和销毁,需要发行者实体1的额外授权,以便在监控实体2中登记(即记录)。其余的处理操作(分割、连接、切换)不需要通过发行者实体1或通过命令发起者(=支付者,例如第一终端设备m1)的授权。
[0277]
相应的处理在监控实体2中的登记例如通过根据图2的数据库中的相应的列表条目来实现。在此,每个列表条目具有另外的标记25至28,所述标记记录相应处理的中间结果,所述处理必须由监控实体2执行。优选地,标记25至28用作辅助并且在命令结束之后被监控实体丢弃。剩下的是关于来自列22a,22b,23a和/或23b的(掩码的)电子币数据组的有效性的标记29至32。例如,在收到处理命令时,这些标记处于状态
“‑”
,并且在成功完成所有检查之后,这些标记被设置为状态“1”,并且在至少一个失败的检查的情况下,这些标记被
设置为状态“0”。用于币数据组的列表条目的可能的结构例如包括用于先前的币数据组(o1,o2)的两个列22a,22b、用于后续的币数据组(s1,s2)的两个列23a,23b、用于一个或多个发行者实体1的签名列24和四个标记列25至28。列25至28中的每个条目都具有三个替换状态
“‑”
、“1”或“0”。列25(o-标志)指示,关于列22a/b中的电子币数据组的有效性检查是否成功,其中状态“1”意味着,有效性检查表明列22a/b的电子币数据组有效,并且状态“0”表示,有效性检查表明列22a/b的电子币数据组无效,并且状态
“‑”
表示,有效性检查尚未完成。列26(c-标志)表示掩码的电子币数据组的计算是否成功,其中状态“1”表示计算成功,状态“0”表示计算不成功,状态
“‑”
表示有效性检查尚未完成。
[0278]
基于等式(3)在列26中对完全掩码的币数据组进行的计算例如是:
[0279]
(z
o1
z
o2
)

(z
s1
z
s2
)==0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0280]
列27(r-标志)表示对一个或多个范围证明的检查是否成功,其中状态“1”意味着,有效性检查表明一个或多个范围证明是可追踪的,状态“0”表示,有效性检查表明一个或多个范围证明是不可追踪的,状态
“‑”
表示,有效性检查尚未完成,已经成功。
[0281]
列28(s-标志)表示,电子币数据组的签名是否与列24的签名一致,其中状态“1”意味着,有效性检查表明签名可以被识别为发行者实体的签名,状态“0”表示有效性检查表明签名不能被识别为发行者实体的签名,状态
“‑”
表示有效性检查尚未完成。
[0282]
其中一个标记(也称为“标志”)的状态的更改都需要得到监控实体2的批准,并且必须然后以不变的方式存储在监控实体2中。如果并且仅当所需的标记25至28通过监控实体2验证,即在相应的检查之后从状态“0”变换到状态“1”或是状态“1”,则处理是最终的。
[0283]
为了确定掩码的电子币数据组是否有效,监控实体2搜索涉及掩码的电子币数据组的最后变化。适用的是,当并且仅当掩码的电子币数据组针对其最后处理在后续列23a,23b之一中列出,并且该最后处理具有相应的最终标记25至28时,掩码的电子币数据组是有效的。也适用的是,当并且仅当掩码的电子币数据组针对其最后处理在先前列22a,22b之一中列出,并且该最后处理失败,即标记25至28的相应要求的状态中的至少一个被设置为“0”时,掩码的电子币数据组是有效的。
[0284]
此外适用的是,例如当在监控实体2中未找到掩码的电子币数据组时,或者当掩码的电子币数据组的最后处理在所述后续列23a,23b中的一个中列出,但是该最后处理从未成为最终处理时,或者当掩码的电子币数据组的最后处理在所述先前列22a,22b中的一个中并且该最后处理是最终处理时,所述掩码的电子币数据组对于所有其余情况无效。
[0285]
由列25至28映射由监控实体2进行的检查,以检查处理是否是最终的:列25中的状态表示,根据先前列22a,22b的掩码的电子币数据组是否是有效的。列26中的状态表示,根据等式(10)的掩码的电子币数据组的计算是否正确。列27中的状态表示,是否能够成功地检查掩码的电子币数据组的范围证明。列28中的状态表示,掩码的电子币数据组的列24中的签名是否是发行者实体1的有效签名。
[0286]
列25至28中的状态“0”在此表示检查不成功。列25至28中的状态“1”在此表示检查成功。列25至28中的状态
“‑”
在此表示未进行检查。这些状态也可以具有不同的值,只要可以明确地区分检查的成功/失败,并且可以看出是否执行了特定的检查。
[0287]
示例性地定义了五种不同的处理,其在此详细阐述。在此,参考图2中的相应的列表条目。
[0288]
处理例如是“产生”电子币数据组ci。通过发行者实体1在直接交易层3中的产生包括:选择货币数额υi和创建混淆数额ri,如已经用等式(1)描述的。如图2中所示,在“产生”处理中,不需要列22a,22b,23b和25至27中的条目/标记。在后续列23a中,登记掩码的电子币数据组zi。该登记优选在传输到终端设备m1至m3之前进行,尤其是在由发行者实体1生成时已经进行,其中在这两种情况下为此必须执行等式(3)或等式(3a)。掩码的电子币数据组zi在创建时由发行者实体1签名,该签名被登入到列24中,以便确保电子币数据组ci实际上由发行者实体1创建,其中为此也考虑其他方法。如果获得的zi的签名与列24中的签名一致,则在列28中设置标记(从“0”到“1”)。根据列25至27的标记不需要状态改变并且可以忽略。不需要范围证明,因为监控实体2信任发行者实体1不会输出负的货币数额。然而,在替换实施例中,它可以由发行者实体1在创建命令中一起发送,并且可以由监控实体2检查。
[0289]
处理例如是“停用”。停用,即资金销毁(destroy),引起在发行者实体1成功执行停用命令之后,掩码的电子币数据组zi变得无效。因此,在监控层4中不再能够进一步处理待停用的(掩码的)电子币数据组。为了避免混乱,相应的(未掩码的)电子币数据组ci也应在直接交易层3中被停用。在“停用”时,先前列22a以电子币数据组zi描述,但不占用后续列23a,23b。掩码的电子币数据组zi在停用时被检查:签名是否与根据列24的签名一致,以便确保电子币数据组ci实际上由发行者实体1创建,其中,又可以使用其他手段用于该检查。如果在停用命令中一起发送的签名的zi可以被确认为由发行者实体1签名或被确认为有效签名,则设置标记28(从“0”到“1”)。根据列26至27的标记不需要状态改变并且可以被忽略。根据列25和28中的标记应在相应的检查后被设置。
[0290]
处理例如是“分割”。分割,即将电子币数据组zi的部分分割为数量n(例如数量2)的电子币子数据组zj和zk,首先在直接交易层3中进行,如还在图3、图5至7以及图9至11中示出的那样,其中生成货币数额υj和混淆数额rj。vk和rk由等式(7)和(8)给出。在监控实体2中,设置标记25至27,用电子币数据组zi描述先前列22a,用zj描述后续列23a,用zk描述后续列23b。根据列25至27所需的状态改变是在由监控实体2进行相应的检查之后进行的,并且记录相应的检查结果。根据列28的标记被忽略。在列24中,可以登入分割的(利用等式(3a)掩码的)币数据组的签名。
[0291]
处理例如是“连接”。连接,即将两个电子币数据组zi和zj组合成电子币数据组zm,首先在直接交易层3中进行,如还在图4中示出的那样,其中计算货币数额υm和混淆数额rm。在监控实体2中,设置标记25至27,用电子币数据组zi描述先前列22a,用zj描述先前列22b,用zm描述后续列23b。列25至27中的标记需要状态更改,并且监控实体2执行相应的检查。必须提供范围证明,以表明没有生成新的资金。根据列28的标记被忽略。在列24中可以登入待连接的(利用等式(3a)掩码的)币数据组的第一签名和第二签名。
[0292]
处理是例如“切换”。当电子币数据组已经传输到另外的终端设备上并且应排除通过进行传输的终端设备(在此为m1)的重新输出时,切换是必要的。在切换(也称为switch)时,从第一终端设备m1获得的电子币数据组ck被替换为具有相同货币数额的新的电子币数据组c
l
。新的电子币数据组c
l
由第二终端设备m2生成。该切换是必要的,以便使从第一终端设备m1获得的电子币数据组ck无效(使无效),从而避免再次输出相同的电子币数据组ck。因为只要电子币数据组ck没有被切换,(因为第一终端设备m1知道电子币数据组ck)第一终端设备m1就可以将该电子币数据组ck转发给第三终端设备m3。切换例如通过将新的混淆数额radd
添加到所获得的电子币数据组ck的混淆数额rk中来进行,由此获得仅第二终端设备m2知道的混淆数额r
l
。这也可以在监控实体2中进行。为了证明,新的混淆数额r
add
已经被添加到掩码的获得的电子币数据组zk的混淆数额rk中,但是货币数额保持不变,并且因此等式(11)成立:
[0293]
υk=υ
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0294]
则第二终端设备m2必须能够证明,z
l-zk可以作为g的标量倍数,即可以作为r
add
*g表示。也就是说,仅产生了一个混淆数额r
add
,并且z
l
的货币数额等于zk的货币数额,即z
l
=zk r
add
*g。这通过产生具有公钥z
l-zk=r
add
*g的签名来实现。在监控层4中使用该签名,以确认待切换的电子币数据组的有效性。
[0295]
例如当不存在与监控实体2的通信连接时,电子币数据组上的修改“分割”和“连接”也可以由终端设备m1委托给另外的终端设备m2,m3。
[0296]
在图3中示出根据本发明的用于“分割”、“连接”和“切换”电子币数据组c的支付系统的实施例。在图3中,第一终端设备m1已经获得了币数据组ci并且现在希望不以整个货币数额υi执行支付交易,而是仅以部分数额vk执行支付交易。为此,币数据组ci被分割。为此,首先货币数额被分成:
[0297]
υi=υj υkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0298]
在此,每个获得的数额υj,υk必须大于0,因为负的货币数额是不允许的。
[0299]
此外,还导出了新的混淆数额:
[0300]ri
=rj rkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0301]
在分割时,根据等式(3)从币数据组cj和ck中获得掩码的币数据组zj和zk并且在监控实体2中进行登记。对于分割,用币数据组zi描述先前列22a,用zj描述后续列23a以及用zk描述后续列23b。产生对于范围证明(零知识证明,zero-knowledge-proof)的附加信息。列25至27中的标记需要状态改变,并且监控实体2执行相应的检查。根据列28的标记被忽略。
[0302]
然后,币子数据组,在此为ck,从第一终端设备m1传输给第二终端设备m2。为了防止双重输出,切换操作是有意义的,以便将从第一终端设备m1获得的电子币数据组ck替换为具有相同货币数额的新的电子币数据组c
l
。新的电子币数据组c
l
由第二终端设备m2生成。在此,接受并且不改变币数据组c
l
的货币数额,参见等式(11)。
[0303]
然后,根据等式(14),将新的混淆数额r
add
添加到所获得的电子币数据组ck的混淆数额rk中,
[0304]rl
=rk r
add
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0305]
从而获得仅第二终端设备m2知道的混淆数额r
l
。为了证明,仅向所获得的电子币数据组zk的混淆数额rk添加了新的混淆数额r
add
,但是货币数额保持不变(υk=υ
l
),第二终端设备m2必须能够证明,z
l-zk可以表示为g的倍数。这根据等式(15)借助公共签名r
add
进行:
[0306][0307]
其中g是ecc的生成点。然后,借助等式(3)或等式(3a)来掩码待切换的币数据组c
l
,以便获得掩码的币数据组z
l
。在监控实体2中,于是可以使用私人签名r
add
,以便例如对掩码的待切换的电子币数据组z
l
进行签名,这被认为是证明:第二终端设备m2仅向掩码的电子币数据组添加了混淆数额r
add
并且没有添加附加的货币值,即v
l
=vk。
[0308]
借助等式(3)的掩码的证明如下:
[0309]
zk=υk·
h rk·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0310]zl
=υ
l
·
h r
l
·
g=υk·
h (rk r
add
)
·g[0311]zl

zk=(rk r
add-rk)
·g[0312]
=r
add
·g[0313]
对于借助等式(3a)的掩码,产生关于货币数额υk、混淆数额rk和掩码的币数据组元素(例如掩码的混淆数额r或掩码的第一数额部分)的签名。因此,可以通过在监控实体4中重新计算掩码来验证签名,以便能够证明币数据组c的真实性和存在/占有。
[0314]
图4示出根据本发明的用于连接电子币数据组的支付系统的实施例。在此,在第二终端设备m2中获得两个币数据组ci和cj。仿照根据图3的分割,现在通过将两个币数据组ci和cj的货币数额和混淆数额相加来获得新的币数据组zm。然后,借助等式(3)或等式(3a)来掩码所获得的待连接的币数据组cm,并且在监控实体中登记掩码的币数据组zm。
[0315]
对于借助等式(3a)的掩码,产生关于货币数额υi、混淆数额ri和掩码的币数据组的第一签名,并且产生关于货币数额υj、混淆数额rj和掩码的币数据组zj的第二签名。两个签名可以通过在监控实体4中分别重新计算掩码来验证,以便能够证明币数据组c的真实性和存在/占有。还可以将第一签名与第二签名进行关联,以形成公共的签名。
[0316]
图5至7分别是根据本发明的方法100的方法流程图的实施例。下面一起解释图5至7。在可选的步骤101和102中,请求币数据组并且在发行者实体1方面在创建电子币数据组之后提供给第一终端设备m1。在步骤103中将经签名的掩码的电子币数据组发送给监控实体2。在步骤103中,根据等式(3)并且如在图1中阐述的那样,对所获得的电子币数据组ci进行掩码。然后,在步骤104中,在监控实体2中登记掩码的电子币数据组zi。可选地,m1可以切换获取的电子币数据组。在步骤105中,在直接交易层3中将币数据组ci传输到第二终端设备m2。在可选的步骤106和107中,利用之前的掩码进行有效性检查,其中在良好的情况下监控实体2确认币数据组zi或ci的有效性。
[0317]
在步骤108中,将所获得的币数据组ck切换到新的币数据组c
l
(当然也可以将所获得的币数据组ci切换),由此使币数据组ck无效并且防止双重输出。为此,传输的币数据组ck的货币数额υk被用作“新的”货币数额υ
l
。此外,如已经利用等式(14)至(17)阐述的那样,创建混淆数额r
l
。附加的混淆数额r
add
用于证明第二终端设备m2没有生成新的资金(以较高货币数额的形式)。然后,除其他外,将掩码的待切换的币数据组z
l
发送给监控实体2并且委托从ck切换到c
l

[0318]
在步骤108

中,在监控实体2中进行相应的检查。在此,根据图2中的表格将zk登入到列22a中,并且在列23b中登入要改写的币数据组z
l
。然后在监控实体2中检查,zk是否(仍然)有效,即zk的最后处理是否被登入在列23a/b中的一个中(作为zk未被进一步分割或停用或连接的证明)以及对于最后处理的检查是否失败。此外,z
l
被登入到列23b中,并且首先将列25,26,27中的标记设置为“0”。现在检查,z
l
是否有效,其中在此可以使用根据等式(16)和(17)的检查。在良好的情况下,列25中的标记设置为“1”,否则设置为“0”。现在检查,根据等式(10)的计算得出zk和z
l
是有效的,并且相应地在列26中设置标记。此外还检查,范围是否是结论性的,然后在列27中设置标记。如果所有三个检查都成功,并且这在监控实体2中被相应地不可变地记录,则币数据组被视为已被切换。即,币数据组ck不再有效并且从现在
起币数据组c
l
是有效的。当第三终端设备m3在监控实体2处询问(双重输出的)币数据组的有效性时,双重输出不再可能。
[0319]
在步骤109中,将两个币数据组ck和ci连接为新的币数据组cm,由此使币数据组ck,ci变为无效的并且防止了双重输出。为此,货币数额υm由两个货币数额υk和υi形成。为此,由两个混淆数额rk和ri形成混淆数额rm。此外,借助等式(3)获得掩码的待连接的币数据组并且将其(连同其他信息一起)发送给监控实体2并且请求连接作为处理。
[0320]
在步骤109

中,在监控实体2中进行相应的检查。在此,根据图2中的表格将zm登入到列23b中,这也等于改写。然后,在监控实体2中检查:zk和zi是否(仍然)有效,即是否在列23a/b中的一个中登入zk或zi的最后处理(作为zk和zi未被进一步分割或停用或连接的证明)以及对于最后处理的检查是否失败。此外,首先将列25,26,27中的标记设置为“0”。现在检查:zm是否有效,其中在此可以使用根据等式(16)和(17)的检查。在良好的情况下,列25中的标记设置为“1”,否则设置为“0”。现在检查,根据等式(10)的计算得出:zi加zk等于zm,并且相应地在列26中设置标记。此外,检查范围是否是结论性的,然后在列27中设置标记。
[0321]
在步骤110

中,在监控实体2中进行相应的检查。在此,根据图2中的表格将zj和zk登入到列23a/b中。然后,在监控实体2中检查:zi是否(仍然)有效,即在列23a/b中的一个中是否登入zi的最后处理(作为zi未被进一步分割或停用或连接的证明)以及对于最后处理的检查是否失败。此外,首先将列25,26,27中的标记设置为“0”。现在检查,zj和zk是否有效,其中在此可以使用根据等式(16)和(17)的检查。在良好的情况下,列25中的标记设置为“1”。现在检查,根据等式(10)的计算得出:zi等于zk加zj,并且相应地在列26中设置标记。此外检查,范围是否是结论性的,然后在列27中设置标记。
[0322]
在图8中示出了根据本发明的设备m1的实施例。设备m1可以将电子币数据组ci存储在数据存储器10,10

中。在此,电子币数据组ci可以位于设备m1的数据存储器10上或者在外部数据存储器10

中可用。在使用外部数据存储器10

时,电子币数据组ci可以存储在线上存储器中,例如存储在用于数字钱包的供应商的数据存储器10’中。附加地,也可以使用私人数据存储器,例如私人网络上的网络连接存储器(network-attached-storage,nas)。
[0323]
在一种情况下,电子币数据组ci被表示为纸上的打印件。在此,电子币数据组可以通过qr码、qr码的图像来表示,或者也可以是文件或字符串(ascii)。
[0324]
设备m1具有至少一个接口12作为用于输出币数据组ci的通信通道可供使用。该接口12例如是光学接口,例如用于在显示单元(display)上显示币数据组ci,或者是用于打印电子币数据组ci作为纸质打印件的打印机。该接口12也可以是数字通信接口,例如用于近场通信,如nfc、蓝牙,或者能够上网的接口,如tcp、ip、udp、http,或者作为安全元件访问智能卡。该接口12例如是数据接口,使得币数据组ci通过应用程序、例如即时通信服务或作为文件或作为字符串在设备之间传输。
[0325]
此外,设备m1的接口12或另外的接口(未示出)设置用于,与根据在图1至6中的描述的监控实体2交互。设备m1为此优选是可在线的。
[0326]
此外,设备m1还可以具有用于接收电子币数据组的接口。该接口设置用于接收视觉上呈现的币数据组,例如借助检测模块、如照相机或扫描仪,或者通过nfc、蓝牙、tcp、ip、udp、http接收的数字呈现的币数据组或者借助应用程序呈现的币数据组。
[0327]
设备m1还包括计算单元13,该计算单元13可以执行前述的用于掩码币数据组的方法以及对币数据组的处理。
[0328]
设备m1是可在线的,并且当设备m1与wlan连接时,可以优选地借助位置识别模块15进行识别。可选地,特定的wlan网络可以被标记为优选的(=位置区域),使得设备m1仅在其登录到该wlan网络中时才执行特殊功能。替换地,位置识别模块15识别设备m1何时处于包括定义的半径在内的预定义的gps坐标中,并且对应于如此定义的位置区域执行特殊功能。该位置区域可以被手动输入到设备m1中,也可以通过其他单元/模块引入到设备m1中。在识别出位置区域时,设备m1执行的特殊功能尤其是将电子币数据组从外部数据存储器10传输到保险箱模块14或者从保险箱模块14传输到外部数据存储器10,并且必要时将掩码的币数据组z传输给监控实体2。例如,在币数据组的上述处理的范围内。
[0329]
在最简单的情况下,在终端设备m1中,所有的币数据组ci在获得之后自动地连接成币数据组(参见连接处理或连接步骤)。即,一旦接收到新的电子币数据组,就向监控实体2发送连接或切换命令。设备m1也可以以算法定义的面额准备电子币数据组并且将其保存在数据存储器10,10

中,由此即使在没有与监控实体2的数据连接的情况下也可以实现支付过程。
[0330]
图9和10分别示出了根据本发明的方法200的方法流程图的实施例。下面一起解释图9和图10。之前根据方法100和各个方法步骤101至110做出的陈述也适用于该方法200,除非在此做出其他陈述。
[0331]
在可选的步骤101和102中,请求币数据组并且在发行者实体1方面在创建电子币数据组之后提供给第一终端设备m1,也参见图5至7。第一终端设备m1在步骤105中将币c传输给第二终端设备。在此示出的方法步骤201至208虽然关于第二终端设备m2进行阐述,但是也可以在第一终端设备m1中执行。第一终端设备m1在步骤105中将币ck传输给第二终端设备。
[0332]
在步骤201中,选择掩码模式。为了防止双重输出,设置切换操作(switch),以便将从第一终端设备m1获得的电子币数据组ck替换为具有相同货币数额的新的电子币数据组c
l
。新的电子币数据组c
l
由第二终端设备m2生成。在这种情况下,接受币数据组ck的货币数额υk,并且不改变为新的货币数额υ
l
,参见等式(11)。然后,根据等式(14),将新的混淆数额r
add
添加到所获得的电子币数据组ck的混淆数额rk中,从而获得仅第二终端设备m2知道的混淆数额r
l

[0333]
掩码模式的选择例如由第一终端设备m1的用户通过终端设备m1上的相应的菜单控制来进行。选择例如基于支付系统中的系统预设x进行。因此,例如可以最佳地利用支付系统的性能,从而可以通过相应地选择掩码模式,基于监控实体2中的当前的登记请求量来控制证明检查的开销(步骤207)。选择也可以基于终端设备特性来选择,例如在掩码模式中的一个不支持的情况下可以做出相应的预选。
[0334]
为了现在不必执行等式(15)和(16)的复杂的证明,现在根据图9在可选的步骤201中选择第四掩码模式。在步骤202中,可以根据等式(3)掩码电子币数据组c
l
,以便根据第二掩码模式获得完全掩码的电子币数据组z
l

[0335]
在步骤203中,根据等式(17)可选地创建具有混淆数额rk的第一签名作为签名密钥:
[0336]
[zk]sig(rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0337]
此外,在步骤203中可选地根据等式(18)创建具有混淆数额rk和r
l
的差值的第二签名作为签名密钥:
[0338]
[zk]sig(r
l-rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0339]
在步骤203中,可以将所接收的电子币数据组ck的货币数额υk添加到第一签名中,在此示例性地根据等式(19)逻辑地关联或者作为根据等式(19a)的连结:
[0340]
υk||sig(rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0341][0342]
切换(修改)优选在发送步骤204之前进行。在步骤204中发送给监控实体2的相应的不完全掩码的电子币数据组与至少也来自等式(19)或等式(19a)的未掩码的币数据组元素以及可能的来自等式(18)的第二签名一起发送,根据等式(20)通过简单的连续排列(“;”或作为根据等式20a的连结:
[0343]
υk||sig(rk);sig(r
l-rk);z
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(20)
[0344][0345]
如果在步骤203中没有创建签名,则根据等式(20b)将未掩码的币数据组元素(在此是货币数额υk或相同的货币数额υ
l
)添加到完全掩码的电子币数据组z
l
中:
[0346][0347]
在监控实体中,可以通过选择第一掩码模式来进行简化的范围检查。检查例如包括四个检查(当在步骤203中产生签名时)。第一检查是检查待切换的不完全掩码的币数据组的有效性(合法性)。这根据前述方式进行。
[0348]
根据步骤206的可选的第二检查用于验证(可选的)第一签名。为此,根据未掩码的货币数额υk创建第一签名的公共验证密钥,其中:
[0349]
zk‘
=z
k-υk*h
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(21)
[0350]
利用在等式(21)中生成的公共验证密钥来检查第一签名:
[0351]
zk‘
=sig(rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(22)
[0352]
如果第二检查成功,则证明货币数额υk属于掩码的币数据组zk,并且第二终端设备m2知道混淆数额rk。
[0353]
根据步骤207的可选的第三检查用于验证(可选的)第二签名。为此,由掩码的待切换的电子币数据组z
l
和掩码的所获得的币数据组zk形成差值:
[0354]zl-zk=sig(r
l-rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(23)
[0355]
利用在等式(23)中生成的公共验证密钥来验证第二签名。如果第三检查成功,则证明货币数额υkυ
l
之间的差为零,从而证明没有产生新的/附加的资金。
[0356]
然后,第四检查是由监控实体2进行的非常简单的范围检查:
[0357]
υ
min
≤υk≤υ
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(24)
[0358]
对币数据组ci的分割(作为修改)的检查以与切换类似的方式进行。第一终端设备m1例如在步骤105中将币ci传输给第二终端设备m2。
[0359]
在可选的步骤201中,选择掩码模式。为了不必执行等式(15)和(16)的复杂的证明,例如根据图9在步骤201中选择第四掩码模式。随后,在步骤202中,根据等式(6)和(7)分
割电子币数据组ci,以便获得第一币子数据组cj和第二币子数据组ck。在步骤203中,然后可以根据等式(17)可选地创建关于混淆数额ri,rj和rk的三个单独的第一签名。此外,货币数额υiυjυk中的每个可以被添加到相应的第一签名中,例如根据等式(19)逻辑地关联或作为根据等式(19a)的连结,从而获得以下三个第一签名:
[0360]
υi||sig(ri)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19b)
[0361]
υj||sig(rj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19c)
[0362]
υk||sig(rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19d)
[0363]
分割(修改)优选在发送步骤204之前进行。在步骤204中发送给监控实体2的相应的不完全掩码的电子币子数据组z
k zj与来自等式(19b),(19c),(19d)的未掩码的币数据组元素或根据等式(19a)的相应的连结一起发送:
[0364]
υk||sig(rk);υi||sig(ri);υj||sig(rj);zj;zkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(25)
[0365]
如果在步骤203中没有创建签名,则根据等式(25a)将相应的未掩码的币数据组元素(在此是货币数额υiυjυk)添加到相应的完全掩码的电子币数据组z
i z
j zk:
[0366][0367]
在监控实体2中,可以通过选择第四掩码模式来进行简化的范围检查。在此,这同样包括例如四个检查。第一检查是检查待切换的不完全掩码的币数据组的有效性(合法性)。这根据前述方式进行。
[0368]
根据步骤206的可选的第二检查用于验证关于未分割的币数据组ci的混淆数额ri的(可选的)第一签名。第二检查根据等式(21)和(22)进行。如果第二检查成功,则证明货币数额υi属于掩码的币数据组zi,并且第二终端设备m2知道混淆数额ri。
[0369]
根据等式(26)的第三检查用于证明没有产生附加的资金:
[0370]
(zj zk)-zi==0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(26)
[0371]
然后,可选的第四检查是,计算相应的公共验证密钥以检查剩余的第一签名:
[0372]
zj‘
=z
j-υj*h
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(27)
[0373]
zk‘
=z
k-υk*h
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(28)
[0374]
利用在等式(27)和(28)中生成的公共验证密钥检查相应的第一签名:
[0375]
zk‘
=sig(rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(29)
[0376]
zj‘
=sig(rj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(30)
[0377]
如果可选的第四检查成功,则证明:货币数额υk属于掩码的币数据组zk,货币数额υj属于掩码的币数据组zj,并且第二终端设备m2知道混淆数额rk和rj。最后,可以类似于等式(24)进行非常简单的范围检查。
[0378]
对将两个币数据组ci和cj连接(作为修改)为连接的币数据组cm的检查以类似的方式进行。在可选的步骤201中,选择掩码模式。为了不必执行等式(15)和(16)的复杂的证明,可以根据图9在步骤201中选择第二掩码模式。随后,在步骤202中,根据等式(6)和(7)形成连接的电子币数据组cm。在步骤203中,又根据等式(19a)至(19c)形成三个单独的第一签名。
[0379]
连接(修改)优选在发送步骤204之前进行。在步骤204中发送给监控实体2的相应的不完全掩码的连接的电子币数据组zm与来自等式(19b),(19c),(19d)的未掩码的数据元素或根据等式(19a)的相应的连结一起发送:
[0380]
υk||sig(rk);υi||sig(ri);υj||sig(rj);zmꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(31)
[0381]
如果在步骤203中没有创建签名,则根据等式(31a)将相应的未掩码的币数据组元素(在此是货币数额υmυjυk)添加到相应的完全掩码的电子币数据组z
m z
j zk:
[0382][0383]
在监控实体2中,可以通过选择第二掩码模式来进行简化的范围检查。这在此同样包括例如四个检查。第一检查是检查待切换的不完全掩码的币数据组的有效性(合法性)。这根据前述方式进行。
[0384]
可选的第二检查用于验证关于未分割的币数据组ci的混淆数额ri的(可选的)第一签名。第二检查根据等式(21)和(22)进行。如果第二检查成功,则证明货币数额υi属于掩码的币数据组zi,并且第二终端设备m2知道混淆数额ri。
[0385]
第三检查类似于等式(26)进行,并且用作证明没有产生附加的资金。
[0386]
可选的第四检查于是是相应的公共验证密钥的计算,以用于类似于等式(27)至(30)检查剩余的可选的第一签名。最后,可以类似于等式(24)进行非常简单的范围检查。
[0387]
在图11中示出了根据本发明的方法300的方法流程图的另外的实施例。在图11中提出的方法可以完全应用于之前描述的方法中的一个。它在简化的证明检查的框架中可以用于所有的掩码模式。
[0388]
第二终端设备m2例如通过在步骤105中的传输而拥有电子币数据组ci。第二终端设备现在可以根据前面描述的修改步骤、分割、连接、切换中的一个来处理币数据组ci。为了简化对监控实体1的范围检查,执行以下步骤:
[0389]
在终端设备m2中,在(上面描述的方式的)掩码步骤之后,掩码的电子币数据组被分割为:
[0390]
zi=zj zk=(υj*h) (υk*2y*h rk*g)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(32)
[0391]
其中υj小于预设值x。预设值x例如由系统决定地来预设或者通过支付系统上的两个参与者之间的协商获得。预设值x可以作为支付系统参数是固定的或可变的,例如在终端设备之间协商。
[0392]
x的逐比特的表示,在如下假设的情况下
[0393]
x=2yꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(33)
[0394]
作为将掩码的币子组zk基于位值地分割为z
k,d
的示例进行,底数为2,其中:
[0395][0396]
其中aj∈{0,1}。选择混淆数额r,其中:
[0397][0398]
示例1:例如,掩码的获得的电子币数据组为zi=22*h 64*g,并且预设值x为8。资金价值数额υi的逐比特的表示为1 0 1 1 0,其中y=3,参见图11中的步骤301。
[0399]
然后,资金价值数额υj的逐比特的表示为1 1 0(当υj=6时)并且zj=6*h,考虑资金价值数额υi的第y比特。
[0400]
如果资金价值数额υi的第y比特等于零,则资金价值数额υk的逐比特的表示为10000(当υk=16时)并且zj=6*h。第二掩码的币子数据组zk则为:
[0401][0402]
然后证明检查如下:
[0403]
在步骤302中,第二终端设备m2将货币数额υk和来自等式(34)的针对y≤d《n的z
k,d
的列表发送给监控实体2。监控实体2在步骤303中检查:是否符合下式:
[0404][0405]
对于失败的检查,该命令将被拒绝。对于成功的检查,监控实体2将证明针对每个z
k,d
存在具有“0”或“1”的相应ad,而不公开值。如果针对每个ad存在“0”或“1”的值,则范围检查成功。为此,使用环签名。利用环签名,任何人都可以针对两个或更多个公钥证明与之对应的私钥是已知的,即:
[0406]
情景1:应适用:
[0407]zk,d
=rd*g
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(38)
[0408]zk,d

:=-h rd*g
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(39)
[0409]
为此,在第二终端设备m2中在步骤304中创建随机数w并且由此计算出:
[0410]
e1:=h(w*g)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(40)
[0411]
其中h是哈希值函数,g是ecc曲线的生成点。随后,终端设备m2创建第二随机数p1,并计算:
[0412]
e0:=h(p1*g-e1*z
k,d

)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(41)
[0413]
p0:=w e0*rdꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(42)
[0414]
并且在步骤305中,将环签名{e0,p0,p0}发送给监控实体2。监控实体2计算:
[0415]
e1=h(p0*g-e0*z
k,d

)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(43)
[0416]
利用等式(39)替换p0并且利用等式(38)替换z
k,d
,得到等式(44):
[0417]
e1=h((w e0*rd)*g-e0*rd*g)=h(w*g),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(44)
[0418]
这对应于原始e1,如在第二终端设备m2中定义的。监控实体2计算:
[0419]
e0‘
=h(p*g-e1*z
k,d

)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(45)
[0420]
并检查e0‘
=e0是否正确。在如下假设的情况下,
[0421]zk,d

=x*h rd*g并且x不等于0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(46)适用:
[0422]
e1=h(p0*g-e0*z
k,d)
=h(w*g-e0*x*h)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(47)
[0423]
由此确定,第二终端设备m2必须找到p1,其中e0=h(s1*g-e1*z
k,d

)。
[0424]
情境2:
[0425]zk,d
=h rd*g
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(48)
[0426]zk,d

:=rd*g
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(49)
[0427]
为此,在步骤307中,在第二终端设备m2中创建和计算随机数w:
[0428]
e2:=h(w*g)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(50)
[0429]
其中h是哈希值函数,g是ecc曲线的生成点。随后,终端设备m2创建第二随机数p0,并计算:
[0430]
e1:=h(p0*g-e2*z
k,d
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(51)
[0431]
p1:=w e1*rdꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(52)
[0432]
在步骤307中,终端设备m2还计算:
[0433]
e0=h(p1*g-e1*z
k,d

)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(53)
[0434]
得到:
[0435]
e0=h((w e1*rd)*g-e1*rd*g)=h(w*g)=e2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(54)
[0436]
在步骤308中,终端设备m2将环签名{e0,p0,p1}发送给监控实体2。监控实体2在步骤309中计算:
[0437]
e1=h(p0*g-e1*z
k,d
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(55)
[0438]
e0‘
=h(p1*g-e1*z
k,d
)
[0439]
并检查e0‘
=e0是否正确。在如下假设的情况下,
[0440]zk,d

=x*h rd*g其中x不等于0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(56)
[0441]
适用:
[0442][0443]
由此确定,第二终端设备m2必须找到p0,其中
[0444][0445]
示例2未以图形方式示出,并且示例性地示出其中位值具有任意底数的示例,即与示例1相反不具有底数2。在假设等式(34)的情况下,适用:
[0446]
在假设b是任意底数的情况下,x的逐位值的表示
[0447]
x=byꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(59)
[0448]
作为将掩码的币子组zk基于位值地分割为z
k,d
的示例来进行,其中
[0449][0450]
其中aj∈{0,

,b}。选择混淆数额r,其中:
[0451][0452]
示例2:例如,掩码的获得的电子币数据组再次为zi=22*h 64*g(类似于步骤301),但是在此,预设值为x=9。资金价值数额υi的三进制表示为2 1 1,其中y=2。
[0453]
因此,资金价值数额υj的三进制表示为0 1 1(当υj=4时)和zj=4*h,考虑资金价值数额υi的右边第y比特。
[0454]
如果资金价值数额υi的第y位等于零,则资金价值数额υk的三进制表示为2 0 0(当υk=18)。第二掩码的币子数据组zk为:
[0455][0456]
然后如下进行证明检查。第二终端设备m2(类似于步骤302)将货币数额υk和来自等式(34)的针对y≤d《n的z
k,d
的列表发送给监控实体2。监控实体2根据等式(37)进行检查(类似于步骤303)。
[0457]
对于失败的检查,命令将被拒绝。对于成功的检查,则由监控实体2证明:针对每个z
k,d
存在具有“0”或“n”(其中0《n《b)的相应ad,而不公开值。如果对于每个ad存在0《n《b的值,则范围检查成功。为此,使用环签名。利用环签名,任何人都可以针对两个或更多个公钥证明与之对应的私钥是已知的。即,环签名可以在2015年6月14号的maxwell等人的“borromean ring signatures”中描述,可以在如下网址中调用:
[0458]
https://github.com/blockstream/borromean_paper/raw/master/borromean_draft_0.01_8c3f9e7.pdf并且针对创建、应用和检查环签名涉及到maxwell等人“borromean ring signatures”的整个公开。
[0459]
在图12和13中示出了根据本发明的方法400的另外的实施例,其涉及第一掩码模式。图12和13一起描述。之前根据方法100、200和300以及各个方法步骤中做出的陈述也适用于该方法400,除非在此做出其他陈述。
[0460]
首先描述用于方法400的币数据组的创建。在步骤101和102中,请求币数据组,并且在发行者实体1方面在创建电子币数据组之后将其提供给第一终端设备m1,也参见图5至7。电子币数据组ci例如具有根据等式(1)的结构。发行者实体1根据等式(3a)关于电子币数据组ci计算准掩码的币数据组zi,该准掩码的币数据组zi具有根据等式(63)的结构:
[0461]
zi={υi;ri}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(63)
[0462]
其中值ri根据等式(64)定义:
[0463]ri
=ri·gꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(64)
[0464]
g(如等式(3)的g那样)是椭圆曲线加密的生成点ecc,即ecc的私钥。发行者实体1在使用发行者实体1的私人签名密钥pk1的情况下根据等式(65)对准掩码的币数据组zi进行签名:
[0465]
[υi;ri]sig(pk1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(65)
[0466]
在步骤103中将签名的准掩码的电子币数据组发送给监控实体2。
[0467]
对于币数据组ck的切换,如下进行。第一终端设备m1在步骤105中将币ck传输给第二终端设备m2。在此示出的方法步骤401至407虽然关于第二终端设备m2进行阐述,但是也可以在第一终端设备m1中执行。
[0468]
在步骤401中,其对应于方法200的步骤201,(可选地)选择掩码模式。为了防止双重输出,设置切换操作(switch),将从第一终端设备m1获得的电子币数据组ck替换为具有相同货币数额的新的电子币数据组c
l
。新的电子币数据组c
l
由第二终端设备m2生成。在这种情况下,币数据组ck的货币数额υk被接受并且不被改变为新的货币数额υ
l
,也参见等式(11)。然后,根据等式(14),将新的混淆数额r
add
添加到所获得的电子币数据组ck的混淆数额rk中,从而获得仅第二终端设备m2知道的混淆数额r
l

[0469]
根据步骤401的选择例如由第一终端设备m1的用户通过终端设备m1上的相应的菜
单控制来进行。选择例如基于系统预设借助在支付系统bz中的预设值x来进行。因此,例如可以最佳地利用支付系统bz的性能,从而可以基于监控实体2中的当前的登记请求量通过相应地选择掩码模式来控制证明检查的开销(也参见步骤207)。选择也可以基于终端设备特性来选择,例如在掩码模式中的一个不支持的情况下可以做出相应的预选。
[0470]
为了不必执行等式(15)和(16)的复杂的证明,现在根据图12在步骤401中选择第三掩码模式用于获得准掩码的电子币数据组。随后,在步骤402中,根据等式(63)、(64)掩码电子币数据组ck,以获得准掩码的电子币数据组zk。此外,根据等式(64)对混淆数额进行加密。
[0471]
然后在步骤403中根据等式(66)创建第一签名:
[0472]
[zk;r
l
]sig(rk)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(66)
[0473]
该第一签名通过在步骤402中创建的准掩码的电子币数据组zk和在步骤402中创建的加密的混淆数额r
l
以混淆数额r
l
作为第一签名的签名密钥来产生。
[0474]
切换(作为修改)优选在发送步骤204之前进行。在步骤404中发送给监控实体2的准掩码的电子币数据组z
l
与在等式(66)中产生的签名一起发送。
[0475]
在监控实体2中可以进行简化的范围检查。这包括两个检查。根据步骤405的第一检查是检查待切换的准掩码的币数据组的有效性(合法性)。这根据前述方式进行。
[0476]
根据步骤406的第二检查用于验证第一签名。为此,将准掩码的币数据组z
l
的加密的混淆数额r
l
用作第一签名的公共验证密钥,并且检查在步骤404中一起传输的第一签名是否根据等式(66)有效。如果两个检查都成功,则币数据组c1被认为是有效的,并且在步骤407中通过监控实体2进行登记。
[0477]
对币数据组ci的分割(作为修改)的检查以与切换类似的方式进行。第一终端设备m1例如在步骤105中将币c1传输给第二终端设备m2。
[0478]
在步骤401中,选择掩码模式。为了不必执行等式(15)和(16)的复杂的证明,现在在步骤401中选择第三掩码模式。随后,在步骤402中,根据等式(6)和(7)分割电子币数据组ci,以便获得第一币子数据组cj和第二币子数据组ck。此外,借助等式(64)将混淆数额ri,rk,r
l
加密为ri,rk和r
l

[0479]
然后在步骤403中根据等式(67)创建第一签名:
[0480]
[zi;zk;z
l
]sig(ri)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(67)
[0481]
分割(修改)优选在发送步骤404之前进行。在步骤404中发送给监控实体2的准掩码的电子币子数据组z
k zj与来自等式(67)的第一签名或相应的连结(参见等式(19a))一起发送:
[0482]
[zi;zk;z
l
]sig(ri);zj;zkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(68)
[0483]
在监控实体2中,现在可以进行简化的范围检查。这包括四个检查。第一个检查是检查待切换的不完全掩码的币数据组的有效性(合法性)。这根据前述方式进行。
[0484]
根据步骤406的第二检查用于验证第一签名。为此,将准掩码的币数据组zi的加密的混淆数额ri用作第一签名的公共验证密钥,并且检查在步骤404中一起传输的第一签名是否根据等式(67)有效。
[0485]
根据等式(69)的第三检查用于证明没有产生附加的资金:
[0486]
υi==υk υ
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(69)
[0487]
然后,第四检查是在监控实体2中的范围检查,其中:
[0488]
υ
min
≤υk≤υ
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(70)
[0489]
υ
min
≤υ
l
≤υ
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(71)
[0490]
如果所有四个检查都成功,则准掩码的币数据组zi无效并且币子数据组zk和z
l
有效并且相应地在监控实体中登记。
[0491]
对将两个币数据组ci和cj连接(作为修改)为连接的币数据组cm的检查以类似的方式进行。在步骤401中,选择掩码模式。为了不必执行等式(15)和(16)的复杂的证明,在步骤401中选择第三掩码模式。相应于等式(63)、(64),借助等式(64)将混淆数额ri,rj,rm加密为ri,rj和rm,以获得zi,zj和zm。然后在步骤403中根据等式(72)创建第一签名:
[0492]
[zi;zj;zm]sig(ri)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(72)
[0493]
然后,在步骤403中,根据等式(72)重新签名第一签名:
[0494]
[[zi;zj;zm]sig(ri)]sig(rj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(73)
[0495]
连接(修改)优选在发送步骤404之前进行。在步骤404中发送给监控实体2的准掩码的电子币子数据组zm与来自等式(74)的签名或相应的连结(参见等式(19a))一起发送:
[0496]
[[zi;zj;zm]sig(ri)]sig(rj);zmꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(74)
[0497]
在监控实体2中,现在可以进行简化的范围检查。这包括四个检查。第一检查是检查待切换的不完全掩码的币数据组的有效性(合法性)。这根据前述方式进行。
[0498]
根据步骤406的第二检查用于验证来自等式(73)的签名和来自等式(72)的第一签名。为此,将准掩码的币数据组zi的加密的混淆数额ri或准掩码的币数据组zj的加密的混淆数额rj分别用作公共验证密钥,并且检查在步骤404中一起传输的一个或多个签名是否根据等式(72)和(73)有效。
[0499]
根据等式(75)的第三检查用于证明没有产生附加的资金:
[0500]
υm==υi υjꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(75)
[0501]
然后,第四检查是在监控实体2中的范围检查,其中:
[0502]
υ
min
≤υm≤υ
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(76)
[0503]
如果所有四个检查都成功,则准掩码的币数据组zi和zj无效并且币数据组zm有效并且相应地在监控实体2中登记。
[0504]
在方法400中删除币数据组在图12和13中未示出。为了删除,终端设备向监控实体2发送相应的删除命令。在监控实体2中,检查发行者实体1的根据等式(65)创建的签名,并且在一致的情况下在监控实体2中发生无效。
[0505]
在本发明的框架内,所有描述和/或绘制和/或要求保护的元素可以任意地相互组合。
[0506]
附图标记列表
[0507]1ꢀꢀ
发行者实体或银行
[0508]2ꢀꢀ
监控实体
[0509]
21
ꢀꢀ
命令条目
[0510]
22a,b
ꢀꢀ
待处理的电子币数据组的条目(先前的)
[0511]
23a,b
ꢀꢀ
经处理的电子币数据组的条目(后续的)
[0512]
24
ꢀꢀ
签名条目
[0513]
25
ꢀꢀ
有效性检查的标记
[0514]
26
ꢀꢀ
计算检查的标记
[0515]
27
ꢀꢀ
范围证明检查的标记
[0516]
28
ꢀꢀ
签名检查的标记
[0517]3ꢀꢀ
直接交易层
[0518]4ꢀꢀ
监控层
[0519]5ꢀꢀ
公共钱包应用程序
[0520]
10,10
‘ꢀ
数据存储器
[0521]
11
ꢀꢀ
显示器
[0522]
12
ꢀꢀ
接口
[0523]
13
ꢀꢀ
计算单元
[0524]
14
ꢀꢀ
保险柜模块
[0525]
15
ꢀꢀ
位置识别模块
[0526]
m1
ꢀꢀ
第一终端设备
[0527]
m2
ꢀꢀ
第二终端设备
[0528]
m3 第三终端设备
[0529]ci
ꢀꢀ
电子币数据组
[0530]cj
,ckꢀꢀ
分割的电子币子数据组,
[0531]cl
ꢀꢀ
待切换的电子币数据组
[0532]cm
ꢀꢀ
待连接/连接的电子币数据组
[0533]
ziꢀꢀ
掩码的电子币数据组
[0534]
zj,zkꢀꢀ
掩码的分割的电子币子数据组
[0535]zl
ꢀꢀ
掩码的待切换的电子币数据组
[0536]
zmꢀꢀ
掩码的待连接的电子币数据组
[0537]
υiꢀꢀ
货币数额
[0538]
υj,υjꢀꢀ
分割的货币数额
[0539]
υ
l
ꢀꢀ
待切换/切换的电子币数据组的货币数额
[0540]
υmꢀꢀ
待连接/连接的电子币数据组的货币数额
[0541]ri
ꢀꢀ
混淆数额,随机数
[0542]rj
,rjꢀꢀ
分割的电子币数据组的混淆数额
[0543]rm
ꢀꢀ
待连接/连接的电子币数据组的混淆数额
[0544]ci*
ꢀꢀ
传输的电子币数据组
[0545]cj*
,c
k*
ꢀꢀ
传输的分割的电子币子数据组,
[0546]zi*
ꢀꢀ
掩码的传输的电子币数据组
[0547]zj*
,z
k*
ꢀꢀ
掩码的传输的分割的电子币数据组
[0548]rꢀꢀ
掩码的混淆数额
[0549]
f(c)
ꢀꢀ
(同态的)单向函数
[0550]
[zi]sig
ꢀꢀ
发行者实体的签名
[0551]
sig
ꢀꢀ
签名的公共验证密钥
[0552]
sig
ꢀꢀ
签名的私人签名密钥
[0553]wꢀꢀ
随机数
[0554]
e,p
ꢀꢀ
环签名的元素
[0555]
x
ꢀꢀ
预设值
[0556]
101-108
ꢀꢀ
根据实施例的方法步骤
[0557]
201-208
ꢀꢀ
根据实施例的方法步骤
[0558]
301-309
ꢀꢀ
根据实施例的方法步骤
[0559]
401-407
ꢀꢀ
根据实施例的方法步骤。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献