本周学习总结(24.07.22~24.07.28)


1 加密解密软件的文件保护与破解

详细可参考链接: 4-1网络安全实践技能分级培养1:加密解密软件的文件保护与破解

使用Ubuntu以及相关命令行安装了GPG并进行版本检查,使用GPG生成密钥,并学习了相关密钥管理命令,实操了加密解密过程,并且学习了如何对文件进行签名。

以下是代码总结:

#安装GPG以及版本检查
sudo apt update
sudo apt install gunpg
sudo apt install gunpg-agent
sudo apt install gunpg-sm
#安装好之后检查GunPG的版本
gpg --version

#生成密钥的命令
gpg --gen-key
#查看公钥
gpg --list-keys
#加密文件
gpg --encrypt -r [KEY_ID] -o encrypted_demo.txt demo.txt
#查看加密文件
gpg --decrypt encrypted_demo.txt
#签名文件
gpg --detach-sign -a demo.txt
#查看签名文件
cat demo.txt.asc
#验证签名
gpg --verify demo.txt.asc
#查看签名详细信息
gpg --list-packets demo.txt.asc


2 GmSSL实现混合密码系统

详细实践过程记录参考链接: 4-2 GmSSL实现混合密码系统(Ubuntu,SM2和SM4)
学习实践的主要内容如下:

  • 生成SM2密钥对(公钥和私钥)
  • 生成一个对称密钥(SM4密钥)
  • 使用SM2公钥加密对称密钥
  • 使用对称密钥加密文件
  • 使用SM2私钥解密对称密钥
  • 使用解密后的对称密钥解密文件
#安装GmSSL
sudo apt-get update
sudo apt-get install -y cmake gcc g++
git clone https://github.com/guanzhi/GmSSL.git
cd GmSSL
mkdir build && cd build
cmake ..
make
sudo make install

#确保GmSSL安装成功的命令
gmssl version

#使用3.1.2版本GmSSL适用命令行生成密钥对
sudo gmssl sm2keygen -pass 1234 -out sm2_private_key.pem -pubout sm2_public_key.pem
echo hello | sudo gmssl sm2encrypt -pubkey sm2_public_key.pem -out sm2.der#加密操作
echo hello | sudo gmssl sm2decrypt -key sm2_private_key.pem -pass 1234 -in sm2.der#解密操作

#生成对称SM4密钥以及加密解密
gmssl rand -out sm4_key.bin -outlen 16
echo "This is a test file for encryption using SM4" > test.txt\
#使用SM4加密test.txt
gmssl sm4_ecb -in test.txt -out test.txt.enc -key sm4_key.bin
#使用SM2加密sm4_key.bin
gmssl sm2encrypt -pubkey sm2_public_key.pem -in sm4_key.bin -out sm4_key.enc
#解密sm4_key.bin
gmssl sm2decrypt -in sm4_key.enc -out sm4_key.bin -key sm2_private_key.pem -pass yourpassword
#解密test.txt.enc
gmssl sm4_ecb -decrypt -in test.txt.enc -out decrypted_test.txt -key sm4_key.bin


3 学习实践心得

学习需要理论和实践的结合。计算机的更新迭代很快,一些书中的资料可能不完全够用,还需要另外通过更多的渠道学习一些更新的知识。比如gmssl的命令行,资料中的代码是旧版本的,需要根据新版本的可用命令来写。
(以上代码内容都是在目前的最新版本可以实践操作的。)

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值