用于传达秘密的方法和系统技术方案

技术编号:26800973 阅读:47 留言:0更新日期:2020-12-22 17:20
公开了一种在比特币区块链上传达秘密(k

【技术实现步骤摘要】
【国外来华专利技术】用于传达秘密的方法和系统
本公开涉及一种计算机实现的系统和方法,并且更具体地,涉及一种用于转移数字资产的计算机实现的系统和方法。本专利技术特别适合但不限于基于区块链的数据传输系统。
技术介绍
在本文中,我们使用术语“区块链”来包括所有形式的电子的、基于计算机的分布式账本。这些包括基于共识的区块链和交易链技术、许可和未许可的账本、共享账本及其变体。区块链技术最广为人知的应用是比特币账本,尽管已经提出并开发了其他区块链实施。尽管为了方便和说明的目的在本文中可以提及比特币,但是应当注意,本公开不限于与比特币区块链一起使用,并且替代性的区块链实施和协议落入本公开的范围内。术语“用户”在本文中可以指基于人或基于处理器的资源。区块链是一种点对点的电子账本,其实现为基于计算机的分散式分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一种数据结构,该数据结构对数字资产控制权在区块链系统中的参与者之间的转移进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的散列,使得区块被链接在一起以创建自区块链创建以来已写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入到其输入和输出中的称为脚本的小程序,这些程序指定如何以及由谁可访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈(stack)的脚本语言编写的。为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作以确保每笔交易均有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本来对未花费的交易(UTXO)执行此验证工作。如果锁定和解锁脚本的执行评估为真(TRUE),则该交易有效,并将该交易写入区块链。因此,为了将交易写入区块链,其必须:i)由接收交易的第一个节点验证–如果交易被验证,则该节点将其中继到网络中的其他节点;ii)被添加到矿工建造的新区块中;iii)被开采,即添加到过去交易的公共账本中。尽管区块链技术因使用加密货币实施而闻名,但是数字企业家已开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据来实施新系统。如果区块链可以用于不限于加密货币领域的自动化任务和流程,那将是非常有利的。这样的方案将能够利用区块链的好处(例如,事件、分布式处理等的永久性、防篡改记录),同时在其应用程序中更具通用性。在各方之间交换数据的情况下,通常期望数据文件的接收方能够仅访问选择的一个或有限数量的文件,而不能使数据的发送方知道访问了哪个文件。这种布置被称为遗忘传输(ObliviousTransfer),并且在下面参照图1至图3进行描述。参照图1,“遗忘传输”是一种用于控制对资源(文件、数据库记录或任何其他数字资产)的访问并以增强的隐私性来传输该资源的方法。遗忘传输的基本问题是定义一种机制,其中发送方不应该知道在发送给接收方的许多文件中接收方打开了哪个文件。爱丽丝(Alice)是发送方,鲍勃(Bob)是接收方,m是消息,b是消息的索引。爱丽丝发送许多消息,鲍勃选择他希望接收和解码的消息。爱丽丝不知道鲍勃选择了哪一个。参照图2,可以通过考虑迪菲-赫尔曼(DH)(Diffie-Hellman)密钥交换[10]来定义基本机制。从CDH(核心迪菲-赫尔曼(CoreDiffieHellman))密钥交换中可以看出,如图2所示,清楚正在交换哪些密钥,因此,根据迪菲-赫尔曼协议,清楚将解密哪个消息。C是加密的消息,E是使用私钥K和消息m的参数的加密函数,D是使用加密消息C和私钥K的参数的解密函数。在某些情况下,第三方知道哪个消息正在被解密可能导致数据安全性降低,从而可能导致未经授权的第三方访问数据。现在参照图3,描述了DH机制的变体以适应遗忘传输。可以看出,接收方将多个密钥发送回发送方,只有一个是真实密钥,其他是“虚拟”或冗余密钥。图3所示的布置与图2所示的标准核心迪菲-赫尔曼(CDH)协议之间的主要区别在于,密钥从鲍勃传回爱丽丝,其取决于位“b”的值。该计算由鲍勃完成。然后,爱丽丝基于她从鲍勃那里接收到的密钥构造了两个密钥。爱丽丝将这两个密钥发回给鲍勃。然后,鲍勃能够使用他从爱丽丝接收到的密钥以及从爱丽丝传给他的先前值计算出的密钥来解密从爱丽丝接收到的消息。与图2的布置的情况一样,E是加密算法,D是解密算法。鲍勃只能解密其中一个消息对,而其他组合是“虚拟”消息,因此不起作用。可以看出,使用迪菲-赫尔曼机制的变体,爱丽丝对鲍勃解密的消息保持“遗忘”。在此示例中,鲍勃仅可以解密两个可能消息中的一个。因此,期望通过提供适用于区块链的遗忘传输机制来提高数据安全性。现已设计出这样的改善的方案。
技术实现思路
因此,根据本公开,提供了如所附权利要求中限定的方法和系统。可以提供一种从发送方向接收方传达至少一个秘密的方法,所述方法包括:从发送方向接收方发送信息,所述信息标识接收方可选择的多个秘密;在发送方处从接收方接收至少一个第一公钥,第一公钥对应于被接收方选择用于访问的相应的第一所述秘密,其中,第一公钥或每个所述第一公钥是椭圆曲线密码系统的公钥/私钥对的一部分,与所述第一公钥对应的第一私钥对接收方是可访问的;在发送方处从接收方接收至少一个第二公钥,第二公钥对应于未被接收方选择用于访问的相应的第二所述秘密,其中,第二公钥或每个所述第二公钥是所述椭圆曲线密码系统的公钥,与所述第二公钥对应的相应的第二私钥对接收方是不可用的;从发送方向接收方发送通过对应的所述第一公钥加密的至少一个所述第一秘密;以及从发送方向接收方发送通过对应的所述第二公钥加密的至少一个所述第二秘密;其中,第一秘密或每个所述第一秘密是所述接收方通过对应的所述第一私钥可访问的,第二秘密或每个所述第二秘密对所述接收方是不可访问的,所述发送方不能区分所述第一秘密和所述第二秘密。可以提供一种接收从发送方发送到接收方的至少一个秘密的方法,所述方法包括:在接收方处接收信息,所述信息标识接收方可选择的多个秘密;从接收方向发送方发送至少一个第一公钥,第一公钥对应于被接收方选择用于访问的相应的第一所述秘密,其中,第一公钥或每个所述第一公钥是椭圆曲线密码系统的公钥/私钥对的一部分,与所述第一公钥对应的第一私钥对接收方是可访问的;从接收方向发送方发送至少一个第二公钥,第二公钥对应于未被接收方选择用于访问的相应的第二所述秘密,其中,第二公钥或每个所述第二公钥是所述椭圆曲线密码系统的公钥,与所述第二公钥对应的相应的第二私钥对接收方是不可用的;在接收方处从发送方接收通过对应的所述第一公钥加密的至少一个所述第一秘密;以及在接收方处从发送方接收通过对应的所述第二公钥加密的至少一个所述第二秘密;其中,第一秘密或每个所述第一秘密是所述接收方通过对应的所述第一私钥可访问的,第二秘密或每个所述第二秘密对所述接收方是不可访问的,所述发送方不能区分所述第一秘密和所述第二秘密。可以提供一种系统,包括:处理器;以及存储器,包括可执行指令,本文档来自技高网
...

