首页 > 其他分享 >公钥密码学RSA入门

公钥密码学RSA入门

时间:2023-04-27 21:12:46浏览次数:35  
标签:公钥 gmpy2 de RSA 整数 明文 解密 密码学

RSA算法的具体描述如下:

  1. 任意选取两个不同的大素数p和q,n=pq,根据欧拉函数(小于n且与n互素的正整数的个数)得:φ(n)=φ(pq)=φ(p)φ(q)=(p-1)(q-1)
  2. 任意取一个大整数e,满足gcd(e,φ(n))=1,整数e用作密钥
  3. 确定解密钥d,满足(de)modφ(n)=1,即de=kφ(n)+1,k≥1是一个任意的整数。所以,若知道e和φ(n),很容易计算出d
  4. 公开整数n和e,秘密保存d
  5. 将明文m(m<n是一个整数)加密成密文c,加密算法为:c=E(m)=memodn
  6. 将密文c解密成明文m,解密算法为:m=D(c)=cdmodn

然而,只根据n和e(注意:不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户才可对密文解密。

 

 

例题:攻防世界_easy_rsa

根据如上原理,写了以下脚本:

import gmpy2

p = 473398607161
q = 4511491
e = 17
N = (p-1)*(q-1)
k = 1
while 1:
    de = k*N+1
    if de%e==0:
        print(de//e)
        break
    else:
        k+=1
        continue

后来知可以用gmpy2库中的函数invert(),直接求,代码如下:

 

import gmpy2

p = 473398607161
q = 4511491
e = 17
N = (p-1)*(q-1)
d = gmpy2.invert(e,N)
print(d)

 

标签:公钥,gmpy2,de,RSA,整数,明文,解密,密码学
From: https://www.cnblogs.com/Athena-ydy/p/17360211.html

相关文章

  • Codeforces Round 866 (Div. 1) C. The Fox and the Complete Tree Traversal (构造)
    传送门题目大意:  给定一个有n个点的树,我们可以任意选择一个点作为起点,这个点可以跳到跟自己距离为1或者距离为2的点,已经到达的点不能再到达(最终必须回到起点),询问是否存在一种方案可以从一个点出发经过所有的点最终再回到这个点来。  输入一个整数n。紧接着输入n-1条边。大......
  • win10下复制ssh公钥到linux
    win10端已经生成了ssh的公钥。在powershell中使用ssh-copy-id命令,提示如下:ssh-copy-id:Theterm'ssh-copy-id'isnotrecognizedasanameofacmdlet,function,scriptfile,orexecutableprogram.Checkthespellingofthename,orifapathwasincluded,verify......
  • Cycle GAN:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial
    paper:https://arxiv.org/pdf/1703.10593.pdf[2017]code参考:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pixhttps://zhuanlan.zhihu.com/p/79221194https://blog.csdn.net/fangjin_kl/article/details/128117396https://www.bilibili.com/video/BV1kb4y197P......
  • Java MD5与RSA加密使用
    JavaMD5与RSA加密使用转发数据到广州,那边要求HTTP请求的头部需要用MD5签名,请求体数据需要使用RSA加密,研究了一下。MD5MD5(MessageDigestAlgorithm5)是一种广泛使用的加密哈希函数,可将任意长度的消息转换为128位的哈希值(通常以32个十六进制字符表示)。MD5算法是一种单......
  • Adversarial Robust Deep Reinforcement Learning Requires Redefining Robustness
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ......
  • 论文解读(VAT)《Virtual Adversarial Training: A Regularization Method for Supervise
    论文信息论文标题:VirtualAdversarialTraining:ARegularizationMethodforSupervisedandSemi-SupervisedLearning论文作者:TakeruMiyato,S.Maeda,MasanoriKoyama,S.Ishii论文来源:2020ECCV论文地址:download 论文代码:download视屏讲解:click1前言提出问题:在......
  • 论文解读(PGD)《Towards deep learning models resistant to adversarial attacks》
     论文信息论文标题:Towardsdeeplearningmodelsresistanttoadversarialattacks论文作者:AleksanderMadry,AleksandarMakelov,LudwigSchmidt,DimitrisTsipras,AdrianVladu论文来源:ICLR2018论文地址:download 论文代码:download视屏讲解:click1 介绍对抗攻击2......
  • 论文解读(FGSM)《Explaining and Harnessing Adversarial Examples》
    论文信息论文标题:ExplainingandHarnessingAdversarialExamples论文作者:IanJ.Goodfellow,JonathonShlens,ChristianSzegedy论文来源:ICLR2015论文地址:download 论文代码:download视屏讲解:click1 介绍对抗攻击2方法扰动:$\eta=\varepsilon\operat......
  • The 1st Universal Cup. Stage 12: Ōokayama
    G容斥完之后发现要求一个m次多项式的n次方,并且得到\(n\timesm\)项。原本很sb地直接套了个多项式LnExp上去(即使知道大概率过不了),然后狂TLE。。。其实但凡从常数的角度分析,Exp的常数有14倍,已经比\(log(m)\)大了,所以不如写快速幂,然后写着就会发现卷积的长度总和其实是\((n\times......
  • RSAC创新沙盒十强出炉,这家SCA公司火了
    引言 近日,全球网络安全行业创新风向标RSAC创新沙盒公布了本年度入围十强的名单,软件供应链安全企业EndorLabs凭借基于依赖关系建立应用开发生命周期的解决方案获得了广泛关注。 Endor Labs简介  EndorLabs成立于2021年,是一家专注供应链安全管理的美国公司,并于去年......