密码库LibTomCrypt学习记录——(0)LibTomCrypt简介

192 篇文章 62 订阅
40 篇文章 14 订阅

LibTom系列是加拿大的汤姆St. 丹尼斯用标准C语言写成,该系列库包四个组成部分:LibTomMath、 LibTomCrypt、 LibTomNet,和 LibTomPoly。LibTomMath和LibTomCrypt是最成熟的组成部分。LibTom系列地址是:http://www.libtom.org/

LibTomCrypt是一个简单易用的加密工具,它提供给开发者相当多的大家熟悉的分组密码、单向hash函数、伪随机数生成器、公钥加密和其他的一些程序算法。它用标准的纯C语言写成。它有一个标准的API允许新密码,hashes函数,伪随机数生成器,添加和删除,它的特点是用很容易使用这些函数。LibTomCrypt是免费自由的软件。

开源密码库众多,其中非常著名的还有OpenSSL、crypto++等。以下简要说明:

  1. OpenSSL :C语言实现,整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。支持跨平台。代码量比较庞大,经过很多次调整,目前的结构不再清晰明了,要代码剥离的话非常痛苦,使用起来不是很方便。
  2. Crypto++:C++语言实现,代码庞大且复杂,使用起来不方便。支持跨平台。
  3. LibTomCrypt:短小精干,结构清晰明了,速度中等。适合初学密码学的学生和期望对密码学有进一步了解的人士。名气和使用广泛性不如OpenSSL和Crypto++。

LibTom的作者汤姆St. 丹尼斯还是位80后,在LibTom系列的主页中有他的自我介绍。下文是丹尼斯的自我介绍,来至于http://www.libtom.org/pages/about.html.

I'm a Canadian, from Ottawa, the nations capital.  I was born in 1982, raised, educated, and live here in town.  I hold an associates degree (equiv) from Algonquin College in computer science and engineering.  I grad'ed from college in 2004.  I'm the published author of two texts on cryptography, as well as the lead author of a half-dozen open source projects, three of which are fairly prominent in the community (my users include several large corporations, OSS projects such as OLPC and Tcl, universities such as Harvard and EPFL, etc.).  

I study the piano.  I used to play when I was younger, took a near decade break and now am back into the study.  I only play conservatory pieces :-) and hope to someday regain my talent from my youth and perform in public once again.

I'm a dedicated fan of the Toorcon conference scene.  I've given talks there for the last three years as well as sponsor stipends and other activities (such as parties).  As a policy I refuse to attend IACR conferences due to the excessive costs which exclude many students from attending.  I prefer the small conference scene, but can see myself liking defcon one day.  

I originally wanted to go the formal academia route and become a professor, realizing that was a lofty goal I devoted my energies to the projects (and a healthy respect for having a good time).  Finally if you wanted to see what I look like, the following is a photo from Toorcon in 2006.  Keep in mind this is Sunday afternoon, after a solid weekend (plus Friday) of partying :-)

汤姆St. 丹尼斯

LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines. LibTomCrypt has been designed from the ground up to be very simple to use. It has a modular and standard API that allows new ciphers, hashes and PRNGs to be added or removed without change to the overall end application. It features easy to use functions and a complete user manual which has many source snippet examples. LibTomCrypt is free for all purposes under the public domain. This includes commercial use, redistribution and even branching. Sports the following Public domain and open source. Written entirely in portable ISO C source (except for things like RNGs for natural reasons) Builds out of the box on virtually every box. All that is required is GCC for the source to build. Includes a 180+ page user manual in PDF format (with working examples in it) Block Ciphers Ciphers come with an ECB encrypt/decrypt, setkey and self-test interfaces. All ciphers have the same prototype which facilitates using multiple ciphers at runtime. Some of the ciphers are flexible in terms of code size and memory usage. Ciphers Supported. Blowfish XTEA RC5 RC6 SAFER+ Rijndael (aka AES) Twofish SAFER (K64, SK64, K128, SK128) RC2 DES, 3DES CAST5 Noekeon Skipjack Anubis (with optional tweak as proposed by the developers) Khazad KASUMI SEED Chaining Modes Modes come with a start, encrypt/decrypt and set/get IV interfaces. Mode supported. ECB CBC OFB CFB CTR IEEE LRW mode F8 Chaining Mode One-Way Hash Functions Hashes come with init, process, done and self-test interfaces. All hashes use the same prototypes for the interfaces. Hashes supported. MD2 MD4 MD5 SHA-1 SHA-224/256/384/512 TIGER-192 RIPE-MD 128/160/256/320 WHIRLPOOL Message Authenticat
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值