两个开发源码加密库openssl和cryptlib的比较

原创 2003年01月10日 09:05:00

【openssl资源】
作者:Eric Yang等
官方网站:http://www.openssl.org
中文网站推荐:http://gdwzh.126.com
当前版本: openssl-0.9.7
【Cryptlib】
作者:Wei Dai
下载网站:http://www.eskimo.com/~weidai/cryptlib.html
当前版本:Version 5.0

目前开放源代码的加密库中,openssl和cryptlib都是比较流行的,本文将根据自己的一点理解对这两个库作一些比较,希望能对大家有用。这两个库的构造思想和目的都不太一样. Openssl主要是针对SSL/TLS协议的实现,SSL的功能体现的非常完善,而算法库只是一个附带的必要部分,当然也是非常重要和完善的一个部分。Crypylib则就是实现了加密算法以及相关的一些编码标准。
【openssl的组成和特点】
openssl是一个非常优秀的SSL/TLS开放源码软件包,它包括SSL库、加密算法库以及应用程序三大部分,并提供了测试程序和一些应用例子,实现了SSL/TLS协议和其相关的PKI标准。openssl因为开发的比较早,所以采用了c语言作为编写的语言,但是,openssl里面确可以找到很多面向对象的思想,如BIO的封装就是一个典型的例子。对于刚刚开始接触openssl的技术人员来说,可能会觉得有点困难,因为openssl的结构非常膨大,即便要阅读完其非常不完善的文档,工作量也是非常膨大的。建议开始接触openssl的时候,除了有一些基本的密码学和PKI的概念外,最好从使用它提供的一些应用程序开始。其实,openssl的应用程序已经很完善,许多CA就是基于这些基础上做成的。
对于很多人来说,openssl应用程序就足以完成他们需要的功能,openssl应用程序主要提供了下列的一些功能:
1.各种类型密钥以及密钥参数的生成和格式转换功能
2.使用各种加密算法进行数据加密的功能
3.证书请求、证书生成和签发以及证书其它相关标准的转换功能,实现了一个CA的功能
4.信息摘要算法以及其相关编码的实现
5.SSL协议模拟客户端和服务器端的实现,可以用来测试SSL服务器和SSL客户端程序。
【Cryptlib的组成和特点】
Cryptlib实现了各种公开密钥算法、对称加密算法、数字签名算法、信息摘要算法以及其相关的其它算法等等。它采用C++语言编写而成,因为是面向对象语言,所以对于初学者来说更容易理清其结构。该库没有提供应用程序,只是作为库函数提供应用。因为基于C++面向对象的思想,其算法的剥离相对于openssl来说可能更加容易。对于不需要涉及SSL协议的技术人员来说,使用该库函数应用是一个不错的选择。    
【应用现状以及建议】
目前,很多CA以及其它PKI商业程序都是基于openssl开发的,基于openssl开发的好处周期非常短,而且功能强大。而Cryptlib因为仅仅局限于加密算法,所以其应用没有openssl广泛,但是对于只需要加密算法的情况来说,这是一个更好的选择。
建议如果你的应用涉及到SSL等PKI协议,应该使用openssl,如果只是应用一些加密算法,则建议使用Cryptlib.

AES在openssl和mbedtls中的简单代码示例

在openssl中:// AES_test.cpp : Defines the entry point for the console application. // #include "stdaf...
  • qq_21794823
  • qq_21794823
  • 2016年11月09日 12:02
  • 2757

Openssl源码方式添加国密SM2算法

1:源码方式,只需要添加2部分,第一部分是 国密sm2的oid,第二部分是group。 1:添加sm2的oid cd crypto/objects/ 编辑  objects.txt ,添加: 1...
  • mrpre
  • mrpre
  • 2016年06月17日 16:28
  • 5386

linux下md5加密(使用openssl库C实现)

from: http://blog.csdn.net/shahongzhou/article/details/6307972 本文介绍linux c使用openssl/md5.h加密,有两种实现方法...
  • zsy19881226
  • zsy19881226
  • 2015年07月14日 16:28
  • 3804

CryptLib3.32加密算法库

  • 2009年02月08日 21:58
  • 4.04MB
  • 下载

cryptlib源码

  • 2010年05月29日 13:47
  • 4.35MB
  • 下载

在OpenSSL源码中添加自定义加密算法

参考:http://blog.csdn.net/force_eagle/article/details/794856 1.加密算法的加载 在调用加密算法之前,通过调用OpenSSL_add_all...
  • bytxl
  • bytxl
  • 2014年10月16日 10:49
  • 1499

使用OpenSSL通过RSA和AES加密注册认证和文本传输工具源码

  • 2016年04月22日 11:44
  • 2.13MB
  • 下载

OpenSSL RSA AES加密解密C++源码

  • 2017年08月30日 15:38
  • 2KB
  • 下载

OpenSSL 中 RSA 加密解密实现源码分析

1、RSA 公钥和私钥的组成,以及加密和解密的公式: 2、模指数运算: 先做指数运算,再做模运算,如 5^3 mod 7 = 125 mod 7 = 6 ...
  • xsc_c
  • xsc_c
  • 2014年07月13日 19:13
  • 4241

openssl之aes加密(源码分析 AES_encrypt 与 AES_cbc_encrypt ,加密模式)

首先要了解AES加密是什么,以及几种加密模式的区别。之后才是编程。具体的编程案例,在下面的链接。 openssl之aes加密(AES_cbc_encrypt 与 AES_encrypt 的编程案例)...
  • chary8088
  • chary8088
  • 2014年03月12日 23:08
  • 39686
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:两个开发源码加密库openssl和cryptlib的比较
举报原因:
原因补充:

(最多只允许输入30个字)