- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自盒加密算法及其应用
白盒加密算法及其应用
史扬1,2 曲力3
上海浦东中软科技发展有限公司1
同济大学2
上海市国家保密局3
摘要:白盒加密算法是一种基于加密函数的计算技术,将加密密钥隐藏在
一系列的数据表中,用于在不安全环境下的加密计算。目前已经发表的自盒算法
都是根据已有的块加密算法改造而成,故也可以看作对块加密算法的混淆。本文
以白盒AES算法为例对白盒算法的构造方法做了较为详细的介绍,并简述了白盒
DES算法,同时还介绍了白盒算法在分布式计算和知识产权保护等领域的应用。
关键词:加密函数混淆变换自盒加密块加密
1 引言
attack
Chow,Johnson和VanOorschot等¨’给出了自盒攻击环境(white—box
context,WABC)的定义:攻击者被假设拥有适应性选择明文攻击的条件且对加密
软件及其运行环境拥有完全的控制权,例如对程序运行的二进制追踪、读取内存
中的密钥和程序执行的中间结果、对软件进行任意的静态分析以及通过改变子计
算的结果来进行摄动分析(perturbationanalysis)等等。能够对抗自盒攻击的密码
术被称为白盒密码术(white—box
cryptography)。
目前,DES和AES这两种著名的块加密算法都已经有了相应的白盒实现——
白盒DES算法【21和白盒AES算法…。以此两者为代表的白盒加密算法是一种基于
加密丞数的计算技术,将加密密钥隐藏在一系列的数据表中,可以用于在不安全
环境下的加密计算。
2基于加密函数的计算与混淆变换
本节介绍两种用于在不安全环境下进行计算的方法并说明了白盒加密算法与
·265·
第十八届全国信息保密学术会议(IS2008)论文集
这两种方法的关系。
2.1 基于加密函数的计算
基于加密函数的计算[31用于如下场合:A有计算函数,的算法,B有数据戈且
B愿意帮助A计算出f(菇),但A不希望B知道厂,而且B在计算时也无需与A交
互。
假设一个实现为P∽函数,可以被加密为E(力。此时A只要把加密后的
函数E∽的实现P(E(力)发送给B就可以了,流程H3如下,可参见图1
所示:
(1)A加密^
(2)A实现E∽。
(3)A发送P(E(力)给B。
(4)B计算P(E∽)(茗)。
(5)B发送P(E∽)(髫)给A。
(6)A解密P(E∽)(菇)得到以并)。
图1 基于加密函数的计算流程
一个加密算法,是一个二元函数,它的输人包括加密密钥蜓和明文菇,在给
定密钥时,也可将其看作一元函数五。(聋),即一个带密钥的加密算法。白盒算法
就是带密钥的加密算法的加密实现。
2.2混淆变换
混淆算法㈨的实质是提供了一种转换机制,使转换后的程序(或其反编译结
白盒加密算法及其应用
Transformation)。
果)难以被理解。这种转换机制被称为混淆变换怕3(Obfuscating
设T是从原来的程序P到目标程序P’的一个变换,如果P和P’具有相同的可
观测行为,则称T为一个从P到P’的混淆变换。更准确的说,当同时满足以下
两个条件时T才是一个合法的混淆变换:
(1)如果P无法中止或者以错误的状态中止,则P’可以中止也可以不中止。
(2)否则P’必须中止并且产生和P相同的输出结果。
混淆前 混淆后
的程序 的程序
文档评论(0)