当前位置: 首页 > 专利查询>山东大学专利>正文

一种基于布尔电路的白盒保护方案的加速实现方法及系统技术方案

技术编号:38707380 阅读:10 留言:0更新日期:2023-09-08 14:48
本发明专利技术属于数据加密领域,采用位切片方法,一次加密过程可以并行加密N组数据,提供了一种基于布尔电路的白盒保护方案的加速实现方法及系统。方案使用纯逻辑运算,在不同硬件环境中都可以实现高效的数据操作。使吞吐量有了显著提高,加速效率提升与并行程度成正比。除此之外,还提出并实现了白盒加密安全性方面的进一步改进,包括:进一步的混淆实现结构隐藏,改进密钥编码的方式等。改进密钥编码的方式等。改进密钥编码的方式等。

【技术实现步骤摘要】
一种基于布尔电路的白盒保护方案的加速实现方法及系统


[0001]本专利技术属于数据加密领域,尤其涉及一种基于布尔电路的白盒保护方案的加速实现方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]随着智能手机等的飞速发展,越来越多的加密实现被部署在开放性环境中,传统的AES等加密算法已经变得脆弱。白盒密码作为一种密钥保护机制,具有很强的实践意义,符合不安全设备上对密码加密体系的需要,被广泛应用于金融安全、电子商务、物联网、移动设备等场景。
[0004]在白盒密码中,密码算法被视为一个完全透明的“白盒”,密码算法不仅对外提供了加密(解密)接口,同时也可以暴露出算法的内部实现。攻击者可以在完全了解密码算法的实现细节的前提下,分析算法的内部处理过程来获取加密秘钥或者密文等重要信息和观测更改程序运行时的内部数据,从而实现攻击。随着智能手机和嵌入第三方应用程序的可穿戴设备等的飞速发展,越来越多的加密实现被部署在不受信任的环境中,导致人们对白盒加密的兴趣与日俱增。白盒密码的应用场景主要在需要较高安全性的领域,例如金融支付、数字版权管理、智能市场等。除传统场景外,白盒技术还可以用于物联网设备认证等领域和应用中,防止黑客对设备进行篡改和攻击。
[0005]比起传统的查表方法,基于布尔函数的白盒加密方案在安全性和可扩展性上都有明显的优势,但也存在加密时间开销增大的缺点。现有技术采用包括非线性掩码的加密方案,将加密过程中的所有元素用掩码值表示,然后再进行按位逻辑操作。相较于线性掩码,非线性掩码对侧信道攻击的抵御能力更强。复杂的掩码形式增强了加密算法的安全性,但是计算过程较为复杂,因此存在比较大的开销和性能损耗。

技术实现思路

