知识准备
今天准备学习一下求解CTF中有关密码学的题目。
encrypt,加密;decrypt,解密。
数据加密
数据加密利用密码技术对信息进行加密,实现信息的隐蔽,从而起到保护信息安全的作用。它通过加密算法和加密秘钥将原来是明文的文件或数据进行处理,使其成为不可读的一段代码,也就是所谓的“密文”,来达到保护数据的安全性。
RSA
RSA基于一个简单的数论事实,两个大素数相乘十分容易,将其进行因式分解确实困难的。在量子计算机还没有成熟的今天,RSA算法凭借其良好的抵抗各种攻击的能力,在公钥密码体制中发挥着中流砥柱的作用。然而即便RSA算法目前来说是安全可靠的,但是错误的应用场景,错误的环境配置,以及错误的使用方法,都会导致RSA的算法体系出现问题,从而也派生出针对各种特定场景下的RSA攻击方法。
RSA算法描述
RSA算法涉及三个参数,n,e,d,私钥为n,d,公钥为n,e。
n是两个大素数p,q的乘积。
d是e模 $varphi(n)$的逆元,$ varphi(n) $是n的欧拉函数。
c为密文,m为明文,则加密过程如下:
- $ cequiv m^e mod n $
解密过程如下:
- $ mequiv c^d$ $mod$ $n$
n,e是公开的情况下,想要知道d的值,必须要将n分解计算出n的欧拉函数值,而n是两个大素数p,q的乘积,将其分解是困难的。
PEM
PEM是OpenSSL和许多其他SSL工具的标准格式,OpenSSL 使用PEM 文件格式存储证书和密钥。这种格式被设计用来安全的包含在ascii甚至富文本文档中,如电子邮件。这意味着您可以简单的复制和粘贴pem文件的内容到另一个文档中。
PEM文件是Base64编码的证书。PEM证书通常用于web服务器,因为他们可以通过一个简单的文本编辑器,很容易地转换成可读的数据。通常当一个PEM编码在文本编辑器中打开文件,它会包含不同的页眉和页脚。
私钥:—–BEGIN RSA PRIVATE KEY—– and —–END RSA PRIVATE KEY—–
打开题目中文件,但是还不知道咋用,明天继续探索吧