zoukankan      html  css  js  c++  java
  • 对称加密与非对称加密

    这些天项目中涉及到CA认证,通过CA认证可以实现客户端和服务器端的安全通信。接下来几天会陆续把这阶段所学记录下来,以备以后所需。学习CA认证首先要知道两个概念,对称加密和非对称加密。

    密码学中基本概念有明文、密文和密钥,密钥就是明文和密文二者之间转换的钥匙。通常明文是我们能看得通,理解通的,而密文则是一些无规则,表面看无意义甚至是乱码的。密钥的核心是算法,密钥控制着算法,密钥通过算法对明文进行加密。

    对称加密:

    加密和解密都使用同一算法和同一密钥,特点是操作方便、易破解

    如上图,对称加密的密钥是通过额外方式去告知消息的接收方,这种额外方式极容易被窃取,同时如果一个发送方向多个接收方发送消息,那么发送方需要准备多个密 钥,保证每个接收方都能解密,这样对密钥的维护成本非常大。例如公司财务部门向每名员工发送工资详情,同时又要保证员工彼此之间工资不透明。

    非对称加密:

    需 要两个密钥,一个公钥(public key)和一个私钥(private key),公钥可以向所有人开放,而私钥只属于自己。这样在加密和解密的时候使用不同的密钥操作,如果用公钥加密,那么只能通过私钥才能解密,如果私钥加 密,那么只能使用公钥进行解密。特点是操作复杂,难破解。


    如上图,非对称加密是交换彼此的公钥,即使第三方窃取了Alice和Bob的公钥,但是它没有私钥也无法完成解密。这样就保证了安全性。另外原则上私钥是绝对安全的,不可能让第三方窃取。

    非对称加密的最流行的算法是RSA算法,它也不是100%的安全,也有被破解的事件发生,详情:http://baike.baidu.com/view/7520.htm

    另外非常感谢小雨童鞋提供的PPT文档资料。

  • 相关阅读:
    守护线程与普通线程
    Java中实现多线程的两种方式之间的区别
    Python os.dup() 方法
    Python os.closerange() 方法
    Python os.close() 方法
    Python os.chroot() 方法
    Python os.chmod() 方法
    JavaScript——基本包装类型
    javascript——function类型(this关键字)
    常用的正则
  • 原文地址:https://www.cnblogs.com/orientsun/p/2609446.html
Copyright © 2011-2022 走看看