基于引导随机数的动态白盒密码实现方法技术

技术编号:43468721 阅读:22 留言:0更新日期:2024-11-27 13:06
一种基于引导随机数的动态白盒密码实现方法,在初始化阶段通过加密方与解密方协商确定核心参数后,由加密方生成查找表池并与解密方进行秘密共享,在加密阶段,加解密方根据同一个查找表池和生成的引导随机数通过加密程序生成算法得到加密程序,将消息明文输入加密程序,得到消息密文,再将消息密文与引导随机数发送给解密方;在解密阶段,解密方根据加密方发送的引导随机数通过解密程序生成算法得到解密程序后,将收到的消息密文输入解密程序,得到消息明文。本发明专利技术基于查找表池动态地生成算法,保证在部分查找表的表项泄露时,依旧维持算法程序的完整性,确保系统的安全。

【技术实现步骤摘要】

本专利技术涉及的是一种信息安全领域的技术,具体是一种基于引导随机数的动态白盒密码实现方法


技术介绍

1、现有白盒密码实现由查找表和算法程序两部分组成,如果白盒攻击者同时获取这两部分就能够完成代码移植(code lifting)攻击。即白盒攻击者可以将参与白盒密码运算的查找表和算法程序视为等价的“大密钥”,通过完整地移植全部查找表和算法程序,攻击者仍然能够在任意设备上实现密码算法的功能。现有的白盒密码实现中,查找表部分通常足够庞大或被额外保护而无法被攻击者全部获取,但是算法程序却往往能够被攻击者轻易获取。现有基于分组密码白盒化的动态白盒库技术虽然能够使用查找表保护密钥,但无法对算法的实现程序进行保护,获得部分查找表的攻击者依旧能够执行代码移植攻击。


技术实现思路

1、本专利技术针对现有技术存在的上述不足,提出一种基于引导随机数的动态白盒密码实现方法,使用查找表池动态地生成算法程序,保证在部分查找表的表项泄露时,依旧维持算法程序的隐蔽性,确保系统的安全。

2、本专利技术是通过以下技术方案实现的:...

【技术保护点】

1.一种基于引导随机数的动态白盒密码实现方法,其特征在于,在初始化阶段通过加密方与解密方协商确定核心参数后,由加密方生成查找表池并与解密方进行秘密共享,在加密阶段,加解密方根据同一个查找表池和生成的引导随机数通过加密程序生成算法得到加密程序,将消息明文输入加密程序,得到消息密文,再将消息密文与引导随机数发送给解密方;在解密阶段,解密方根据加密方发送的引导随机数通过解密程序生成算法得到解密程序后,将收到的消息密文输入解密程序,得到消息明文;

2.根据权利要求1所述的基于引导随机数的动态白盒密码实现方法,其特征是,所述的初始化阶段具体包括:

3.根据权利要求2所述的基...

【技术特征摘要】

1.一种基于引导随机数的动态白盒密码实现方法,其特征在于,在初始化阶段通过加密方与解密方协商确定核心参数后,由加密方生成查找表池并与解密方进行秘密共享,在加密阶段,加解密方根据同一个查找表池和生成的引导随机数通过加密程序生成算法得到加密程序,将消息明文输入加密程序,得到消息密文,再将消息密文与引导随机数发送给解密方;在解密阶段,解密方根据加密方发送的引导随机数通过解密程序生成算法得到解密程序后,将收到的消息密文输入解密程序,得到消息明文;

2.根据权利要求1所述的基于引导随机数的动态白盒密码实现方法,其特征是,所述的初始化阶段具体包括:

3.根据权利要求2所述的基于引导随机数的动态白盒密码实现方法,其特征是,所述的其余参数包括:查找表的输出长度加解密算法每轮使用的查找表数量加解密算法执行一次使用的查找表数量引导随机数的二进制长度以及查找表池的总大小

4.根据权利要求1或2所述的基于引导随机数的动态白盒密码实现方法,其特征是,所述的加密程序生成算法包括第一加密编译程序和第二加密编译程序,其中:第一加密编译程序输入引导随机数,输出中间加密程序;第二加密编译程序输入中间值,输出最终的加密程序;

5.根据权利要求4所述的基于引导随机数的动态白盒密码实现方法,其特征是,所述的加密编译程序根据输入的与引导随机数长度相同的随机数以及选择的加密算法,生成按随机数的位数的顺序调用查找表池中查找表并进行加密计算的程序;

6.根据权利要求1所述的基于引导随机数的动态白盒密码实现方法,其特征是,所述的加密阶段具体包括:加密方生成一个引导随机数,将引导随机数通过加密程序生成算法得到加密程...

【专利技术属性】
技术研发人员:石一鹏谷大武张驰
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1