加密算法 AES和RSA

这篇具有很好参考价值的文章主要介绍了加密算法 AES和RSA。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,加密

(一)加密基础?

通过互联网发送数据,数据可能会被第三者恶意窃听,造成损失。因此需要给重要的数据进行加密,加密后的数据被称为“密文”。接收方通过解除加密或得原本的数据,把密文恢复为原本数据的操作叫做“解密”。像这样就减少了数据被恶意窃听的风险。

那么加密是怎么操作的呢?

首先计算机会使用1和0这两个数据表示二进制来管理所有数据。虽然数据有多种格式,图片,音频,视频,文档等,但在计算机中都是用二进制来表示。

对计算机来说,数据就是一串有意义的数字。

密文就是通过某种运算使得计算机无法解释的无规律数字。

加密运算用到的“密钥”,就是对数据进行数值运算,把数据变成第三者无法理解的形式的过程。

比如数据a是一串数据,通过“密钥”进行换算变成b,这样对于不知道计算过程的C来说,数据b就无法表示原来数据a的意思。原本a的二进制表示的数字是1,传输过程中却变成了数据b表示数字2,这样由于“密钥”和运算吧原本数据改变,防止第三方简单获取的方式就是加密。

a:01

b:10

“密钥”和运算:1和0互换

01 +“密钥”和运算 = 10

当然实际生产中用到的算法和密钥肯定不是这么简单的。

(二)加密数据算法

加密数据的方法可以分两种,加解密使用相同的密钥的“共享秘钥加密”和分别使用不同密钥的“公开密钥加密”

1,共享秘钥加密 - 对称加密

是什么?

加密解密都使用相同密钥的一种加密方式,由于使用密钥相同,所以也被称作“对称加密"。

实现原理

  1. 对称加密算法采用单密钥加密,在通信过程中,数据发送方将原始数据分割成固定大小的块,经过密钥和加密算法逐个加密后,发送给接收方

  1. 接收方收到加密后的报文后,结合解密算法使用相同密钥解密组合后得出原始数据。

实现算法

实现共享密钥加密算法的有凯撒密码,AES,DES,动态口令,其中AES应用场景最为广泛。

优缺点

效率高,算法简单,系统消耗小,适合加密大量数据。

安全问题

由于使用了相同的秘钥进行加密和解密,一旦秘钥被第三方获取,所传输的信息将

不在安全。

因此需要把密钥安全的送出去,这就是“密钥分配问题”

2,公开密钥加密 - 非对称加密

是什么?

是指加密和解密分别使用不同的密钥的一种加密方法,也被成为“非对称加密”。加密用的密钥称为“公开密钥”,解密用的密钥称为:“私有密钥”。

实现原理

  1. 甲使用乙的公钥并结合相应的非对称算法将明文加密后发送给乙,并将密文发送给乙。

  1. 乙收到密文后,结合自己的私钥和非对称算法解密得到明文,得到最初的明文。

实现算法

实现公开加密算法有RAS算法,椭圆曲线加密算法等,最为广泛的是RSA算法。

优缺点

优:

1,安全性更高 :与共享密钥加密不同的是,公开密钥加密不会出现密钥分配问题。

缺:

1,复杂度高 :因为加密和解密用的是不同密钥,而且无法从一个密钥推导出另一个密钥,且公钥加密的信息只能用同一方的私钥进行解密。

2,解密加密比较耗时:非对称加密的缺点是算法非常复杂,导致加密大量数据所用的时间较长

3,公钥无法自证清白

“公开密钥”无法证明自己的身份,导致“公开密钥”可靠性出现问题。

例如:

正常情况下,A与B交互,A向B发送公钥,B通过A发来的公钥加密,A接收到密文后通过私钥解密。

加密算法 AES和RSA

异常情况:A与B交互,A向B发送公钥的过程中可以被C先截取A的公钥,然后C向B发出公钥,由于“公开密钥”无法自证清白,无法显示自己是由谁生成的,所以B不会发现接收到的“公开密钥”是谁C发送的。

在接下来的传输过程中,B通过C发送的“公开密钥”进行数据加密,会被C“私有密钥”解密后,然后通过A的“公开密钥”加密,在传输给A,A通过自己签发的“私有密钥”解密成功,也不会发现这中间出现了什么问题。

加密算法 AES和RSA

安全性的问题可以通过“数字证书”来解决,“数字证书”本身含有自身信息来表达身份,同时依赖认证中心的信任链条来保证安全性。

二,代码和实例

AES

密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。,目前已被广泛应用。

RSA

RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制 。

RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥 。

