数据的加密和解密

数据加密和解密:

安全实现的目标:
    机密性:,保证数据信息不泄露;
    完整性: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值