本发明专利技术提供了一种RC4硬件电路掩码防护方法及系统,该方法包括:输入密钥和S盒分组步骤,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;S盒初始置换步骤,根据分组输入密钥分别对分组S盒进行初始置换;密钥流生成步骤,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。本发明专利技术采用算法级防御措施,引用随机数作为掩码,来达到抗功耗攻击,特别是针对RC4的模板攻击。
【技术实现步骤摘要】
本专利技术属于密码算法防护
,具体地说,尤其涉及一种RC4硬件电路掩码防护方法及系统。
技术介绍
当今世界,以Internet为代表的计算机网络得到了迅速的发展和广泛的应用,基于计算机网络的电子商务、电子政务、电子金融蓬勃发展,因此,网络安全、信息安全就成了人们关心的问题,众多加密算法也运蕴而生。其中,RC4以其实现容易、加密速度快、良好的随机性和抵抗各种分析的能力,在众多领域的安全模块得到了广泛的应用。在国际著名的安全协议标准SSL/TLS(安全套接字协议/传输层安全协议)中,利用RC4算法保护互联网传输中的保密性。在作为IEEE802.ll无线局域网标准的WEP协议中,利用RC4算法进行数据间的加密。同时,RC4算法也被集成于MicrosoftWindows、LotusNotes、AppleAOCE、OracleSecureSQL等应用中,还包括TLS(传输层协议)、微软PPTP的微软办公,并应用于AdobeAcrobat,其它很多应用领域也使用该算法。随着计算机网络的普及,传统的RC4软件加密方法已经越来越不能满足日常的需求,其局限性也逐渐暴露出来。在很多计算机信息安全系统中,RC4的硬件加密手段被应用到设备中来提高密码运算速度和系统的安全性。
技术实现思路
本专利技术提供了一种一种RC4硬件电路掩码防护方法及系统,用于抵抗功耗攻击,特别是针对RC4的模板攻击。根据本专利技术的一个方面,提供了一种RC4硬件电路掩码防护方法,包括:输入密钥和S盒分组步骤,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;S盒初始置换步骤,根据分组输入密钥分别对分组S盒进行初始置换;密钥流生成步骤,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。根据本专利技术的一个实施例,将输入密钥和S盒各分为2组:K1密钥组和K2密钥组,S1盒组和S2盒组。根据本专利技术的一个实施例,S盒初始置换步骤进一步包括:设置初始第一索引j1=0,初始第二索引j2=0;对初始第一索引、各遍历的对应索引S1盒组内容以及K1密钥组内容之和取模得到更新的第一索引,对初始第二索引、各遍历的对应索引S2盒组内容以及K2密钥组内容之和取模得到更新的第二索引;将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行初始置换。根据本专利技术的一个实施例,密钥流生成步骤进一步包括:设置初始第一索引j1=0,初始第二索引j2=0;对初始第一索引和各遍历的对应索引初始置换后的S1盒组内容之和取模得到更新的第一索引,对初始第二索引和各遍历的对应索引初始置换后的S2盒组内容之和取模得到更新的第二索引;将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行再次置换;根据再次置换后的各分组S盒内容之和为新索引,所述新索引指向的S盒的内容为输出密钥流。根据本专利技术的一个实施例,将输入密钥和S盒各分为相同数量的分组进一步包括:初始化输入密钥和S盒,S盒分组:初始化S1盒组,其中初始化值为n,利用同一索引下的S1值,初始化S2盒组,使S1和S2的和为没被分开的同一索引S盒的值;输入密钥分组:初始化K1密钥组,利用同一索引下的K1密钥值,初始化K2密钥组,使K1和K2的和为同一索引值模上输入密钥的长度值下的输入密钥值。根据本专利技术的另一个方面,还提供了一种RC4硬件电路掩码防护系统,包括:输入密钥和S盒分组模块,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;S盒初始置换模块,根据分组输入密钥分别对分组S盒进行初始置换;密钥流生成模块,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。根据本专利技术的一个实施例,在输入密钥和S盒分组模块中,将输入密钥和S盒各分为2组:K1密钥组和K2密钥组,S1盒组和S2盒组。根据本专利技术的一个实施例,S盒初始置换模块进一步包括:第一初始索引设置单元,设置初始第一索引j1=0,初始第二索引j2=0;第一索引更新单元,对初始第一索引、各遍历的S1盒组内容以及K1密钥组内容之和取模得到更新的第一索引,对初始第二索引、各遍历的S2盒组内容以及K2密钥组内容之和取模得到更新的第二索引;S盒初始置换单元,将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行初始置换。根据本专利技术的一个实施例,密钥流生成模块进一步包括:第二初始索引设置单元,设置初始第一索引j1=0,初始第二索引j2=0;第二索引更新单元,对初始第一索引和各遍历的初始置换后的S1盒组内容之和取模得到更新的第一索引,对初始第二索引和各遍历的初始置换后的S2盒组内容之和取模得到更新的第二索引;S盒再次置换单元,将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行再次置换;密钥流生成单元,根据再次置换后的各分组S盒内容之和为新索引,所述新索引指向的S盒的内容为输出密钥流。根据本专利技术的一个实施例,输入密钥和S盒分组模块进一步包括:初始化输入密钥和S盒,S盒分组:初始化S1盒组,其中初始化值为n,利用同一索引下的S1值,初始化S2盒组,使S1和S2的和为没被分开的同一索引S盒的值;输入密钥分组:初始化K1密钥组,利用同一索引下的K1密钥值,初始化K2密钥组,使K1和K2的和为同一索引值模上输入密钥的长度值下的输入密钥值。本专利技术的有益效果:本专利技术采用算法级防御措施,引用随机数作为掩码,来达到抗功耗攻击,特别是针对RC4的模板攻击。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:图1是RC4算法的逻辑结构图;图2是根据本专利技术的一个实施例的方法流程图;图3是根据本专利技术的一个实施例的RC4硬件电路的掩码方案的电路防护方案结构图。具体实施方式以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本专利技术中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本专利技术的保护范围之内。传统的对密码的攻击都是从数学角度,利用数学理论分析,来寻找破解算法的方法,所依赖的信息有明文输入、密文输出,但并没有考虑密码算法所运行的场合。实际使用中,密码算法的实现必定依赖一定的硬件或软件平台,这些信息包括运行密码设备时所泄露的能量消耗、算法运行时间、电磁辐射等,称为侧信道信息。通过侧信道信息的分析,来实现对密码算法密钥的破解就是侧信道攻击。根据侧信道信息的不同,可以分为功耗攻击、故障攻击、时间攻击等。其中,功耗攻击的基础思想是本文档来自技高网...
【技术保护点】
一种RC4硬件电路掩码防护方法,包括:输入密钥和S盒分组步骤,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;S盒初始置换步骤,根据分组输入密钥分别对分组S盒进行初始置换;密钥流生成步骤,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。
【技术特征摘要】
1.一种RC4硬件电路掩码防护方法,包括:输入密钥和S盒分组步骤,将输入密钥和S盒各分为相同数量的分组,并同时向输入密钥和S盒的各分组引入随机数,其中,输入密钥和S盒分组后各部分之和与不带防护的输入密钥和S盒的内容相同;S盒初始置换步骤,根据分组输入密钥分别对分组S盒进行初始置换;密钥流生成步骤,对初始置换后的分组S盒分别进行再次置换,并以再次置换后的各分组S盒之和为新索引,所述新索引指向的S盒的内容为输出密钥流。2.根据权利要求1所述的方法,其特征在于,将输入密钥和S盒各分为2组:K1密钥组和K2密钥组,S1盒组和S2盒组。3.根据权利要求2所述的方法,其特征在于,S盒初始置换步骤进一步包括:设置初始第一索引j1=0,初始第二索引j2=0;对初始第一索引、各遍历的对应索引S1盒组内容以及K1密钥组内容之和取模得到更新的第一索引,对初始第二索引、各遍历的对应索引S2盒组内容以及K2密钥组内容之和取模得到更新的第二索引;将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行初始置换。4.根据权利要求3所述的方法,其特征在于,密钥流生成步骤进一步包括:设置初始第一索引j1=0,初始第二索引j2=0;对初始第一索引和各遍历的对应索引初始置换后的S1盒组内容之和取模得到更新的第一索引,对初始第二索引和各遍历的对应索引初始置换后的S2盒组内容之和取模得到更新的第二索引;将更新的第一索引和第二索引取和,并根据取和值分别对S1盒组和S2盒组进行再次置换;根据再次置换后的各分组S盒内容之和为新索引,所述新索引指向的S盒的内容为输出密钥流。5.根据权利要求2所述的方法,其特征在于,将输入密钥和S盒各分为相同数量的分组进一步包括:初始化输入密钥和S盒,S盒分组:初始化S1盒组,其中初始化值为n,利用同一索引下的S1值,初始化S2盒组,使S1和S2的和为没被分开的同一索引S盒的值;输入密钥分组:初始化K1密钥组,利用同一索引下的K1密钥值,初始化K2密钥组,使K1和K2的和为同一索引值模上输入密钥的长度值下的输入密钥值。6.一种RC4硬件电路掩码防护系统,包括:输入密钥和S盒分...
【专利技术属性】
技术研发人员:乌力吉,张绍辉,张向民,
申请(专利权)人:清华大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。