Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

libmcrypt Unified Block and Stream Encryption

Author:
Nikos Mavroyanopoulos <nmav@hellug.gr>

Main contributors: Sascha Schumann <sascha@schumann.cx>, Steve Underwood <steveu@infowebtelecom.com>, Igor Schein <igor@txc.com>, Alexander Demenshin <aldem@techie.com>, Koblinger Egmont <egmont@fazekas.hu>, Larry Snyder <larrys@lexis-nexis.com>, Robin Humble <rjh@pixel.maths.monash.edu.au>, Janusz A. Urbanowicz <alex@bofh.net.pl>, Dan Stromberg <strombrg@nis.acs.uci.edu>, R Sriram <rsriram@krdl.org.sg>, Robert Hanzlik <robi@junyks.cz>, Lars Nordentoft <lntech@post9.tele.dk>, Don Sutherland <dss@yadda.net>, Salvatore Sanfilippo <antirez@linuxcare.com>, Jerome Bertorelle <jerome.bertorelle@noos.fr>, Andrew Libby <alibby@commnav.com>, Jonathan Woolmington <jwool@ind.tansu.com.au>, Sami Farin <sfarin@ratol.fi>, Barton C Massey <bart@cs.pdx.edu>, Derick Rethans <d.rethans@jdimedia.nl>, Phillip Oleson <poleson@verio.net>, Bernard Guillot <bguillot@incoretech.com>, Stefan Hetzl <shetzl@teleweb.at>, Gustavo Niemeyer <niemeyer@conectiva.com>, Germano Rizzo <mano@pluto.linux.it>, Ilia A. <ilia@prohost.org>

Date:
2000-2003
Note:
They designed the crypto algorithms (Thanks to all of them):
LAB Main Introduction

LibMcrypt Presentation

Libmcrypt is a thread-safe library providing a uniform interface to access several block and stream encryption algorithms. Check the manual page for more information on libmcrypt.
Look at COPYING in the archive for license information and the individual files for more information. COPYING applies only for the mcrypt program and not the algorithms which most of them are public domain.

LibMcrypt algorithms

The libmcrypt is a data encryption library. The library is thread safe and provides encryption and decryption functions. This version of the library supports many encryption algorithms and encryption modes. Some algorithms which are supported: SERPENT, RIJNDAEL, 3DES, GOST, SAFER+, CAST-256, RC2, XTEA, 3WAY, TWOFISH, BLOWFISH, ARCFOUR, WAKE and more.

OFB, CBC, ECB, nOFB, nCFB and CFB are the modes that all algorithms may function. ECB, CBC, encrypt in blocks but CTR, nCFB, nOFB, CFB and OFB in bytes (streams). Note that CFB and OFB in the rest of the document represent the "8bit CFB or OFB" mode. nOFB and nCFB modes represents a n-bit OFB/CFB mode, n is used to represent the algorithm’s block size. The library supports an extra STREAM mode to include some stream algo- rithms like WAKE or ARCFOUR.

In this version of the library all modes and algorithms are modular, which means that the algorithm and the mode is loaded at run-time. This way you can add algorithms and modes faster, and much easier.

Symmetric Algorithms

LibMcrypt includes the following symmetric (block) algorithms:

LAB Usage of LibMcrypt

Current LAB Foundation classes use libmcrypt when security is needed. The current LAB Foundation implementation (1.2.7) uses dynamic algorithm selection. Future releases may allow for system administrator configuration of a subset (or none) of the encryption schemes.

 

L.A.B. Project © 2001-2004 LAB Project & DJ Anubis