关于加密那点事

作者【Jev Tse】 环境:sentos6.8

    【本文预览】
     一、关于加密
     二、对称加密
     三、非对称加密
     四、单向散列
     五、密钥交换
     六、SSL/TLS

一、关于加密
     数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

二、对称加密
     采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
     常见算法:DES、3DES、AES、IDEA、RC6、CAST5等
   关于加密那点事
   【优特点】
   加密、解密使用同一个密钥,效率高
   【缺点】
   必须商定秘钥:数据传送前,双方必须商定好秘钥。线上商定,存在被窃取风险
   来源无法确认:如果钥匙被窃取,窃取者就可以冒充另一方进行通讯,接收者无法确认来源
   密钥管理麻烦:每对用户都需要唯一秘钥,这会使得双方所拥有的钥匙数量巨大
   实现简单对称加密:
   关于加密那点事

三、非对称加密
    不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。
    常见算法:RSA(加密,数字签名)、DSA(数字签名)、ELGamal等
   1201不对称加密.png
  【优特点】
   密钥是成对出现的,用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
   公钥:(public key)公开给所有人;  
   私钥:(secret key)自己留存,必须保证其私密性;
  【缺点】
   密钥长, 加密解密效率低下

四、单向散列
    单向散列算法,又称hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一般用于产生消息摘要,密钥加密等。
    常见算法:md5、sha1、sha224、sha256、sha384、sha512

  【特点】
   1、数据相同,摘要必须同
   2、数据不同,摘要必不同
   3、不可通过摘要反推源数据
   4、相同算法,摘要长度必相同
   1201不对称加密-摘要.png
  【密码加密方面】
   可以通过加‘盐’提高密码的安全性
   同一算法相同数据的条件下:
   1、盐相同,结果相同;
   2、盐不同,结果必不相同  
   3、数据不同,结果肯定也不同
      1201不对称加密-MD5加盐.png
   
五、密钥交换
    IPsec IKE:Internet 密钥交换协议(IPsec IKE: Internet Key Exchange Protocol)
    Internet 密钥交换(IPsec IKE)是 IPsec 体系结构中的一种主要协议。它是一种混合协议,使用部分 Oakley 和部分 SKEME,并协同 ISAKMP 提供密钥生成材料和其它安全连系,比如用于 IPsec DOI 的 AH 和 ESP 。
    DH(Diffie-Hellman)一种确保共享KEY安全穿越不安全网络的方法,它是Oakley的一个组成部分。
   这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。DH只能用于密钥的交换,而不能进行消息的加密和解密。

   密钥协商过程如下:
   1201不对称加密-协商.png

六、SSL/TLS
    Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换
    ChangeCipherSpec 协议:一条消息表明握手协议已经完成
    Alert 协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别, fatal类型错误会直接中断SSL链接,而warning级别的错误SSL链接仍可继续,只是会给出错误警告
    Record 协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等
    HTTPS 协议:就是“ HTTP 协议”和“ SSL/TLS 协议”的组合。 HTTP over SSL”或“ HTTP over TLS”,对http协议的文本数据进行加密处理后,成为二进制形式传输。

   通讯过程大概如下:
   1201不对称加密SSL-TLS.png

【回到页首】

作者【Jev Tse】

原创文章,作者:Jev Tse,如若转载,请注明出处:http://www.178linux.com/61870

(0)
Jev TseJev Tse
上一篇 2016-12-01 18:06
下一篇 2016-12-01 22:16

相关推荐

  • FHS文件系统以及各目录功能

    FHS:Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理,规范在根目录(/)下面各个主要目录应该放什么样的文件。 …

    Linux干货 2016-10-17
  • Tomcat性能优化-2

    修改Connector运行模式 启用NIO 或 APR bio介绍 bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O操作 默认模式,性能最差,没有经过任何优化处理和支持 nio模式 nio(non-blocking I/O),Java SE 1.4…

    Linux干货 2016-09-19
  • 用户和组

    一、概述   Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。   用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。 &nbsp…

    Linux干货 2016-10-22
  • python装饰器

    装饰器本质是一个装饰器函数,在不改变一个函数的函数体本身的情况下,实现函数体本身外其他的功能 1.实现一个装饰器 def  logger(fn):                         #装饰器函数必须只能传入一个参数,那就是被装饰函数     print(‘in’)     def wrapper(*args,**kwar…

    Linux干货 2017-10-23
  • linux磁盘管理及文件系统

    linux磁盘管理及文件系统 硬盘存储术语    head:磁头          track:磁道          cylinder: 柱面    &nbsp…

    Linux干货 2016-08-26
  • Shell编程之位置变量

           linux中命令可以接受参数,同样的,shell脚本也可以接受参数。这些参数用$1、$2、$3…$n表示。       $0  表示脚本本身       $1  传递给脚本的第1个参数 $2  传…

    Linux干货 2016-08-12