基于数据隐私保护的极性编码的制作方法

文档序号:31393480发布日期:2022-09-03 02:52阅读:69来源:国知局
基于数据隐私保护的极性编码的制作方法

1.本公开的示例实施例总体上涉及加密领域,具体地涉及用于数据加密和解密的设备、方法、装置和计算机可读存储介质。


背景技术:

2.数据安全在数字世界中非常重要。尤其是为诸如智能工厂之类的工业场景部署第五代(5g)无线系统时,命令和控制(c&c)信号需要适当的加密才能免受网络攻击和未经授权的访问。从发送者传送到接收方的数据可以通过密码加密来保护。传统的加密算法包括高级加密标准(aes)、数据加密标准(des)等等。


技术实现要素:

3.一般而言,本公开的示例实施例提供用于数据加密和解密的设备、方法、装置和计算机可读存储介质。
4.在第一方面,提供了一种设备,其包括至少一个处理器和至少一个存储器,包括计算机程序代码。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使设备获得第一密码密钥和第二密码密钥。第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合。然后使设备通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成密码向量。该设备还被使得组合数据向量和密码向量以用于对数据向量进行加密。
5.在第二方面,提供了一种设备,其包括至少一个处理器和至少一个存储器,包括计算机程序代码。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使设备获得第一密码密钥和第二密码密钥。第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合。然后使该设备通过基于第一和第二密码密钥对加密数据向量进行极性解码来得出数据向量和密码向量的组合。密码向量是通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码而生成的。该设备还被使得从数据向量和密码向量的组合中获得数据向量。
6.在第三方面,提供了一种数据加密方法。在该方法中,获得第一密码密钥和第二密码密钥。第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合。通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成密码向量。数据向量和密码向量被组合以用于对数据向量进行加密。
7.在第四方面,提供了一种数据解密方法。在该方法中,获得第一密码密钥和第二密码密钥。第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合。通过基于第一密码密钥和第二密码密钥对加密数据向量进行极性解码来得出数据向量和密码向量的组合。密码向量是通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码而生成的。从数据向量和密码向量的组合中获得数据向量。
8.在第五方面,提供了一种装置,包括用于执行根据第三或第四方面的方法的部件。
9.在第四方面,提供了一种计算机可读存储介质,包括存储在其上的程序指令。指令在由设备的处理器执行时使设备执行根据第三或第四方面的方法。
10.应当理解,发明内容部分并非旨在标识本公开的示例实施例的关键或必要特征,也不旨在被用来限制本公开的范围。通过以下描述,本公开的其他特征将变得容易理解。
附图说明
11.现在将参考附图描述一些示例实施例,其中:
12.图1图示了示例信道极化现象;
13.图2(a)、图2(b)和图2(c)分别图示了具有一个、二个和三个极化的示例极性编码结构;
14.图3图示了在其中可以实现本公开的示例实施例的示例环境;
15.图4图示了根据本公开的一些示例实施例的数据加密示例方法的流程图;
16.图5图示了根据本公开的一些其他示例实施例的示例数据加密方法的流程图;
17.图6图示了根据本公开的一些示例实施例的示例数据解密方法的流程图;
18.图7图示了根据本公开的一些示例实施例的使用深度优先算法的示例解密过程;和
19.图8图示了适于实现本公开的示例实施例的设备的简化框图。
20.在整个附图中,相同或相似的附图标记表示相同或相似的元件。
具体实施方式
21.现在将参考一些示例实施例来描述本公开的原理。应当理解,这些示例性实施例仅出于说明的目的而被描述,并帮助本领域技术人员理解和实现本公开,并不意味着对本公开范围的任何限制。除了下面描述的方式以外,可以以各种方式来实现本文所描述的公开。
22.在以下描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常所理解的相同含义。
23.如本文中所使用的,术语“加密器”是指能够对数据或其一部分进行加密的任何合适的设备。术语“解密器”是指能够对加密数据或其一部分进行解密的任何合适的设备。加密器和解密器的示例包括但不限于个人计算机、膝上型计算机、平板电脑、个人数字助理、刀片(blade)、服务器、智能手机、膝上型嵌入式设备(lee)、膝上型安装式设备(lme)、客户场所设备(cpe)、传感器、计量设备、个人可穿戴设备和/或能够计算的车辆。在本文中,术语“编码”和“加密”可以互换使用,并且术语“解码”和“解密”可以互换使用。
24.如本文中所使用的,术语“电路系统”可以指的是以下中的一项或多项或全部:
25.(a)纯硬件电路实现(诸如仅在模拟和/或数字电路系统中的实现),和
26.(b)硬件电路和软件的组合,诸如(如果适用的话):(i)(多个)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)具有软件的(多个)硬件处理器的任何部分(包括(多个)数字信号处理器)、软件和(多个)存储器,它们一起工作以使装置(诸如移动电话或服务器)执行各种功能),和
27.(c)需要软件(例如固件)来进行操作的(多个)硬件电路和/或(多个)处理器,诸如(多个)微处理器或(多个)微处理器的一部分,但在操作不需要它时该软件可能不存在。
28.电路系统的这种定义应用于该术语在本技术中的所有使用,包括在任何权利要求中的所有使用。作为另一示例,如在本技术中使用的,术语电路系统还涵盖仅硬件电路或处理器(或多个处理器)或硬件电路或处理器的一部分及它(或它们)随附软件和/或固件的实现。举例而言并且在适用于特定权利要求元素的情况下,术语电路系统还涵盖用于移动设备的基带集成电路或处理器集成电路,或者服务器、蜂窝基站或其他计算或基站中的类似集成电路。
29.如本文所使用的,除非上下文另外明确指出,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。术语“包括”及其变体应被解读为意指“包括但不限于”的开放术语。术语“基于”应被解读为“至少部分地基于”。术语“一个实施例”和“实施例”应被解读为“至少一个实施例”。术语“另一个实施例”应被解读为“至少一个其他实施例”。其他定义,无论是显式的还是隐式的,都可以被包括在下面。
30.如本文中所使用的,在本文中可以使用术语“第一”、“第二”等来描述各种元素,这些元素不应受这些术语的限制。这些术语仅用于区分一个元素与另一个元素。例如,在不脱离示例实施例的范围的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。如本文中所使用的,术语“和/或”包括的一个或多个所列术语的任何和所有组合。
31.极性码已在3gpp中被标准化为5g无线系统的错误控制码。极性码是基于信道极化理论来设计的。
32.图1示出了示例信道极化现象100。在这个示例中,在重复和递归极性编码之后,信道被极化,其中信道的大多数样本具有由互信息值“0”或“1”表示的对称容量。互信息值“1”指示信道100%可靠,而互信息值“0”指示信道100%噪声。如图1中所示的几个样本具有介于0和1之间的互信息值。如果样本的数量达到无穷大,则信道极化现象可能是理想的。
33.图2(a)、图2(b)和图2(c)分别示出了具有一个、两个和三个极化的示例极性编码结构200、205和210。模块215(由w来标示)表示信道,ui表示输入,并且xi表示输出(i=1、2、

、n,其中n是任何合适的正整数)。如果输入ui和输出xi分别以向量u和x的形式来布置,则图2(a)到图2(c)中所描绘的递归极化可以被概括并由等式(1)表达如下:
34.x=ug
ꢀꢀ
(1)
35.其中极化矩阵g是2
×
2矩阵的克罗内克n次方,并且x是输入向量u的极化版本,也就是说,包含加密数据的向量。
36.当g的维度超过u的尺寸时,改为使用g的子矩阵,其用g
aa
表示。g
aa
中第i行、第j列的元素取自集合a,也就是说,i∈a,j∈a。集合a表示用于指示在给定序列中携带输入数据比特的位置的索引集合。a的互补集合由表示,其指示未针对子矩阵g
aa
选择的行和列的索引。
37.建议使用极化理论进行数据加密。例如,可以经由极性码的编码和解码过程等价地实现加密和解密。然而,传统的加密方法依赖于矩阵变换,并且因此很复杂。所建议的加密和解密复杂度在o(nlogn)的数量级,其中n是输入二进制数据序列的长度,o(.)是标准朗
道表示法。
38.发明人发现等式(1)的输出x可以被视为两个分开且独立的部分,如下:
39.x=[u c]
ꢀꢀ
(2)
[0040]
第二部分c可以相应地被表示为
[0041][0042]
因此,等式(1)等价于等式(2)和等式(3)。
[0043]
等式(3)具有以下数学属性:
[0044]
1.项g
aa
始终为空,与g的维数和a无关。因此,等式(3)可以被重写如下:
[0045][0046]
2.向量v可以是任意向量。换言之,向量v的值对极化现象没有影响。
[0047]
本公开的示例实施例提出了一种基于极化理论的新颖的数据加密方案。该方案利用两个或多个密码密钥对数据进行极性编码,以提供多密码安全机制。因此,数据的解密或解码需要所有这些密钥都是正确的。如果任何一个密码密钥不正确,则解密将失败。如此,缺少(多个)正确密钥的未经授权的接收方无法解密和读取原始数据。
[0048]
根据本公开的示例实施例,密码密钥(称为第一密码密钥)包括密码元素的向量,并且另外的密码密钥(称为第二密码密钥)包括索引集合,诸如集合a或与极化矩阵(诸如g)的子集矩阵相对应。在一些示例实施例中,索引集合可以指示密码元素的向量中的哪些密码元素将被用于数据向量的加密和/或解密。例如,具有索引对应于索引集合的相应索引的密码元素将被使用。
[0049]
如果密码元素的向量或索引集合不正确,则在解密或解码期间将出现以下错误情况:
[0050]
1.一个元素是从不正确的密码元素的向量中提取的,并且具有由来自不正确索引集合中的对应索引所指示的不正确位置。
[0051]
2.一个元素是从不正确的密码元素的向量中提取的,但是具有由来自正确索引集合中的对应索引所指示的正确位置。
[0052]
3.一个元素是从一个正确的密码元素的向量中提取的,但是具有由来自不正确索引集合中的对应索引所指示的不正确位置。
[0053]
在上述任何一种情况下,都将无法成功解密或解码。例如,如果插入了不正确的密码元素或将密码元素插入到由索引集合中的索引所指示的不正确位置,则解码或解密将失败。如此,根据本公开的示例实施例的多密码安全机制显著提高了数据保护和安全性。
[0054]
图3示出了可以在其中实现本公开的示例实施例的示例环境300。
[0055]
环境300包括加密器310和解密器320。加密器310和解密器320可以由任何合适的具有数据加密和解密功能的设备来实现。加密器310可以以无线或有线方式将数据传送到解密器320。数据传送可以遵循任何合适的无线和/或有线通信标准或协议并且采用任何合适的无线和/或有线通信技术。
[0056]
在本公开的各种示例实施例中,从加密器310到解密器320的数据传送使用极化理论。具体地,加密器310使用至少两个密码密钥对数据执行极性编码,以生成用于数据加密
的密码。因此,解密器320使用这些密码密钥进行数据解密。没有正确密码密钥的接收方将无法解密数据。
[0057]
图4示出了根据本公开的一些示例实施例的数据加密的示例方法400的流程图。方法400可以由图3中所示的加密器310来实现。出于讨论的目的,将参考图3描述方法400。
[0058]
在块405,加密器310获得至少两个密码密钥,分别称为第一密码密钥和第二密码密钥。第一密码密钥包括密码元素的向量,并且第二密码密钥包括与诸如g之类的极化矩阵的子集矩阵相对应的索引集合。在一些示例实施例中,第一密码密钥可以通过任意向量v来实现,并且第二密码密钥可以由集合a或来实现。
[0059]
密码密钥可以由加密器310以任何合适的方式来获得。在一些示例实施例中,可以预定义或预先确定密码密钥中的一个或两个密码密钥。例如,(多个)密码密钥可以由制造方烧录到加密器310和解密器320的固件中。对于每个个体加密器和解密器对,(多个)烧录的密码密钥可能是唯一的。这提供了固件级别的数据保护和安全性。第三方接收方无法拦截和解码加密信息。
[0060]
在一些示例实施例中,密码密钥中的一个或两个密码密钥可以例如由系统管理员动态地配置。例如,(多个)密码密钥可以物理地被包括在密码本中并由经授权的系统管理员来配置。已配置的(多个)密码密钥可以时不时地更改以提高数据安全性。
[0061]
在一些示例实施例中,可以以不同的方式配置两个密码密钥以最小化安全漏洞的可能性。例如,可以将一个密钥烧录到加密器310和解密器320的固件中,以提供固件级别的第一级安全性。另一密码密钥可以被包括在已配置的密码本中,以使得可以定期地更改这个密码密钥以提供另一级安全性。
[0062]
在一些示例实施例中,加密器310可以随机选择一个或两个密码密钥用于数据加密,以进一步提高数据安全性。在这种情况下,加密器310可以经由安全手段(安全离线传送信道或安全在线传送信道)向解密器320指示或传送所选择的(多个)密码密钥以进行数据解密。
[0063]
在获得密码密钥之后,在块410,加密器310通过基于极化矩阵和至少第一密码密钥和第二密码密钥对数据向量进行极性编码来生成密码向量。在本文中可以应用任何合适的极性编码算法。在第一密码密钥由向量v实现并且索引集合由信息集合a或实现的示例实施例中,等式(4)可以被用于数据向量u的极性编码,并且将密码向量生成为c。也可以使用等式(3)或任何其他极性编码算法。
[0064]
在一些示例实施例中,加密器310可以从密码元素的向量生成密码元素的子向量以进一步改进数据隐私保护。密码元素的子向量可以由加密器310随机选择。
[0065]
备选地,可以基于作为第二密码密钥的索引集合来选择密码元素的子向量。例如,索引集合可以指示密码元素的向量中的哪些密码元素将被用于加密和解密。因此,子向量的密码元素的索引与索引集合的索引相对应。在这种情况下,在子向量中插入不正确的元素或在子向量中插入索引不正确的元素将导致解密失败。如此,可以显著提高数据安全性。
[0066]
在块415,加密器310组合数据向量和所生成的密码向量以加密数据向量。可以以任何合适的方式组合数据和密码向量。例如,加密器310可以使用等式(2)来连结数据和密码向量。作为另一示例,数据和密码向量可以由加密器310根据规则进行交织。因此,加密器310可以将规则指示或传送给解密器320以进行数据解密。
[0067]
根据本公开的示例实施例,加密器310在数据的加密期间采用至少两个密码密钥。为了成功解码加密数据,接收方需要所有密码密钥。任何密钥的不正确性都将导致解密失败。只有当所有密钥都正确时,加密数据才能被正确地解密。
[0068]
图5示出了根据本公开的一些示例实施例的示例过程500的流程图。过程500可以是如图4中所示的方法400的示例实现。为了讨论的目的,将参考图3描述过程500。
[0069]
在过程500在块505开始之后,在块510,加密器310随机选择集合a作为第二密码密钥并且选择任意向量v作为第一密码密钥。在块515,加密器310应用等式(4)和两个密码密钥a和v来对数据向量(被表达为向量u)进行编码并得出密码向量c,然后应用等式(2)来连结u和c以用于构建加密数据向量(被表达为向量x)。在块520,加密器310通过由a定义的索引来将连结的u和c的每个元素指派给x。在块525,加密器310通过由冻结集合定义的索引将连结的u和c的每个元素指派给x。块520和525的指派也可以在u和c的连结之前执行。然后,方法500在块530结束。
[0070]
在接收方一侧,加密数据被通信媒体扭曲并被噪声破坏。解密器320可以使用现有的或将来开发的任何合适的解码方法来解密数据。
[0071]
图6示出了根据本公开的一些示例实施例的数据解密的示例方法600的流程图。方法600可以由图3中所示的解密器320来实现。出于讨论的目的,将参考图3描述方法600。
[0072]
在块605,解密器320获得第一密码密钥和第二密码密钥。第一密码密钥包括密码元素的向量,并且第二密码密钥包括与诸如g之类的极化矩阵的子集矩阵相对应的索引集合。密码密钥可以由解密器320以任何合适的方式获得。例如,在可以预定义或预先确定密码密钥中的一个或两个密码密钥的示例实施例中,解密器320可以预先知道(多个)密码密钥。作为另一示例,例如,(多个)密码密钥可以由系统管理员动态地配置。备选地或附加地,可以从加密器310接收(多个)密码密钥。
[0073]
在块610,解密器320通过基于第一密码密钥和第二密码密钥对加密数据向量进行极性解码来得出数据向量和密码向量的组合。在加密器310处通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成密码向量。数据和密码向量的组合可以通过数据和密码向量的连结、数据和密码向量的交织以及任何其他组合形式来实现。
[0074]
在块615,解密器320从数据和密码向量的组合中获得数据向量。数据向量的恢复可以基于由加密器310使用的组合形式来实现。在加密器310按照特定规则对数据和密码向量进行交织的示例实施例中,解密器320可以接收来自加密器310的规则并使用该规则从交织的数据和密码向量中得出数据向量。
[0075]
作为示例,解密器320可以在数据解密期间采用连续消除极性解码。下面将讨论连续消除极性解码的示例过程。
[0076]
假设接收方x的扰乱和失真版本被标示为y,并且标示长度为n=2n的向量y。进一步假设标示子向量(ai......aj),其中当j《i时被认为是无效的,标示子向量(ai......aj),其中仅选择具有偶数索引的元素,并且标示子向量(ai......aj),其中仅选择具有奇数索引的元素。此外,u的解密版本被标示为
[0077]
y的解密可以被视为一种以递归的方式执行的连续消除,以基于和来恢复关键部分是计算似然比(lr)。lr是一种条件概率。从最简单的情况开始,如图2(a)中所示,如果模块215(用w标示)被视为黑盒,并且使用转移概率来定义w的输入和输出之间的关系,则输出y1,y2的条件概率可以被写成如下:
[0078]
对于y1,
[0079]
对于y2,
[0080]
图2(b)和图2(c)图示了重复且递归地应用极化的场景。这些场景可以通过将等式(5)和(6)扩展到任何n≥0,n=2n,1≤i≤n的情况来制定,如下,
[0081]
对于奇数索引比特,
[0082][0083]
对于偶数索引比特,
[0084][0085]
使用第一密码密钥和第二密码密钥从第一比特到最后一比特以连续方式执行解密过程。例如,在第i比特的解密期间,解密器320观察接收到的y和先前解密的信息比特并生成估计可以认为解密器320由n个决策元素(de)组成,每个de用于一个源元素ui。这些de以1到n的顺序被激活。如果则元素ui是已知的。因此,在第一密码密钥由向量v实现并且第二密码密钥由集合实现的示例实施例中,当第i个de被激活时,第i个de为了索引f搜索向量以使得然后,第i个de简单地设置并将这个结果发送给所有后续的de。如果i∈a,则第i个de等待直到它接收到先前的决策在接收后,第i个de计算似然比(lr)如下:
[0086][0087]
第i个de将其决策生成为:
[0088][0089]
然后将决策发送到所有后续的de。这是一个单遍算法,没有修改估计。该算法的复杂度主要由计算lr的复杂度来确定,即以标准朗道表示法所表达的o(nlogn)。
[0090]
使用递归公式(7)和(8)的简单计算被给出如下:
[0091]
对于奇数索引比特,
[0092][0093]
对于偶数索引比特,
[0094][0095]
长度为n的lr的计算被简化为长度为n/2的两个lr的计算。这种递归可以继续下降到块长度1,此时lr的形式为其可以被直接计算。
[0096]
如上面参考图3至图5所描述的加密器310处的所有操作和特征都同样适用于解密器320并且具有相似的效果。为简化起见,将省略细节。
[0097]
图7示出了根据本公开的一些示例实施例的使用深度优先算法的示例解密过程700。如图所示,每个节点705-k(k=1,2,

,32)表示解密器320的de,并且数字k指示要被激活的de的顺序。
[0098]
根据本公开的示例实施例,只有当解密器320知晓两个或更多密码密钥时,解密器320才能正确地解密数据。例如,在第一密码密钥是密码元素集合并且第二密码密钥是索引集合以指示密码元素集合中的哪些密码元素将被用于数据加密的示例实施例中,解密器320需要知道被用于数据加密的正确密码元素的正确索引。
[0099]
解密过程以连续的方式来执行,这意味着当前比特值的决策取决于前一比特的解码结果。此外,术语“连续”还意味着以连续的顺序处理每个比特。一旦访问了某个比特,就将永远不会再次(重新)访问该比特。换句话说,解密程序是顺序的,这意味着它是一个单遍过程。一旦一比特被解密(即使结果是错误的),就没有机会再回头看。因此,如果发生决策错误,则无法被纠正。这些特性在数学上被示出在等式(5)~(12)中。结果,只有当两个密码密钥都合法时,才能正确解密。否则,即使发生单个决策错误,则整个数据也会受到损害,因为无法修正错误解密的比特。即使是单个比特错误也将不可避免地导致灾难性的解码/解密结果。
[0100]
对于穷举搜索攻击,主动攻击者通常会不断检查密钥空间中的所有可能密钥,直到他或她成功找到预期的(正确)密钥。利用所提出的方案,假设要被传送的原始二进制数据长度为准备用于传输的加密二进制数据长度为加密开销可以被制定为
例如,比特,ρ=1/3。集合的维度是341比特。因此,组合的总数为2
341
。此外,在解密期间,来自集合中的每个元素都必须被插入正确的位置。这个341比特长度的开销可以被分散并位于1024比特之中的可能位置的任意组合处,即因此,在最坏情况下的总尝试次数应至少为这个数字是天文数字,并且因此攻击是不可行的。
[0101]
通过精心设计整个系统机制,可以容易地规避消息重发攻击和选择明文攻击。例如,使用不同的信息集合a进行初始传输和第一次重传,则可以规避消息重发攻击。
[0102]
图8是适于实现本公开的示例实施例的设备800的简化框图。设备800可以由加密器310实现或包括加密器310,或由解密器320实现或包括解密器320。
[0103]
如图所示,设备800包括处理器810和耦合到处理器810的存储器820。存储器820至少存储程序830,假设该程序包括程序指令,该程序指令在由关联的处理器810执行时,使设备800能够根据本公开的示例实施例进行操作,如在本文中参考图3至图7所讨论的。本文中的示例实施例可以通过可由设备800的处理器810执行的计算机软件、或者通过硬件、或者通过软件和硬件的组合来实现。处理器810可以被配置为实现本公开的各种示例实施例。
[0104]
存储器820可以是适合于本地技术网络的任何类型并且可以使用任何适合的数据存储技术来实现,作为非限制性示例,诸如非瞬态计算机可读存储介质、基于半导体的存储设备、磁存储器设备和系统、光学存储器设备和系统、固定存储器和可移动存储器。虽然在设备800中仅图示了一个存储器820,但是在设备800中可以存在若干物理上分离的存储器模块。处理器810可以是适合于本地技术网络的任何类型,并且作为非限制性示例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(dsp)和基于多核处理器架构的处理器中的一个或多个。设备800可以具有多个处理器,诸如在时间上从属于与主处理器同步的时钟的专用集成电路芯片。
[0105]
当设备800充当加密器310或包括加密器310时,处理器810可以实现如上面参考图3至图5所描述的方法400和500。当设备800充当解密器320或包括解密器320时,处理器810可以实现如上面参考图6至图7所描述的方法600。以上参照图3至图7所描述的所有操作和特征同样适用于设备700并且具有相似的效果。为简化起见,细节将被省略。
[0106]
通常,本公开的各种示例实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现。尽管本公开的示例实施例的各个方面被图示和描述为框图、流程图或使用一些其他图示表示,但是应当理解,作为非限制示例,本文描述的块、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或它们的某种组合来实现。
[0107]
本公开还提供了有形地存储在非瞬态计算机可读存储介质上的至少一个计算机程序产品。该计算机程序产品包括计算机可执行指令,诸如被包括在程序模块中的那些,在目标真实或虚拟处理器上的设备中被执行,以执行如上参考图3至图7所描述的方法400、500和600。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种示例实施例中,程序模块的功能性可以按照期望的那样在
程序模块之间进行组合或进行拆分。用于程序模块的机器可执行指令可以在本地或分布式设备内被执行。在分布式设备中,程序模块可以位于本地和远程存储介质中。
[0108]
可以用一种或多种编程语言的任何组合来编写用于执行本公开的方法的程序代码。这些程序代码可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,以使得程序代码在由处理器或控制器执行时,使流程图和/或框图中指定的功能/操作被实现。程序代码可以完全在机器上执行、部分在机器上执行、作为独立软件包执行、部分在机器上部分在远程机器上执行、或者完全在远程机器或服务器上执行。
[0109]
在本公开的上下文中,计算机程序代码或相关数据可以由任何合适的载体携带,以使得设备、装置或处理器能够执行如上所述的各种过程和操作。载体的示例包括信号、计算机可读介质。
[0110]
计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以包括但不限于电、磁、光、电磁、红外线或半导体系统、装置或设备,或前述各项的任何合适组合。计算机可读存储介质的更具体示例将包括:具有一根或多根电线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式压缩盘只读存储器(cd-rom)、数字多功能光盘(dvd)、光存储设备、磁存储设备或前述各项的任何合适组合。
[0111]
此外,虽然以特定的顺序描绘了各操作,但是这不应被理解为要求以所示出的特定顺序或以连续的顺序执行这样的操作,或者执行所有所图示出的操作以实现期望的结果。在某些场景中,多任务和并行处理可能是有利的。同样,虽然在上述讨论中包含了若干特定的实现细节,但是这些不应被解释为对本公开范围的限制,而应被解释为对可能特定于特定实施例的特征的描述。在分开的实施例的上下文中描述的某些特征也可以在单个实施例中被组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地实现在多个实施例中或以任何合适的子组合来实现。
[0112]
尽管已经以特定于结构特征和/或方法动作的语言描述了本公开,但是应当理解,在所附权利要求中限定的本公开不一定限于上述特定特征或动作。而是,上述特定特征和动作作为实现权利要求的示例形式而被公开。
[0113]
已经描述了这些技术的各种示例实施例。作为上述的附加或备选,描述了以下实施例。以下任何示例中描述的特征可以与本文描述的任何其他示例一起使用。
[0114]
在一些方面,一种设备包括:至少一个处理器;包括计算机程序代码的至少一个存储器;至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使设备:获得第一密码密钥和第二密码密钥,该第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合;通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成向量密码;组合数据向量和密码向量以用于对数据向量进行加密。
[0115]
在一些示例实施例中,设备被使得通过以下项组合数据向量和密码向量:连结数据向量和密码向量。
[0116]
在一些示例实施例中,设备被使得通过以下项生成密码向量:基于索引集合从密码元素的向量生成密码元素的子向量,该子向量的密码元素具有与密码元素的向量中的索引集合的索引相对应的索引;并且使用极化矩阵、索引集合和密码元素的子向量对数据执
行极性编码,来生成密码向量。
[0117]
在一些示例实施例中,第一密码密钥和第二密码密钥中的至少一项被动态地配置或被随机选择。
[0118]
在一些示例实施例中,一种设备包括:至少一个处理器;至少一个存储器,包括计算机程序代码;至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使设备:获得第一密码密钥和第二密码密钥,该第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合;通过基于第一密码密钥和第二密码密钥对经加密数据向量进行极性解码来得出数据向量和密码向量的组合,该密码向量是通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成的;并且从数据向量和密码向量的组合中获得数据向量。
[0119]
在一些示例实施例中,数据向量和密码向量的组合包括数据向量和密码向量的连结。
[0120]
在一些示例实施例中,设备被使得通过以下项得出数据向量和密码向量的组合:基于索引集合从密码元素的向量生成密码元素的子向量,该子向量的密码元素具有与密码元素的向量中的索引集合的索引相对应的索引;并且使用索引集合和密码元素的子向量对经加密数据执行极性解码,以得出数据向量和密码向量的组合。
[0121]
在一些方面,一种数据加密的方法包括:获得第一密码密钥和第二密码密钥,第一密码密钥包括密码元素的向量,并且第二密码密钥包括与子集矩阵相对应的索引集合极化矩阵;通过基于第一密码密钥和第二密码密钥对数据向量进行极性编码来生成密码向量;并且组合数据向量和密码向量以用于对数据向量进行加密。
[0122]
在一些示例实施例中,组合数据向量和密码向量包括连结数据向量和密码向量。
[0123]
在一些示例实施例中,生成密码向量包括:基于索引集合从密码元素的向量生成密码元素的子向量,该子向量的密码元素具有与密码元素的向量中的索引集合的索引相对应的索引;并且使用极化矩阵、索引集合和密码元素的子向量对数据向量执行极性编码,来生成密码向量。
[0124]
在一些示例实施例中,第一密码密钥和第二密码密钥中的至少一项被动态地配置或被随机选择。
[0125]
在一些方面,一种数据解密的方法包括:获得第一密码密钥和第二密码密钥,第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合;通过基于第一密码密钥和第二密码密钥对经加密数据向量进行极性解码来得出数据向量和密码向量的组合,该密码向量是通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成的;并且从数据向量和密码向量的组合中获得数据向量。
[0126]
在一些示例实施例中,数据向量和密码向量的组合包括数据向量和密码向量的连结。
[0127]
在一些示例实施例中,得出数据向量和密码向量的组合包括:基于索引集合从密码元素的向量生成密码元素的子向量,该子向量的密码元素具有与密码元素的向量中的索引集合的索引相对应的索引;并且使用索引集合和密码元素的子向量对经加密数据执行极性解码,以得出数据向量和密码向量的组合。
[0128]
在一些方面,一种数据解密的装置包括:用于获得第一密码密钥和第二密码密钥的部件,该第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合;用于通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成密码向量的部件;以及用于连结数据向量和密码向量以用于对数据向量进行加密的部件。
[0129]
在一些示例实施例中,用于组合数据向量和密码向量的部件包括用于连结数据向量和密码向量的部件。
[0130]
在一些示例实施例中,用于生成密码向量的部件包括:用于基于索引集合从密码元素的向量生成密码元素的子向量的部件,该子向量的密码元素具有与密码元素的向量中的索引集合的索引相对应的索引;以及用于使用极化矩阵、索引集合和选定的密码元素子集对数据执行极性编码以生成密码向量的部件。
[0131]
在一些示例实施例中,第一密码密钥和第二密码密钥中的至少一项被动态地配置或被随机选择。
[0132]
在一些方面,一种数据解密的装置,包括:用于获得第一密码密钥和第二密码密钥的部件,第一密码密钥包括密码元素的向量,并且第二密码密钥包括与极化矩阵的子集矩阵相对应的索引集合;用于通过基于第一密码密钥和第二密码密钥对加密数据向量进行极性解码来得出数据向量和密码向量的组合的部件,该密码向量是通过基于第一密码密钥和第二密码密钥以及极化矩阵对数据向量进行极性编码来生成的;以及用于从数据向量和密码向量的组合中获得数据向量的部件。
[0133]
在一些示例实施例中,数据向量和密码向量的组合包括数据向量和密码向量的连结。
[0134]
在一些示例实施例中,用于得出数据向量和密码向量的组合的部件包括:用于基于索引集合从密码元素的向量生成密码元素的子向量的部件,该子向量的密码元素具有与密码元素的向量中的索引集合的索引相对应的索引;以及用于使用索引集合和密码元素的子向量对加密数据执行极性解码以得出数据向量和密码向量的组合的部件。
[0135]
在一些方面,一种计算机可读存储介质包括存储在其上的程序指令,这些指令在由设备的处理器执行时使设备执行根据本公开的一些示例实施例的方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1