从前的日色变得慢,车,马,邮件都慢,一生只够爱一个人。

从前的锁也好看,钥匙精美有样子。你锁了,人家就懂了。

——木心《从前慢》

今天我们来聊一下互联网的锁。

1. 对称加密

对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。实务上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。与公开密钥加密相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一。

常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。

引用来自维基百科对称密钥加密

小云呢很喜欢小胡,但是小云是个女孩子,要矜持,因此她打算写封情书通过网络给小胡,但是她很害羞,不想让别人发现这个小秘密。

情书要绝对安全,因此她要对情书也就是明文进行加密处理。现在情书经过加密变成了密文,密钥是yunhu。

那么小云该如何将密钥安全地转交给小胡呢?

如果是直接发送,要是通信被监听,密钥被窃取,加密也就失去意义了,还有一点是必须安全的保管接受到的密钥。缺点就在于双方的密钥都是yunhu,只要任何人拿到密钥都可以解开数据。则安全性不够高。

2. 非对称加密

公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,另一个则用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个;因此其中一个可以公开,称为公钥,任意向外发布;不公开的密钥为私钥,必须由用户自行严格秘密保管,绝不通过任何途径向任何人提供,也不会透露给要通信的另一方,即使他被信任。

引用来自维基百科公开密钥加密

每个用户都有两个密钥,一个叫公钥,一个叫私钥,两者是互相配对的,私钥是本人私密的,而公钥可以公开,公钥用来加密数据,私钥用来解密。

公钥是如何进行加密的呢?这个算法叫做RSA加密算法,是MIT的三个大佬提出的,并与2002年凭此算法获得图灵奖。

那个算法我也没看懂,简单来说就是将两个互质的大数相乘很容易,但是将相乘的结果分解为两个互质的数极其困难,是一种单向函数。

那么此时小胡将自己的公钥发给小云,公钥可以公开,被人知道也没关系,小云将情书通过公钥进行加密,然后发给小胡,最后小胡用自己的私钥进行解密。

只要私钥不卸出,那么数据就是安全的。

转载于:https://juejin.im/post/5a33b3fef265da431e16d2d0

浅谈对称加密和非对称加密相关推荐

  1. JackHttp -- 浅谈编码、加密(对称加密,非对称加密,Hash算法)

    如果你还不清楚 JackHttp 是什么,请戳这里!!! JackHttp 是一个网络框架系列,为什么还要分享编码和加密呢?主要有如下几个原因: HTTP 在网络传输过程中是明文的. HTTP 在网络 ...

  2. 浅谈对称加密与非对称加密

    在数字加密算法中,通过可划分为对称加密和非对称加密. 一:什么是对称加密? 在对称加密算法中,加密和解密使用的是同一把钥匙,即:使用相同的密匙对同一密码进行加密和解密: 加密过程如下: 加密:原文 + ...

  3. 通俗解释对称加密、非对称加密、散列算法与PKI

    这是我前些年写在51的,现在转过来,其实是CISSP的学习笔记,用自己的语言组织起来的,用通俗的话说明对称加密.非对称加密.散列算法.PKI(CA)到底都是干啥的.OK,进入主题: 密码学要解决的问题 ...

  4. 加解密基础——(对称加密、非对称加密和混合加密)

    本文对之前学习过的加解密相关知识做一简单总结,以备后用. 1. 基本概念 加密算法 通常是复杂的数学公式,这些公式确定如何将明文转化为密文的过程和规则. 密钥 是一串被加入到算法中的随机比特. 待续 ...

  5. 对称加密和非对称加密介绍和区别

    什么是对称加密技术? 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短, ...

  6. 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    此文章转载来源于http://blog.csdn.net/tenfyguo/article/details/40922813点击打开链接 一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码 ...

  7. 对称加密与非对称加密的区别_https原理及对称加密、非对称加密、数字证书、数字签名的含义...

    一.为什么要使用https 使用https的原因其实很简单,就是因为http的不安全. 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障 ...

  8. mysql对称连接什么意思_对称加密与非对称加密的区别是什么

    区别:1.对称加密中加密和解密使用的秘钥是同一个:非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密.2.对称加密解密的速度比较快,非对称加密和解密花费的时间长.速度相对较慢.3.对称加密的 ...

  9. 对称加密 与 非对称加密

    2019独角兽企业重金招聘Python工程师标准>>> 明文: 没有被加密过的内容 密文: 已经被加密的内容 算法: 通过算法对明文进行加密,如移位,置换 密钥: 加密时需要的密码, ...

  10. 对称加密、非对称加密深度解析

    密码学的发展 加密的发展史随着人类的进化逐步复杂.严谨也更安全,对于早期的移位和字母对应等加密方式我们不难理解. 移位 : 比如恺撒密码, 简单点说将 26个英文字母的顺序打乱,得到一个新的字母顺序, ...

最新文章

  1. mysql数据库建表失败_mysql数据库文件太大导致建表失败,如何避免
  2. 荣之联:现在是转型云计算的最佳时机
  3. silverlight实现2D人物动画
  4. 阿里云的java规范_阿里JAVA开发强制要求的15条并发处理规范,切记
  5. c语言二级编程题库,二级C语言题库-编程题.doc
  6. 数据丢包怎么修复_交换机发生网络通信故障怎么解决?
  7. mysql 联合索引 性能_mysql:联合索引及优化
  8. 剑指offer——面试题52:构建乘积数组
  9. Leetcode 347.前K个高频元素
  10. linux——网络情报收集(总结篇.干货+实战)
  11. 增量式速度pid调节策略_增量式PID是什么?不知道你就落伍了
  12. c语言延时函数的理解
  13. houdini中使用vex旋转对象法线方向方法
  14. 24点游戏开发实例(Qt含源码)
  15. 初中计算机表格处理教案,中学信息技术教案《制作excel表格》
  16. 30个有发展前景的创业项目
  17. 线性方程组与矩阵的秩
  18. win10环境下Android SDK下载安装及配置教程----Android SDK安装
  19. 神州租车,致力于提供更加便利的出行方式
  20. 优秀班组长分享:生产车间管理技巧

热门文章

  1. windows过滤中设备绑定的内核API之一
  2. 深度学习入门:一句话告诉你什么是神经网络(CNN,RNN,DNN)
  3. 【数据结构笔记】二叉搜索树及其相关算法
  4. endnote 参考文献加序号_EndNote同一文章的插入不同编号参考文献的方法 | 科研动力...
  5. 汇编@data_macOS上的汇编入门(十三)——从编译到执行
  6. 弥散阴影html,三步制作出这种精美弥散阴影
  7. android悬浮窗工具,Android悬浮窗实例
  8. itext生成pdf间距_跳过APP打开pdf的烦恼,服务端直接将pdf转图片,别踩乱码之坑...
  9. 神经网络-GoogleNet的发展,介绍,贡献
  10. php emoji处理微信表情