凯撒密码密码算法及编程.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2讲 密码算法与编程 第2讲 密码算法与编程 2.1 消息和加密 2.2 古典密码算法 2.3 现代密码算法 2.4 编程实例 2.1 消息和加密 消息被称为明文。 用某种方法伪装消息以隐藏它的内容的过程称为加密, 加了密的消息称为密文, 而把密文转变为明文的过程称为解密, 如图表明了加密和解密的过程。 2 .1 消息和加密 密码算法是用于加密和解密的数学函数 算法可以分为两种策略以达到保密的效果 1、算法本身保密(解密者可以购买其产品进行解密) 2、算法公开,使用密钥 2 .1 消息和加密 加密和解密需要用到密码算法 公开密码算法,保存密钥,是通常的做法。密钥用K表示。加密和解密运算都使用这个密钥,如图所示 有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,也称为非对称密码算法、公钥密码算法,如图所示。 2.2 古典密码算法 2.2.1.代码加密 使用通信双方预先设定的一组有确切含义的如日常词汇、专有名词、特殊用语等的代码来发送消息 一般只能用于传送一组预先约定的消息 2.2 古典密码算法 2.2.2.替换加密 将明文字母表M中的每个字母替换成密文字母表C中的字母。这一类密码包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语密码等。这种方法可以用来传送任何信息,但安全性不及代码加密。因为每一种语言都有其特定的统计规律,如英文字母中各字母出现的频度相对基本固定,根据这些规律可以很容易地对替换加密进行破解。 典型的有凯撒密码 “恺撒密码”,它是一种替代密码,通过将字母按顺序推后3位起到加密作用,如将字母A换作字母D,将字母B换作字母E 2.2 古典密码算法 2.2.3.变位加密 变位加密不隐藏明文的字符,即明文的字母保持相同,但其顺序被打乱重新排列成另一种不同的格式。 1)简单变位加密。预先约定好一组数字表示密钥,将文字依次写在密钥下,再按数字次序重新组织文字实现加密,也有人喜欢将明文逆序输出作为密文。例如 密钥:5 2 4 1 6 3 (密文排列次序) 明文:信息安全技术 密文:技息全信术安 2.2 古典密码算法 2)列变位法。 将明文字符分割成个数固定的分组(如5个一组,5即为密钥!),按一组一行的次序整齐排列,最后不足一组用任意字符填充,完成后按列读取即成密文。 3)矩阵变位加密。 将明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。一般为按列变换次序,如原列次序为1234,现为2413。 2.2 古典密码算法 例如:明文Network Security按行排列在3×6矩阵中,如下所示: 1 2 3 4 5 6 N e t w o r k S e c u r I t y 给定一个置换: ,根据给定的次序,按5、2、6、4、1、3的列序重新排列,得到: 5 2 6 4 1 3 o e r w N t c u e k S i y r t 所以,密文为:oerwNtc uekS i yrt。解密过程正好相反,按序排列密文后,通过列置换再按行读取数据即可。 2.2 古典密码算法 2.2.4.一次性密码簿加密 密码簿每一页都是不同的代码表,可用一页上的代码来加密一些词,用后销毁,再用另一页加密另一些词,直到全部的明文完成加密,破译的唯一方法就是获取一份相同的密码簿。 2.3 现代密码算法 流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0、1数字),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流解密。流密码的强度完全依赖于密钥流序列的随机性和不可预测性,其核心问题是密钥流生成器的设计 流密码主要应用于政府和军事等国家要害部门。 2.3 现代密码算法 分组对称密码算法 DES、AES、IDEA 非对称密码算法 RSA、ECC 其他算法 MD5、SHA-1 2.3 现代密码算法 DES算法实现加密需要三个步骤: 第一步:变换明文。对给定的64位比特的明文x,首先通过一个置换IP表来重新排列x,从而构造出64位比特的x0,x0=IP(x)=L0R0,其中L0表示x0的前32比特,R0表示x0的后32位。 第二步:按照规则迭代。规则为 Li = Ri-1 Ri = Li -1⊕f(Ri-1 ,Ki ) (i=1,2,3…16) 经过第一步变换已经得到L0和R0的值,其中符号⊕表示的数学运算是异或,f表示一种置换,由S盒置换构成,Ki 是一些由密钥编排函数产生的比特块。f和Ki将在后面介绍。 第三步:对L16R16利用IP-1作逆置换,就得到了密文y。加密过程如图所示 2.3 现代密

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档