RSA入门

  • 简介
  • 前置知识
    • 模运算
    • 余数计算
    • 等价类中所有成员得到行为等价
    • 乘法逆元(模逆元)
    • Python实现模逆元
    • 模运算
    • 欧拉函数
  • 秘钥生成
  • 加解密函数
  • 加密过程
  • 解密过程

简介

  • 来源

    RSA 加密算法是一种非对称加密算法。在公开密钥加密和电子商业中 RSA 被广泛使用。RSA 是 1977 年由罗纳德 · 李维斯特(Ron Rivest)、阿迪 · 萨莫尔(Adi Shamir)和伦纳德 · 阿德曼(Leonard Adleman)一起提出的。RSA 就是他们三人姓氏开头字母拼在一起组成的。

  • 安全性

    RSA 算法的可靠性由极大整数因数分解的难度决定。换言之,对一极大整数做因数分解愈困难,RSA 算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用 RSA 加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。如今,只有短的 RSA 密钥才可能被强力方式解破。到2017 年为止,还没有任何可靠的攻击RSA 算法的方式。

前置知识

模运算

假设a,r,m∈Z(Z为整数集),并且m>0。如果m除a-r,可记作:

a ≡ r mod m

其中m为模数,r为余数

余数计算

总可以找到一个a∈Z,使得

a = q · m + r , 其中0 ≤ r < m

由于a - r = q · m(m除a-r),上面的表达式可以写作:

a ≡ r mod m(r∈{0,1,2,…,m-1})
如a=88,m=12,则88 = 12 ·7 + 4
因此88 ≡ 4 mod 12

等价类中所有成员得到行为等价

对于一个给定模数m,选择等价类中任何一个元素来计算,结果都是一样的

直接计算

3⁸ = 6561 ≡ 2 mod 7

替代计算(简化)

将3⁸ 替换为3⁴ ·3⁴ = 81 ·81
因为81 = 11 · 7 +4
则3⁸ = 81 · 81 ≡ 4 · 4 =16 mod 7
最后得到16 ≡ 2 mod 7

乘法逆元(模逆元)

模逆元也称为模倒数。

一整数

信安实验-RSA(备课)相关推荐

  1. 信安实验一:自建CA搭建https

    信安实验一:自建CA搭建https 信安实验一:自建HTTPS 自建CA 创建相应文件夹 配置文件 生成CA根证书和密钥 创建服务器公私密钥 使用 CA key 对服务器证书签名 使用Apache搭建 ...

  2. c语言编fermat素数检验,记信安实验(一):Fermat 素性检验算法

    前言:在密码学中很多地方都需要素数,很多库直接提供检验是否是素数的函数,该文章通过Fermat 素性检验算法实现素数检验(C语言). 一.实验内容 给定奇整数m大于等于3和安全参数k,判断m是否为合数 ...

  3. 麒麟信安操作系统:挖掘场景,与云俱进 ——携手openEuler赋能关键行业应用

    12月24日,由中国电子技术标准化研究院.中国软件行业协会.绿色计算产业联盟主办,华为.飞腾.麒麟信安等操作系统厂商协办的操作系统产业峰会在北京成功举行.湖南麒麟信安科技股份有限公司作为华为重点邀请的 ...

  4. 河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)

    目录 写在最最前面 Misc Misc-qianda0_Sdoku​编辑 Misc-盗梦空间 Misc-Megmi Misc-数据泄露01-账号泄露追踪 Web Web-eZphp2 Web-EzPH ...

  5. 信安小白,一篇博文讲明白上传漏洞——获得shop靶机的Webshell

    实验环境:Win7 上传漏洞--获得shop靶机的Webshell 系列博文 前言 Webshell--脚本攻击工具 1. Webshell 工具举例 2. 如何获得Webshell 3. 上传检测 ...

  6. 信安小白,一篇博文讲明白数字签名

    数字签名 系列博文 案例剖析--密码算法的运用 数字签名 1.1 Hash算法--信息摘要 1.2 数字签名和Hash算法相结合 1.3 加密和数字签名结合 1.4 PGP邮件加密(举例) PGP 报 ...

  7. 第九届信安技能赛BATV提供20万奖学金,助力i春秋大学生成长计划

    一场大学生竞赛,引BAT.启明星辰"抢"人才 第九届全国大学生信息安全竞赛技能赛(以下简称"信安技能线上赛")于7月9日8:00在i春秋学院开战,与以往不同,为 ...

  8. 可信计算期末复习(郑大信安个人总结版)

    可信计算期末复习(郑大信安个人总结版) 1.可信平台模块(Trusted Platform Module,简称TPM)是一种加密协处理器. 2.可信计算组织(Trusted Computing Gro ...

  9. 蒟蒻信安笔记1:网络扫描与网络侦查

    网络渗透测试实验一 1.搜索麻省理工学院网站含"network security" 的pdf文档 2.搜索照片中的位置信息 3.手机位置定位 4.Base64编码解码 5.地址信息 ...

最新文章

  1. python fun_一道神奇的Python面试题,你会吗?
  2. apache日志切割问题
  3. c语言实参形参函数调用指针引用 符号实例,C语言实参、形参、函数调用、指针、引用、符号实例.doc...
  4. Boost:将帧传输到GPU以及如何应用用OpenCL编写的naive optical flow
  5. smarty+php+ajax 简单无刷新分页
  6. 当代家长现状。。 | 今日最佳
  7. php div边框,CSS自定义边框
  8. 计算机网络基础-目录
  9. div中嵌套div水平垂直居中
  10. 团队项目改进与详细设计
  11. UILabel---.tff格式字体
  12. Python使用matplotlib可视化模拟闯红灯现象柱状图
  13. Atitit 收入理论大总结 4位一体 4象限理论 财政收入理论 6位一体
  14. spring-boot-maven-plugin 爆红,分析原因并解决。
  15. CAD快捷键全功能操作
  16. c++中getline()函数用法与坑
  17. pb一步步开发APP
  18. 计算机程序运行消耗的内存,电脑内存多大合适?运行内存占用率高的秘密
  19. Origin——全局垂直光标
  20. leyou商城day7 构建商品索引库及查询

热门文章

  1. 用c语言求五位回文数,C语言求回文数(详解版)
  2. win10自动安装软件
  3. 多城市二手车买卖发布管理小程序开发
  4. excel文件损坏修复绝招_优盘显示文件或目录已损坏,无法读取,怎么办?!
  5. 谷歌浏览器设置默认搜索引擎
  6. 电视剧房前屋后剧情介绍第1-47集
  7. VISIO画出占满页面的PDF矢量图
  8. 消息队列RabbitMQ基本使用(Java代码实现)
  9. 在树莓派中Linux环境下rpm包的安装
  10. 在Groovy中使用字符串 - 51CTO.COM