[发明专利]一种密钥加密的改进RC5加密算法在审
申请号: | 201410108283.1 | 申请日: | 2014-03-22 |
公开(公告)号: | CN103905181A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 张兰勇;刘胜;李冰;许长魁 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 密钥 加密 改进 rc5 加密算法 | ||
技术领域
本发明涉及一种密钥加密的改进RC5加密算法。
背景技术
现有的RC5算法是对称加密算法的一种,其主要特点是加密效率高,灵活性强,非常适合在内存较小的设备上使用,这保证了该算法在嵌入式应用的可行性,该算法存在的不足之处在于:
1)密钥协定或发布问题,即如何通过可靠的途径将加密密钥发送给解密方;
2)密钥数量可能很大:由于加密和解密中使用相同密钥,因此一对通信就需要一个密钥,当存在多对通信时需要同等数量的密钥。由于使用对称密钥,所以密钥的保密性不高。
发明内容
本发明目的在于提供一种密钥加密的改进RC5加密算法,能够有效提升信息传送的保密性。
实现本发明目的技术方案:
一种密钥加密的改进RC5加密算法,其特征在于:
步骤1:将要加密的明文的二进制数等分为两部分A和B;S[]为密钥数组,其中的元素为每次加密的子密钥;将A与S[0]相加得到C,将B与S[1]相加得到D,之后开始循环加密,加密次为r;每一轮加密过程都相同,具体如下:
将C与D按位异或的结果E左移D位后,与S[2i](i=1,2…)相加得到F;将D与F按位异或的结果G左移F位后,与子密钥S[2i+1](i=1,2…)相加得到H;至此求得一轮加密的结果F、H,而后将F、H分别幅值给C、D;
重复上述算法r轮后完成明文加密;
步骤2:将密钥S[]加密,加密中首先取两个大素数,得到加密标志C和算子m、n,按照S[i]+C≡0[mod(m*n)]将S[i]全部加密。
接收方根据事先协定的素数加密表先解密密钥,然后再解密密文。
本发明具有的有益效果:
本发明将密钥S[]加密,加密中首先取两个大素数,得到加密标志C和算子m、n,按照S[i]+C≡0[mod(m*n)]将S[i]全部加密,本发明不仅加密了对称密钥,同时保证加密的密钥很难破解,有效解决了密钥发送时保密性问题。本发明仅使用基本的移位、异或、加法、乘法等基本的运算,更加适合通过计算机高效加密;改进的加密算法保留了RC5算法的灵活性和快速性,占用硬件资源少、速度快且得到的密文(CT)小;实际计算中素数的组合选择可以有很多种且个数也不限制,对称密钥在发送过程中使用密文发送,接收方根据事先协定的素数加密表去解密密钥,再去解密密文,进一步增强了破解难度。本发明使系统的性能增强,对数据发送中潜在的窃听起到很好的保护作用。
附图说明
图1为本发明工作流程图;
具体实施方式
本发明基于下面三个数论定理。
概念1:数论中存在这样的事实:两个大素数相乘很容易,而对得到的积求因子则很难。
概念2:中国剩余定理:如果N的素数因子是P1*P2*…Pt,那么等式
XmodPi=Ai
只有唯一解X,X<N。其中i=1,2,3…,t。
概念3:在整数集Zn中,如果下式成立,则数字a和b互为加法逆且唯一存在,
a+b≡0(modn)
如图1所示,将要加密的明文的二进制数等分为两部分A和B;S[]为密钥数组,其中的元素为每次加密的子密钥;将A与S[0]相加得到C,将B与S[1]相加得到D,之后开始循环加密,加密次为r;每一轮加密过程都相同,具体如下:
将C与D按位异或的结果E左移D位后,与S[2i](i=1,2…)相加得到F;将D与F按位异或的结果G左移F位后,与子密钥S[2i+1](i=1,2…)相加得到H;至此求得一轮加密的结果F、H,而后将F、H分别幅值给C、D;
重复上述算法r轮后完成明文加密;
步骤2:将密钥S[]加密,加密中首先取两个大素数,得到加密标志C和算子m、n,按照S[i]+C≡0[mod(m*n)]将S[i]全部加密。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410108283.1/2.html,转载请声明来源钻瓜专利网。