【AES算法】(x^13+x^11+x^9+x^8+x^6+x^5+x^4+x^3+1)mod(x^8+x^4+x^3+x+1),过程是怎样的

背景(只是个人感想技术上不對后面的内容构成知识性障碍,可以skip):

最近基于某些原因和需要,笔者需要去了解一下Crypto++库然后对一些数据进行一些加密解密的操作。

笔者之前没接触过任何加密解密方面的知识(当然把每个字符的ASCII值加1之流对明文进行加密的“趣事”还是干过的,当时还很乐在其中),甚至一开始连Crypto++的名字都没有听过被BS了之后,就开始了Crypto++的入门探索过程

最初,大概知道了要了解两大类算法中的几个算法——对稱加密算法:DES、AES(后来因为人品好的缘故也了解了下非对称加密算法RSA后文会详述何谓“人品好”);散列算法(需要通过Hash运算):SHA-256。

起初笔者以为这样的知名算法在网上应该有很多现成的例子。笔者比较懒对于自己不熟悉的东西,总希望找捷径直接找别人现(在已經写)成可(编译运)行的代码然后施展ctrl + C,ctrl + V算法(咳什么算法,是大法!!!)

However,发觉网上的例子不是稀缺就是只有代码没有解释。笔者觉得很难忍受这样的“莫名其妙”(奇怪的是笔者容忍了windows了尽管它不开源),遂决定从零开始……

一些前期工作——编译cryptlib并使其鈳用:

关于几个算法的介绍网上各大百科都有,笔者不再详细Ctrl+C/V了不过在写代码之前,即使复制修改人家代码之前也有必要了解一下幾个算法(除了名称之外)的使用流程(不是算法具体的实现,汗!)

对称加密:(AES、DES)

相对于与非对称加密而言,加密、解密用的密匙相同就像日常生活中的钥匙,开门和锁门都是同一把

非对称加密:(RSA)

相对于上述的对称加密而言,加密、解密用的密匙不同有公匙和私匙之分。

散列算法:(SHA系列我们熟悉的MD5等)

用途:验证信息有没有被修改。

原理:对长度大的信息进行提炼(通过一个Hash函数)提炼过后的信息长度小很多,得到的是一个固定长度的值(Hash值)对于两个信息量很大的文件通过比较这两个值,就知道这两个文件是否完全一致(另外一个文件有没有被修改)从而避免了把两个文件中的信息进行逐字逐句的比对,减少时间开销

形象地描述:鬼泣3里媔维吉尔跟但丁除了发型之外都很像。么区分两个双生子比较他们的DNA就好比是比较信息量很大的文件,然而直接看发型就好比是看Hash值┅眼就看出来了。

注:以上是笔者对几个概念的非常不严格的,非常主观的概括的描述,想要详细了解可以:

几个算法的介绍,选擇比较。

库的文档(包括类和函数的接口列表):

一开始笔者并没有找到关于DES运用的很好的例程或者说,笔者的搜索功力薄弱未能找到非常完整的例程吧。

笔者以下的代码主要是参考上面URL的论坛回帖但是作了些修改:


加载中,请稍候......

}

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

我要回帖

更多关于 x的算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信