精华内容
下载资源
问答
  • 混合加密

    2018-12-24 10:50:18
    前言 上一篇文章我们提到了公开密钥加密方法 并且剖析了它的优点和缺点,优点主要是加密解密比较安全,攻击人没有拿到私钥的情况,使用此种加密解密方式几乎不可能被破解;...混合加密 当我们使用对称加...

    前言

    上一篇文章我们提到了非对称密钥加密方法

    并且剖析了它的优点和缺点,优点主要是加密解密比较安全,在攻击人没有拿到私钥的情况下,使用此种加密解密方式几乎不可能被破解;缺点有两个,第一个是使用此种方式的性能比较不好,第二个是在公钥的交付过程中可能会被攻击人拦截到并且替换成自己的公钥,让甲方和乙方在自以为很安全的情况下就泄露了自己的信息。此篇博文我们先来解决一下第一个问题。

    混合加密

    当我们使用对称加密解密的时候,存在对称加密钥匙被劫持的问题,但是速度较快;当我们使用非对称加密解密的时候,存在速度较慢的问题,但是比较安全。那么,如果将两种方式结合一下呢?

    那就是我们的混合加密方式了,下面是混合加密的流程:

    A方想通过互联网向B方发送数据:
    在这里插入图片描述
    A方需要对数据进行加密,因为使用的是对称加密,所以加密密钥也是解密密钥,A方需要将这把钥匙发送给B方:
    在这里插入图片描述

    使用混合加密的目的是把对称加密的钥匙通过非对称加密的方式发送给B方,防止对称加密的钥匙半路被拦截,因此,B方先要创建自己的公钥和私钥:
    在这里插入图片描述

    然后B方把自己的公钥发送给A方:
    在这里插入图片描述

    A方使用B方的公钥对自己的对称钥匙进行加密:
    在这里插入图片描述
    发送给B方之后,B方再用自己的私钥对A的对称加密钥匙进行解密:
    在这里插入图片描述
    至此,B方通过安全的途径得到了A方的对称加密的钥匙,可以用来解密了(注意,安全只是相对之前单纯地传送对称加密钥匙而言,此处的安全相当于半裸之于全裸,因为我们还是需要数字签名来做到真正的安全,后面会做说明)
    在这里插入图片描述
    现在,A方可以使用对称加密钥匙加密数据,B方可以通过同一把钥匙解密数据了:
    在这里插入图片描述

    但是,我们还是没有解决在公钥的传输过程中被攻击人替换成假公钥的问题,因此,攻击人可以使用中间人攻击方法让A方使用假公钥加密,然后自己通过假私钥解密,再使用B的真公钥加密,然后发回给B,以此做到窃取AB之间使用的对称加密钥匙的目的。

    因此,我们还是需要数字证书

    • 参考资料:
      算法动画图解APP(侵删)
    展开全文
  • 混合加密算法云计算环境的实现.pdf
  • 混合加密体制

    千次阅读 2018-10-07 09:50:17
    混合加密体制就是,同时利用对称加密和公钥加密进行优势互补,从而达到快速而安全的加密 1.对称密码加密信息速度较快 2.公钥密码加密较为安全,但是不适合加密较长消息  具体过程: 具体演示如下(点击进入全屏...

    混合加密体制就是,同时利用对称加密和公钥加密进行优势互补,从而达到快速而安全的加密

    1.对称密码加密信息速度较快

    2.公钥密码加密较为安全,但是不适合加密较长消息


     具体过程:

    具体演示如下(点击进入全屏):

     

    1. 利用PRG也就是伪随机生成器生成回话密钥,然后作为加密密钥利用对称加密算法加密任意长度消息,生成密文。
    2. 再利用接受者的公钥作为加密密钥,加密PRG生成的会话密钥,生成密文。
    3. 将两个密文组合就生成了整个混合密码体制的密文,完成混合加密。

    具体演示如图(点击进入全屏):

    混合加密


     

    展开全文
  • 对称加密&非对称加密&混合加密

    千次阅读 2018-11-09 10:23:13
    混合加密写于前iOS中常哪些场景应用到写一个系列本文概要对称加密(Symmetric Cryptography)非对称加密(ASymmetric Cryptography)混合加密(Hybrid Cryptography)总结 写于前 iOS中常哪些场景应用到 支付密码、...

    写于前

    iOS中常在哪些场景应用到

    • 支付密码、验证码相关的业务场景
    • 之前个人维护的一个数字证书模块,与密码学相关知识也紧密相关,同时数字证书在我们的业务场景中,是作为指纹支付的基础
    • iOS的签名机制。常常跟着网上的教程一顿操作,然而却不知道原理是什么。个人觉得,知道原理后续遇到问题也更能快速定位哪个环节的问题,也能学习优秀的技术方案是如何设计的

    写一个系列

    本文概要

    • 白话厘清概念,分析优缺点(不累述算法实现)
    • 看完,能对平常接触的AES,RSA,公钥,私钥,哪个加密,哪个解密有清晰的了解

    对称加密(Symmetric Cryptography)

    • 加密,解密使用同一个密钥

    • 常见的加密方式:

      • DES(Data Encryption Standard)

        • 如上,简单流程,补充几点:
        • 明文密文都是64bit
        • 密钥64bit,每隔7bit有一个错误检查专用位,实际密钥长度为56bit
        • 缺点:每次加密只能64bit,数据较大时需要反复迭代。且DES加密目前已不安全
      • 3DES

        • 3重DES操作,第二次为解密
        • 如上,简单流程,补充几点:
          • 3次密钥不同:DES-EDE3。Key1与Key3可以相同,成为DES-EDE2
          • 缺点:此为在DES的基础上的增强加密强度,然而带来了多个密钥的维护成本,同时影响了处理速度,目前已不安全
      • AES(Advanced Encryption Standard)

        • 目前首选的新标准的对称加密算法,速度快,安全级别高
        • 密钥长度:128bit,192bit,256bit三种
        • 基于排序和置换运算,迭代的算法,用128bit(16字节)分组加密解密数据
    • 对称加密的优缺点:

      • 优点:计算量小,速度快,效率高
      • 缺点:密钥配送问题
        • 因为加解密密钥相同,密钥肯定不能直接传输,遭遇中间人攻击窃取,存在很大的风险。目前常见的解决方案:
        • 提前共享密钥
          • 数据传输前分享密钥,但如果一方泄露,隐患仍较大。且麻烦
        • 密钥分配中心
          • 目前在我们的业务场景中就有应用:在运用AES加密前,前端申请分配中心生成与该用户对应的密钥,加密数据后传给后端,后端从分配中心同样获取密钥,进行解密
          • 相对安全
        • Diffie-Hellman密钥交换:在公共信道上安全交换加密密钥的方法(没有深入研究过,大家可以自行深入理解下)
        • 非对称加密

    非对称加密(ASymmetric Cryptography)

    • 简介

      • 又称公钥加密-Public-Key Cryptography
      • 公钥(public key):公开,用于加密
      • 私钥(private key):消息接收者保管,不公开,用于解密
      • 一一对应,一起生成成为密钥对
    • 简易流程图:

    • 最常用的加密方式:RSA(名称由三位提出者的首字母拼成)

      • 第一个能同时用于加密和数字签名的算法
    • 非对称加密的优缺点:

      • 优点:解决密钥配送问题,分公私钥,安全性高
      • 缺点:加解密速度慢
    • 补充:

      • 公钥对数据加密,必须使用私钥解密
      • 私钥对数据加密,必须使用公钥解密

      到底公钥,私钥哪个用来加密???

      • 之所以,在后面补充这一点,我之前也对到底是公钥加密还是私钥加密很混乱。因此先对前面的知识点熟悉了,再了解这一点。

      一张知乎问答来结束到底哪个是用来加密的问题?

      • 私钥加密的应用场景:数字签名(下一篇文章会提到)

    混合加密(Hybrid Cryptography)

    • 为了结合对称加密速度快和非对称加密安全性高的优点,同时规避两者缺点,产出的方案
    • 加密过程:
      • 会话密钥:由伪随机数生成器生成的临时密钥,又作对称密钥
    • 解密过程:此处流程图略,看了加密过程的图,解密过程应该也很清晰
    • 一句话概括:
      • 发送者用非对称加密的公钥对对称加密的密钥加密
      • 用对称密钥对消息进行加密
      • 接收者用私钥解密获得对称加密的密钥,来解密消息

    总结

    • 对称加密速度快,但存在密钥配送问题,常见的有AES
    • 非对称安全性高,但速度慢,常见的有RSA
    • 混合加密,结合两者优点
    • 非对称加密是公钥(公开)加密,私钥解密。
    • 私钥加密(签名),公钥解密(验签)(下回再说)

    参考文献

    展开全文
  • 报文为明文传输,存在被窃听的风险--ssl提供报文加密机制 无法判定通信方的身份,可能遭遇伪装--ssl的证书机制,需要请求方和服务端拥有相同的公钥证书 无法验证报文的完整性,可能已经被篡改--ssl的数字签名机制,...

    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/

    展开全文
  • 混合加密的原理描述

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

    2011-12-20 19:45:05
    ADS,DES等加密算法的。分享给大家看看
  • JavaMd5混合加密

    2018-04-16 17:33:39
    使用java编写的加密工具类,使用时加入到自己的工程中,并把j里面ar包添加到类库中,即可调用,采用了多重加密技术
  • 公钥加密以及混合加密

    万次阅读 2018-06-20 14:01:15
    文章来源:公众号-智能化IT系统。一. 引言对称加密可以解决一部分的安全问题,而且加解密的...方式有多种,例如事先共享密钥,或者通过密钥分配中心,这里介绍通过技术手段的常用措施,公钥加密以及对称加密。 二....
  • 云计算环境下混合加密算法研究与实现.pdf
  • 为了应对软件被恶意复制及非法利用等相关问题, 对具有知识产权的软件进行安全授权是保障软件安全的有效手段. 软件授权过程中, 对授权... 通过对该混合加密算法的验证可知, 该算法软件授权过程中具有一定的可行性.
  • RSA和AES混合加密demo

    2017-11-29 18:20:10
    RSA和AES混合加密demo
  • android AES rsa 混合加密

    2017-10-18 12:36:47
    android AES rsa 混合加密
  • Android数据加密之RSA+AES混合加密

    千次阅读 2016-09-19 16:51:55
    在上一篇Android数据加密 中已经介绍了Android中数据加密的情况,并且总结中给出了RSA+AES混合加密的方案,下面就来介绍一下RSA+AES混合加密。该篇博客转载自:...
  • RFID系统的混合加密方案
  • 1. 掌握RSA和DES混合加密的原理,及网络传输的实现方法。 2. 基于RSA和DES混合加密技术,编写网络加密传输程序。
  • 混合加密应用简介

    千次阅读 热门讨论 2021-02-26 08:43:14
    对称算法:加解密密钥相同要求发送方和接收方安全通信之前,商定一个密钥。所以密钥的保密性对通信的安全性至关重要。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。 非对称加密算法需要两个...
  • 混合加密系统源代码.

    2010-11-25 23:03:11
    混合加密系统源代码.混合加密程序,RSA算法加密DES密钥,DES算法加密消息.可以用于很多通讯系统的加密
  • 支持中英文的混合加密,通过base64加密一层后自定义一层加密方法,通过钥匙掌控自己的解密方法,安全可靠,详情请参考博客:https://blog.csdn.net/CLinuxF/article/details/81975923
  • rsa des java 混合加密解密
  • 量子计算机技术的进步,...研究辫子群密码算法和传统公钥算法、按需装配Agent的概念和系统模型特点的基础上,提出了一种辫子群混合加密方法并有效地应用到按需装配Agent的系统中,从而大大提高了Agent系统的安全性。
  • 针对云存储服务中数据传输和存储过程对数据的保密性、完整性和不可抵赖性等安全需求,根据云存储的特点,结合AES和RSA传统加密算法特性,提出一种具有身份认证的带干扰混合加密算法。从多个角度对算法进行了安全性...
  • 网络安全课程设计,模拟RSA,AES,DES加密以及混合加密算法,使用VS运行
  • 分析了对称加密算法AES和非对称加密算法ECC的加密过程和特点,并结合两种算法的特点设计了一种混合加密体制,避免了对称加密算法复杂的密钥分配体制的同时保证了加密的效率和强度。同时引入了改进的数字签名算法...
  • 这是一个混合加密程序 包括了DES加密和AES加密 需要读者用心分析。
  • 混合加密在高校智慧校园Android终端的应用研究.pdf
  • 首先分析了传统对称加密算法DES和AES,对其云计算模型中的优劣进行了对比,然后结合Hadoop分布式计算框架提出了一种DAES混合加密改进算法,该算法通过对明文划分进行混合加密,并且加入随机扰动信息,有效的提高了...
  • rsa与aes混合加密java实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,082
精华内容 20,832
关键字:

在混合加密方式下