OpenSSL 简介
来源:互联网 发布:阿里云的图标 编辑:程序博客网 时间:2024/06/06 03:59
ref:
https://www.openssl.org/
http://www.cnblogs.com/LittleHann/p/3741907.html
OpenSSL是一个功能丰富且自包含的开源安全工具箱。
OpenSSL组成
OpenSSL由3部分组成:
1. The SSL library(SSL、TLS开发代码库)
2. the Crypto library(密码学相关开发代码库)
3. command line tool(命令行工具,提供CA、证书等功能)
The SSL library(SSL、TLS开发代码库)
SSL、TLS是一个网络数据协议,所以我们使用OPENSSL开发程序的目的同样也是基于网络的应用程序,即C/S程序,所以,一般情况下,我们需要同时编写服务端、以及客户端程序。
服务端编写步骤:
客户端编写步骤:
the Crypto library(密码学相关开发代码库)
RSA算法
RSA是基于数论中大素数的乘积难分解理论上的非对称加密法。
其密钥包括公钥和私钥。它能用于数字签名、身份认证以及密钥交换。
具体的密钥生成算法如下:
1. 随机选择两个大素数p和q(比如每个都是1024 bit);
2. 计算n = pq, n’ = (p-1)(q-1).;
3. 选择一个e (e小于n) 与n’互质;
4. 计算d使得ed = 1 mod n’;
5. 则公钥为(n, e),私钥为(n, d). 注意p和q都应该保密。
加密过程为c = m^e mod n
解密过程为m = c^d mod n
RSA算法中,公钥、私钥的加解密是对称的
在实际应用中,公钥加密一般用来协商密钥,私钥加密一般用来签名。
#include <openssl/rsa.h>
DSA签名与验证
在DSA数字签名和认证中,发送者使用自己的私钥对文件或消息进行签名,接受者收到消息后使用发送者的公钥来验证签名的真实性.
#include <openssl/dsa.h>
MD5哈希散列生成摘要
摘要函数用于将任意数据通过计算获取唯一对应值,而这个值的长度比较短。
常用摘要算法有:sha、sha1、sha256以及md5等。其他还有md4、md2、mdc2以及ripemd160等。
#include <openssl/md5.h>
- 【openssl】(1)openssl简介
- openssl简介
- OpenSSL简介
- OpenSSL简介
- OpenSSL简介
- openssl简介
- openssl简介
- OpenSSL简介
- openssl简介
- OpenSSL简介
- openssl 简介
- openssl简介
- Openssl简介
- OpenSSL简介
- OpenSSL简介
- openssl简介
- OpenSSL简介
- OpenSSL 简介
- 抽象类
- 对json 的总结和理解
- TCP三次握手和四次挥手
- jquery笔记:文档处理 replaceWith, replaceAll, detach, clone
- Service的生命周期
- OpenSSL 简介
- MapReduce中的分区方法Partitioner
- 网易MySQL数据库工程师微专业学习笔记(七)
- Eclipse快捷键大全
- Hadoop中Sequencefile和Text相互转化
- Activity怎么和service绑定,怎么在activity中启动自己对应的service
- 【BZOJ 2419】电阻 高斯消元
- 开源固件下载工具
- lxml解析html时,检验XPath