【技术保护点】
1.一种从发送方向接收方传送至少一个秘密的方法,所述方法包括:/n从发送方向接收方发送信息,所述信息标识接收方可选择的多个秘密;/n在发送方处从接收方接收至少一个第一公钥,第一公钥对应于被接收方选择用于访问的相应的第一所述秘密,其中,所述第一公钥或每个所述第一公钥是椭圆曲线密码系统的公钥/私钥对的一部分,与所述第一公钥对应的第一私钥对接收方是可访问的;/n在发送方处从接收方接收至少一个第二公钥,第二公钥对应于未被接收方选择用于访问的相应的第二所述秘密,其中,所述第二公钥或每个所述第二公钥是所述椭圆曲线密码系统的公钥,与所述第二公钥对应的相应的第二私钥对接收方是不可用的;/n从发送方向接收方发送通过对应的所述第一公钥加密的至少一个所述第一秘密;以及/n从发送方向接收方发送通过对应的所述第二公钥加密的至少一个所述第二秘密;/n其中,所述第一秘密或每个所述第一秘密是所述接收方通过对应的所述第一私钥可访问的,所述第二秘密或每个所述第二秘密对所述接收方是不可访问的,所述发送方不能区分所述第一秘密和所述第二秘密。/n

【技术特征摘要】
【国外来华专利技术】20180514 GB 1807822.0;20180514 IB PCT/IB2018/053351.一种从发送方向接收方传送至少一个秘密的方法,所述方法包括:
从发送方向接收方发送信息,所述信息标识接收方可选择的多个秘密;
在发送方处从接收方接收至少一个第一公钥,第一公钥对应于被接收方选择用于访问的相应的第一所述秘密,其中,所述第一公钥或每个所述第一公钥是椭圆曲线密码系统的公钥/私钥对的一部分,与所述第一公钥对应的第一私钥对接收方是可访问的;
在发送方处从接收方接收至少一个第二公钥,第二公钥对应于未被接收方选择用于访问的相应的第二所述秘密,其中,所述第二公钥或每个所述第二公钥是所述椭圆曲线密码系统的公钥,与所述第二公钥对应的相应的第二私钥对接收方是不可用的;
从发送方向接收方发送通过对应的所述第一公钥加密的至少一个所述第一秘密;以及
从发送方向接收方发送通过对应的所述第二公钥加密的至少一个所述第二秘密;
其中,所述第一秘密或每个所述第一秘密是所述接收方通过对应的所述第一私钥可访问的,所述第二秘密或每个所述第二秘密对所述接收方是不可访问的,所述发送方不能区分所述第一秘密和所述第二秘密。


