美文网首页
简单清晰,搞懂非对称加密

简单清晰,搞懂非对称加密

作者: 赛博剑仙_李玄器 | 来源:发表于2020-04-10 00:25 被阅读0次

最近在写网站,到了发布部署阶段,想把http升级成https,于是就从网上看有关SSL的技术贴,踩了些坑之后,就对SSL很感兴趣。但这篇先不对具体技术细节过分追究,SSL究其根本,就是对数据传输进行加密。

加密的本质又无非是用特定规则将信息转换成另一种格式,转换后,如果不用特定规则解密就会导致算力成本剧增。世界上没有绝对的安全加密算法,但只要通过算法将解密的(算力或时间成本)增大到「现世不可解」就足够了。

「现世不可解」:我编的词,举个例子。我给你发我爱你,但我用某加密算法把这句话转换成其他内容,如果我不告诉你解密算法,你想通过纯暴力破解从00 01 10 11开始尝试,得需要用太湖之光算135年,得算到我坟头草1米的时候。这就叫现世不可解,这辈子够呛了,下辈子吧。

那么逻辑上有没有绝对安全的加密算法呢?

有,只要你加密的内容其本身价值远低于解密成本,那么在所有人都是理性人的前提下,你这个加密就是绝对安全的。


说完了本质,我们再来看表象。加密又分为对称加密非对称加密

对称加密

就一个固定的规则,加密用它,解密也用它,这个规则一般叫做密钥。通信双方要提前沟通好,知道密钥是什么。

但这时候就产生问题了,只看发送加密的信息,这没问题。但是我密钥咋也不能一起发吧。如果发送的密钥被人截获监听了,那不就又跟裸奔一样吗。因此对称加密的密钥,通信双方需要线下沟通好,如果不方便见面,那就弄个软盘把密钥放进去,靠硬件进行解密。

由于产生年代较早,当时对称加密的密钥一般也就56bit,随着计技术的发展,计算机越来越快。出现了暴力破解的可能,56bit,可能几天就试出来了。那咋办?

最简单的办法,增常密钥位数,例如triple-DES(最长168bit的密钥),AES(最高256bit的密钥)。最起码ASE达到了「现世不可解」的程度。但通信双方总是线下约定或者用硬件介质当密钥也不太方便,1对1还好,但我要是给1万个人,10万个人发消息。我难道还要每个人都线下约定好,或者每人给张软盘嘛?这显然太蠢了。于是解决方案出来了:非对称加密!

非对称加密

其实也好理解,对称加密不是一个密钥吗?非对称有两个:
一个叫公钥,用来加密。一个叫私钥,用来解密。

其中核心观念就是加密和解密使用不同的规则,并且这两种规则之间存在某种对应的数学关系。感兴趣,自己去搜一下RSA算法,涉及数学的部分我觉得很无趣就不写了。你只需要理解,公钥和私钥有数学关联,但是不能互推,并且承担了不同工作就够了。

PS:RSA算法非常可靠,密钥越长,越难破解。
根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。
也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。


通信双方如何使用非对称加密通信:
  1. 双方交换公钥;
  2. 发送方用接收方的公钥加密文件;
  3. 接收方收到加密文件;
  4. 接收方用自己的私钥解密;
  5. 反方向同理;
总结一下双方的优缺点:

对称加密:加密解密速度很快,高效,但密钥传递不安全,并且面临大量的密钥管理问题。常见的算法有DES、AES。

非对称加密:安全,但费时,慢。只适合对少量数据进行加密。常用到的领域有SSL、Bitcoin。

最后,得出如何进行高效加密的方法:二者混用。步骤如图:


高效加密方式:混用

相关文章

  • 简单清晰,搞懂非对称加密

    最近在写网站,到了发布部署阶段,想把http升级成https,于是就从网上看有关SSL的技术贴,踩了些坑之后,就对...

  • HTTPS是如何保证安全的

    小结:简单的说,是通过对称加密来加密传输的内容,采用非对称加密来加密对称加密的密钥(不直接采用非对称加密传输内容是...

  • 视频学习《你的API还在”裸奔“吗?》

    简单区分对称加密、非对称加密对称加密就是使用相同的明文加密出来的密文都是一样的。非对称加密就是使用相同的明文加密出...

  • 非对称加密解密RSA的实现例子

    背景 最近有接触到加密相关的内容,本期以非对称加密为例子,做个简单的总结和记录。首先了解下非对称加密,简单来说非对...

  • 凯撒挪移码

    密码学中我所知道的加密算法分为对称加密和非对称加密,其中对称加密与非对称加密相比较为简单,我将从对称加密开始讲...

  • 第四篇:非对称加密及RSA加密算法

    目录一、非对称加密 1、什么是非对称加密? 2、对称加密的工作过程 3、非对称加密的优点 4、非对称加密的不足二、...

  • 非对称加密的简单了解

    非对称加密的简单了解 1 概念 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privat...

  • https交互流程简述

    https使用到的加密算法 对称加密非对称加密 通过非对称加密,交换对称加密的密钥,之后采用对称加密传输非对称加密...

  • ios开发之证书和签名机制(一)

    非对称加密和摘要 1、非对称加密的特性和用法 1) 非对称加密算法(RSA):非对称加密算法指加密秘钥和解密秘钥是...

  • Android 对称加密与非对称加密与摘要算法

    对称加密 与 非对称加密 与 哈希算法 对称加密 : 加密和解密使用相同的密钥。 优点:加密简单,加密效率高。缺点...

网友评论

      本文标题:简单清晰,搞懂非对称加密

      本文链接:https://www.haomeiwen.com/subject/rymkmhtx.html