美文网首页程序员
非对称加密以及在Python的使用

非对称加密以及在Python的使用

作者: yueyoum | 来源:发表于2014-06-19 17:22 被阅读3804次

加密技术分为两类:

  • 对称加密 如 AES
  • 非对称加密 如 RSA

关于加密的文章我以后会专门写一篇文章,现在让我们简单的看看RSA的基本概念及在Python中如何使用。

概念

A 和 B 要把他们的通信内容加密, 如果A/B使用相同的加密解密key,那这就是 对称加密

对称加密最大的问题就是A和B之间的加密/解密key必须是唯一的。
也就是如果A和C 要加密通信,同时还不想让C知道A/B之间的通信内容。那么A/C之间的加密/解密用的key就不能和A/B之间的一样。

链接一旦便多,这种机制将很难管理大量的key。

非对称加密 就是在此环境下诞生的。
非对称加密有公钥和私钥。公钥随意公开,私钥自己私密保存。

比如 A 把公钥发给B, C。 当B,C与A通信时,先把约定好的见面信号用公钥加密,A收到后,用私钥解密,当解密后的数据就是提前约定好的见面信号的话,A 就认为B,C是受信链接。

如果此时D也给A发送信息,但却没有正确的公钥。A就无法得到正确的见面信号,就不会受理D的请求。

如何使用

下面看看在Python中如何使用

使用 pycrypto 这个库。此库内置了大量的加密算法

  1. 首先用openssl生成 rsa 公钥和私钥
openssl genrsa -out mykey.pem
openssl rsa -in mykey.pem -pubout > mykey.pub
  1. 直接看python代码。后续再来修改此文章
from Crypto.PublicKey import RSA

text = "My test!"
# 公钥加密
pub_key = RSA.importKey(open('mykey.pub'))
x = pub_key.encrypt(text)

pri_key = RSA.importKey(open('mykey.pem'))
decrypted_text = pri_key.decrypt(x[0])

decrypted_text == text  # True

相关文章

  • 非对称加密以及在Python的使用

    加密技术分为两类: 对称加密 如 AES 非对称加密 如 RSA 关于加密的文章我以后会专门写一篇文章,现在让我们...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • Web开发必须了解的密码学技术

    对称加密与非对称加密 按照密钥的使用形式,加密算法可以分为对称加密和非对称加密(又叫公钥加密)。对称加密在加密和解...

  • https交互流程简述

    https使用到的加密算法 对称加密非对称加密 通过非对称加密,交换对称加密的密钥,之后采用对称加密传输非对称加密...

  • 学习笔记:HTTPS协议原理

    对称加密和非对称加密 加密分两种,对称加密和非对称加密。对称加密是指加密的双方使用同一个密钥加密和解密数据。非对称...

  • 信息安全基础知识

    加密技术分为对称加密和非对称加密,区别在于加密和解密是否使用相同的密钥。对称加密使用相同的密钥,非对称加密的密钥则...

  • RSA加密

    RSA加密为非对称加密实现 对称加密:加密解密使用同一个算法 非对称加密:加密和解密使用不同算法 rsa加密原理 ...

  • 视频学习《你的API还在”裸奔“吗?》

    简单区分对称加密、非对称加密对称加密就是使用相同的明文加密出来的密文都是一样的。非对称加密就是使用相同的明文加密出...

  • RSA非对称加密

    RSA非对称加密 对称加密[算法]在加密和解密时使用的是同一个秘钥;而[非对称加密算法]需要两个[密钥]来进行加密...

网友评论

    本文标题:非对称加密以及在Python的使用

    本文链接:https://www.haomeiwen.com/subject/qykjtttx.html