系统安全之数据加密解密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统安全之数据加密解密相关的知识,希望对你有一定的参考价值。
1.为什么要进行数据加密? 若不对数据加密,难免在进程间通信时,会有第三者窃听甚至修改通信数据;因此为了更好的确保数据的机密性,完整性,需要对数据加密。
2.加密方案组成
加密算法及协议
加密密钥
3.常用的数据加密算法
1.对称加密算法:
特点:加密密钥和解密密钥相同(秘钥长度一般为56bits,128bits, 192bits, 256bits)
主流的加密算法
DES
3DES
AES
TWOFISH
....
其他特性:
1.对于一对通信主机,需要保证密钥的唯一性
2. 会对原始的数据分割成固定块大小逐个加密
3.加密和解密的速度非常快(加密密钥的长度比较短)
缺陷:
1.因为需要保证密钥的唯一性,当一台主机要和多台主机通信时,需要拥有大量的密钥
2.密钥需要一台主机发送给另一台主机,途中很难保证密钥安全,所以密钥分发困难
2.非对称的加密算法(也叫公钥加密算法)
特点:密钥不同;由私钥和用私钥抽取生成的公钥组成
私钥:由特定的工具生成,仅由使用者自己保存,需要保证一定的私密性(512bits, 1024bits, 2048bits, 4096bits, 8192bits, 16384bits)
公钥:由特定的工具,从私钥中抽取,抽取的其中不重要的一部分,可以公开
主流的加密算法
RSA:加密,数字签名;
DSA:数字签名算法;
Elgamal:
其他特性:
1.在加密和解密的时候,私钥加密的数据只能其对应的公钥才能解开,公钥加密的数据只能对应的私钥才能解开
2.私钥长度比较长,加密后的数据更安全
缺陷:
因为秘钥太长,加密数据会消耗较多的系统资源;所以很少用来加密大量数据
公钥加密的用途
1.密钥交换:发送方用接收方的公钥去加密自己的密钥,接收方收到后可以用自己的私钥解密
2.数字签名:用自己的私钥加密数据,然后将公钥发送给接收方,让接收方解密
单向加密算法
只能加密不能解密,又称为"数据指纹提取";数据指纹即数据的特征码;
主流的单向加密算法:
md5:Message Digest version 5,信息摘要算法第5版;
128bits定长输出;
sha系列:Security Hash Algorithm,安全的哈希算法;
sha-1:160bits定长输出;
sha224:224bits定长输出;
sha256:256bits
sha384:384bits
sha512:512bits
特性:
1.定长输出:无论加密的明文有多长,输出都是定长的
2.雪崩效应:若明文有一丝变化,其加密后内容,差别很大
4.如何在通信时加密数据,使通信更为安全?
1.发送方先用单向加密抽出数据中的一部分加密,得到结果称为特征码;同时用自己的私钥加密特征码
2.发送方用对称加密去加密数据;同时用接收方的公钥加密对称密钥
3.接收方用发送方的公钥解密特征码,认证发送方
4.接收方用自己的私钥解密对称密钥,随后用解密出来的密钥解密数据
5.收到数据后,再用单向加密获得特征码,与之前得到的特征码按位对比,确保数据信息的完整性
以上是关于系统安全之数据加密解密的主要内容,如果未能解决你的问题,请参考以下文章
系统安全之数据的加密和解密CA的介绍SSL或TLS协议简介及握手过程