本发明涉及一种区块链广播加密系统与广播加密方法,属于区块链。
背景技术:
1、在区块链系统中,智能合约通常会包含一些敏感数据,例如个人身份信息、财务信息等,这些数据需要进行保护以避免被未经授权的第三方访问或篡改,广播加密技术。广播加密技术通过将数据加密后并分发给多个接收节点来实现保护,只有当足够多的接收节点解密并提交解密结果给智能合约时,才能访问或修改该数据,可以用于智能合约中的隐私保护和访问控制。此外,通过区块链广播时的多重签名,可以确保解密和访问操作得到足够多的授权,从而进一步增强区块链系统安全性和可靠性。
2、要在区块链引入广播加密机制需要在智能合约设计中定义广播加密密文、公钥、签名等加密数据结构,定义解密和验证签名等操作。同时,智能合约需要使用多重签名地址来实现访问控制逻辑,只有当足够多的用户签署多重签名后才能访问或修改数据,以确保只有授权用户才能访问或修改加密数据。
技术实现思路
1、发明要解决的技术问题
2、本发明针对区块链引入广播加密机制所面对的问题,提出一种区块链广播加密系统与广播加密方法。
3、技术方案
4、为达到上述目的,本发明提供的技术方案为:
5、一种区块链广播加密系统,由密钥管理模块、广播加密模块、智能合约模块、认证授权模块、通信模块组成,其中:
6、密钥管理模块:用于密钥管理,支持用户对其密钥进行生成、更新、导入、导出、删除操作;
7、广播加密模块:用于实现本发明的广播加密算法,实现广播信息的加密解密;
8、智能合约模块:用于实现区块链智能合约以及多重签名功能,包括执行合约、查询合约状态、更新合约状态;
9、认证授权模块:用于验证用户身份并授权其访问智能合约模块与密钥管理模块;
10、通信模块:用于实现系统内部各个模块之间的通信以及系统与外部的通信,系统支持各种通信协议,如http、tcp/ip、websocket等。
11、使用上述区块链广播加密系统的广播加密方法,步骤为:
12、步骤1,系统智能合约模块生成一个由多个公钥组成的多重签名地址;
13、步骤2,广播加密模块使用步骤1所生成的多重签名地址对数据进行加密,在加密数据结构中添加一个表示数据存储地址信息的字段;
14、步骤3,广播加密模块指定能够对信息解密的私钥数量,通过系统通信模块广播给区块链网络中的所有接收节点,在发送时在信息加密数据结构中添加一个表示数据发送时间的发送时间戳;
15、步骤4,接收节点接收到数据后使用本节点的私钥对数据进行解密,对步骤1所生成的多重签名地址进行签名并发送给其它接收节点进行验证,验证通过后智能合约模块将验证成功的签名存储在签名集合中;
16、步骤5,接收节点基于数据接收时间与步骤3中所生成的发送时间戳计算该发送节点的广播时延,并确定广播至本接收节点时延较小的若干发送节点为特定节点;
17、步骤6,区块链网络中所有接收节点执行步骤4、5的操作,在所有接收节点完成之后将签名集合中的重复签名进行去重操作,当集合中签名数量达到预定值时,智能合约模块将所有的签名进行合并得到一个最终签名。
18、进一步地,当存储对象为文件时,步骤2中数据存储地址信息按照从小到大或从大到小的方式排列。
19、进一步地,当存储对象为一个数据库表时,步骤2中在加密数据结构中添加一个表示该数据库表主键值的字段。
20、进一步地,步骤2中对地址信息进行哈希处理后添加到加密数据结构中。
21、有益效果
22、本发明为在区块链智能合约中引入广播加密机制并提出了一种有效的实现系统与方法,通过地址存储信息字段的加入实现了加密信息的快速访问;
23、本发明方法通过在广播加密方法中引入多重签名等机制,有效保证了广播加密过程中区块链系统的稳定性与安全性;
24、本发明方法通过加解密阶段的时间戳确定广播特定节点进而建立信息存储与重传机制,有效降低了区块链广播网络开销。
1.一种区块链广播加密系统,其特征在于,由密钥管理模块、广播加密模块、智能合约模块、认证授权模块、通信模块组成,
2.一种使用如权利要求1所述区块链广播加密系统的区块链广播加密方法,其特征在于,包含以下步骤:
3.如权利要求2所述的一种区块链广播加密方法,其特征在于,当存储对象为文件时,所述步骤s2中数据存储地址信息按照从小到大或从大到小的方式排列。
4.如权利要求2所述的一种区块链广播加密方法,其特征在于,当存储对象为一个数据库表时,所述步骤s2中在加密数据结构中添加一个表示该数据库表主键值的字段。
5.如权利要求2所述的一种区块链广播加密方法,其特征在于,所述步骤s2中对地址信息进行哈希处理后添加到加密数据结构中。