信息安全:使用 Openssl 加密库进行编程

  • 提示文档:
    实验已给出明文和密文,如下所示,并且已知加密方法为 aes-128-cbc,IV 全由 0 组成,以及 key 的长度小于 16 个字母,该单词可以从一般的英文词典中得到。由于该单词小于 16 个字母(128bits)所以在其后追加了空格字符(对应 0x20)以达到 128bit 的长度。本例中词典已给出,文件名为word.txt.

  • 任务:
    写一个程序找到加密密钥key。鼓励自己写程序,也可以使用实验楼中的代码,本实验即文件key.c,请调通key.c,给程序中每条语句添加注释,并画出程序的流程图。
    明文 (21 个字符): This is a top secret.
    密文 (十六进制形式): 8d20 e505 6a8d 24d0 462c e74e 4904 c1b5 13e1 0d1d f4a2 ef2a d454 0fae 1ca0 aaf9

  • 备注:
    1: 明、密文对都直接放在了程序中。如果你打算将明文存储在文件中读取,可能会有一些麻烦。
    2: 为了编译代码,可以在linux平台需要写 makefile,如下。

NC=/usr/local/ssl/include/
LIB=/usr/local/ssl/lib/
all:
gcc -I$(INC) -L$(LIB) -o enc yourcode.c -lcrypto –ldl

也可以直接在linux平台下直接运行带有相关参数的gcc命令。
如果使用另一种情形在windows平台下,可以使用codeblocks来作为编辑器,并加载已编译好的带有O

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值