RSA(非对称加密)加密/量子计算机解密

密码学有两种经典的加密方式:

对称加密与非对称加密。

什么是对称加密?

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

算法
采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。常用的单向加密算法:

  1. DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
  2. 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
  3. AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密;
  4. 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(非对称加密)加密/量子计算机解密相关推荐

  1. java 公匙私匙_Java生成非对称型加密公钥和私钥的方法

    本文实例讲述了Java生成非对称型加密公钥和私钥的方法.分享给大家供大家参考.具体如下: 非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密 ...

  2. JAVA产生加密公钥私钥_Java生成非对称型加密的公钥和私钥

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.*; import java.security.*; imp ...

  3. python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  4. CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互

    (以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下) 1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据 1)pem格式的证书和私钥(公私钥是对应的)的base64编码 [cp ...

  5. java python rsa加密_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  6. java rsa 117_java实现RSA非对称加密解密

    之前写过一篇java实现AES对称加密解密 在对密码加密传输的场景下 RSA非对称加密解密可能会更加适合. 原理就是后台生成一对公钥和私钥,公钥给前端用来加密,后台用私钥去解密,保证了传输过程中就算被 ...

  7. openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解

    其实有时候觉得写博客好烦,就个函数就开篇博客.很小的意见事情而已,知道的人看来多取一举,或者说没什么必要,浪费时间,不知道的人就会很郁闷.技术就是这样的,懂的人觉得真的很简单啊,不知道的人真的好难.. ...

  8. RSA非对称加密和解密(同时生成密钥)

    RSA非对称加密和解密(同时生成密钥) 准备jar包 bcprov-jdk16-1.46.jar commons-codec-1.15.jar 获取jar地址:https://mvnrepositor ...

  9. RSA非对称加密,前台vue加密,后台java解密

    目录 前言 公钥和私钥的获取 公钥私钥例子 公钥 私钥 一.前端vue加密 1.1安装jsencrypt 1.2安装好后,在文件里引用 1.3 使用私钥加密 2.后端java解密 2.1调用代码 2. ...

最新文章

  1. Docker Machine 简介
  2. 公厕的门下面为什么都要空一截?难道是为了和别人分享我中午吃的两碗螺狮粉?
  3. 【洛谷P1108】低价购买【dp练习】
  4. php根据浏览器调用支付_Android通过外部浏览器调用微信H5支付,Android+PHP详解
  5. 【java】RMI教程:入门与编译方法 远程
  6. grafana安装配置 influxdb安装配置
  7. nodejs后台系列--第五篇-购买云服务器,安装宝塔面板
  8. 小米潘多拉路由器添加节点_小米mesh好用吗?AX3600AX1800 混组测试
  9. 四旋翼飞行器14——无人机中的OSD、数传、图传、FPV是什么?
  10. 2.线程和进程的含义和区别,进程间通信方式有哪些?
  11. adb shell 获取手机分辨率
  12. java创建无法确定大小的数组
  13. 路由与交换|实验一   路由器基本配置
  14. java clh_浅谈Java AQS实现——CLH锁
  15. 【设计模式】- 观察者模式
  16. Uber H3 index 地图索引思考
  17. Android 带你彻底理解 Window 和 WindowManager
  18. 培训笔记——如何将Wizfi2X0的固件升级
  19. MC/SG集群系统概述
  20. python人狗大战游戏_python入门教程NO.10「奇异博士大战灭霸」游戏,面向对象编程实战...

热门文章

  1. 关于php中Socket粘包问题的3种解决方案,不断提升质量
  2. (七)Builtin Function
  3. AGV的基础知识介绍
  4. 怎样在ubuntu中查看自己的显卡型号及其对应驱动的安装
  5. 【飞桨成都黑客松】急速开发之矿石分类及安卓部署
  6. Print.js--网页文件打印
  7. 大话西游精彩对白(双语版2)
  8. Jmeter参数化四种方式
  9. DAY28:Linux、Windows 系统提权
  10. 多个Excel文件查找显示整行