RSA(非对称加密)加密/量子计算机解密
RSA(非对称加密)加密/量子计算机解密
密码学有两种经典的加密方式:
对称加密与非对称加密。
什么是对称加密?
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
算法
采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。常用的单向加密算法:
- DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
- 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
- AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密;
- Blowfish
特征
- 加密方和解密方使用同一个密钥;
- 加密解密的速度比较快,适合数据比较长时的使用;
- 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;
像我们看影视剧里面的传递信息用的摩尔密码就是对称加密。
双方约定一个规则,比如论语这本书就是密码本,摩尔码翻译过来的数字,组成了页码,根据页码查询论语得到关键词,组合起来就是要传递到信息。
这种加密信息传递,就是对称加密,双方都能互译对方密码。
缺点也很明显,如果密码本泄露,比如有人背叛,所有的加密都失效了,加密电报就成了明码,变成广播了。
什么是非对称加密?
对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。
非对称加密就是只有一方有密码规则,而另一方的密码只能打开自己权限的信息,而无法知晓密码规则。
非对称加密的实现
有个信息m,A想传给B,B于是生成了两个钥匙B公钥和B私钥,B公钥和B私钥的逻辑关系只有B自己知道。
其中B公钥是由B私钥生成的。
然后B把B公钥公开传递给A,自己留着B私钥。
A收到B公钥之后,就把m利用B公钥的加密规则进行加密,加密后的信息M,公开传递给B。
B利用B私钥,就能打开信息M,转化成m。
听起来是不是没那么复杂了?
那2048RSA加密是什么回事?
RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。
这个算法经历过多轮攻击。
但是,密码分析者既不能证明,也不能否定RSA的安全性。
但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法。
1999年,一台Cray超级电脑用了5个月时间分解了512位长的密钥。
2009年,768位RSA算法被破解,分解一个768位RSA密钥所需时间是512位的数千倍,而1024位所需时间则是768位的一千多倍,因此在短时间内1024位仍然是安全的。
而目前典型密钥长度是2048位,破解这种密码需要最好的超级计算机用80年时间。
RSA算数就是最大质数分解法
将两个数字相乘很简单:593乘以829等于491,597。但是很难算出491,597是由哪两个质数相乘才能得到。
随着数字的增大,比如2048位数字,计算变得越来越困难。
事实上,计算机科学家认为经典计算机几乎不可能分解出大于2048位的数字,而2048位是RSA加密最常用的基础形式。
量子计算机解密
量子计算机(quantum computer)是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机的概念源于对可逆计算机的研究。研究可逆计算机的目的是为了解决计算机中的能耗问题。
量子位提供了难以想象的海量数字存储和运算能力,配合可怕性能的量子算法,使得量子计算具备了实际用途。
目前人类对于量子算法研究里,影响最大的领域就是信息安全,也就是加密和解密,尤其解密。
1994年,数学家Shor提出堪称量子算法经典的Shor算法,可指导量子计算机轻松进行大数因子分解,而大数因子分解正是RSA加密的核心。
想象一下,一个1024位的RSA密钥,在调用Shor算法的量子计算机面前连一秒种都不到就会被攻破。
这种效率让暴力破解看起来闲庭信步。
举个例子:要破解现在常用的一个RSA密码系统,用当前最大、最好超级计算机需要花80年,但用一个有相当储存功能的量子计算机,则只需花上8小时。
声明
不多说了,这些东西已经在我已经慢慢看不懂了。
由于本博客纯属个人爱好才写的,奈何本人技术和认知有限,技术菜的狠,对于解密所理解的东西都是从互联网得知,我担任的角色是个搬运工,希望各位大佬看到错误后可以及时标注改正。里面有一些自己的理解,博客中会存在问题,希望各位大佬看到错误后可以及时标注改正。谢谢!
RSA(非对称加密)加密/量子计算机解密相关推荐
- java 公匙私匙_Java生成非对称型加密公钥和私钥的方法
本文实例讲述了Java生成非对称型加密公钥和私钥的方法.分享给大家供大家参考.具体如下: 非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密 ...
- JAVA产生加密公钥私钥_Java生成非对称型加密的公钥和私钥
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.*; import java.security.*; imp ...
- python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能
摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...
- CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互
(以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下) 1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据 1)pem格式的证书和私钥(公私钥是对应的)的base64编码 [cp ...
- java python rsa加密_实现Java加密,Python解密的RSA非对称加密算法功能
摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...
- java rsa 117_java实现RSA非对称加密解密
之前写过一篇java实现AES对称加密解密 在对密码加密传输的场景下 RSA非对称加密解密可能会更加适合. 原理就是后台生成一对公钥和私钥,公钥给前端用来加密,后台用私钥去解密,保证了传输过程中就算被 ...
- openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解
其实有时候觉得写博客好烦,就个函数就开篇博客.很小的意见事情而已,知道的人看来多取一举,或者说没什么必要,浪费时间,不知道的人就会很郁闷.技术就是这样的,懂的人觉得真的很简单啊,不知道的人真的好难.. ...
- RSA非对称加密和解密(同时生成密钥)
RSA非对称加密和解密(同时生成密钥) 准备jar包 bcprov-jdk16-1.46.jar commons-codec-1.15.jar 获取jar地址:https://mvnrepositor ...
- RSA非对称加密,前台vue加密,后台java解密
目录 前言 公钥和私钥的获取 公钥私钥例子 公钥 私钥 一.前端vue加密 1.1安装jsencrypt 1.2安装好后,在文件里引用 1.3 使用私钥加密 2.后端java解密 2.1调用代码 2. ...
最新文章
- Docker Machine 简介
- 公厕的门下面为什么都要空一截?难道是为了和别人分享我中午吃的两碗螺狮粉?
- 【洛谷P1108】低价购买【dp练习】
- php根据浏览器调用支付_Android通过外部浏览器调用微信H5支付,Android+PHP详解
- 【java】RMI教程:入门与编译方法 远程
- grafana安装配置 influxdb安装配置
- nodejs后台系列--第五篇-购买云服务器,安装宝塔面板
- 小米潘多拉路由器添加节点_小米mesh好用吗?AX3600AX1800 混组测试
- 四旋翼飞行器14——无人机中的OSD、数传、图传、FPV是什么?
- 2.线程和进程的含义和区别,进程间通信方式有哪些?
- adb shell 获取手机分辨率
- java创建无法确定大小的数组
- 路由与交换|实验一 路由器基本配置
- java clh_浅谈Java AQS实现——CLH锁
- 【设计模式】- 观察者模式
- Uber H3 index 地图索引思考
- Android 带你彻底理解 Window 和 WindowManager
- 培训笔记——如何将Wizfi2X0的固件升级
- MC/SG集群系统概述
- python人狗大战游戏_python入门教程NO.10「奇异博士大战灭霸」游戏,面向对象编程实战...