[密码学] 公钥密码基础与RSA
文章目录
- 公钥密码学的基本观点
- 基本思想
- 公钥密码的核心
- 陷门单向函数
- RSA加密算法
- 密钥生成
- 算法正确性
- 算法安全性
- 算法实现
- 相关模运算时间复杂度
- 解密算法提速
- 运用中国剩余定理(CRT)
- 实现速度
公钥密码学的基本观点
一、什么是公钥密码
公钥密码包括公钥加密、数字签名等。功能:主要用于保障数据的保密性和认证性;特点:拥有一对密钥(pk、sk),pk表示公钥,sk表示私钥。
二、为什么需要公钥密码
对称密码体制的缺点:
密码分配:需要通过秘密的安全信道协商密钥,而实际应用中安全信道的实现并不容易。
密钥管理:有n个用户的网络中,任何两个用户之间都要共享一个密钥,需要管理的密钥数目太多。
三、公钥密码学基本原理
基本思想
①任何人可以利用公开的公钥加密明文,从而生成密文。
②只有私钥拥有者可以利用保密的私钥解密密文,从而得到明文。
③利用公钥推出私钥是不可行的。
④基于数学的困难问题。
公钥密码的核心
陷门单向函数
注意:计算上困难的问题不一定就意味着安全的密码系统
①复杂性理论通常处理一个问题的单个孤立情况。
②问题的复杂性度量通常是根据其最坏情况或平均情况。
③不一定可嵌入陷门信息。
公钥密钥是基于计算安全性的
至今为止没有被证明是单向的函数
RSA加密算法
密钥生成
随机选择两个不同的大素数p与q,计算n=pq,φ(n)=(p-1)(q-1)。随机选择e满足1<e<φ(n)且(e,φ(n))=1,计算d满足ed=1 mod φ(n),P=C=Zn。
公钥:n,e
私钥:n,d(注意:p,q与φ(n)保密)
算法正确性
算法举例:
算法安全性
算法实现
相关模运算时间复杂度
解密算法提速
运用中国剩余定理(CRT)
实现速度
[密码学] 公钥密码基础与RSA相关推荐
- CTF密码学-编码基础知识点总结
CTF密码学-编码基础知识点总结 0x01 目录 常见编码: 1.ASCII编码 2.Base64/32/16编码 3.shellcode编码 4.Quoted-printable编码 5.XXenc ...
- 密码学复习笔记4【公钥密码技术、RSA 、ElGamal】
公钥密码 基本思想 公钥密码也称为非对称密码.使用公钥密码的每一个用户都分别拥有两个密钥:加密密钥与解密密钥,它们两者并不相同,并且由加密密钥得到解密密钥在计算上是不可行的.每一个用户的加密密钥都是公 ...
- 【密码学基础】RSA加密算法
1 RSA介绍 RSA是一种非对称加密算法,即加密和解密时用到的密钥不同. 加密密钥是公钥,可以公开:解密密钥是私钥,必须保密保存. 基于一个简单的数论事实:两个大质数相乘很容易,但想要对其乘积进行因 ...
- 密码学相关基础二(非对称加密和数字签名篇)
之前对称加密相关基础可以浏览https://blog.csdn.net/qq_44754515/article/details/123577250 一.密钥 1.1.定义 密钥就是一个巨大的数字 密钥 ...
- 公钥密码/非对称密码:RSA、ElGamal、Diffie Hellman?LBC计算过程
目录 一.公钥密码 1.1.公钥密码特点 1.2.公钥密码解决的问题 1.3.公钥密码与私钥密码的区别 二.公钥密码原理 2.1.单向函数 2.2.RSA计算过程 2.2.1.RSA生成密钥 2.2. ...
- 密码学---公钥密码---公钥密码体制
公钥密码体制 公钥密码体制的概念 公钥密码体制的原理 使用公钥密码体制加密传送消息的过程 使用公钥密码体制进行消息认证的过程 使用公钥密码体制的加密和认证过程 公钥密码算法要求 公钥密码体制的攻击 1 ...
- [密码学] 数字签名基础
文章目录 基础内容 数字签名的组成 密钥生成算法KeyGen 签名算法Sig 验证算法Vrfy RSA签名 密钥生成 签名 验证 RSA签名攻击 攻击目的 攻击手段 唯密钥攻击下的存在性伪造 已知消息 ...
- 密码学数论基础部分总结之 有限域GF(p) Galois Fields
今天花了一下午的时间学习密码学的数论部分,下面将学到的内容进行一下总结,也算是加深记忆.我本身对密码学这方面比较感兴趣,而且本节出现了许多数学公式,使用刚刚学习的LaTex公式来呈现出来,练习练习,何 ...
- 【密码基础】RSA算法及简单计算
目录 ==常见题目类型:== ==基本原理:== 计算 RSA算法的安全性 常见题目类型: 基本原理: 素数 模运算 定理 a+b mod n = (a mod n+b mod n) mod n a- ...
最新文章
- 产品需求管理经验分享
- c++精确到小数点后两位_高考试卷的小数点是怎么算入总分的?
- 计算机usb接口充电效率差,usb2.0和3.0的区别 从传输速度和充电效率等来区别
- OpenKruise 2021 规划曝光:More than workloads
- 编辑器js获取浏览器高度和宽度值(转)
- 计算机配置里 无 管理模板,组策略里打开后没有管理模板
- MySql和Sql Server语法和关键字区别
- JDK 9/10/11:Java字符串上+ =带来的副作用
- python网络爬虫系列(十)——chrome在爬虫中的使用
- 7招改善你的谷歌chrome浏览器
- SJTU OJ 3046 足球 题解
- 调用restful接口_SSM实现RESTFul风格的CURD操作
- dmb显示服务器断开连接,dmb联网信息发布系统操作手册企业加强版.docx
- laravel框架连接Oracle,laravel5.8(十四)连接oracle数据库
- http的response遇到illegalstateexception解决办法
- 黑客攻防实战入门(第三版)
- Transformer——理论篇
- 废旧 Android 手机如何改造成 Linux 服务器
- 年龄怎么用计算机算,年龄计算器
- fiddler手机下载证书提示No root certificate was found. Have you enabled HTTPS traff 解决方法 及手机配置代理后无网络问题
热门文章
- 写文件 追加_总结Java中创建并写文件的5种方式
- php exif信息,php通过exif_read_data函数获取图片的exif信息
- 机房UPS系统1+1冗余与2N冗余有什么区别?
- DCIM在数据中心现代化计划中的作用
- 数据中心机房的监控系统是否重要?
- html中css路径和xpath路径,6.1 HTML的简单介绍和快速获取XPath和CSS路径
- Py之tornado:tornado库的简介、安装、使用方法之详细攻略
- SLAM:SLAM(即时定位与地图构建)的简介、发展、案例应用之详细攻略
- CV之MTCNN:MTCNN算法过程及其相关思路配图集合
- 拖延不是你的锅,全是基因惹的祸