位置: 编程技术 - 正文

Python使用Pycrypto库进行RSA加密的方法详解(python *.py)

编辑:rootadmin

推荐整理分享Python使用Pycrypto库进行RSA加密的方法详解(python *.py),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python pyopenssl,python *.py,python pyopenssl,python.pyc,python.pyc,python.pyc,python pyo,python pycrypto,内容如对您有帮助,希望把文章链接给更多的朋友!

密码与通信密码技术是一门历史悠久的技术。信息传播离不开加密与解密。密码技术的用途主要源于两个方面,加密/解密和签名/验签

在信息传播中,通常有发送者,接受者和窃听者三个角色。假设发送者Master想要写信给接受者Ghost,可是又不想信的内容被别人看到,因此Master需要先对信加密,而Ghost收到信之后又能解密。这样别的人即使窃听盗取了密文也无法解密。其次,如果窃听者并不像破译内容,而是伪造Master发消息给Ghost,那么Master发消息前就得先对机密内容进行签名。

密码技术为了进行加密以及通信,人们发明了很多公开的算法。对称与非对称算法等。常见的加密方式有RSA, AES等算法。对于选择加密算法,一个常识就是使用公开的算法。一方面是这些算法经过实践检验,另一方面对于破译难度和破译条件破译时间都有预估。对于任何加密算法,都是能破解的,不同在于时间上的投入。

Python密码库--PycryptoPython良好的生态,对于加密解密技术都有成熟的第三方库。大名鼎鼎的M2Crypto和Pycrypto,前者非常容易使用,可是安装却非常头疼,不同的系统依赖软件的版本还有影响。后者则比较方面,直接使用pip安装即可。

安装

RSA 密码算法与签名RSA是一种公钥密码算法,RSA的密文是对代码明文的数字的 E 次方求mod N 的结果。也就是将明文和自己做E次乘法,然后再将其结果除以 N 求余数,余数就是密文。RSA是一个简洁的加密算法。E 和 N 的组合就是公钥(public key)。

对于RSA的解密,即密文的数字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再对结果除以 N 求余数即可得到明文。D 和 N 的组合就是私钥(private key)。

算法的加密和解密还是很简单的,可是公钥和私钥的生成算法却不是随意的。本文在于使用,对生成秘钥对的算法就暂时忽略。使用 Pycrypto生成秘钥对很简单,我们分别为 Master和Ghost各生成一对属于自己的秘钥对。

所生成的私钥和公钥大概是这样的:

Python使用Pycrypto库进行RSA加密的方法详解(python *.py)

加密与解密通常通信的时候,发送者使用接受者的公钥加密,接受者使用接受者私钥解密。

简而言之,Master给Ghost通信,需要加密内容,那么Ghost会生成一个秘钥对,Ghost的公钥ghost-public.pem和私钥ghost-private.pem 。Ghost 把公钥公开给发送者,任何人都可以用来加密,然后Master使用ghost-public.pem进行加密,然后把内容发给Ghost,Ghost再使用ghost-private.pem进行解密。

1.加密(encrypt)

cipher_text 即 Master加密后将要发送给Ghost的密文。

2.解密(decrypt)

这样Ghost就能看到Master所发的内容了,当然,如果Ghost想要给Master发消息,就需要Master先把其的公钥给Ghost,后者再使用公钥加密,然后发送给Master,最后Master使用自己的私钥解密。

签名与验签当然,对于窃听者,有时候也可以对伪造Master给Ghost发送内容。为此出现了数字签名。也就是Master给Ghost发送消息的时候,先对消息进行签名,表明自己的身份,并且这个签名无法伪造。具体过程即Master使用自己的私钥对内容签名,然后Ghost使用Master的公钥进行验签。

签名

验签

总结Pycrypto提供了比较完善的加密算法。RSA广泛用于加密与解密,还有数字签名通信领域。使用Publick/Private秘钥算法中,加密主要用对方的公钥,解密用自己的私钥。签名用自己的私钥,验签用对方的公钥。

加密解密:公钥加密,私钥解密 签名验签:私钥签名,公钥验签

无论是加密机密还是签名验签都使用同一对秘钥对。

PyCharm使用教程之搭建Python开发环境 PyCharm是JetBrains系列产品的一员,也是现在最好用的IDE。PyCharm维持了JetBrains一贯高度智能的作风,简要枚举如下:独特的本地VCS系统强大的重构功能基于