2.根据权利要求1所述的方法,还包括:通过对应的所述第一公钥来加密至少一个所述第一秘密,并且通过对应的所述第二公钥来加密至少一个所述第二秘密。


3.根据权利要求2所述的方法,其中,至少一个所述第一秘密和至少一个所述第二秘密通过相应的专用或密码进行加密。


4.根据权利要求3所述的方法,其中,至少一个所述专用或密码具有基于对应的所述第一公钥或第二公钥的相应的加密密钥。


5.根据权利要求4所述的方法,其中,至少一个所述加密密钥包括通过标量椭圆曲线点乘法与发送方已知的相应的第一加密整数或第二加密整数相乘的对应的所述第一公钥或第二公钥。


6.根据权利要求5所述的方法,还包括:从所述发送方向所述接收方发送通过对应的所述第一公钥或第二公钥加密的至少一个所述第一加密整数和/或第二加密整数。


7.根据前述权利要求中的任一项所述的方法,其中,至少一个所述第一秘密是通过相应的第三公钥加密的,第三公钥包含通过椭圆曲线点加法加至相应的第一加密项的相应的第一掩蔽项,第一掩蔽项包括椭圆曲线密码系统的椭圆曲线发生器点与发送方已知的相应的第一掩蔽整数的标量乘法的结果。


8.根据权利要求7所述的方法,其中,至少一个所述第一加密项包括椭圆曲线发生器点与基于对应的所述第一公钥的相应的第三加密整数的标量乘法的结果。


9.根据权利要求8所述的方法,其中,至少一个所述第三加密整数是对应的所述第一公钥的散列值。


10.根据权利要求7至9中的任一项所述的方法,其中,至少一个所述第二秘密是通过相应的第四公钥加密的,第四公钥包含通过椭圆曲线点加法加至相应的第二加密项的相应的第二掩蔽项,第二掩蔽项包括椭圆曲线密码系统的椭圆曲线发生器点与发送方已知的相应的第二掩蔽整数的标量乘法的结果。


11.根据权利要求10所述的方法,其中,至少一个所述第二加密项包括椭圆曲线发生器点与基于对应的所述第二公钥的相应的第四加密整数的标量乘法的结果。


12.根据权利要求11所述的方法,其中,至少一个所述第四加密整数是对应的所述第二公钥的散列值。


13.根据前述权利要求中的任一项所述的方法,其中,至少一个所述第一公钥和/或第二公钥能从对应的所述第二公钥和/或第一公钥确定。


14.根据前述权利要求中的任一项所述的方法,还包括:生成至少一个要在发送方与接收方之间共享的第三秘密。


15.根据权利要求13和14所述的方法,其中,至少一个所述第一公钥和/或第二公钥基于对应的所述第二公钥和/或第一公钥和至少一个所述第三秘密。


16.根据前述权利要求中的任一项所述的方法,还包括:在所述发送方处,检查从接收方接收的至少一个所述第一公钥和/或第二公钥与从接收方接收的对应的所述第二公钥和/或第一公钥的一致性。


17.根据前述权利要求中的任一项所述的方法,其中,至...

【专利技术属性】
技术研发人员:C·S·赖特
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:安提瓜和巴布达;AG

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1