联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

HASH GAME - Online Skill Game ET 300数据加密方法、装置、计算机设备及存储介质pdf

发布时间:2025-02-25 12:46:12  点击量:

  HASH GAME - Online Skill Game GET 300

HASH GAME - Online Skill Game GET 300数据加密方法、装置、计算机设备及存储介质pdf

  2、密方法、 装置、 计算机设备及存储介 质 (57)摘要 本申请实施例提供了一种数据加密方法、 装 置、 计算机设备及计算机可读存储介质。 本申请 实施例实现数据加密时, 通过根据预设规则将待 加密数据划分为不同数据域, 通过第一预设方式 生成根密钥, 并获取初始向量和步长, 基于根密 钥、 初始向量和步长通过第二预设方式衍生出多 个子密钥, 使用子密钥对数据域进行加密, 以实 现对同一条业务数据的多个数据域进行分开加 密, 从而实现对同一条业务数据的多个数据域使 用对应的子密钥单独授权, 相对于传统技术中, 在同一条业务数据中, 若仅希望被授权方只能访 问部分内容的需求而必须将数据进行拆分以单。

  3、 独上链的处理方式, 可以大大提高加密数据处理 的效率和访问的便捷性。 权利要求书2页 说明书11页 附图4页 CN 110061840 A 2019.07.26 CN 110061840 A 1.一种数据加密方法, 其特征在于, 所述方法包括: 获取待加密数据; 根据预设规则将所述待加密数据划分为不同数据域; 通过第一预设方式生成根密钥, 并获取初始向量和步长; 基于所述根密钥、 所述初始向量和步长通过第二预设方式衍生出多个子密钥; 使用所述子密钥对所述数据域进行加密。 2.根据权利要求1所述数据加密方法, 其特征在于, 所述根据预设规则将所述待加密数 据划分为不同数据域的步骤包括: 将所述。

  4、待加密数据转换成键值对; 以每一个键值对作为一个数据域将所述待加密数据划分为多个数据域。 3.根据权利要求1所述数据加密方法, 其特征在于, 所述获取待加密数据的步骤包括: 获取JSON格式的待加密数据; 所述根据预设规则将所述待加密数据划分为不同数据域的步骤包括: 将所述JSON格式的待加密数据中的每一个键值对作为一个数据域以将所述待加密数 据划分为多个数据域。 4.根据权利要求3所述数据加密方法, 其特征在于, 所述获取JSON格式的待加密数据的 步骤之后, 还包括: 将JSON格式的所述待加密数据进行扁平化处理后得到一维的JSON格式的待加密数据。 5.根据权利要求1所述数据加密方法, 。

  5、其特征在于, 所述基于所述根密钥、 所述初始向 量和步长通过第二预设方式衍生出多个子密钥的步骤包括: 使用所述根密钥和所述初始向量进行密钥衍生得到第一子密钥; 根据所述初始向量和所述步长的预设函数关系得到第二初始向量; 使用所述根密钥和所述第二初始向量进行密钥衍生得到第二子密钥; 根据所述第二初始向量和所述步长的所述预设函数关系得到第三初始向量; 使用所述根密钥和所述第三初始向量进行密钥衍生得到第三子密钥; 循环上述过程, 直至衍生出预设数量子密钥。 6.根据权利要求5所述数据加密方法, 其特征在于, 所述预设函数关系为预设线所述数据加密方法, 其特征在于, 。

  6、所述使用所述子密钥对所述数据域 进行加密的步骤之后, 还包括: 根据所述数据域对应的子密钥和所述数据域的数据密文获得哈希消息; 以所述哈希消息中前预设数量字节的字符作为哈希消息校验码。 8.一种数据加密装置, 其特征在于, 包括: 第一获取单元, 用于获取待加密数据; 划分单元, 用于根据预设规则将所述待加密数据划分为不同数据域; 生成单元, 用于通过第一预设方式生成根密钥, 并获取初始向量和步长; 衍生单元, 用于基于所述根密钥、 所述初始向量和步长通过第二预设方式衍生出多个 子密钥; 加密单元, 用于使用所述子密钥对所述数据域进行加密。 权利要求书 1/2 页 2 CN 110061840。

  7、 A 2 9.一种计算机设备, 其特征在于, 所述计算机设备包括存储器以及与所述存储器相连 的处理器; 所述存储器用于存储计算机程序; 所述处理器用于运行所述存储器中存储的计 算机程序, 以执行如权利要求1-7任一项所述数据加密方法的步骤。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机程 序, 所述计算机程序被处理器执行时使所述处理器执行如权利要求1-7中任一项所述数据 加密方法的步骤。 权利要求书 2/2 页 3 CN 110061840 A 3 数据加密方法、 装置、 计算机设备及存储介质 技术领域 0001 本申请涉及信息安全的加密技术领域, 尤其涉及。

  8、一种数据加密方法、 装置、 计算机 设备及计算机可读存储介质。 背景技术 0002 区块链网络中的各个节点中需要共享数据, 为了防止自己的敏感数据被区块链中 的其它节点随意访问, 必须将自己的数据加密上链, 对需要了解自己数据的节点采取授权 密钥的方式。 被授权节点在拿到密钥后可以查看在链上的密钥对应的加密数据。 传统的加 密授权方式, 采用一文一密的方式, 一次授权, 必须是整条业务数据同时被授权, 这样保证 了每条加密数据的整体安全性和独立性。 比如, 请参阅图1, 图1(a)所示为在一份商业合同 中, 有一条业务数据包括业务方名称、 业务方的ID号、 业务方评级以及本次合同的货品单价 等。

  9、, 也就是该条业务数据包括企业名称、 企业ID、 企业评级和货单价。 传统技术中, 对该条业 务数据一般采用一文一密的方式, 也就是将该条业务数据包括的企业名称、 企业ID、 企业评 级和货单价采用一个密钥进行加密, 如图1(a)所示, 在图1(a)就是采用统一的密钥DataKey 对该条数据进行加密, 密钥DataKey授权给对方后, 获得密钥DataKey的被授权方通过该密 钥DataKey可以访问该条业务数据包括的企业名称、 企业ID、 企业评级和货单价等所有内 容。 0003 但在实际业务需求中, 有时在同一条业务数据中, 仅希望被授权方只能查看该同 一条业务数据的部分内容, 比如, 。

  10、在交易谈成之前,甲方仅希望乙方能够查看业务方的企业 名称、 企业ID等信息, 对企业评级等信息视情况是否允许对方查看, 对于合同的货品单价在 合同最终谈成之前并不希望乙方查看,在这样的情况下,传统技术中必须把这份商业合同 的同一条业务数据拆分为三条数据,将希望对方查看的数据通过一个密钥加密上链, 将根 据情况确定是否允许乙方查看的数据通过另一个密钥加密上链, 而不希望被乙方查看的部 分通过第三个密钥加密上链。 请继续参阅图1中的(a)和(b), 如果要对图(a)所示的同一条 业务数据中的不同内容进行分别授权时, 传统技术中通常需要采取图(b)所示的方式, 就必 须将同一条业务数据拆分开为三条独。

  11、立的业务条数据发送到区块链上, 比如, 将企业名称 和企业ID采用密钥DataKey1进行加密后单独上链, 将企业评级采用密钥DataKey2进行加密 后单独上链, 将货单价采用密钥DataKey3进行加密后单独上链, 从而实现将企业名称和企 业ID、 企业评级及货单价分别进行授权。 采取这种将业务数据进行拆分以使部分数据单独 上链的处理方式, 对于业务方而言,需要将业务数据拆分而管理多条数据, 并且由于这些多 条数据属于同一份合同中的业务数据, 还需要管理这些多条数据之间的关系, 这样的操作 比较复杂, 给业务端的加密数据处理带来了很大的麻烦, 降低了加密数据处理的效率。 发明内容 0004。

  12、 本申请实施例提供了一种数据加密方法、 装置、 计算机设备及计算机可读存储介 质, 能够解决传统技术中由于需要对加密数据分别授权进行数据拆分而导致对加密数据处 说明书 1/11 页 4 CN 110061840 A 4 理效率较低的问题。 0005 第一方面, 本申请实施例提供了一种数据加密方法, 所述方法包括: 获取待加密数 据; 根据预设规则将所述待加密数据划分为不同数据域; 通过第一预设方式生成根密钥, 并 获取初始向量和步长; 基于所述根密钥、 所述初始向量和步长通过第二预设方式衍生出多 个子密钥; 使用所述子密钥对所述数据域进行加密。 0006 第二方面, 本申请实施例还提供了一种数。

  13、据加密装置, 包括: 第一获取单元, 用于 获取待加密数据; 划分单元, 用于根据预设规则将所述待加密数据划分为不同数据域; 生成 单元, 用于通过第一预设方式生成根密钥, 并获取初始向量和步长; 衍生单元, 用于基于所 述根密钥、 所述初始向量和步长通过第二预设方式衍生出多个子密钥; 加密单元, 用于使用 所述子密钥对所述数据域进行加密。 0007 第三方面, 本申请实施例还提供了一种计算机设备, 其包括存储器及处理器, 所述 存储器上存储有计算机程序, 所述处理器执行所述计算机程序时实现所述数据加密方法。 0008 第四方面, 本申请实施例还提供了一种计算机可读存储介质, 所述计算机可读存。

  14、 储介质存储有计算机程序, 所述计算机程序被处理器执行时使所述处理器执行所述数据加 密方法。 0009 本申请实施例提供了一种数据加密方法、 装置、 计算机设备及计算机可读存储介 质。 本申请实施例实现数据加密时, 通过根据预设规则将所述待加密数据划分为不同数据 域, 通过第一预设方式生成根密钥, 并获取初始向量和步长, 基于所述根密钥、 所述初始向 量和步长通过第二预设方式衍生出多个子密钥, 使用所述子密钥对所述数据域进行加密, 以实现对同一条业务数据的多个数据域进行分开加密, 从而实现对同一条业务数据的多个 数据域使用对应的子密钥单独授权, 进一步实现对同一条业务数据的不同数据域实现单独 。

  15、访问, 相对于传统技术中, 在同一条业务数据中, 若仅希望被授权方只能访问部分内容的需 求而必须将数据进行拆分以单独上链的处理方式, 可以大大提高加密数据处理的效率和访 问的便捷性。 附图说明 0010 为了更清楚地说明本申请实施例技术方案, 下面将对实施例描述中所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图是本申请的一些实施例, 对于本领域普 通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其它的附图。 0011 图1为本申请实施例提供的现有技术中数据加密方式示意图; 0012 图2为本申请实施例提供的数据加密方法的应用场景示意图; 0013 图3为本。

  16、申请实施例提供的数据加密方法的流程示意图; 0014 图4为本申请实施例提供的数据加密方法中三种加密方式对比示意图; 0015 图5为本申请实施例提供的数据加密装置的示意性框图; 0016 图6为本申请实施例提供的数据加密装置的另一个示意性框图; 以及 0017 图7为本申请实施例提供的计算机设备的示意性框图。 具体实施方式 0018 下面将结合本申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完 说明书 2/11 页 5 CN 110061840 A 5 整地描述, 显然, 所描述的实施例是本申请一部分实施例, 而不是全部的实施例。 基于本申 请中的实施例, 本领域普通技术人员在。

  17、没有做出创造性劳动前提下所获得的所有其它实施 例, 都属于本申请保护的范围。 0019 应当理解, 当在本说明书和所附权利要求书中使用时, 术语 “包括” 和 “包含” 指示 所描述特征、 整体、 步骤、 操作、 元素和/或组件的存在, 但并不排除一个或多个其它特征、 整 体、 步骤、 操作、 元素、 组件和/或其集合的存在或添加。 0020 还应当理解, 在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目 的而并不意在限制本申请。 如在本申请说明书和所附权利要求书中所使用的那样, 除非上 下文清楚地指明其它情况, 否则单数形式的 “一” 、“一个” 及 “该” 意在包括复数形式。 0。

  18、021 还应当进一步理解, 在本申请说明书和所附权利要求书中使用的术语 “和/或” 是 指相关联列出的项中的一个或多个的任何组合以及所有可能组合, 并且包括这些组合。 0022 请参阅图2, 图2为本申请实施例提供的数据加密方法的应用场景示意图。 所述应 用场景包括: 0023 (1)区块链中的多个终端。 图2所示的区块链中包含有6个终端, 假如终端1上有加 密数据需要上传到区块链中, 以供区块链中的其它终端共享加密数据, 终端1上的数据经通 过本申请实施例中的数据加密方法加密后上传到链上, 区块链中的其它终端在得到授权后 可以从链上获取加密数据以实现对加密数据的访问, 其中需要上传加密数据的。

  19、终端1执行 本申请实施例中的数据加密方法的步骤, 所述终端可以为笔记本电脑、 平板电脑, 智能手机 或者台式电脑等电子设备。 0024 图2中的各个主体工作过程如下: 终端1获取待加密数据, 根据预设规则将所述待 加密数据划分为不同数据域, 通过第一预设方式生成根密钥, 并获取初始向量和步长, 基于 所述根密钥、 所述初始向量和步长通过第二预设方式衍生出多个子密钥, 使用所述子密钥 对所述数据域进行加密, 待加密数据经过加密后上传到区块链中, 区块链中的其它终端2至 终端6中的任一终端在得到终端1的授权后, 可以根据获得授权的权限访问对应的加密数 据, 比如, 若子密钥3对数据域3的数据进行加。

  20、密, 终端5获得子密钥3, 终端5就可以访问区块 链中子密钥3对应的数据域3的加密数据。 0025 需要说明的是, 图2中仅仅示意出台式电脑和智能手机作为终端, 在实际操作过程 中, 终端的类型不限于图2中所示, 所述终端还可以为笔记本电脑、 智能手表或者平板电脑 等电子设备, 上述数据加密方法的应用场景仅仅用于说明本申请技术方案, 并不用于限定 本申请技术方案, 上述连接关系还可以有其它形式。 0026 请参阅图3和图4, 图3为本申请实施例提供的数据加密方法的示意性流程图, 图4 为本申请实施例提供的数据加密方法中三种加密方式对比示意图, 图4包括图(a)、 图(b)及 图(c)三个图。 。

  21、该数据加密方法应用于图2中的需要上传加密数据到区块链上的终端中, 以 完成数据加密方法的全部或者部分功能。 0027 请参阅图3, 图3是本申请实施例提供的数据加密方法的流程示意图。 如图3所示, 该方法包括以下步骤S310-S350: 0028 S310、 获取待加密数据; 0029 S320、 根据预设规则将所述待加密数据划分为不同数据域。 0030 其中, 数据域是指使用一个密钥进行加密以进行独立授权的数据的取值范围, 比 说明书 3/11 页 6 CN 110061840 A 6 如, JSON格式中的一个键值对作为一个数据域, 再比如, 图3中企业评级和货单价两列数据 组成一个数据域。

  22、。 其中, JSON, 英文为JavaScript Object Notation, JS对象简谱, 是一种轻 量级的数据交换格式, JSON数据的书写格式是: 名称/值对。 0031 预设规则是指将待加密数据拆分为多个部分以得到不同数据域的依据。 , 比如, 若 待加密数据采用JSON格式, 可以根据JSON格式中的键值对将待加密数据拆分为不同的部分 以得到不同的数据域, 也就是将JSON格式中的每一个键值对作为一个数据域。 0032 具体地, 区块链中的节点获取待加密数据, 将所述待加密数据根据预设规则划分 为不同的数据域以实现对待加密数据精细粒度的加密, 以便后续对不同的数据域实现灵活 。

  23、授权。 比如, 将同一个业务属性的数据采用JSON的格式, 对于JSON的每一个键值对(也就是 Key-Value对)作为一个数据域(英文为Field)单独加密,由此, 每个Field都会有一个独立 的数据域密钥作为子密钥, 子密钥也就是FieldKey密钥,并可以对这个FieldKey进行单独 授权,这样被授权方就可以读取同一个业务中的某些数据而不需要将该业务数据进行拆分 其中, Key为对象的属性, Value为对应的属性值。 0033 进一步地, 可以将采用非键值对格式的数据转化为键值对格式数据以便根据所述 键值对将所述待加密数据划分为不同的数据域。 若所述待加密数据为非键值对格式, 所。

  24、述 根据预设规则将所述待加密数据划分为不同数据域的步骤包括: 0034 将所述待加密数据转换成键值对; 0035 以每一个键值对作为一个数据域将所述待加密数据划分为多个数据域。 0036 具体地, 根据所述待加密数据的格式, 将所述待加密数据转换成键值对的格式, 也 就是将所述加密数据中的对象作为Key, 将所述对象的值或者属性作为Value。 比如, 若所述 待加密数据为数组格式, 将此数据的数组格式转化成JSON对象后, Key值是数组中的索引, Value是数组对应的值。 将所述待加密数据转换成键值对后, 以每一个键值对作为一个数据 域将所述待加密数据划分为多个数据域以进一步通过对不同数。

  25、据域的加密实现对所述数 据域对应的数据的灵活授权。 0037 另外, 若所述待加密数据是JSON格式, 直接获取JSON格式的待加密数据, 进而将所 述JSON格式的待加密数据中的每一个键值对作为一个数据域以将所述待加密数据划分为 多个数据域。 进一步地, 若所述待加密数据的JSON报文格式比较复杂, 比如所述待加密数据 采取JSON套用JSON的情况, 所述获取JSON格式的待加密数据的步骤之后, 还包括: 0038 将JSON格式的所述待加密数据进行扁平化处理后得到一维的JSON格式的待加密 数据。 0039 具体地, 由于所述待加密数据的JSON报文格式比较复杂, 比如, 所述待加密数据。

  26、采 取JSON套用JSON的情况, 节点将业务层发送的JSON报文格式进行扁平化, 也就是业务端传 到区块链二级节点的JSON报文格式非常复杂,有JSON套用JSON的情况,所以需要对JSON套 用JSON的复杂情况进行扁平化处理,将所述待加密数据的复杂JSON格式打平为一维的JSON 格式, 以一个二维的JSON格式为例, 进行扁平化的过程中涉及的程序如下: 0040 所述待加密数据在扁平化之前的格式为: 说明书 4/11 页 7 CN 110061840 A 7 0041 0042 所述待加密数据经过扁平化以后的格式为: 0043 0044 0045 可见, 整个所述待加密数据一共由7个K。

  27、ey-Value对组成, 通过根据键值对将所述 说明书 5/11 页 8 CN 110061840 A 8 待加密数据划分为不同数据域, 每个Key-Value就是一个Field。 0046 S330、 通过第一预设方式生成根密钥, 并获取初始向量和步长。 0047 具体地, 节点生成一个密码学安全的随机数为DataKey, 将所述DataKey作为根密 钥。 同时通过密码学生成一个初始向量, 一般的使用上会要求该初始向量是随机数或伪随 机数(Pseudorandom), 使用乱数产生的初始向量才能达到语义安全, 步长可以为预先设置 的固定步长, 也可以为随机产生的一个步长。 其中, 在密码学。

  28、的领域里, 初始化向量, 英语: InitializationVector, 缩写为IV, 或称为初向量, 又称初始变量, 英文为Starting Variable, 缩写为SV, 是一个固定长度的输入值, 一般的使用上会要求它是随机数或拟随机 数(Pseudorandom)。 步长, 又称为步长因子, 英文为Step Length Facto。 0048 S340、 基于所述根密钥、 所述初始向量和步长通过第二预设方式衍生出多个子密 钥; 0049 其中, 所述衍生是指通过第二预设方式生成以根密钥为基础的子密钥的方式。 在 本申请实施例中, 所述衍生是指基于根密钥通过根密钥、 初始向量和步长。

  29、之间的预设关系 生成多个子密钥的方式。 0050 具体地, 在本申请实施例中, 基于所述根密钥、 所述初始向量和步长通过第二预设 方式衍生出多个子密钥, 是指使用所述根密钥和所述初始向量进行密钥衍生得到第一个子 密钥, 根据所述初始向量和所述步长的预设函数关系得到第二初始向量, 使用所述根密钥 和所述第二初始向量进行密钥衍生得到第二子密钥, 根据所述第二初始向量和所述步长的 所述预设函数关系得到第三初始向量, 使用所述根密钥和所述第三初始向量进行密钥衍生 得到第三子密钥, 循环上述过程, 直至衍生出预设数量子密钥。 比如根据所述初始向量和步 长的预设线性函数关系获得第二初始向量, 根据所述第二。

  30、初始向量和所述步长的所述预设 函数关系得到第三初始向量, 使用所述根密钥和所述初始向量进行密钥衍生得到第一子密 钥, 使用所述根密钥和所述第二初始向量进行密钥衍生得到第二子密钥, 使用所述根密钥 和所述第三初始向量进行密钥衍生得到第三子密钥, 循环上述过程, 直至衍生出预设数量 子密钥。 对FeildKey的生成方法, 具体包括以下过程: 首先生成一个密码学安全的随机数为 DataKey,并生成当前的初始向量IV以及当前的Filed步长StepFactor,根密钥与初始向量 满足预设数学关系, 衍生出FieldKey, 比如, FieldKeyDataKey+f(IV), 然后使用DataKe。

  31、y 为根密钥, IV为初识向量,进行密钥衍生得到第一个FieldKey1, 然后,以StepFactor为步 长,将IV作为一个基数,计算IV2IV+StepFactor,再以DataKey为根密钥, IV2为初识向量, 得到第二个FieldKey2, 以此类推衍生出多个子密钥。 0051 在一个实施例中, 本申请实施例提供的精细粒度的加密数据授权方法, 可以对同 一条业务数据的多个数据域进行分开授权, 通过将同一个业务属性的数据采用JSON的格 式,而对于JSON的每一个Key-Value对作为一个数据域Field单独加密, 由此, 每个Field都 会有一个独立的FieldKey密钥,并可。

  32、以对这个FieldKey进行单独授权,这样被授权方就可 以读取同一个业务中的某些数据,却不需要将该业务进行拆分, 同时,对于该条数据有且仅 有一个DataKey,其所有的FieldKey, 都是由DataKey通过密钥衍生的方式得到, 并不需要在 区块链二级节点本地存储所有的FieldKey,而仅需要存储DataKey即可。 请继续参阅图4, 比 如对于图4(a)所示为在一份商业合同中, 有一条业务数据包括业务方名称、 业务方的ID号、 业务方评级以及本次合同的货品单价等, 请参阅图4(c), 对于该条数据有且仅生成一个 说明书 6/11 页 9 CN 110061840 A 9 DataKe。

  33、y,将DataKey作为根密钥, 其所有的FieldKey,都是由DataKey通过密钥衍生的方式 得到, 此时不需要在区块链二级节点本地存储所有的FieldKey,而仅需要存储DataKey即 可, 由DataKey根据预设关系即可推算出子密钥, 可以大大较小存储和管理的数据量, 提高 密码安全性的同时提高密码管理的效率。 请继续参阅图4, 采用本申请实施例的方法生成的 加密结果如图4(c)所示, 相比图4(b)所示的传统技术中多个数据的单独加密, 本申请实施 例中数据加密方式可以大大减小密码生成的数据量, 提高密码管理的效率和存储效率。 0052 S350、 使用所述子密钥对所述数据域进行。

  34、加密。 0053 具体地, 使用所述子密钥对所述数据域进行加密的形式有多种, 只要能控制对每 个数据域单独进行授权和访问即可。 一般的情况下, 对一个数据域使用一个子密钥进行加 密, 对不同的数据域使用不同的子密钥对应加密, 使用子密钥将每部分数据域分别对应加 密, 以使每部分数据域使用对应的子密钥进行访问, 从而实现对每部分数据域的单独授权 和访问。 比如, 请继续参阅图4(c)所示, 使用FieldKey1对企业名称进行加密以使用 FieldKey1对企业名称进行单独访问, 使用FieldKey2对企业ID进行加密以使用FieldKey2 对企业ID进行单独访问, 使用FieldKey3对。

  35、企业评级进行加密以使用FieldKey3对企业评级 进行单独访问, 使用FieldKey4对货单价进行加密以使用FieldKey4对货单价进行单独访 问, 从而对不同的数据域使用不同的子密钥分别对应加密, 进而实现对同一条业务数据的 不同数据域使用单独的密钥进行单独授权和访问。 0054 在一个实施例中, 所述使用所述子密钥对所述数据域进行加密的步骤之后, 还包 括: 0055 根据所述数据域对应的子密钥和所述数据域的数据密文获得哈希消息; 0056 以所述哈希消息中前预设数量字节的字符作为哈希消息校验码。 0057 具体地, 根据所述数据域对应的子密钥和所述数据域的数据密文获得哈希消息, 以。

  36、所述哈希消息中前预设数量字节的字符作为哈希消息校验码。 比如, 使用生成的 FieldKey对相应的数据域进行加密, 同时以当前的FeildKey为密钥,为每个加密的数据密 文计算HMAC,为了减少区块链的存储,可以最后取该HMAC的前4个字节,作为最后的校验码 HMAC, 最后,将所有数据域的加密密文和校验码HMAC发送到区块链上。 当要进行某个数据域 单独授权的时候,可以将该FieldKey直接授权给对方,而对方收到FieldKey后,可以首先对 区块链上的数据校验HMAC是否正确,由此确保该FieldKey是正确的。 如果需要将该业务下 的所有FieldKey全部授权,可以直接将Data。

  37、Key、 IV及StepFactor直接授权给对方,则对方 可以计算出所有的FieldKey并解密全部的数据。 其中, 哈希消息认证码, 英文为Hash-based Message Authentication Code, 缩写为HMAC, 又可以称为哈希消息校验码, HMAC是密钥相 关的哈希运算消息认证码, HMAC运算利用哈希算法, 以一个密钥和一个消息为输入, 生成一 个消息摘要作为输出。 0058 在本申请实施例中提供了一种精细粒度的加密数据授权方式, 使得业务端能够对 业务数据进行一次加密处理就可以单独的灵活控制该业务数据中不同部分数据的授权, 以 实现哪些部分数据可以被查看, 哪。

  38、些部分数据不可以被查看, 哪些数据在交易谈判过程中 在什么时间允许用户查看, 以提高对业务数据掌控的灵活性和处理效率, 从而可以实现精 细粒度的加密数据授权方法以对同一条业务数据中的不同数据域进行单独授权。 0059 需要说明的是, 上述各个实施例所述的数据加密方法, 可以根据需要将不同实施 说明书 7/11 页 10 CN 110061840 A 10 例中包含的技术特征重新进行组合, 以获取组合后的实施方案, 但都在本申请要求的保护 范围之内。 0060 请参阅图5, 图5为本申请实施例提供的数据加密装置的示意性框图。 对应于上述 数据加密方法, 本申请实施例还提供一种数据加密装置。 如图。

  39、5所示, 该数据加密装置包括 用于执行上述数据加密方法的单元, 该装置可以被配置于服务器等计算机设备中。 具体地, 请参阅图5, 该数据加密装置500包括第一获取单元501、 划分单元502、 生成单元503、 衍生单 元504及加密单元505。 0061 其中, 第一获取单元501, 用于获取待加密数据; 0062 划分单元502, 用于根据预设规则将所述待加密数据划分为不同数据域; 0063 生成单元503, 用于通过第一预设方式生成根密钥, 并获取初始向量和步长; 0064 衍生单元504, 用于基于所述根密钥、 所述初始向量和步长通过第二预设方式衍生 出多个子密钥; 0065 加密单元。

  40、505, 用于使用所述子密钥对所述数据域进行加密。 0066 请参阅图6, 图6为本申请实施例提供的数据加密装置的另一个示意性框图。 如图6 所示, 所述划分单元502包括: 0067 转换子单元5021, 用于将所述待加密数据转换成键值对; 0068 划分子单元5022, 用于以每一个键值对作为一个数据域将所述待加密数据划分为 多个数据域。 0069 在一个实施例中, 所述第一获取单元501, 用于获取JSON格式的待加密数据; 0070 所述划分单元502, 用于将所述JSON格式的待加密数据中的每一个键值对作为一 个数据域以将所述待加密数据划分为多个数据域。 0071 请继续参阅图6, 。

  41、如图6所示, 所述数据加密装置500还包括: 0072 处理单元506, 用于将JSON格式的所述待加密数据进行扁平化处理后得到一维的 JSON格式的待加密数据。 0073 请继续参阅图6, 如图6所示, 所述衍生单元504包括: 0074 第一衍生子单元5041, 用于使用所述根密钥和所述初始向量进行密钥衍生得到第 一子密钥; 0075 第一得到子单元5042, 用于根据所述初始向量和所述步长的预设函数关系得到第 二初始向量; 0076 第二衍生子单元5043, 用于使用所述根密钥和所述第二初始向量进行密钥衍生得 到第二子密钥; 0077 第二得到子单元5044, 用于根据所述第二初始向量和。

  42、所述步长的所述预设函数关 系得到第三初始向量; 0078 第三衍生子单元5045, 用于使用所述根密钥和所述第三初始向量进行密钥衍生得 到第三子密钥; 0079 循环子单元5046, 用于循环上述过程, 直至衍生出预设数量子密钥。 0080 在一个实施例中, 所述预设函数关系为预设线所示, 所述数据加密装置500还包括: 0082 第二获取单元507, 用于根据所述数据域对应的子密钥和所述数据域的数据密文 说明书 8/11 页 11 CN 110061840 A 11 获得哈希消息; 0083 得到单元508, 用于以所述哈希消息中前预设数量字节。

  43、的字符作为哈希消息校验 码。 0084 需要说明的是, 所属领域的技术人员可以清楚地了解到, 上述数据加密装置和各 单元的具体实现过程, 可以参考前述方法实施例中的相应描述, 为了描述的方便和简洁, 在 此不再赘述。 0085 同时, 上述数据加密装置中各个单元的划分和连接方式仅用于举例说明, 在其它 实施例中, 可将数据加密装置按照需要划分为不同的单元, 也可将数据加密装置中各单元 采取不同的连接顺序和方式, 以完成上述数据加密装置的全部或部分功能。 0086 上述数据加密装置可以实现为一种计算机程序的形式, 该计算机程序可以在如图 7所示的计算机设备上运行。 0087 请参阅图7, 图7是。

  44、本申请实施例提供的一种计算机设备的示意性框图。 该计算机 设备700可以是台式机电脑或者服务器等计算机设备, 也可以是其它设备中的组件或者部 件。 0088 参阅图7, 该计算机设备700包括通过系统总线、 存储器和网 络接口705, 其中, 存储器可以包括非易失性存储介质703和内存储器704。 0089 该非易失性存储介质703可存储操作系统7031和计算机程序7032。 该计算机程序 7032被执行时, 可使得处理器702执行一种上述数据加密方法。 0090 该处理器702用于提供计算和控制能力, 以支撑整个计算机设备800的运行。 0091 该内存储器704为非。

  45、易失性存储介质703中的计算机程序7032的运行提供环境, 该 计算机程序7032被处理器702执行时, 可使得处理器702执行一种上述数据加密方法。 0092 该网络接口705用于与其它设备进行网络通信。 本领域技术人员可以理解, 图7中 示出的结构, 仅仅是与本申请方案相关的部分结构的框图, 并不构成对本申请方案所应用 于其上的计算机设备700的限定, 具体的计算机设备700可以包括比图中所示更多或更少的 部件, 或者组合某些部件, 或者具有不同的部件布置。 例如, 在一些实施例中, 计算机设备可 以仅包括存储器及处理器, 在这样的实施例中, 存储器及处理器的结构及功能与图7所示实 施例一。

  46、致, 在此不再赘述。 0093 其中, 所述处理器702用于运行存储在存储器中的计算机程序7032, 以实现如下步 骤: 获取待加密数据; 根据预设规则将所述待加密数据划分为不同数据域; 通过第一预设方 式生成根密钥, 并获取初始向量和步长; 基于所述根密钥、 所述初始向量和步长通过第二预 设方式衍生出多个子密钥; 使用所述子密钥对所述数据域进行加密。 0094 在一实施例中, 所述处理器702在实现所述根据预设规则将所述待加密数据划分 为不同数据域的步骤时, 具体实现以下步骤: 0095 将所述待加密数据转换成键值对; 0096 以每一个键值对作为一个数据域将所述待加密数据划分为多个数据域。。

  47、 0097 在一实施例中, 所述处理器702在实现所述获取待加密数据的步骤时, 具体实现以 下步骤: 0098 获取JSON格式的待加密数据; 0099 所述处理器702在实现所述根据预设规则将所述待加密数据划分为不同数据域的 说明书 9/11 页 12 CN 110061840 A 12 步骤时, 具体实现以下步骤: 0100 将所述JSON格式的待加密数据中的每一个键值对作为一个数据域以将所述待加 密数据划分为多个数据域。 0101 在一实施例中, 所述处理器702在实现所述获取JSON格式的待加密数据的步骤之 后, 还实现以下步骤: 0102 将JSON格式的所述待加密数据进行扁平化处理。

  48、后得到一维的JSON格式的待加密 数据。 0103 在一实施例中, 所述处理器702在实现所述基于所述根密钥、 所述初始向量和步长 通过第二预设方式衍生出多个子密钥的步骤时, 具体实现以下步骤: 0104 使用所述根密钥和所述初始向量进行密钥衍生得到第一子密钥; 0105 根据所述初始向量和所述步长的预设函数关系得到第二初始向量; 0106 使用所述根密钥和所述第二初始向量进行密钥衍生得到第二子密钥; 0107 根据所述第二初始向量和所述步长的所述预设函数关系得到第三初始向量; 0108 使用所述根密钥和所述第三初始向量进行密钥衍生得到第三子密钥; 0109 循环上述过程, 直至衍生出预设数量。

  49、子密钥。 0110 在一实施例中, 所述预设函数关系为预设线 在一实施例中, 所述处理器702在实现所述使用所述子密钥对所述数据域进行加 密的步骤之后, 还实现以下步骤: 0112 根据所述数据域对应的子密钥和所述数据域的数据密文获得哈希消息; 0113 以所述哈希消息中前预设数量字节的字符作为哈希消息校验码。 0114 应当理解, 在本申请实施例中, 处理器702可以是中央处理单元(Central Processing Unit, CPU), 该处理器702还可以是其它通用处理器、 数字信号处理器(Digital Signal Processor, DSP)、 专用集成。

  50、电路(Application Specific Integrated Circuit, ASIC)、 现成可编程门阵列(Field-Programmable Gate Array, FPGA)或者其它可编程逻辑 器件、 分立门或者晶体管逻辑器件、 分立硬件组件等。 其中, 通用处理器可以是微处理器或 者该处理器也可以是任何常规的处理器等。 0115 本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程, 是可以通过计算机程序来完成, 该计算机程序可存储于一计算机可读存储介质。 该计算机 程序被该计算机系统中的至少一个处理器执行, 以实现上述方法的实施例的流程步骤。 0116 因。

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: