关于加密那点事

作者【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

相关推荐

  • 详解Linux下用户和组的配置文件

    本文将介绍Linux下用户和组的概念及相关配置文件,通过本文,能更好的认识/etc/pssswd ,/etc/group,以及UID、GID的概念,最后将通过修改用户配置文件来实现用户和组的管理工作,对Linux的多任务、多用户有一个更清楚的认识。 一、用户(USER) 在LInux上用户的管理工作是通过修改相关的配置文件来实现的,在日常的工作中主要包含对用…

    Linux干货 2016-10-23
  • Package Manager

    Package Manager Package 管理工具的分类 rpm yum Source Code Install 管理工具的分类 前段管理工具:Debian:debRedhat,Suse…:rpm 前端管理工具:Debian:apt-getRedhat:yum,dnf RPM RPM是什么?RPM全称是RPM Package Manager…

    2016-03-27
  • 文件目录介绍

    对于操作系统的目录感觉总是记不住,今天结合上课笔记和自己的理解总结一下:/——-执行操作时总是要跳转到不同的目录,根是一个树状结构,下面介绍都是根下的目录以及相关介绍├── bin 存放用户使用的基本命令(可执行程序,二进制文件)、分区的时候不会单独给它分区├── boot  跟内核有关的文件├── cgroup &nbsp…

    Linux干货 2017-04-10
  • N26-第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相 关示例演示。 文件管理类命令:mkdir rmdir cp rm mv ①mkdir命令:创建目录 格式:mkdir [OPTION]… DIRECTORY… option -m, –mode=MODE -p, –paren…

    Linux干货 2017-02-02
  • 编译安装httt服务

    1 软件下载地址:http://httpd.apache.org/ 2 将下载好的httpd-2.2.34.tar.bz2包解压到 /usr/local/src/httpd-2.2.34–  # tar xvf httpd-2.2.34.tar.bz2 3 编译安装http,指定安装路径: –prefix=/app/http…

    Linux干货 2017-08-05
  • 重构-改善既有代码的设计:编写代码22宗罪(三)

    1 Duplicated  Code重复代码        不同的地方出现相同的程序结构:         如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见…

    Linux干货 2015-04-07