DES加密算法实验报告

DES加密算法实验报告

         在DES加密算法中, 加密方使用一个64位明文与56位密钥来生成64位的密文, 解密方通过64位的密文与56位密钥还原出明文. 在此过程中, 加解密双方使用一个56位密钥.

        

DES加密算法一般结构如下:

         DES加密算法由初始置换, 最终置换和16个Feistel轮构成的. 其中, 初始置换和最终置换是互逆的, 也就是说, 如果没偶这两轮置换, 不会对加密结果造成影响. 故在此忽略.

接下来, 是DES加密算法中每一个轮的加密算法示意图:

其中,  和  是从上一轮(或初始置换盒)中得到的,  与本轮密钥经过DES加密, 与  混合, 交换后得到  和  进入下一轮运算(或最终置换盒).

其中, 将  与本轮密钥 加密的算法  是整个算法的核心. 其函数过程如下:

其中, 扩展置换盒通过如下过程将32位的输入拓展为48位.

 混合后的48位数据经过8个不同的换字盒, 转换为32位的输出, 换字方式如下:

首先将48位输出分成8个6位长的组, 每组的第2~5位用来在换字盒中检索列数, 第1位与第6位拼在一起,用来在换字盒中检索行, 得到换字盒中相应位置的数据, 并输出.

8个换字盒的内容各不相同.

最后, 经过换字的32位输出经过32位直接置换表置换, 成为最后的32位输出, 其中, 直接置换表如下:

16 07 20 21 29 12 28 17

01 15 23 26 05 18 31 10

02 08 24 14 32 27 03 09

19 13 30 06 22 11 04 25

最后, 每一轮加密用到的轮密钥  通过如下算法获得:

首先, 对输入的8字节密钥进行去奇偶校验位处理, 将得到的56位数据进行一轮比特置换, 置换表如下

57 49 41 33 25 17 09 01

58 50 42 34 26 18 10 02

59 51 43 35 27 1 9 11 03

60 52 44 36 63 55 47 39

31 23 15 07 62 54 46 38

30 22 14 06 61 53 45 37

29 21 13 05 28 20 12 04

14 17 11 24 01 05 03 28

15 06 21 10 23 19 12 04

26 08 16 07 27 20 13 02

41 52 31 37 47 55 30 40

51 45 33 48 44 49 39 56

34 53 46 42 50 36 29 32

 

第二篇:DES加密算法

DES加密算法

也许是中国和美国的教育方法不同,我手中的两本介绍 DES 的资料风格迥然不同。老外的书看读起来很轻松,就像是闲聊,生动活泼,时不时来个老美式的幽默。中国人写的书语句严谨,很严肃,以绝对科学的态度讲解(让我浑身不自在)。两种方法哪种更好,不用我说了吧?所以我宁可看全英文的原版。不要以为加密、解密是只有天才才能学得会。切勿相信!只要你具备一定的数学知识,有一些编程经验就足够了(不要对我说你连1+1=?都回答不出来)!很多加密算法并不复杂,只不过运用了这种算法的数学特性来达到加密的目的。像下面介绍的 DES 加密算法,也只不过是繁了一点(是繁,不是难)。怎么样,有信心吗?…… 那就让我们开始吧! DES加密算法是由 IBM 研究在19xx年提出的。使用64位(bit)的数据进行加密和解密的,所用的密钥也是64位。并被美国国家标准局宣布为数据加密标准DES,主要用于非国家保密机关。

DES加密算法

没做错!嗯,真是好孩子!

第二步:迭代过程

这是很重要的一步(站稳了,不要腿软)。为了让你看得更清楚,我把它分成几个部分。最后只要把几部分的过程合起来做就行了。 ★先把 IP 处理后的结果分成两部份,如下:

DES加密算法

╱ F

DES加密算法

DES加密算法

感觉如何?是不是充满信心,准备一展身手!我们只剩下F处理这一段没讲了,我想

在你学会了上面的过程以后,余下的对你更没有难度了(你真是天才!!)。

对不起,我的手好痛,今天就到此为止。我要休息!

(职业病,长时间用鼠标打键盘右手会痛)

