2017-2018-1 20155203 20155204 实验五 通讯协议设计

本文介绍了OpenSSL的历史和发展,详细讲解了其在Linux环境下的安装和使用方法,并提供了测试代码示例。此外还探讨了如何利用OpenSSL实现AES、RSA等加密算法。

学习背景介绍

OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux、Windows、Mac OS等多种平台。

OpenSSL最早的版本在1995年发布,1998年后开始由OpenSSL项目组维护和开发。当前最新的版本是1.1.0 alpha版本,完全实现了对SSLv1、SSLv2、SSLv3和TLS的支持。。目前,OpenSSL已经得到了广泛的应用,许多类型的软件中的安全部分都使用了OpenSSL的库,如VOIP的OpenH323协议、Apache服务器、Linux安全模块等等。

OpenSSL整个软件包大概可以分成三个主要的功能部分:

  • 密码算法库
  • SSL协议库
  • 应用程序

Linux下OpenSSL的安装和使用


Linux下OpenSSL的下载

在网页OpenSSL最新版本下载中下载如图中所示的内容

1065404-20171213104309379-1953788436.png

- tar xzvf  openssl-1.1.0-pre1.tar.gz (解压文件名更换为自己下载版本的压缩文件名)
- cd openssl-1.1.0-pre1(文件夹名同上)
- ./Configure(注意c大写)
- make
- sudo make install

1065404-20171213104331894-1715578812.png


Linux下OpenSSL的使用

  • 使用man openssl查看帮助文档
    1065404-20171213104347160-1956479733.png

  • 编写一个测试代码test_openssl.c

#include <stdio.h>
#include <openssl/evp.h>

int main(){
    
    OpenSSL_add_all_algorithms();
    
    return 0;
}

问题及解决:如果出现找不到文件或无法识别文件格式等问题,将两个.a库文件放入usr/local/ssl/lib中,并在编译时加入-lcrypto参数

具体编译测试如下图:


研究OpenSSL算法,测试对称算法中的AES,非对称算法中的RSA,Hash算法中的MD5


AES:

1065404-20171213104555254-241324948.png


RSA:

1065404-20171213104608347-932676057.png


MD5:

1065404-20171213104622363-410251762.png


选用合适的算法,基于混合密码系统实现对TCP通信进行机密性、完整性保护。

本次实验示例为wcserver:
1065404-20171213104634535-1346660934.png

转载于:https://www.cnblogs.com/xhwh/p/8031725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值