精华内容
下载资源
问答
  • 混合加密方式
    千次阅读
    2018-12-23 14:54:03

    http到https,https解决什么问题


    报文为明文传输,存在被窃听的风险--ssl提供报文加密机制
    无法判定通信方的身份,可能遭遇伪装--ssl的证书机制,需要请求方和服务端拥有相同的公钥证书
    无法验证报文的完整性,可能已经被篡改--ssl的数字签名机制,MD5和SHA-1等散列值校验的方法
    https本质上是将http通信接口部分使用ssl和tls协议替代,即原本http和tcp层直接通信,现在变为http先和ssl层通信,然后ssl和tcp层通信。

    三种加密方法及其优缺点:


    1对称加密--加解密使用同一秘钥

    解密和加密用同一个秘钥的方式成为共享秘钥加密;
    共享秘钥加密必须先将秘钥发给对方,这个时候如果通信被监听,那么秘钥可能落入攻击者手中,同时失去了加密的意义,另外需要安全保管接收到的秘钥。

    2非对称(公开)秘钥加密--加解密使用不同的秘钥


    公开密钥使用一对非对称的秘钥,包括一把公开秘钥和一把私有秘钥;发送密文的一方利用公开秘钥对报文加密,接收密文方则用私有秘钥对加密后的密文解密。
    优点:私钥完全不用传输,所以很安全。
    缺点:处理速度相对共享秘钥较慢。

    3混合加密机制

    使用混合加密的原因:非对称秘钥加密会比较慢,但是私钥不用传输安全,而对称秘钥方式则相反,为了充分利用两者优缺点,产生了混合加密机制
    解决方案:即通信建立之初采用公开加密的方式传输对称秘钥方式中的同一秘钥,这样确保了共享秘钥的安全性,然后以后的通信均采用对称加密方式,这样提升了通信速度

    https请求过程


    https使用的是混合加密机制,其大概请求和处理过程如下图:



    1、客户端发起HTTPS请求
    这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。
    2、服务端的配置
    采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。
    这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙(私钥)和一个锁头(公钥),只是全世界只有你一个人有这把钥匙(私钥),你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
    3、传送证书
    这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。
    4、客户端解析证书
    这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。
    如果证书没有问题,那么就生成一个随机值(以后作为对称秘钥方式的共享秘钥),然后用证书(公钥)对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。
    5、传送加密信息
    这部分传送的是用公钥(证书)加密后的随机值,目的就是让服务端得到这个随机值(对称加密的秘钥),以后客户端和服务端的通信就可以通过这个随机值(共享秘钥)来进行对称加密解密了。
    6、服务端解密共享秘钥
    服务端用自己的私钥解密后,得到了客户端传过来的随机值(共享秘钥),注意这里对称加密的秘钥的传输方式采用的是公开秘钥方式,确保了共享秘钥的安全传输。然后以后的通信,都会采用对称秘钥方式将通信内容加密,即把内容通过该共享秘钥进行对称加密,所谓对称加密就是,将信息和共享秘钥通过某种算法混合在一起,这样除非知道共享秘钥和加密算法,不然无法获取内容,而正好客户端和服务端都知道这个共享秘钥,所以只要加密算法够彪悍,共享秘钥够复杂,数据就够安全。
    7、传输加密后的信息
    这部分信息是服务端用对称加密方式加密后的信息,可以在客户端被还原。
    8、客户端解密信息
    客户端用之前生成的随机值(共享秘钥)解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,因为没有共享秘钥也会束手无策。客户端之所以你能够正常解密是因为以下两点:
    A服务端和客户端拥有相同的随机值(共享秘钥),是采用公开秘钥方式传输的。
    B服务端和客户端使用相同的算法和随机值(共享秘钥)对内容进行加解密。

    使用SPDY加快你的网站速度

    2012年google如一声惊雷提出了SPDY的方案,大家才开始从正面看待和解决老版本HTTP协议本身的问题,SPDY可以说是综合了HTTPS和HTTP两者有点于一体的传输协议,主要解决:

    1. 降低延迟,针对HTTP高延迟的问题,SPDY优雅的采取了多路复用(multiplexing)。多路复用通过多个请求stream共享一个tcp连接的方式,解决了HOL blocking的问题,降低了延迟同时提高了带宽的利用率。
    2. 请求优先级(request prioritization)。多路复用带来一个新的问题是,在连接共享的基础之上有可能会导致关键请求被阻塞。SPDY允许给每个request设置优先级,这样重要的请求就会优先得到响应。比如浏览器加载首页,首页的html内容应该优先展示,之后才是各种静态资源文件,脚本文件等加载,这样可以保证用户能第一时间看到网页内容。
    3. header压缩。前面提到HTTP1.x的header很多时候都是重复多余的。选择合适的压缩算法可以减小包的大小和数量。
    4. 基于HTTPS的加密协议传输,大大提高了传输数据的可靠性。
    5. 服务端推送(server push),采用了SPDY的网页,例如我的网页有一个sytle.css的请求,在客户端收到sytle.css数据的同时,服务端会将sytle.js的文件推送给客户端,当客户端再次尝试获取sytle.js时就可以直接从缓存中获取到,不用再发请求了。

    SPDY位于HTTP之下,TCP和SSL之上,这样可以轻松兼容老版本的HTTP协议(将HTTP1.x的内容封装成一种新的frame格式),同时可以使用已有的SSL功能。

    HTTP2.0的前世今生

    顾名思义有了HTTP1.x,那么HTTP2.0也就顺理成章的出现了。HTTP2.0可以说是SPDY的升级版(其实原本也是基于SPDY设计的),但是,HTTP2.0 跟 SPDY 仍有不同的地方,主要是以下两点:

    • HTTP2.0 支持明文 HTTP 传输,而 SPDY 强制使用 HTTPS
    • HTTP2.0 消息头的压缩算法采用 HPACK,而非 SPDY 采用的 DEFLATE

    HTTP2.0的新特性

    • 新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
    • 多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。 
    • header压缩,如上文中所言,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
    • 服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。目前,有大多数网站已经启用HTTP2.0,例如YouTuBe淘宝网等网站,利用chrome控制台可以查看是否启用H2:

    参考:http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/

    更多相关内容
  • 基于ECC和AES的混合加密应用系统 源代码+配置+毕业论文(1)基于ECC和AES的混合加密应用系统 源代码+配置+毕业论文(1)基于ECC和AES的混合加密应用系统 源代码+配置+毕业论文(1)基于ECC和AES的混合加密应用系统 源代码+...
  • 分析了对称加密算法AES和非对称加密算法ECC的加密过程和特点,并结合两种算法的特点设计了一种混合加密体制,在避免了对称加密算法复杂的密钥分配体制的同时保证了加密的效率和强度。同时引入了改进的数字签名算法...
  • 支持中英文的混合加密,通过base64加密一层后自定义一层加密方法,通过钥匙掌控自己的解密方法,安全可靠,详情请参考博客:https://blog.csdn.net/CLinuxF/article/details/81975923
  • 混合加密

    万次阅读 2017-01-06 10:17:03
    取对称密码之长补公钥密码之不足,取公钥密码之长补对称密码之不足,下面我们将开启混合加密之旅。 一、概述 用对称密码来加密明文,用公钥密码来加密对称密码中所使用的密钥。通过使用混合密码系统,就能够将在...

    我们都知道,对称密码和混合密码,各有各的优点,也各有缺点。而将他们组合到一起,的确是一种不错的选择。取对称密码之长补公钥密码之不足,取公钥密码之长补对称密码之不足,下面我们将开启混合加密之旅。

    一、概述

    用对称密码来加密明文,用公钥密码来加密对称密码中所使用的密钥。通过使用混合密码系统,就能够将在通信中对称密码与公有密码的优势结合起来。

    二、加密

    混合密码系统中会先用对称密码来对消息进行加密,这样消息就被转换为密文,从而保证消息的机密性,然后我们只要保证对称密码的机密性就可以啦。用公有密码
    对加密消息时使用的对称密码的密钥进行加密。由于密钥比较短,公钥密码速度慢的问题就得以解决啦。

    混合密码系统组成机制
    1.用对称密码加密消息
    2.用伪随机数生成器生成对称密码加密中使用的会话密钥
    3.用公钥密码加密会话密钥
    4.从混合密码系统外部赋予公钥密码加密中使用的会话密钥

    会话密钥:是指为本次通信而生成的临时密钥,它一般是由伪随机数生成器产生。伪随机数生成器所产生的密钥同时也会被传递给右半部分,做为对称加密的密钥使用
    会话密钥的双重性:a.对称密码的密钥,b.公钥密码明文

    三、解密

    解密是加密的逆过程,不多说


    四、高强度的混合密码系统具备的条件

    1.良好的伪随机数生成器算法
    2.高强度的对称密码算法,并确保密钥有足够的长度,选用合适的分组模式
    3.高强度的公钥密码算法,并确保密钥有足够的长度
    4。密钥长度要平衡公钥密码强度应该要高于对称密码,因为公钥被破解,从过去到未来的通信都能够被破解


    展开全文
  • JavaMd5混合加密

    2018-04-16 17:33:39
    使用java编写的加密工具类,使用时加入到自己的工程中,并把j里面ar包添加到类库中,即可调用,采用了多重加密技术
  • 密钥分配实现混合通信,对称密钥实现通信,公钥加密私钥传送。发方加密明文发给收方,并用收方的公钥加密私钥发送给收方,收方用自己的私钥解密得到发方的私钥,然后解密密文,得到明文消息。
  • VC 混合加密算法应用实例,代码由东北大学信息科学与工程学院安全与保密小组编写,系统实现了一个基本的混合密码系统。它使用DES作为对称密钥算法,RSA作为公开密钥算法。  VC 混合加密系统特点如下:1:提供了俩...
  • 混合加密的原理描述

    2015-03-30 16:01:57
    混合加密算法结合了对称性加密和非对称性加密的优点,在通信过程中,除了能有效地保证安全性以外,还将加密算法的效率大大提高。混合加密算法采用了双重加密,即使有恶意用户在交换密钥的时候窃取了部分密钥,也不会...
  • 基于YUV的混合加密算法的研究
  • RSA和AES混合加密demo

    2017-11-29 18:20:10
    RSA和AES混合加密demo
  • 采用了分析与比较的方法,首先研究了目前常用的对称加密算法DES以及非对称加密算法RSA,然后分析比较了它们的优缺点,进而综合安全性和效率设计出适合于在实际工程中应用的RSA、DES混合加密算法,最后结合实际JAVA...
  • 文中提出一种新的授权加密方法, 即DPAPI加密算法和RSA数字签名算法的混合加密算法. 该算法利用DPAPI加密算法加密客户端申请授权的信息, 在实现加密的同时保证软件授权的正确性, 再利用RSA数字签名算法对服务器端的...
  • 提出了一种高效的基于混合加密算法的Mix-net协议。正常情况下,当所有Mix服务器都忠实地执行协议时,其运算速度优于其他所有已知的具有公开可验证性的Mix-net。采用一种“乐观的”、基于散列运算的方法验证混洗过程...
  • 为了解决云环境中大数据量加密速度慢的问题,针对云计算环境中多节点的特点,结合混沌加密和MapReduce并行框架,提出一种并行混合混沌加密方案。通过对明文数据进行分组,在分组加密初始化时,混合三维Lorenz混沌系统和...
  • 基于DES和RSA混合加密的通信系统(C++)
  • 密钥分配(RSA+DES混合加密含源程序) - lly1122334的博客 - CSDN博客 http://blog.csdn.net/lly1122334/article/details/78959639
  • 对称加密、非对称加密、混合加密

    千次阅读 2022-02-06 18:13:00
    混合加密4.常见的摘要算法 1.对称加密 AES,密钥长度有128/256/192。高级加密标准,是下一代的加密算法标准,速度快,安全级别高; DES:密钥为56, 数据加密标准,速度较快,适用于加密大量数据的场合。 3DES: 密钥为...

    1.对称加密

    AES,密钥长度有128/256/192。高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
    DES:密钥为56, 数据加密标准,速度较快,适用于加密大量数据的场合。
    3DES: 密钥为168.是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
    IDES: 密钥为128
    SM1: 密钥为128
    SM4: 密钥为128
    RC4, RC5, RC6
    DESX

    两边用同一个密钥来加解密。

    1.1 对称加密的有优缺点

    • 加解密速度快
    • 会出现密钥分配问题;密钥容易复制,不便于安全保管

    1.2 密钥分配问题

    对称加密的存在密钥分配问题,A的密钥怎么才能安全的传输到B手里不被X获取到?A直接发送密钥给B还是可能被X窃取到这个密钥.

    只有用密钥加密后的信息才能安全传输,但是只有保证安全传输的前提下才能发送这个密钥。

    2.非对称加密

    RSA,: 由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
    SM2,
    ECC: 椭圆曲线密码编码学。移动设备用。
    DSA:数字签名算法,是一种标准的 DSS(数字签名标准)

    双方使用不同的密钥来加解密,并且不能通过一个密钥推算出另一个密钥

    • 公钥加密,私钥解密
    • 私钥加密(数字签名),公钥解密

    A把事先准备好了非对称密钥对,分别为公钥和私钥,这一套非对称密钥对能相互加解密。公钥是公开的,私钥只有自己才有。然后A把公钥发送给B,或者公钥放在服务器B自行下载。B拿到了公钥后用公钥的一套算法加密信息后传输给A,A用私钥执行另一个算法解密获得明文信息。

    2.1 非对称加密的优缺点

    • 不会出现密钥分配问题
    • 加解密速度慢,仍有被窃听的隐患

    3.混合加密

    传输大量数据的时候使用对称加密,因为加解密速度快。但是由于对称加密有秘钥分配问题,所以我们用非对称加密来加密这个对称密钥再传递给对方。

    • A:这是我的公钥public_A,你收好,你生成对称密钥也给我一下
    • B:好的,收到public_A,你收好对称密钥secretKey。然后用public_A加密这个secretKey
    • A:收到消息,private_A解密出来是secretKey。

    中间人攻击:
    在这里插入图片描述

    • A:这是我的公钥public_A,你收好,你生成对称密钥也给我一下
    • X获得了A的公钥,把自己的公钥public_X发给B… B这傻子还以为真的是A的公钥呢
    • B:好的,公钥public_X已收到,生成一个对称密钥secretKey,然后用public_X加密这个对称密钥。
    • X截获了这个消息,用自己私钥private_X解密出对称密钥secretKey,自己再生成一个secretKeyXXX用public_A加密一下发送给A。A这傻子还以为你们接下来会安全的用secretKey通信吗哈哈哈
    • A:收到消息,private_A解密出来对称密钥secretKeyXXX(其实是X篡改了)
      在这里插入图片描述上图中,中间人X能不仅获取A和B之间通信内容,还能任意修改,相当于一个代理抓包,修改数据。

    4.常见的摘要算法

    单向散列函数一般用于产生消息摘要,密钥加密等,常见的Hash算法:
    MD5, SHA1, SHA2 (SHA224, SHA256, SHA384),HMAC,HMAC-MD5,HMAC-SHA1
    MD5,SHA1不具有很强的碰撞性,用的比较多的是SHA2

    摘要算法:

    在这里插入图片描述
    1.不可逆性
    2.难题友好性:想要破解,只可以暴力破解
    3.发散性:只要对原文有一点修改,摘要会有巨大的改变
    4.碰撞性:原文不同,计算后的摘要也不同

    展开全文
  • 文章目录对称加密对称加密的有优缺点密钥分配问题非对称加密非对称加密的优缺点混合加密 上一章节我们说到解决窃听的方法是加密,这里我们来说说加密 对称加密   两边用同一个密钥来加解密。   A把明文通过某一...

    章节系列目录:点击跳转

    上一章节我们说到解决窃听的方法是加密,这里我们来说说加密

    对称加密

      两边用同一个密钥来加解密。
      A把明文通过某一算法加密之后得到密文,然后把密文发送给BB接收到密文之后用相同的密钥执行相同的算法去解密。X没有密钥,即使窃取到密文也无法窃听。

    对称加密的有优缺点

      对称加密的优点:加解密速度快
      对称加密的缺点:会出现密钥分配问题;密钥容易复制,不便于安全保管

    密钥分配问题

      对称加密的存在密钥分配问题A的密钥怎么才能安全的传输到B手里不被X获取到?A直接发送密钥给B还是可能被X窃取到这个密钥,这样加密信息等于是在裸奔了。只有用密钥加密后的信息才能安全传输,但是只有保证安全传输的前提下才能发送这个密钥。

    这个道理和下图一样

    非对称加密

      双方使用不同的密钥来加解密,并且不能通过一个密钥推算出另一个密钥

    公钥加密,私钥解密
    私钥加密(数字签名),公钥解密

      A把事先准备好了非对称密钥对,分别为公钥和私钥,这一套非对称密钥对能相互加解密。公钥是公开的,私钥只有自己才有。然后A把公钥发送给B,或者公钥放在服务器B自行下载。B拿到了公钥后用公钥的一套算法加密信息后传输给AA用私钥执行另一个算法解密获得明文信息。

    非对称加密的优缺点

      非对称加密的优点:不会出现密钥分配问题
      非对称加密的缺点:加解密速度慢,仍有被窃听的隐患,原因和中间人攻击一样,后面会讲到。

      既然对称加密和非对称加密都有缺点,那么我们能不能用一种方法结合一下他们的优点形成一套比较好的方案呢?答案是有的,那就是混合加密

    混合加密

      传输大量数据的时候使用对称加密,因为加解密速度快。但是由于对称加密有秘钥分配问题,所以我们用非对称加密来加密这个对称密钥再传递给对方
    我们会认为接下来的方案应该是比较完美了吧?

      双向通信之前要先把公钥相互交换,比如A和B要通信
      A:这是我的公钥public_A,你收好,你生成对称密钥也给我一下
      B:好的,收到public_A,你收好对称密钥secretKey。然后用public_A加密这个secretKey
      A:收到消息,private_A解密出来是secretKey

      这就解决了对称密钥secretKey的密钥分配问题,然后双方就可以用secretKey加密消息进行通信了。

      但是这还不够,这仍然会被中间人攻击!你怎么知道把公钥发送给对方时保证公钥没被篡改掉包呢?比如上面的例子被中间人攻击之后就变成了下面的样子

    A:这是我的公钥public_A,你收好,你生成对称密钥也给我一下
    X获得了A的公钥,把自己的公钥public_X发给B… B这傻子还以为真的是A的公钥呢
    B:好的,公钥public_X已收到,生成一个对称密钥secretKey,然后用public_X加密这个对称密钥。
    X截获了这个消息,用自己私钥private_X解密出对称密钥secretKey,自己再生成一个secretKeyXXXpublic_A加密一下发送给A。 A这傻子还以为你们接下来会安全的用secretKey通信吗哈哈哈
    A:收到消息,private_A解密出来对称密钥secretKeyXXX(其实是X篡改了)

      X心想,这两个傻子真以为接下来用对称密钥加密就安全了呢,我倒要听听A和B在说什么悄悄话。

      上图中,中间人X能不仅获取AB之间通信内容,还能任意修改,相当于一个代理抓包,修改数据。

      我们平时所用的抓包工具就需要安装一个证书,也就是你自己糊弄自己的电脑,自己充当中间人去查看网络通讯的数据,方便学习使用。

      上面混合加密的例子已经涉及到数字签名,混合加密解决了对称密钥分配问题,后续讲解数字签名的中间人攻击也会提到这个例子,到时候可以返回来再看,中间人攻击其实就是数字签名存在的不足

      那么怎么才能防止中间人攻击呢?后续章节再给大家讲解数字证书,为大家来解决这个问题。


    关注、留言,我们一起学习。

    ----------------------Talk is cheap, show me the code-----------------------
    展开全文
  • 基于AES的加密算法具有速度快、强度高、便于实现等优点和ECC加密算法具有密钥分配与管理简单、安全强度高等优点,采用AES加密算法加密大数据块,而用ECC加密算法管理AES密钥,通过集成AES加密算法和ECC加密算法的...
  • 针对云存储服务中数据传输和存储过程对数据的保密性、完整性和不可抵赖性等安全需求,根据云存储的特点,结合AES和RSA传统加密算法特性,提出一种具有身份认证的带干扰混合加密算法。从多个角度对算法进行了安全性...
  • rsa与aes混合加密java实现
  • 在理解了这些加密算法的局限性之后, 本文提出了一种旨在利用和组合两种加密算法最佳功能并提供比其中任何一种具有更好的安全性、实时性的替代算法, 即3DES-RC4混合加密算法, 是一种具有256个字节密钥空间的算法, ...
  • 混合加密应用简介

    千次阅读 热门讨论 2021-02-26 08:43:14
    加解密算法分为对称算法加密和非对称算法加密。 对称算法:加解密密钥相同要求发送方和接收方在安全通信之前,商定一个密钥。所以密钥的保密性对通信的安全性至关重要。对称加密算法的特点是算法公开、计算量小、...
  • MD5混合加密法2.1版

    2016-08-29 08:51:30
    这个是我写的一个不可逆加密算法【MD5为基础,扩展的一个不可逆加可逆的一个混合算法】这个算法最NB的地方在于同一个数据每次产生的结果都不一致,但都会指向一个正确结果,此算法可以完全阻止表破解,所以适用于...
  • Android数据加密之RSA+AES混合加密

    千次阅读 2016-09-19 16:51:55
    在上一篇Android数据加密 中已经介绍了Android中数据加密的情况,并且在总结中给出了RSA+AES混合加密的方案,下面就来介绍一下RSA+AES混合加密。该篇博客转载自:...
  • 网速很慢该怎么办呢?其中有一个原因就是路由器选错了加密方式导致的,们通常会选用WPA2-AES和WPA2-TKIP对路由器进行加密。今天我们就来谈谈二者之间的区别,以及为什么AES会成为大赢家
  • 在此基础上,结合两种算法的优点,并采用消息摘要、数字签名、数字信封等技术构建了一个既方便密钥管理又确保加密解密效率的混合加密体制。实验结果表明优化后的算法在运算速度上有一定优势并且有较高的可行性。
  • 云计算-云计算环境下混合加密算法研究与实现.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,138
精华内容 23,655
热门标签
关键字:

混合加密方式