美文网首页
非对称加密

非对称加密

作者: devmao | 来源:发表于2021-03-16 10:43 被阅读0次

概念

对称加密:加密和解密使用同一把秘钥,又叫单秘钥加密,常见的有:DES、AES、3DES等。
非对称加密:又称为公开秘钥加密算法。加密和解密使用不同的秘钥,公钥传输给对方,用于加密。自己对应的私钥用于解密。常见的应用有:RSA、DSA等。

注:MD5不属于加密算法,更是哈希(把任意长度的输入经过散列算法变换成固定长度的输出,该输出就是散列值),MD5就是产生128位的散列值。另外MD5存在弱碰撞(山东大学王小云教授曾构造两个文本,使得这两个文本的哈希值相同,但不能做到对于任意文本构造哈希值相同的另一文本),加盐可以增强安全性。

技术核心

加密和解密使用不同的秘钥。每个人都有一个“公钥-私钥”对,公钥加密使用可以任意分享,私钥解密使用好好保护,使用公钥加密的信息只有对应的私钥才能解密。公钥与私钥之间不能互推。
Bob向Alice传送文件过程:Bob先拿到Alice的公钥,使用Alice的公钥加密自己的文件,然后将加密后的文件传送给Alice,Alice收到文件后用自己的公钥去解密文件。

优缺点

对称加密:加密速度快,安全性相对低,安全性主要是很难保证秘钥的安全交换。
非对称加密:无需传输秘钥,安全性高。但算法强度复杂,加密速度慢。

应用

非对称加密的应用:https的SSL、Bitcon 、ssh、电子签名等。

算法理解

看一个小时候经常在《趣味数学》这类书里的一个数学小魔术:让对方任意想一个3位数,并把这个数和91相乘,然后告诉我积的最后三位数,我就可以猜出对方想的是什么数字啦!比如对方想的是123,那么对方就计算出123 * 91等于11193,并把结果的末三位193告诉我。看起来,这么做似乎损失了不少信息,让我没法反推出原来的数。不过,我仍然有办法:只需要把对方告诉我的结果再乘以11,乘积的末三位就是对方刚开始想的数了。可以验证一下,193 * 11 = 2123,末三位正是对方所想的秘密数字!其实道理很简单,91乘以11等于1001,而任何一个三位数乘以1001后,末三位显然都不变(例如123乘以1001就等于123123)。知道原理后,我们可以构造一个定义域和值域更大的加密解密系统。比方说,任意一个数乘以400000001后,末8位都不变,而400000001 = 19801 * 20201,于是你来乘以19801,我来乘以20201,又一个加密解密不对称的系统就构造好了。甚至可以构造得更大一些:4000000000000000000000000000001 = 1199481995446957 * 3334772856269093,这样我们就成功构造了一个30位的加密系统。这是一件非常coooooooool的事情,任何人都可以按照我公布的方法加密一个数,但是只有我才知道怎么把所得的密文变回去。其安全性就建立在算乘积非常容易,但是要把4000000000000000000000000000001分解成后面两个数相乘,在没有计算机的时代几乎不可能成功!但如果仅仅按照上面的思路,如果对方知道原理,知道我要构造出带很多0的数,根据19801和8位算法这2个条件非常容易穷举出400000001这个目标值。要解决这个问题,真实世界就不是使用乘法了,比如RSA算法使用的是指数和取模运算,但本质上就是上面这套思想。

参考引用

算法理解 知乎:永安在线反欺诈
四分钟搞明白非对称算法

相关文章

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

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

  • https交互流程简述

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

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

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

  • 学习笔记:HTTPS协议原理

    对称加密和非对称加密 加密分两种,对称加密和非对称加密。对称加密是指加密的双方使用同一个密钥加密和解密数据。非对称...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • Https加密原理图解

    1. 为什么要用对称加密+非对称加密? 结合对称加密的快和非对称加密的安全。 2. 为什么不能只用非对称加密? 如...

  • kotlin版本RSA非对称加密解密与分段加密解密

    基于kotlin语言的RSA非对称加密解密与分段加密解密 RSA非对称加密 RSA非对称加密的具体算法与来源我就不...

  • 4-对称加密

    对称加密与非对称加密 按照密钥的特征不同, 密码体制分为对称密码体制和非对称密码体制。对称加密和非对称加密都是可逆...

  • 3.1 非对称加密简介

    非对称加密技术介绍 对称加密技术被称为初等加密技术,非对称加密技术即为高级数据加密技术,安全性更高。非对称加密算法...

网友评论

      本文标题:非对称加密

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