ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

openssl3.0 加密算法库编程精要 01 - 简介

2021-12-22 18:06:33  阅读:360  来源: 互联网

标签:openssl3.0 01 -- openssl 实现 算法 对称 加密算法


 

一、系统环境简介

操作系统 -- Ubuntu 20.04.3 LTS

gcc 版本 -- gcc version 9.3.0

openssl 版本 -- openssl3.0.1

 

二、简述

Openssl 是一个免费开源的工具包,实现了 TLS/SSL 协议和绝大多数的主流密码算法和标准,最初的版本由 Eric A. Young 和 Tim J. Hudson 创建,其官方网站为 www.openssl.org

Openssl 主要包含三个部分:

(1)libssl  -- TLS 协议的实现(RFC 8446);

(2)libcrypto -- 加密算法库,支持绝大多数密码算法,是实现 TLS 协议和 PKI 体系的基础;

(3)openssl -- 命令行工具

 

三、编译和安装

(1)在官网下载 openssl3.0.1 版本,得到 openssl-3.0.1.tar.gz;

(2)输入 tar -zxvf openssl-3.0.1.tar.gz 解压 tar 包到当前目录;

(3)进入解压后的目录执行 ./Configure 生成 Makefile 文件(openssl 默认安装到 /usr/local 下,如需指定安装路径,则执行 ./Configure --prefix=/xxx/xxx);

(4)执行 make 编译;

(5)执行 make install 安装;

 

四、常用的编译选项和配置

默认编译生成 release 版本的共享库,如果要生成可调式的库,则输入 ./Configure --debug;

具体的编译选项请查询 INSTALL.md 文件。

 

五、openssl3.0 加密算法库目录结构

aes -- AES 对称算法实现;

aria -- ARIA 对称算法实现;

asn1 -- ASN.1 编解码实现;

aysnc -- 异步线程池实现;

bf -- blowfish 对称算法实现;

bio -- I/O 流的抽象;

bn -- 大数运算实现;

buffer -- 内存缓冲区;

camellia -- Camellia 块密码算法;

cast -- CAST 对称算法;

chacha -- ChaCha20 流密码算法;

cmac -- 基于分组密码的消息认证码;

cmp -- 证书管理协议;

cms -- 加密消息语法;

comp -- 压缩算法;

conf -- 配置文件管理;

crmf -- 暂时不确定这个是做什么的;

ct -- 证书透明化(Certificate Transparency);

des -- des 对称算法;

dh -- 密钥交换协议;

dsa -- DSA签名算法;

dso -- 动态库管理;

ec -- 椭圆曲线算法;

encode_decode -- 编码和解码;

engine -- 引擎框架;

err -- 错误处理;

ess -- 增强安全服务(Enhanced Security Services);

evp -- 高层算法接口;

ffc -- 有限域加密;

hmac -- 基于 hash 的消息鉴别码;

http -- http 协议实现;

idea -- 国际数据加密算法;

 kdf -- 密钥派生函数;

lhash -- 哈希链表实现;

md2 -- md2 摘要算法;

md4 -- md4 摘要算法;

md5 -- md5 摘要算法;

mdc2 -- mdc2 摘要算法;

modes -- 对称算法的模式;

objects -- 对象管理;

ocsp -- 在线证书状态协议;

pem -- PEM 编解码实现;

pkcs7 -- 加密签名消息语法标准 PKCS7 实现;

pkcs12 -- 个人信息交换语法标准 PKCS12 实现;

poly1305 -- Poly1305 消息认证码;

property -- 暂不清楚这个目录下的文件是做什么的;

providers -- 安全服务提供者,这个是 openssl3.0+ 最具特色的设计;

rand -- 随机数;

rc2 -- RC2 对称算法;

rc4 -- RC4 对称算法;

rc5 -- RC5 对称算法;

ripemd -- RACE原始完整性校验消息摘要;

rsa -- RSA 非对称算法;

seed -- 基于随机种子的对称加密算法;

sha -- sha1、sha256、sha512等摘要算法实现;

siphash -- SipHash 摘要算法;

sm2 -- 国密 sm2 椭圆曲线算法;

sm3 -- 国密 sm3 摘要算法;

sm4 -- 国密 sm4 分组加密算法;

srp -- 暂时不清楚是做什么的;

stack -- 栈的实现;

store -- 临时存储通道;

ts -- 可信时间?

txt_db -- 基于文本的数据库;

ui -- 用户接口;

whirlpool -- Whirlpool 散列算法;

x509 -- x509 证书系列标准实现。

 

标签:openssl3.0,01,--,openssl,实现,算法,对称,加密算法
来源: https://www.cnblogs.com/huowenjie/p/15719919.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有