密码基础知识 .pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
密码基础知识 1、概述 密码只是信息安全的⼀部分,它的⽬的很明确就是为了解决信息安全问题。不同的密码技术算法解决不同的信息安全问题,但没有⼀ 种技术能解决所有信息安全问题。 信息安全有四类特性: 1. 机密性:为了防⽌信息被窃听,对应的密码技术有对称密码和⾮对称密码。 2. 完整性:为了防⽌信息被篡改,对应的密码技术有单向散列函数、消息认证码、数字签名。 3. 认证:为了防⽌攻击者伪装成真正的发送者,对应的密码技术有消息认证码和数字签名。 4. 不可否认性:为了防⽌发送者事后否认⾃⼰没有做过,对应的密码技术为数字签名。 为了尽可能的解决不同的信息安全特性,我们可能需要组合使⽤多种密码技术。信息安全⾯临的威胁点和所对应的密码技术之间的关系可⽤ 下图来表⽰: 以上主要从类别分类包括6种密码技术:对称密码、⾮对称密码、单向散列函数、消息认证码、数字签名、伪随机数⽣成器。如果看具体的 算法,那就包括 AES、RSA、MD5、SHA1、SHA256、HMAC 等。有些⼈还将 BASE64 也理解为⼀种加解密的密码技术,但 BASE64 只是⼀种编码⽅式,和 ASCII 和 UTF-8 编码的本质上⼀样,主要⽤途就是将不可打印的⼆进制数据编码为可打印的字符串,因 为它不解决信息安全四个特性中的任何⼀种。⼤家都知道⾼性能和⾼安全是很难兼顾,鱼和熊掌不可兼得,我们能做的是尽⼒根据⾃⼰的业 务找到平衡点。下⾯分别介绍⼀下这些技术和他们对应的具体算法。 2、对称加 密 对称加密也称为共享密钥密码、私钥密码,是指⽤相同的密钥加密和解密时的⽅式。对称加密算法的优点是算法公开、计算量⼩、加 密速度快、加密效率⾼。缺点是,交易双⽅都使⽤同样钥匙,密钥的分发和管理⽐较困难,安全性得不到保证。 常⽤的对称加密算法有:DES、3DES、AES、Blowfish、RC5、IDEA 等,其中DES已经可以现实中被暴⼒破解,现在的使⽤最⼴ 泛的对称加密算法是 AES。密码算法可以分为分组密码和流密码两种。其中AES和DES都是属于分组密码。分组密码是将明⽂消息分成⼀ 定长度的N个分组,然后对每个分组进⾏加密。AES的分组长度是128⽐特,分组密码有很多模式,如果模式选择不恰当,就⽆法充分保证 机密性。 AES 是⼀种分组密码,即将明⽂消息拆分为⼀定长度的N个分组,然后对每个分组进⾏加密。AES 的分组长度固定为 128 ⽐特,⽽ 密钥可以是 128/192/256⽐特。既然是固定长度的分组,那我们要加密任意长度的明⽂,就涉及到如何将多个分组进⾏迭代加密的问 题,因此,就有了分组模式。常⽤的分组模式有:ECB、CBC、CFB、OFB、CTR 等。最常⽤的是ECB 和 CBC模式,因此,需要了解下 这两种模式的⽤法和区别。 ECB 全称为 Electronic CodeBook,电⼦密码本模式,是最简单的⼀种模式,它直接将明⽂分割成多个分组并逐个加密,如下图: 这种模式的优点就是简单、快速,加密和解密都⽀持并⾏计算。⽽缺点也⽐较明显,因为每个明⽂分组都各⾃独⽴地进⾏加密和解 密,如果明⽂中存在多个相同的明⽂分组,则这些分组最终会被转换为相同的密⽂分组。这样⼀来,只要观察⼀下密⽂,就可以知道明⽂中 存在怎样的重复组合,并可以以此为线索来破译密码。另外,攻击者可以通过改变密⽂分组的顺序,或删除密⽂分组,或替换掉密⽂分组, 就可以达到对明⽂操纵的⽬的,⽽⽆需破译密码。在实际应⽤中,很少需要进⾏并⾏计算的加解密场景,因此,⼀般情况下不会采⽤这种分 组模式,⽽更推荐采⽤ CBC 模式。 CBC 全称为 Cipher Block Chaining,密⽂分组链接模式,是将前⼀个密⽂分组与当前明⽂分组的内容混合起来进⾏加密的,如下 图: 在 CBC 模式中,⾸先将明⽂分组与前⼀个密⽂分组进⾏ XOR 运算,然后再进⾏加密。加密第⼀个明⽂分组时,由于不存在“前⼀个 密⽂分组”,因此需要事先准备⼀个长度为⼀个分组的⽐特序列来代替“前⼀个密⽂分组”,这个⽐特序列称为初始化向量(initialization vector),通常缩写为 IV。CBC 模式避免了 ECB 模式的弱点,明⽂的重复排列不会反映在密⽂中。不过,相⽐ ECB 模式,CBC 模式多了 ⼀个初始化向量IV。 另外,当最后⼀个明⽂分组的内容⼩于分组长度时,需要⽤⼀些特定的数据进⾏填充,填充⽅式也有很多种,常⽤的有两种: PKCS#5 和 PKCS#7。需要注意的就是,不同编程语⾔使⽤的填充⽅式可能会不同。⽐如,Java

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档