zoukankan      html  css  js  c++  java
  • TSL(SSL)相关内容

    内容基本包括以下各个方面(出自维基百科):

    Transport Layer Security

    Public-key cryptography

    Symmetric-key algorithm

    Digital signature

    X.509

    在说SSL之前介绍相关一些相关的概念,这些东西大学老师都有讲过,就是基本忘光了,没学好啊。

    Sysmmetric-key algorithm

    中文意思为对称钥算法。对称钥算法是一系列密码算法,它使用同一个密钥去加密明文和解密密文。这个密钥是在进行私密信息交流中,多方间共享的一个secret。正因如此,所以存在多方都有权获得这个密钥,这是它对比public-key cryptgraphy的主要缺点。

    接下来说Public-key cryptgraphy

    它同样被称为asymmetric cryptography(非对称密码),这里会涉及到一系列的密码算法,而这些算法的特点是需要两个密钥,一个是public(公有的),一个是private(私有的)。这两个密钥是存在一定的数学联系的。公钥用于加密明文或者验证数字签名(digital signature),私密用于解密密文或者创建数字签名。

    通俗点说,对称与非对称的区别就在于是否使用同一把密钥,public-key algorithm和sysmmetric-key algorithm不需要在多方之间交换同一个密钥。

    公钥是可以公诸于世的,而私钥只能给那些经过授权的人去读取信息或者进行数字签名,所以问题就来了,怎么进行授权

    消息授权涉及到使用 私钥 去处理 消息 产生一个 数字签名。任何人都可以通过使用公钥去处理这个数字签名进行验证,看得到的结果是否和消息是一致的。成功的话,证明消息在被签名后就没有被修改过(内容不被修改),和除了签名者外没有人恶意进行过签名操作(保证发送者是合法的,而不是恶意篡改者)。这里说到的消息在实际上一般不是要发送的message body本身,而可能是对messaga的hash后得出的结果,主要原因是对大数据进行处理是“高能耗”工作,换成hash值会“低能高效”。

    上面描述反复说到数字签名,什么是数字签名

    digital signature is a mathematical scheme for demonstrating the authenticity of a digital message or document. 数字签名是一种用于证明数字消息或者文档真实性的数学策略。一个合法的数字签名保证有足够的理由让接受者相信消息是由一个已知的发送者创建的,因此发送者不得否认发送过该信息,同时保证消息在运输过程中不被篡改。

     Continue。。。

  • 相关阅读:
    取消svn版本控制
    Sublime Text 2搭建Go开发环境(Windows)
    RESTful API 设计指南
    laravel-v5.1分页并带参数
    laravel使用的模板引擎 blade
    控制器中添加DB类才可以操作数据库表中的数据
    简单hello world
    创建控制器命令
    命令创建模型类
    IntelliJ IDEA类头注释和方法注释
  • 原文地址:https://www.cnblogs.com/chiefhsing/p/3311922.html
Copyright © 2011-2022 走看看