[0006]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种基于布尔电路的白盒保护方案的加速实现方法及系统,其弥补了目前针对白盒保护方案加密算法设计缺乏的空白。还实现了针对生成白盒加密程序的有效混淆方案,可以在结构隐藏方面进一步提高白盒方案的安全性。且本专利技术足够灵活,可根据不同的白盒保护方案进行调整,应用前景广阔。
[0007]为了实现上述目的,本专利技术采用如下技术方案:本专利技术的第一个方面提供一种基于布尔电路的白盒保护方案的加速实现方法。其包括:一种基于布尔电路的白盒保护方案的加速实现方法,包括:获取白盒的明文和密钥;
基于密钥,同时对多组明文进行若干轮加密,经掩码和束的重排列,得到密文;其中,利用密钥扩展算法生成每一轮的轮密钥;在加密之前,对明文和密钥进行位切片处理,将一个N比特数据按位拆分成若干个1比特,使得每个输入的第i位出现在第i个字中;在束的重排列过程中采用移位操作对切片进行重排列,将每个明文比特拆成n个比特编码表示。
[0008]在生成掩码过程中,每个比特均由三个比特编码(a,b,c)表示,使得,其中,a和b由随机数生成,c通过计算得出。
[0009]在加密过程中,包括:使用无规律的变量名称,结束作用域的变量随机重复利用。所述变量随机重复利用具体包括:在加密的过程中建立第一列表和第二列表;第一列表存储当前所有处于作用域的变量名称,每个变量结束作用域时,将其名称从第一列表转到第二列表;每产生一个新变量时,判断第二列表是否为空,若是,重复产生随机数与固定前缀组合,直到产生一个新的变量名称,声明并插入第一列表;否则,随机从第二列表中选出一个变量名称分配给该新变量,并将该名称移入第一列表。
[0010]在加密过程中,改进密钥硬编码的方式,即,在AES加密算法的轮密钥加过程中将AES的轮密码加与字节替换结合成一个新的T表;或,将一个共享的全局变量拆分成三个掩码,每次的取反操作为与全局变量的三个掩码做异或运算,并将refresh函数得到的三个新掩码替换全局变量的三个掩码。
[0011]在AES加密算法的S盒过程,采用布尔函数ANF描述S盒的非线性。
[0012]在AES加密算法的过线性层过程,采用启发式搜索框架进行线性层列混合;在掩码过程,采用二次非线性的掩码方案。
[0013]本专利技术的第二个方面提供一种基于布尔电路的白盒保护方案的加速实现系统。
[0014]一种基于布尔电路的白盒保护方案的加速实现系统,包括:数据获取模块,其被配置为:获取白盒的明文和密钥;加密模块,其被配置为:基于密钥,同时对多组明文进行若干轮加密,经掩码和束的重排列,得到密文;加速模块,其被配置为:利用密钥扩展算法生成每一轮的轮密钥;在加密之前,对明文和密钥进行位切片处理,将一个N比特数据按位拆分成若干个1比特,使得每个输入的第i位出现在第i个字中;在束的重排列过程中采用移位操作对切片进行重排列,将每个明文比特拆成n个比特编码表示。
[0015]本专利技术的第三个方面提供一种计算机可读存储介质。
[0016]一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的基于布尔电路的白盒保护方案的加速实现方法中的步骤。
[0017]本专利技术的第四个方面提供一种计算机设备。
[0018]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的基于布尔电路的白盒保护方案的加速实现方法中的步骤。
[0019]与现有技术相比,本专利技术的有益效果是:本专利技术采用位切片方法,一次加密过程可以并行加密N组数据,实现了基于布尔电路的白盒加密算法的加速,具有更优的性能。
[0020]本专利技术的方案使用纯逻辑运算,在不同硬件环境中都可以实现高效的数据操作。同时,本专利技术充分利用了现代处理器中的并行计算和向量化功能,使吞吐量有了显著提高,加速效率提升与并行程度成正比。
[0021]本专利技术针对二次非线性掩码方案在安全性方面做了进一步的改进与尝试,实现了针对生成白盒加密程序的有效混淆方案,包括:使用无规律的变量名称,展开全部的函数调用和循环,结束作用域的变量随机重复利用等;尤其是改进了密钥的硬编码方式,可以在结构隐藏方面进一步提高白盒方案的安全性。且本专利技术足够灵活,可根据不同的白盒保护方案进行调整,应用前景广阔。
附图说明
[0022]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0023]图1是本专利技术示出的程序逻辑结构图;图2是本专利技术示出的生成的部分白盒加密程序;图3是本专利技术示出的取反操作的频率折线图;图4是本专利技术示出的取反操作的频率条形图;图5是本专利技术示出的存储在64位处理机内存中和重排列后的束;图6是本专利技术示出的AES的113逻辑门的结构图;图7是本专利技术示出的LFSR生成器结构图;图8是本专利技术示出的变量复用情况示意图。
具体实施方式
[0024]下面结合附图与实施例对本专利技术作进一步说明。
[0025]应该指出,以下详细说明都是例示性的,旨在对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于布尔电路的白盒保护方案的加速实现方法,其特征在于,包括:获取白盒的明文和密钥;基于密钥,同时对多组明文进行若干轮加密,经掩码和束的重排列,得到密文;其中,利用密钥扩展算法生成每一轮的轮密钥;在加密之前,对明文和密钥进行位切片处理,将一个N比特数据按位拆分成若干个1比特,使得每个输入的第i位出现在第i个字中;在束的重排列过程中采用移位操作对切片进行重排列,将每个明文比特拆成n个比特编码表示。2.根据权利要求1所述的基于布尔电路的白盒保护方案的加速实现方法,其特征在于,在生成掩码过程中,每个比特均由三个比特编码(a,b,c)表示,使得,其中,a和b由随机数生成,c通过计算得出。3.根据权利要求1所述的基于布尔电路的白盒保护方案的加速实现方法,其特征在于,在加密过程中,包括:使用无规律的变量名称,结束作用域的变量随机重复利用。4.根据权利要求3所述的基于布尔电路的白盒保护方案的加速实现方法,其特征在于,所述变量随机重复利用具体包括:在加密的过程中建立第一列表和第二列表;第一列表存储当前所有处于作用域的变量名称,每个变量结束作用域时,将其名称从第一列表转到第二列表;每产生一个新变量时,判断第二列表是否为空,若是,重复产生随机数与固定前缀组合,直到产生一个新的变量名称,声明并插入第一列表;否则,随机从第二列表中选出一个变量名称分配给该新变量,并将该名称移入第一列表。5.根据权利要求1所述的基于布尔电路的白盒保护方案的加速实现方法,其特征在于,在加密过程中,改进密钥硬编码的方式,即,在AES加密算法的轮密钥加过程中将AES的轮密码加与字节替换结合成一个新的T表;或,将一个...

【专利技术属性】
技术研发人员:王锦良王美琴武旭晶张卓龙
申请(专利权)人:山东大学
类型:发明
国别省市:

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

1