博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据的加密和解密
阅读量:6548 次
发布时间:2019-06-24

本文共 2806 字,大约阅读时间需要 9 分钟。

数据加密和解密:

安全实现的目标:    机密性:,保证数据信息不泄露;    完整性:integrety,保证信息不被篡改;    可用性:availability,保证数据信息的内在价值;威胁安全的行为:    威胁机密性的***行为:窃听,网络嗅探,通信量分析;    威胁完整性的***行为:篡改,伪装,重放,否认;    威胁可用性的***行为:拒绝服务(DoS),分布式拒绝服务;(DDoS)安全解决方案:    技术:        加密和解密:            传统的加密方法:                置换加密                替代加密            现代加密方法:                块加密方法    服务:        用于抵御***而提供的为了实现上述安全目标而特别设计的安全服务;            身份认证;            访问控制;

加密方案:

因素:
加密算法和协议:
加密密钥:

加密算法和协议:    对称加密算法:加密和解密使用同一密钥        主流的加密算法:            DES:Data Enctryption Standard,数据加密标准;                64bits块,加密密钥长度56bits;            3DES:经过NSA(美国国家信息安全局)重新编译升级;            AES:Advanced Encryption Standard,高级加密标准                加密密钥长度:128bits,192bits,256bits            Blowfish            Twofish            IDEA            RC4, RC6            CAST5        特性:            1.每对通信主机都需要保有一个唯一的通信密钥,用于加密和揭秘数据;            2.将原始的数据分割成固定大小的块,逐个加密;            3.加密和解密速度非常快;        缺陷:            1.在一台主机上需要保有的密钥数量会比较多;            2.密钥的分发非常困难;    公钥加密算法(非对称加密算法):密钥是由私钥和公钥组成;公钥是在私钥中抽取生成的;        私钥:512bits,1024bits,2048bits,4096bits,8192bits,16384bits;        私钥:通过特定的工具随机创建生成,有使用者自己存留,务必保证其私密性;也被称为 secret key 或 private key ;        公钥:通过特定的工具从私钥中抽取生成,仅仅是私钥的一部分;公开给所有人使用;被称为 public key ;    主流的公钥加密算法:        RSA:加密,数字签名;        DSA:Digital Signature Algorithm,数字签名算法;有时此算法也被称为DSS,Digital Signature Standard;        Elgamal:商业版(收费)        特性:            1.是用密钥进行加密和解密的时候,私钥加密的数据只能由与之对应的公钥才能解密,使用公钥加密的数据只能有与其对应的私钥才能解密;            2.私钥的长度比较长,加密后的数据安全等级较高;        缺陷:            1.加密数据的时候,所消耗的系统资源较多,速度很慢,因此极少用来加密大量数据;    公钥加密算法的用途:        1.密钥交换:发送方使用接收方的公钥加密对称算法的密钥,将加密后的密钥,发送给接收方。接收方使用自己的密钥解密数据;        2.数字签名:确保数据传输过程中发送方的身份的正确性;发送方使用自己的私钥进行加密,接收方使用发送方的公钥进行解密,进行身份确认;    单向加密算法(Hash加密算法,数据指纹算法 ,不可逆):只能加密不能解密,又称为数据指纹提取;数据指纹即数据的特征码;        主流的单项加密算法:            md5:Message Digest  version5,信息摘要算法;                128bits定长输出;            sha系列:Security Hash Algorithm,安全的哈希算法;                sha-1:160bits定长输出                sha224:224bits定长输出                sha256:256bits定长输出                sha284:284bits定长输出                sha512:512bits定长输出        特性:            1.定长输出            2.雪崩效应:加密后的数据稍有改动,则解密后输出结果将发生翻天覆地的变化;    认证协议:        密钥交换算法:            1.公钥加密            2.DH算法:Diffie-Hellman                用于在通信双方生成一对用于公钥加密算法的密钥对;                    A:p, g                    B:p, g                    A:x                    B:y                    A:p^x%g  --> B:(p^x%g)^y == p^xy%g                    B:p^y%g  --> A:(p^y%g)^x == p^xy%g加密算法的应用方式:    1.通信双方要互相交换各自的证书,并到信任的CA进行证书有效性认证;    2.如果证书认证有效,发送方使用某种协商好的对称加密算法进行数据加密;对加密后的数据进行特征值抽取,用自己的私钥加密抽取出的特征值;以证明数据来源可靠性;发送方利用接收方公钥加密对称加密算法的密钥;    3.接收方接受报文之后,先用自己的私钥解密对称加密算法的密钥;然后用发送方的公钥去解密被加密的特征值,证明数据来源的可靠性,再利用相同的单项加密算法计算数据的特征值,将两次特征值进行比较;以证明数据的完整性;再用对称密钥解密加密的数据即可;

转载于:https://blog.51cto.com/holmes975/2094989

你可能感兴趣的文章
java开始到熟悉105-107
查看>>
深度学习梯度消失或爆炸问题
查看>>
python loss layer: does not need backward computation?
查看>>
本地通知
查看>>
jQuery基础
查看>>
iOS实现提现类似的密码输入框
查看>>
GWT环境搭建--eclipse
查看>>
mybatis学习
查看>>
Mvcpager以下各节已定义,但尚未为布局页“~/Views/Shared/_Layout.cshtml”呈现:“Scripts”。...
查看>>
全半角
查看>>
【ZJOI2012】灾难
查看>>
Java EE (5) -- Java EE 6 JavaServer Faces Developer Certified Expert(1z0-896)
查看>>
关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
查看>>
php+mysql事务处理例子详细分析实例
查看>>
列表、字典(操作)
查看>>
【Java】Maven 常用命令
查看>>
cors跨域问题
查看>>
ruby
查看>>
2048
查看>>
PWM通过RC低通滤波器模拟DAC
查看>>