Python运行报错UnicodeDecodeError的解决方法 Python2.7在Windows上有一个bug,运行报错:UnicodeDecodeError:'ascii'codeccan'tdecodebyte0xc4inposition:ordinalnotinrange()解决方案如下:编辑PythonLibmimetypes.py文件,

Python卸载模块的方法汇总 easy_install卸载通过easy_install安装的模块可以直接通过easy_install-mPackageName卸载,然后删除PythonLibsite-packages目录下的egg。setup.py卸载通过发行包附带的se

标签: python *.py

本文链接地址:https://www.jiuchutong.com/biancheng/387583.html 转载请保留说明!

上一篇:Python的Flask框架应用调用Redis队列数据的方法(flask框架下使用scrapy框架)

下一篇:PyCharm使用教程之搭建Python开发环境(pycharm使用教程2022)

  • 外购产品视同自产产品办理免抵退税的条件?
  • 年度企业所得税申报时间
  • 注册资本为0的企业
  • a企业给关联公司借款怎么做账
  • 自建的固定资产可以抵扣吗
  • 企业怎么挑选计提折旧方式方法
  • 会计核算制度的案例
  • 担保人的损失
  • 准予抵扣的进项税额计算公式
  • 取得运输业专用发票可以抵扣进项吗
  • 捐赠纳税调增金额怎么算
  • 物业公司代收物业费
  • 律师事务所日常管理松懈混乱整改措施
  • 企业拆迁补偿款要交哪些税
  • 公司账户境外汇款
  • 案例分析个人心得体会
  • 个人劳务报酬所得税计算方法2020
  • 公司院内打井怎么处罚
  • 花店怎么做会计工作
  • 房屋租赁费属于什么服务
  • 计算内含报酬率所使用的年金现值系数
  • 3%征收率减按2%征收增值税怎么算
  • 纳税人识别号和税号一样吗
  • 跨年度暂估成本入账冲回如何会计分录
  • 股权转让协议解除返还股权优先权
  • php解构
  • 应付票据转应付账款分录
  • 企业所得税具体纳税筹划案例
  • 企业销售货物收到价款5000元这笔经济业务属于
  • 原材料入库时如何计价
  • 应付票据抵付应付账款会计分录
  • 哪些情况下公司不能辞退员工
  • 废品损失属于产品成本项目吗
  • 销售金额环比
  • html+css登录页面
  • convert convert
  • 用人民币支付的公司
  • 资产负债表净资产为负数
  • 会计信息不采集有什么后果
  • 国家税务总局关于营改增后土地增值税
  • 税法增值税的不同
  • 单一窗口退税数据发送
  • 为什么社保明细导不出来
  • 关于固定资产的说法
  • 将自产产品用于公益事业
  • 建筑业异地预交税款怎么入库
  • 库存现金主要账目有哪些
  • 商场联营扣点的合作方式
  • 工厂宿舍水电费怎么扣
  • 施工期间水电费没有发票财务不给报销
  • 企业财务会计是应用在各类企业
  • 发现以前的账做错了
  • sql server 错误
  • 一次性压缩洗脸巾
  • mysql 通过拷贝数据文件的方式进行数据库迁移实例
  • mysql 5.6.23 winx64.zip安装详细教程
  • windowsserver2008r2standard激活
  • win8安装虚拟机的步骤
  • windowsxp关闭窗口操作方法有哪些
  • linux pb
  • Win10 Mobile 10572新增实用功能:未接电话会显示响铃的次数
  • windows 10的屏幕键盘快捷键在哪里
  • 定制xp系统
  • ServiceLayer.exe - ServiceLayer是什么进程 有什么用
  • 休眠后网络断开
  • win8更新80072efe
  • bootstrap下拉框设置默认值
  • jsp分页显示
  • html超链接打开本地文件
  • javascript取随机数
  • 安卓手机管家是什么
  • python怎么写爬虫
  • 朵朵舞百科
  • python能爬取app吗
  • jquery点击按钮修改表格数据
  • js实现的奥运倒计时时钟效果代码
  • 河南新乡地税局罗姓病逝
  • 济南房产税如何计算公式
  • 如何查询车辆购买的保险是哪家保险公司
  • 中税网讲师
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设