20181014RSA学习&Base编码

本文深入探讨了RSA密码体制的基本概念与算法原理,包括公开密钥与秘密密钥的作用,以及大数n的欧拉函数在确保密码安全性中的关键作用。同时,文章详细介绍了Base编码的工作机制,尤其是Base64编码如何将三个字节的数据转换为四个字节的编码字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,我转战场地,学习了RSA密码体制和Base编码。

RSA密码体制

基本含义(摘自百度百科)

百度百科链接:https://baike.baidu.com/item/RSA%E7%AE%97%E6%B3%95/263310?fromtitle=RSA&fromid=210678&fr=aladdin

RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,由于无法计算出大数n的欧拉函数φ(N),所以不能根据PK计算出SK。

正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。

算法原理

因为有大佬写得是在太好了,我就直接贴上链接了,一共有两篇,第一篇讲用到的数论知识,第二篇讲具体加密过程。

http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html

http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html

整数分解问题(IF问题)

RSA问题的困难性依赖于整数分解问题的困难性。

只有在选择适当参数的条件下,IF问题才是困难的。

OpenSSL已知密文和私钥破解密文

安装OpenSSL,在OpenSSL终端输入指令。flag.encrypt是加密的文件,rsa_private_key.pem是私钥,将解密的密文输出至flag.de文件中。

Base编码

https://blog.youkuaiyun.com/wangjianno2/article/details/52464208

https://blog.youkuaiyun.com/xuebing1995/article/details/78795577(讲的比较清楚)

转换成Base64的最小单位就是三个字节,对一个字符串来说每次都是三个字节三个字节的转换,对应的是Base64的四个字节。这个搞清楚了其实就差不多了。

明日计划

1.整数分解问题

2.已知RSA密文和公钥,破解密文

3.二进制学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值