zoukankan      html  css  js  c++  java
  • [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)

    对称/非对称/混合加密的冷知识

    数据在互联网上传输,要考虑安全性. 讲到安全,要从三方面考虑:

    • 1、authentication 每一个IP包的认证,确保合法源的数据
    • 2、data integrity 验证数据完整性,保证在传输过程中没有被人为改动
    • 3、confidentiality (私密性)数据包的加密

    下面谈谈如何对数据加密. 于是有了非对称加密

    对称加密

    对称加密算法---使用一把密匙来对信息提供安全的保护。只有一个密匙,即用来加密,也用来解密

    特点:
    - 1、速度快
    - 2、密文紧凑
    - 3、用于大量数据的传送
    
    对称加密代表:DES、3DES、AES
    
    3DES--有三个密匙,用第一个密匙加密,用第二个密匙解密,再用第三个密匙加密
    
    

    他有个致命的缺点, 密钥传输问题.

    非对称加密

    绘图软件: 链接:https://pan.baidu.com/s/1hsKU560 密码:nm72

    他有个好处, 公钥随便扔给对方,让对方去加密数据,发给我, 我用我的私钥来解密.

    不得不说公钥和私钥是一对情侣,你在我在,你亡我亡,你系的铃世上只有我能解.

    
    - 加解密如何操作? 非对称加密: 有一对密匙,一个叫公匙,一个叫私匙,如果用其中一个加密,必须用另一个解密。
    
    - 非对称加密有什么特点?
    
    - 1、速度慢
    - 2、密文不紧凑
    - 3、通常只用于数字签名,或加密一些小文件。
    
    - 非对称加密常见的算法有哪些? RSA、ECC
    
    - 非对称加密常见操作模式有? 
    非对称加密代表RSA--有一对密匙,一个公匙,一个私匙,私匙加密,公匙解密,或者公匙加密,私匙解密
    
    非对称加密可以有两种应用:
    - 1、公钥加密,私钥解密,叫加密
    - 2、私钥加密,公钥解密,叫数字签名
    
    
    他也有个致命的弱点. 加密速度超慢.
    

    带加密的数字签名

    混合加密- 理想的应用方法

    - 用非对称加密法来传送对称加密的密匙。
    - 用对称加密法来加密实际的数据。
    
    数字签名不但证明了消息的内容,还证明了发送方的身份。
    密钥化的HASH--使用密钥对生成的消息摘要进行加密时,被称为加密的消息摘要。
    

    说到这里,或许还是云里雾里,到底是不是那回事呢,使用openssl实操下 体验下对称加密和非对称加密.

    使用openssl实现对数据的对称/非对称加密实操

    认证机制(可靠性)和散列机制(完整性)

    认证机制(这里所指的是设备的认证,而不是用户的认证)

    现代的基本加密技术要依赖于消息之目标接收者已知的一项秘密,关键的问题是如何保障密钥的安全。

    - 1、用户名和密码
    - 2、OTP(one time password)一次性密码
    - 3、生物认证(指纹、眼膜)
    - 4、预共享密钥
    - 5、数字证书
    - 6、加密临时值
    

    散列机制--用来做完整性检验

    散列函数(就是HASH)--把一大堆数据经过计算得到一个较小的、定长的值,散列是一种不可逆函数。这意味着一旦明文生成散列,就不可能或者说极端困难再将其由散列转换成明文。

    HASH的特点:
    - 1、不管输入什么数据,输出是定长的
    - 2、只要输入有一点微小变化,输出就会发生很大的变化,也就是雪崩效应
    - 3、不可逆
    
    ## HASH的算法:
    - 1、md5  提供128位的输出 md5是验证,不是加密技术,用来做哈希
    - 2、SHA  提供160位的输出
    
    HMAC--使用散列的消息认证编码,或者叫密钥化的HASH,是一种使用HASH来进行认证的机制。可以用来做预共享密钥的认证。
    
  • 相关阅读:
    建筑名称解释
    delphi 文件查找
    bat如何批量删除指定部分文件夹名的文件夹
    在 DELPHI 中 procedure 型变量与 method 型变量的区别
    Spearman Rank(斯皮尔曼等级)相关系数
    机器学习的MLE和MAP:最大似然估计和最大后验估计
    error “Device supports x86, but APK only supports armeabi-v7a”
    windows 安装ninja
    Gradle语法基础解析
    executing external native build for cmake
  • 原文地址:https://www.cnblogs.com/iiiiher/p/8086030.html
Copyright © 2011-2022 走看看