RSA算法原理——(1)目前常见加密算法简介

RSA算法原理——(1)目前常见加密算法简介今天为大家带来 RSA 算法的讲解文章 主要包括 RSA 算法的加解密过程和公式论证 文章可能会稍微有点长 但是内容绝对是目前全网最详细的 最通俗易懂的 跟着昌昌来一起揭开 RSA 非对称加密算法的面纱 保你看完本篇文章之后可以说 RSAjustsoso 一 常见加密算法目前常见的加密算法可以分成三类 对称加密算法 非对称加密算法和 Hash 算法

  艾伦·麦席森·图灵在二战期间主要负责破译德国人的密码系统Enigma,激活成功教程密码需要大量的计算,图灵深知工欲善其事必先利其器的道理,于是一台叫作CO-LOSSUS的计算机在1943年被研制出来,后来这种电子计算机总共生产了10台,他们出色完成了密码破译工作。

  故事讲完了,而今天我要给大家讲的是另外一种加密算法:非对称加密。而RSA就是其中的一种,也是非对称加密使用到最广泛的一种。其实RSA算法只是非常简单的一个公式,没有学过高数的同学照样可以搞懂其原理,只要你和我一样有一颗喜欢探索的心!!!

我把内容主要分为了三大块,为什么这么分呢?这样可以让我们循序渐进的去了解rsa,然后一步一步的揭开rsa的面纱。

一、目前常见加密算法简介

目前常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。

注意Base64编码只是一种编码格式并不是加密算法,它可用于在HTTP环境下传递较长的标识信息。

1.对称加密

  1976年以前,所有的加密方法都是同一种模式即对称加密,它采用了对称密码编码技术。它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。对称加密又分为流加密与分组加密这里就不展开讲了,感兴趣的同学可以自行了解。

对称加密

对称加密的特点:

  • 优点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。
  • 缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后双方保存好秘钥。如果一方的秘钥被泄露,那么加密信息也就不安全了
  • 使用场景:本地数据加密、https通信、网络传输等
  • 常见算法:AES、DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6

2.非对称加密

非对称加密

  1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为“Diffie-Hellman密钥交换算法”。这个算法启发了其他科学家。人们认识到,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。这种新的加密模式被称为”非对称加密算法”。

这里写图片描述

非对称加密特点:

  • 优点:非对称加密与对称加密相比其安全性更好
  • 缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
  • 使用场景:https会话前期、CA数字证书、信息加密、登录认证等
  • 常见算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

3.Hash算法

  Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

hash算法

hash算法特点:

  • 优点:不可逆、易计算、特征化
  • 缺点:可能存在散列冲突
  • 使用场景:文件或字符串一致性校验、数字签名、鉴权协议
  • 常见算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

加密算法的选择

  • 对称加密算法不能实现签名,因此签名只能非对称算法。
  • 验证文件或字符一致性用hash算法
  • 数据量大用对称加密算法、小则可以用非对称加密
  • 还可以非对称与对称集成,参考https请求原理
  • RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176409.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:00
下一篇 2026年3月26日 下午10:00


相关推荐

  • drupal 6.0 入门教程 – 第一章

    drupal 6.0 入门教程 – 第一章
     
    由于工作项目的原因,需要采用drupal来部署,所以最近学习了drupalcms,天天到 drupal.org,drupalchina.org,zhupou.cn,5iphp.com上学习
     
     
    项目的核心是提供一款在线教学和互动社区,希望通过这个教程提供给大家一个比较全面的项目开发指导。首先,我近期的主要任务是熟悉drupalCMS,和设计主页的版式也就是themes。
     
    下面我们从drupal的介绍入手,开始讲解如果

    2022年5月29日
    37
  • Java定时任务调度框架

    Java定时任务调度框架Java 定时任务调度框架 1 定时任务调度概述 1 1 业务场景概述 1 2 任务调度场景 1 3 调度任务分类 2 定时任务调度详解 2 1Timer2 2ScheduledEx 3SpringTask2 4Quartz2 5xxl job2 6elastic job1 定时任务调度概述 1 1 业务场景概述日常开发中定时任务使用场景很多 比如支付系统每天凌晨定时清算对账 未支付订单超时回收 商品定时上下架等等 定时任务框架选择有很多 面对不同的业务场景可以选择不同的

    2026年3月16日
    1
  • caffee学习中文指南(1)(1)

    caffee学习中文指南(1)(1)最近正在自学 caffee 发现很多地方需要反复地揣摩与回顾 于是决定写这篇文章 一来是方便自己回顾 加深记忆 另一方面也希望能够与他人多交流 为后来者行个方便 caffee 的中文文档是在是太少了

    2025年11月22日
    9
  • Windows 终端如何配置 OpenClaw?

    Windows 终端如何配置 OpenClaw?

    2026年3月13日
    2
  • 双机热备方案及双机热备软件选择

    1什么是双机热备方案企事业机构的信息化建设已经在随着社会建设的不断推进而改进和创新。众企事业机构的决策层也愈发重视企事业机构的信息化,不同程度的运营和发展着自身的业务信息系统。但是日趋普遍的业务信息系统在为企事业机构带来利益的同时,也存在着一个不容忽视的隐患——越来越多的业务依赖于业务信息系统。如果运行着关键业务信息系统的服务器发生宕机或是因为不可控的原因而停止,从而导致整个企事业机构的信息…

    2022年4月8日
    46
  • 如何计算系统用户并发数,系统最大并发数

    如何计算系统用户并发数,系统最大并发数与并发用户数相关的概念还包括 并发用户数 系统用户数 和 同时在线用户数 下面用一个实际的例子来说明它们之间的差别 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 假设有一个 OA 系统 该系统有 2000 个使用用户 这就是说 可能使用该 OA 系统的用户总数是 2000 名 这个概念就是 系统用户数 该系统有一个 在线统计 功能 系统用一个全局变量记数所有已登录的用户 从在线统计功能中可以得到 最高峰时有 500 人在线 这

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号