RSA密码算法和数字签名技术
目录
密钥生成过程
加密和解密
举例
数字签名技术
举例
中国剩余定理
密钥生成过程
1.选取两个不同的大素数p和q,为了安全程度最大,p和q长度一致,计算模n=pq;
2.计算模n的欧拉函数:φ(n)=(p-1)(q-1);(至于为什么欧拉函数是这样,请移步浅谈欧拉函数)
3.随机选择一个整数 e, 1< e < φ(n),且 e 与 φ(n) 互质
4.计算私钥d,满足d*e≡1(modφ(n))
加密和解密
加密(计算密文C)
C=M^e mod n
解密(计算明文M)
M=C^d mod n
举例
题目:已知p=7,q=11,e=17,M=8,应用RSA算法对明文M进行加密得到密文C,并对密文C解密。
解:
1.计算模,n=pq=77;
2.计算模n的欧拉函数,φ(n)=(p-1)(q-1)=6*10=60;
3.计算私钥d,e*d≡1(modφ(n));d=53;
4.计算密文C,C=M^e modn=8^17mod77=57mod77,得C=57(第四步和第五步计算要用到中国剩余定理)
5.计算明文M,M=C^d modn=57^53mod77=8mod77,得M=8
顺带提一下数字签名技术
生成过程同上文密钥生成过程
数字签名过程
[H(m)]^d modn=S
数字签名验证
S^e modn=H(m)
举例
已知p=13,q=11,e=13,则有n=pq=143,φ(n)=(p-1)(q-1)= 120。求解e*d=13d=1(mod120)得d=37,即公钥为(n=143, e=13),私钥为d=37
签名过程:假定消息m的哈希值h(m)=16,计算m的签名
s = h(m)^d mod n=16^37 mod 143 = 3
验证过程:收到签名s后,计算
s^e mod n=3^13 mod 143=16, h(m) mod n=16 mod 143 =16
等式h(m) mod n= se mod n成立,因此,此签名有效。
中国剩余定理
最后再扯一下中国剩余定理
话说“韩信用兵,多多益善。此是化工造物之妙。” 停停停,我怎么可能从这里开始讲起。
想看韩信点兵(证明过程)的去这里看→中国剩余定理(CRT )
已知a * b mod n = ( a mod n ) * ( b mod n ) mod n
所以a^b mod n = (a mod n)^b mod n
举两个例子直观一些
RSA密码算法和数字签名技术相关推荐
- 深入了解MD4,MD5,SHA哈希密码算法与破解技术
简介 密码(password)是最广泛使用的认证系统之一,防止未经授权的用户访问系统,无论是离线还是在线.在大多数系统中,密码是通过加密存储的,以便为每个用户提供安全性.然而,在这些密码的加密之内,仍 ...
- RSA密码算法C++实现
文章目录 1. RSA非对称加密原理 2. C++ 随机生成密钥版本 3. 密钥固定e=13版本 1. RSA非对称加密原理 网上一大把,这里推荐一篇比较好的博客 2. C++ 随机生成密钥版本 #i ...
- Pycrypto与RSA密码技术
密码与通信 密码技术是一门历史悠久的技术.信息传播离不开加密与解密.密码技术的用途主要源于两个方面,加密/解密和签名/验签. pip install pycrypto RSA 密码算法与签名 RSA是 ...
- 密码学(一)—— 背景、常用的密码算法简介,单向散列简介、数字签名简介
背景 密码,最初的目的就是用于对信息的加密,计算机领域的密码技术种类繁多,但随着密码学的运用,密码还用于身份认证,防止否认等功能上.最基本的,是信息加密解密分为对称加密和非对称加密,这两者的区别在于是 ...
- 双钥密钥密码算法RSA解析与短密钥实现
单钥密钥算法,由于其加密的速度相对来说比较快,所以常用来对文本文件加密(如TEA.DES等),而双钥密钥算法(如RSA)由于其加密解密的密钥不同并且采用暴力破解的方式也比较低效(基本不可能被破解),低 ...
- 数字签名技术以及RSA算法的原理实现
数字签名技术 1)对称加密与非对称加密 对称加密:对文件的加密和解密采用的都是同一个密钥,有IDEA和DES两种加密算法 非对称加密:有一对公钥和私钥 如果我们使用公钥加密,必须得用私钥解密:如果使用 ...
- 数字签名技术 -- DSA算法
DSA算法是1991年美国国家标准技术协会公布的数字签名标准(DSS)的核心算法.本质上是ElGamal数字签名算法,仅能与SHA系列算法结合,没有相应的MD融合算法. DSA算法和RSA算法的异同 ...
- RSA密码的手动算法+快速幂算法
公钥加密方案(非对称加密算法) 1.为什么要引入公钥加密方案? 密码学中的加密方案分成对称密钥和非对称密钥(也就是我们说的公钥加密,代表加密算法是RSA加密算法). 而对称加密方法有一个特点,任何通信 ...
- 【密码算法 之零】对称算法(DES,、3DES、 AES、DM5、HMAC、CMAC、SHAxx、SM3、SM4),非对称算法(RSA、ECC、ECDSA、ECDH、SM2、SM9...)
由于工作的需要,在过去的两年中学习.适配了很多算法,包括对称算法.非对称算法.国密算法.国际算法等.为了逼迫自己能够牢记并掌握这些算法的基本知识点,故本人写了一个关于算法的专栏(持续更新中...) ...
最新文章
- java docx word api_javadoc生成word接口文档
- HDLBits 系列(38)值得一看的状态机设计题目
- 装箱与拆箱及其性能损失问题
- Tensorflow Probability 与 TensorFlow 的版本依赖关系
- ecg 幅度_ECG信号中一些运动伪差的讨论
- 用启明云端支持ESP32的GUI做了一个测温HMI交互界面
- 太突然!一日本上班族大叔被通知得了诺贝尔奖,他却选择消失了16年,又有重大发现!...
- jquery自定义banner图滚动插件---(解决最后一张图片倒回第一张图片的bug)
- SDUT 2766 小明传奇2
- 来我们公司面试必问的41道 SpringBoot 面试题,不看亏大了!
- afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )的参数和作用分析
- Lombok之@Cleanup使用
- 有奖:说出你的网络安全故事
- 用数据来看马拉多纳究竟有多么闪耀!!!
- Vue实战中的一些小魔法
- Flink程序 Timer实现定时操作
- 公钥(RSA)加密应用场景
- What are 20 questions to detect fake data scientists?
- 自己制作的粉碎机批处理程序
- 标准对联广告Js代码