本文共 1648 字,大约阅读时间需要 5 分钟。
加密方案:
因素:加密算法和协议:加密密钥:加密算法和协议:
对称加密算法:主流的加密算法:DES:Data Encryption Standard,数据加密标准;64bits块,加密密钥的长度56bits;NSA:3DES,DES3AES:Advanced Encryption Standard,高级加密标准;加密密钥的长度,128bits,192bits,256bitsBlowfish:Twofish:IDEARC4,RC6CASTS特性:
1.每对通信主机都需要保有一个唯一的通信密钥,用于加密和解密数据;2.将原始的数据分割成固定大小的块,逐个加密;3.加密和解密的速度非常快;缺陷:1.在一台主机上需要保有的密钥数量会比较多;2.密钥的分发非常困难;3.公钥加密算法(非对称加密算法):密钥是由私钥和由私钥抽取生成的公钥组成;私钥:512bits,1024bits,2048bits,4096bits,8192bits,16384bits;主流的公钥加密算法:
RSA:加密,数字签名;DSA:Digital Signature Algorithm,数字签名算法;只能做数字签名;有时此算法也被称为DSS,Digital Signature StandardElgamal:特性:
1.使用密钥进行加密和解密的时候,私钥加密的数据只能由与之对应的公钥才能解密;同样,使用公钥加密的数据只能由与之对应的私钥才能解密;私钥:通过特定的工具随机创建生成,由使用者自己留存,务必保证其私密性;被称为"secret key" 或 "private key";公钥:通过特定的工具从私钥中抽取生成,仅仅是私钥的一部分;公钥可以公开给所有人使用;被称为"public key"2.私钥的长度都比较长,加密之后的数据安全等级较高;缺陷:
加密数据的时候,消耗系统资源和时间都较多,速度很慢,因此,极少用来加密大量数据;公钥加密算法的用途:
1.密钥交换:发送方使用接收方的公钥加密对称加密算法的密钥,将加密后的密钥发送给接收方;2.数字签名:可以确保数据传输过程中发送法的身份的正确性;单向加密算法(Hash加密算法,数据指纹算法):
只能加密不能解密,又称为"数据指纹提取";数据指纹即数据特征码;主流的单向加密算法:
md5:Message Digest Version 5,信息摘要算法第五版;128bits定长输出;sha系列: Security Hash Algerithm,安全的哈希算法;sha-1:160bits定长输出;sha224:224bits定长输出;sha256:sha384:sha512:特性:
1.定长输出;2.雪崩效应;认证协议:
密钥交换算法:1.公钥加密:2.DH算法:Diffie-Hellman用于在通信双方生成一对用于公钥加密算法的密钥对;A:p, gB:p, gA:xB: yA:p^x%g --> B: (p^x%g)^y == p^xy%g A:p^y%g --> B: (p^y%g)^x == p^xy%g加密算法的应用:
1.通信双方互换各自的证书,并到信任的CA进行证书有效性认证;2.如果证书认证有效,发送方就使用某种协商好的对称加密算法进行数据加密;对加密后的数据进行特征值抽取,然后再用自己的私钥加密码抽取出来的特征值,以证明数据来源可靠性;发送方利用接收方的公钥加密对称加密算法的密钥;3.接收方在收到数据报文之后,先用自己的私钥解密对称加密算法的密钥,然后用发送方的公钥解密被加密的特征值,以证明数据来源可靠,再利用相同的加密单向加密算法计算数据的特征值,比较两个特征值,以证明数据完整性;再用对称密钥解密加密的数据即可;转载于:https://blog.51cto.com/wangzhihang/2123196