非对称加密使用方式--------公钥加密,私钥解密与私钥加密,公钥解密。

接触非对称加密的时候,最容易疑惑不清的大概就是


什么时候要使用公钥加密,私钥解密,什么时候要用私钥加密,公钥解密


因为我刚接触非对称加密的时候也是这个疑惑,所以我举两个例子或许能够给大家带来一些思路。

 

公钥加密,私钥解密


时间回到十几年前,那个时候我们很多人应该都还在度过懵懂的校园时光。在那个手机还不盛行的年代,我们表达好感的行为,大多都是用小纸条来传递,那时候的我们....咦,跑题了,说这个是想说,我们可以用传递小纸条这个行为来说明一下要说的非对称加密。

 

(这里我就稍微不要点脸了,猥琐脸)把自己当做一个小鲜肉,于是乎,自己知道可能会有很多姑娘来给自己写小纸条,就准备了一个带密码的小信箱放在我的课桌上,姑娘可能打听到我坐在哪里了,然后写好了小纸条(纸条内容肯定不愿意被别人知道),顺利的放入我的小信箱里,然后我用我的密码,可以打开这个信箱,然后可以安安静静的看这些小纸条啦。

 

这里我们来梳理一下,可以把姑娘写好小纸条送到我这个信箱的行为看做是使用了公钥加密,这里哪里是公钥呢?公钥我们可以看做是我的课桌位置,因为我的位置是公开的,谁都可以知道,但是私钥是什么呢?私钥呢就是我的小信箱的密码喽~

小纸条内容==========》传递的信息

我的课桌位置========》公钥(人人都可以知道)

小信箱密码==========》私钥(只有自己知道)

简述:使用公钥加密,私钥解密,最常用作对数据进行加密,这些数据不愿被别人看到,只能由秘钥持有者看到,我们可以使用这个方式来加密。

 

私钥加密,公钥解密


例如,我可能对这其中一位姑娘有好感,于是就开始慢慢联系,毕竟在校园里,老师毕竟不允许学生过于亲密交往,所以只能低调一点,这里呢,我把我的小信箱改装一下,改成如果放入纸条,只能输入密码之后才能放入,但是从里面获取纸条只需要把信箱倒过来上下摇一下,不需要密码,就可以获取纸条,因为密码只有我知道,所以放入小信箱的纸条都是我写的,但是因为小信箱改装了,所以不光那位姑娘可以得到我写的小纸条,其他人也可以知道。

 

这里呢,因为私钥(小信箱的密码)只有我知道,所以保证了信箱里的所有小纸条都是由我本人写的,姑娘只要到去公钥(我的座位)那里获取小纸条,就说明她获取到的信息就是我要传递给她的,但是有一点坏处就是,因为公钥(我的座位)所有人都知道,所以纸条可能会被多个人看到。

 

简述:我们用私钥加密,公钥解密,是为了保证数据是由秘钥持有者发出的,保证操作不是其他人发起的,如果有这个应用场景,我们可以使用这个方式来加密。

 

PS:私钥加密,公钥解密,虽然信息会被多方看到,但是如果私钥没有泄露,数据不会被篡改。

 

希望能够给大家一些思路。

  • 33
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
Python中使用对称加密算法实现加密解密的机制。这种加密方式是通过使用一对密,来实现数据加解密的过程。其中,是由经过复杂运算得到的,具有加密能力;而则由密持有者自己持有,用于解密数据。这样一来,即便是加密数据不慎泄露,仍然是安全的,因为数据只能由对应的进行解密。Python中支持RSA算法,可以用pycryptodome或cryptography库来实现对称加密使用对称加密算法,首先需要对数据进行加密。这里使用RSA算法作为例子:选择两个不同且较大的质数p,q,计算出n=p*q,然后选取不大于 (p-1)*(q-1) 的数e作为(这里称为指数),计算出对应的d(这里称为指数)。然后,将指数和n组成一个指数和n组成一个加密的过程就是用指数e和n对数据进行加密解密的过程就是用指数d和n对加密数据进行解密。 Python中可以使用如下代码实现RSA加密解密: ```python # 加密 from Crypto.PublicKey import RSA msg = b'this is a secret message' key = RSA.generate(2048) pub_key = key.publickey() encrypted = pub_key.encrypt(msg, 32) # 解密 decrypted = key.decrypt(encrypted) ``` 需要注意的是,使用RSA算法进行加解密可能会涉及到数据长度的限制,因此可以采用数据分块的方式进行加解密。另外,在实际使用中,需要确保的安全性,以免遭到泄露而导致数据的不安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值