OpenSSL中对称加密算法的统一接口详解
http://tech.ddvip.com 2007年04月25日 社区交流
本文详细介绍OpenSSL中对称加密算法的统一接口详解
2) 宏BLOCK_CIPHER_defs用于定义算法结构,定义为:
#define BLOCK_CIPHER_defs(cname, kstruct,
nid, block_size, key_len, iv_len, cbits, flags,
init_key, cleanup, set_asn1, get_asn1, ctrl)
BLOCK_CIPHER_def_cbc(cname, kstruct, nid, block_size, key_len, iv_len, flags,
init_key, cleanup, set_asn1, get_asn1, ctrl)
BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, iv_len, cbits,
flags, init_key, cleanup, set_asn1, get_asn1, ctrl)
BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, iv_len, cbits,
flags, init_key, cleanup, set_asn1, get_asn1, ctrl)
BLOCK_CIPHER_def_ecb(cname, kstruct, nid, block_size, key_len, iv_len, flags,
init_key, cleanup, set_asn1, get_asn1, ctrl)其中BLOCK_CIPHER_def_cbc定义为:
#define BLOCK_CIPHER_def_cbc(cname, kstruct, nid, block_size, key_len,
iv_len, flags, init_key, cleanup, set_asn1,
get_asn1, ctrl)
BLOCK_CIPHER_def1(cname, cbc, cbc, CBC, kstruct, nid, block_size, key_len,
iv_len, flags, init_key, cleanup, set_asn1, get_asn1, ctrl)而BLOCK_CIPHER_def1定义为:
#define BLOCK_CIPHER_def1(cname, nmode, mode, MODE, kstruct, nid, block_size,
key_len, iv_len, flags, init_key, cleanup,
set_asn1, get_asn1, ctrl)
static const EVP_CIPHER cname##_##mode = {
nid##_##nmode, block_size, key_len, iv_len,
flags | EVP_CIPH_##MODE##_MODE,
init_key,
cname##_##mode##_cipher,
cleanup,
sizeof(kstruct),
set_asn1, get_asn1,
ctrl,
NULL
};
const EVP_CIPHER *EVP_##cname##_##mode(void) { return &cname##_##mode; }所以宏BLOCK_CIPHER_def_cbc展开后就是blowfish的cbc算法结构定义:
责编:豆豆技术应用
正在加载评论...
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……