
密码学
事后诸葛亮
深入浅出!
展开
-
一、密码基础知识
1.加密三要素明文/密文加密之前的消息称为明文(plaintext),加密之后的消息称为密文(cipher-text)。秘钥定长的字符串需要根据加密算法确定其长度算法加密算法解密算法加密算法和解密算法有可能是互逆的, 也有可能相同2.对称加密秘钥: 加密解密使用的是同一个秘钥, 秘钥有一个特点双方向保证机密性加密效率高, 适合加密大数据, 大文...原创 2019-04-12 19:35:26 · 542 阅读 · 0 评论 -
九、SSL、TLS
SSL/TLS — 为了更安全的通信SSL/TLS是世界上应用最广泛的密码通信方法。比如说,当在网上商城中输人信用卡号时,我们的Web浏览器就会使用SSL/TLS进行密码通信。使用SSL/TLS可以对通信对象进行认证,还可以确保通信内容的机密性。SSL/TLS中综合运用了之前所学习的对称密码、消息认证码、公钥密码、数字签名、伪随机数生成器等密码技术。严格来说,SSL(Secure Socke...原创 2019-04-12 19:39:09 · 715 阅读 · 0 评论 -
八、证书
证书 – 为公钥加上数字签名要开车得先考驾照.驾照上面记有本人的照片、姓名、出生日期等个人信息.以及有效期、准驾车辆的类型等信息,并由公安局在上面盖章。我们只要看到驾照,就可以知道公安局认定此人具有驾驶车辆的资格。公钥证书(Public-Key Certificate,PKC)其实和驾照很相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构(Certificatio...原创 2019-04-12 19:38:50 · 600 阅读 · 0 评论 -
七、数字签名
数字签名 — 消息到底是谁写的数字签名是一种将相当于现实世界中的盖章、签字的功能在计算机世界中进行实现的技术。使用数字签名可以识别篡改和伪装,还可以防止否认。我们假设Alice使用的密钥是一个只有Alice自己才知道的私钥。当Alice发送消息时,她用私钥生成一个“签名"。相对地,接收者Bob则使用一个和Alice不同的密钥对签名进行验证。使用Bob的密钥无法根据消息生成签名,但是用Bob的...原创 2019-04-12 19:38:31 · 862 阅读 · 0 评论 -
六、消息认证码
消息认证码 — 消息被正确传送了吗?消息的完整性(integrity), 指的是“消息没有被篡改"这一性质,完整性也叫一致性。消息的认证(authentication)指的是“消息来自正确的发送者"这一性质。消息认证码(message authentication code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称为MAC。消息认证码的输入包括任意长度的消息和一个发送者...原创 2019-04-12 19:38:10 · 721 阅读 · 0 评论 -
五、单向散列函数
单向散列函数 — 获取消息的指纹当需要比较两条消息是否一致时,我们不必直接对比消息本身的内容,只要对比它们的“指纹”就可以了。单向散列函数(one-wayftnction)有一个输人和一个输出,其中输人称为消息(message),输出称为散列值(hashvalue)。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。这里的消息不一定是人类能够读懂的文字,也可...原创 2019-04-12 19:37:49 · 660 阅读 · 0 评论 -
四、非对称加密
非对称加密也叫公钥密码: 使用公钥加密, 使用私钥解密在对称密码中,由于加密和解密的密钥是相同的,因此必须向接收者配送密钥。用于解密的密钥必须被配送给接收者,这一问题称为密钥配送问题。如果使用非对称加密也可以称为公钥密码,则无需向接收者配送用于解密的密钥,这样就解决了密钥配送问题。可以说非对称加密是密码学历史上最伟大的发明。非对称加密中,密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息...原创 2019-04-12 19:37:19 · 3612 阅读 · 0 评论 -
三、分组密码的模式
前面介绍的DES和AES都属于分组密码,它们只能加密固定长度的明文。如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码的迭代方法就称为分组密码的“模式”。分组密码有很多种模式,如果模式的选择不恰当,就无法保证机密性。例如,如果使用ECB模式,明文中的一些规律就可以通过密文被识别出来。分组密码的主要模式(ECB、CBC、CFB、OFB、CTR),最后再来考察一下到底应该使用哪一种...原创 2019-04-12 19:36:56 · 617 阅读 · 0 评论 -
二、对称加密
对称加密:也称为对称密码,是指在加密和解码时使用同一秘钥的加密方式1.DES1.1什么是DESDES一直以来被美国以及其他国家的政府和银行等广泛使用。然而,随着计算机的进步,现在DES已经能够被暴力破解,强度大不如前了。由于DES的密文可以在短时间内被破译,因此除了用它来解密以前的密文以外,现在我们不应该再使用DES了。1.2加密和解密DES是一种将64比特的明文加密成64比...原创 2019-04-12 19:36:27 · 468 阅读 · 0 评论 -
十、Base64编码
Base64Base64编码,是我们程序开发中经常使用到的编码方法。因为base64编码的字符串,更适合不同平台、不同语言的传输(一个字符可能其他的系统没有)。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法,一句:将二进制数据文本化(转成ASCII)。由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成...原创 2019-04-18 19:28:30 · 612 阅读 · 0 评论