抗攻击风险量化分析数据资料

1. 要严格管理、保存好自已的PIN IC卡。如PIN的物理保护失败,或私钥丢失与用户的口令被窃同时发生时,用户应及时挂失。

2. 密钥的更换周期

现代密码学的特征是算法可以公开。保密的关键是如何保护好自己的密钥,而破密的关键则是如何能破解得到密钥。

系统的安全主管者,要根据本系统实际所使用的密钥长度与其所保护的信息的敏感程度、重要程度以及系统实际所处安全环境的恶劣程度,参照本附件的分析数据在留有足够的安全系数的条件下来确定其密钥和证书更换周期的长短。同时,将已废弃的密钥和证书放入黑库归档,以备可能后用。

密钥更换周期的正确安全策略是系统能够安全运行的保障,是系统的安全管理者最重要、最核心的日常工作任务。

3. 关于RSA算法的保密强度安全评估

RSA算法的保密强度,随其密钥的长度增加而增强。但是,密钥越长,其加解密所耗的时间也越长。因此,要根据所保护信息的敏感程度与攻击者破解所要花的代价值不值得和系统所要求的反应时间来综合考虑决定。尤其对于商业信息领域更是如此。

以下我们列出美国麻省理工学院RSA129(N=10129素因子分解攻击研究小组Hal Abelson, Jeff Schiller, Brian lamacchia和Derek Atkins. 根据他们对PGP RSA(MPQS)算法攻击研究的结果如下;(注:1995,Simson Garfinkel 《Pretty Good Privasy》极好的保密系统一书)。

RSA-129 (429-bit key) 4600 MIPS-YEARS

即相当于要4600台VAX11/780联合运行一年的时间或一台Pentium运行46年时间才能将一个N*10129的大数分解找到其P.Q.

RSA 512-bit key 42x104 MIPS-YEARS

RSA 700-bit key 42x108 MIPS-YEARS

RSA 1024-bit key 2.8x1015 MIPS-YEARS

RSA 384-bit key 470 MIPS-YEARS

公开密钥算法是在19xx年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人首先发明的(论文“New Direction in Cryptography”) 。但目前最流行的RSA是由分别取自三名发明此算法的数学家(Ronald Rivest, Adi Shamir 和Len Adleman)的名字的第一个字母来构成的。 RSA算法研制的最初理念与目标是旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签

名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。

4. 攻破RSA密钥的时间:

密钥长度:100 200 300 500 750 1000

时间: 30秒 3天 9年 1兆年 2x109年 6x1015年

当密钥长度大于512位时,以个人有限的人生攻破密钥是无法实现的。

5. 据美国(华尔街报)19xx年3月8日报导,由Verisign公司(一个信息保密安全公司)经理 Anil Pereira分析指出,欲破解一个秘密密钥长度为128位的DES加密要比破解一个秘密密钥长度为40位的DES加密要困难300X1042倍(300 Septillion倍)。也就是说如以300MC奔腾CPU的PC机破解40位DES加密要花3个小时计,那么用同样的PC机来破解一个128位DES加密就要花去900 X1042小时。这在一个人的有生之年是不可能做到的。目前尚无报导是否有数百人同时用数百台大型计算机利用互联网分布处理来破128位DES加密的事情。但可以肯定这种做法所花代价对于普通的商密来讲,肯定是不值的。

6. 另外,基于19xx年的技术统计分析的攻击结果,JALAL FEGHHI等人98年9月给出DES加密抗攻击的情况如下表所述:(摘自由Talal Feghhi, Jalil Feghhi, Peter Willians 《Digital

DES加密算法

上表中攻击者配有如下计算机资源的攻击能力

注:99年的技术比97年预计将提高200倍左右。基于现代密码学及其密码体制(有别于传统的算法或密码本),保密的关键是如何保护好密钥;而破密的关键则是如何得到密钥。因为,一个好的现代密码算法,在密钥足够长的情况下,即使是发明该算法的人,如他得不到密钥。他本人要破解用他自己发明的算法来加了密的电文也是极其困难甚至是不可能的。而在电子商务中还有一个较易计算的所谓值不值得的问题。

注: 公开指数(加密指数)e

e=(65537)10=216+1=(10000000000000001)2

DES加密算法

20=1

21=2

210=1024 ≌1×103

211=2048 ≌2×103

212=4096 ≌4×103

213=8192 ≌8×103

214=16384 ≌1.6×104

215=32768 ≌3.2×104

216=65536 ≌6.6×104

232=216. 216 ≌6.62×108 ≌4.4×109

264=232. 232 ≌4.42×1018 ≌1.9×1019

2128=264. 264 ≌1.92×1019×1019 ≌3.6×1038

2192=2128. 264 ≌3.6×1038×1.9×1019≌6.8×1057

2256=2128. 2128≌3.62 × 1076 ≌1.3×1077

2384= 2192×2192≌6.8×6.8×10114≌4.6×10115

2512=2256. 2256≌1.3×1.3×10154 ≌1.7×10154

2640=2512. 2128≌3.6×1.7×1038+154≌6.1×10192

2768=2640. 2128≌6.1×3.6×10192+38≌2.2×10231

2896=2768. 2128≌2.2×3.6×10231+38≌8.0×10269

21024=2512. 2512 ≌1.7×1.7×10154+154≌2.9×10308

21536=21024. 2512 ≌2.9×1.7×10308+154 ≌4.9×10462

22048=21024. 21024≌2.92×10308+308 ≌8.4×10616

美国征集、评选下一世纪密码算法标准AES简况

19xx年4月15日,美国国家标准和技术研究所(NIST)发起征集AES(Advanced Encryption Standard)密码算法的活动。

19xx年9 月12月在联邦登记处(FR)公开发布了征集AES候选算法的通告。并提出了对AES的基本技术要求,即候选算法要比三重DES快,与三重DES一样安全,分组长度为128比特,密钥长度为128、192和256比特。

19xx年8月,NIST召开了第一次AES候选会议,宣布对15个候选算法的若干讨论结果。作为第一轮评测于19xx年4月15日结束。

第二轮评测将从15个候选算法中选出5个,最后再在这5个优选算法中评选出一个算法作为正式的AES标准,计划在20xx年正式出台。

15个候选算法情况是:其中5个来自美国(HPC、MARS、RC6、SAFERT和TWOFISH);2个来自加拿大(CAST-256和REAL);澳大利亚(LOK197)、比利时(RIJNDAEL)、哥斯达黎加(FROG)、法国(DFC);德国(MAGENTA)、日本(EZ)、韩国(CRYPTON)和挪威(SERPENT)各一个。

关于AES更详细情况请参阅:

卿斯汉《网络安全的核心-密码算法和安全协议》和范元书等《AES算法的综合分析》,见19xx年10月苏州会议论文集《中国计算机学会信息保密专业委员会论文集第九卷》。

附一:.cn 1999/11/26 11:28 ZDNet China

近日欧共体将推出其最低限度的数字签名标准,此标准的推出将有利于推动欧洲基于因特网的电子贸易。(路透社)

附二:白宫批准出口密钥长度超过128位的加密软件

【ChinaByte 综合消息】美国政府日前批准美国网络联盟(Network Associates)公司可以出口其符合PGP标准的加密软件,网络联盟公司兴奋地称政府此举具有"划时代"的重大意义。

PGP是"Pretty Good Privacy"的缩写,是由Philip Zimmermann开发的一种使用 RSA算法的公用码加密程序。网络联盟公司表示,根据美政府发放的出口许可证,今后它将可以不受限制地向世界上绝大多数国家出口密钥长度超过128字节的加密软件。但该公司没有进一步说明许可证的其它细节或附加条件,而仅仅说明,白宫然没有解除对古巴和伊拉克等国家的出口限制。

克林顿政府上个月公布了一份对美国现有的加密软件出口法进行修订的征求意见稿。这份法律草案大幅度放松了对美国企业出口加密软件产品的限制,但是其中部分条款受到了美国国会的批评。网络联盟公司官员表示,虽然目前这项法律还没有获得最后的通过,但是白宫向它发放出口许可证为美国企业"指明了方向"。

相关推荐