实验目的
掌握常见的密码学算法应用,包含des aes md5 rsa等
实验环境
一台已经安装openssl组件的Centos 7.2(安装过程自行查找)
实验原理
使用Linux内置的一款开源工具openssl,实现常见的密码算法与应用。通过使用openssl进行操作,完成各种密码算法的应用。
实验步骤
1.创建一个文件,作为实验对象,文件内容为1q2w3e4r,文件名为as.txt
#使用ls查看当前目录下文件
echo 1q2w3e4r > as.txt
#使用echo语句创建txt文件
#再次使用ls命令查看当前目录下文件,已经生成对应文件,使用cat命令查看文件内容,内容无误
2.使用对称加密算法rc4加密(对称加密)
openssl enc -e -rc4 -in as.txt -out as_rc4.txt
#通过命令将as.txt加密为as_rc4.txt,打完命令之后密码要输入两遍一样的,不然会报错
#再次查看目录下文件,加密过的信文件已经生成
#使用cat命令查询文件,对比发现,加密过的文件已经无法查看到相关内容
2.1使用对称加密算法rc4解密(对称加密)
openssl enc -d -rc4 -in as_rc4.txt -out as-rc4.txt
#使用语句解密,输入正确的密码,创建解密完的文件as-rc4.txt
#查看目录下的文件,解密完的新文件已经生成
#使用cat命令查看新文件,可以看到原本的内容
3.使用AES加解密(对称加密)
#步骤和rc4加解密的步骤差不多,就不再拆开分析
#加密语句
openssl enc -e -aes-128-cbc -a -salt -in as.txt -out as_aes128.txt
#解密语句
openssl enc d -aes-128-cbc -a -salt -in as_aes128.txt -out as-aes128.txt
4.使用3DES加解密(对称加密)
#加密语句
openssl enc -e -des3 -a -salt -in as.txt -out as_des3.txt
#解密语句
openssl enc -d -des3 -a -salt -in as_des3.txt -out as-des3.txt
5.RSA加解密码准备(非对称加密)
#使用语句生成RSA密钥对
openssl genrsa -out ras.key 1024
#导出公钥,通过ls命令查看两个密钥都生成了
openssl rsa -in rsa.key -pubout -out rsa_pub.key
#使用cat命令查看两个密钥,可以明显发现不一样
5.1RSA加密码(非对称加密)
# 使用公钥加密文件,查看生成文件,内容无法看到
openssl rsautl -encrypt -in as.txt -inkey rsa_pub.key -pubin -out as_rsa.txt
#私钥是无法用来加密的
5.2RSA解密码(非对称加密)
# 使用私解解密文件,查看生成文件,已成功解密
openssl rsautl -decrypt -in as_rsa.txt -inkey rsa.key -out as-rsa.txt
#使用公钥解密会报错