备注:

代码实例在以下路径,JS和java的实例,用于前后端密码传输过程中的加解密。

链接:https://pan.baidu.com/s/1wNzBErch3dIa5sxGRiIdMQ

提取码:lvu4文章来源地址https://www.toymoban.com/news/detail-464550.html

到了这里,关于加密算法 AES和RSA的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

    信任和安全的话题过于庞大,涉及很多数学知识,直接涉及 “正事” 反而不利于理解问题的本质,因此需要先讲一个前置作为 part 1。 part 1 主要描述物理世界的信任和安全,千万不要觉得数字世界是脱离物理世界的另一天堂,它只是效率高了,让物理世界被认为不可能的事

    2024年03月10日
    浏览(45)
  • php常用加密算法大全aes、3des、rsa等

    目录 一、可解密加解密算法 1、aes 加解密算法 2、旧3des加解密方法  3、新3des加解密方法 4、rsa公私钥加解密、签名验签方法 5、自定义加密算法1  6、自定义加密算法2 7、自定义加密算法3 二、不可解密加密算法  1、md5算法  2、crypt算法 3、sha1算法 5、hash 算法 6、 password_ha

    2024年02月09日
    浏览(50)
  • 如何通过堡垒机加强互联网行业中的权限管理

    如何通过堡垒机加强互联网行业中的权限管理?在互联网行业中,安全性是至关重要的,特别是当涉及到管理敏感数据和关键业务系统时。而在权限管理方面,堡垒机已经成为一种广泛应用的解决方案。堡垒机可以帮助互联网行业加强对系统和数据的访问控制,提高安全性和

    2024年02月19日
    浏览(45)
  • Java 中常见的加密算法,DES、3DES、AES、RSA

    加密算法是一种将数据转换为不可读形式的算法,以保护数据的机密性和完整性。加密算法被广泛应用于计算机网络、数据库、电子商务等领域,用于保护敏感数据的安全性,如用户密码、信用卡信息、医疗记录等。在 Java 中,有许多常见的加密算法,本文将对加密算法的基

    2024年02月03日
    浏览(56)
  • 云计算基础——云计算与移动互联网、物联网

    移动互联网的发展概况 移动互联网 是指以宽带IP为技术核心,可同时提供语音、数据、多媒体等业务服务的开什么是移动互联网?放式基础电信网络,从用户行为角度来看,移动互联网广义上是指用户可以使用手机、笔记,通过无线移动网络和HTTP协议接入互联网:狭义上是指用

    2024年02月01日
    浏览(56)
  • 高项(3)信息化和信息系统基础知识2-移动互联网-安全属性-安全层次-安全保护等级-加密技术-防火墙-入侵检测-DDN-蜜罐技术-无线网络安全-Web威胁防护技术-运行维护信息系统生命周期-软件测试V

    27.在大数据研究中,数据之间的关联关系比因果关系更重要 28.移动互联网的核心是互联网,移动互联网是桌面互联网的补充和延伸,应用和内容仍是移动互联网的根本。 29.安全属性 秘密性:信息不被未授权者知晓的属性; 完整性:信息是正确的、真实的、未被篡改的、完整

    2024年04月14日
    浏览(62)
  • 【第一期】《互联网广告系统:架构、算法与智能化》

    🌹欢迎来到 爱书不爱输的程序猿 的博客, 本博客致力于知识分享,与更多的人进行学习交流 广告平台的建设和完善是一项长期工程。 例如,谷歌早于2003年通过收购Applied Semantics开展Google AdSense项目,而直到20年后的今天,谷歌展示广告平台仍在持续创新和提升。 广告平台是

    2024年02月13日
    浏览(47)
  • 互联网加竞赛 基于机器视觉的手势检测和识别算法

    🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的手势检测与识别算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 废话不多说,先看看学长实现的效果吧 主流的手势分割方法主要分为静态手

    2024年01月20日
    浏览(51)
  • 互联网加竞赛 python+深度学习+opencv实现植物识别算法系统

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的植物识别算法研究与实现 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分 工作量:4分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate Google DeepMind公司研究员与牛津大学计算

    2024年02月03日
    浏览(52)
  • 互联网广告投放算法是怎么回事?这本书给你答案

    目录 内容简介 作者简介 读者对象 书本目录 文末自购链接 广告平台的建设和完善是一项长期工程。例如,谷歌早于2003年通过收购Applied Semantics开展Google AdSense 项目,而直到20年后的今天,谷歌展示广告平台仍在持续创新和提升。广告平台是负有营收责任的复杂在线平台,对

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包