
CryptoTools 3.0
General Overview
Table of contents. 2
Introduction.. 3
Languages. 3
CryptoTools for C.. 3
CryptoTools for C++. 3
CryptoTools for COM... 3
CryptoTools for .Net. 3
CryptoTools for Java.. 3
Algorithms. 3
DES & TripleDES encryption algorithms. 3
Base64 encoding algorithm... 3
MD5 hashing algorithm... 3
CryptoTools is a
multi-language suite of encryption components and libraries. CryptoTools can be
incorporated into your program written in C, C++, COM, VB, .Net, Java and many
other popular languages.
CryptoTools provides
the well known and strong encryption algorithms DES and TripleDES, as well as
Base64 encoding and MD5 hashing.
CryptoTools has been
developed into many different languages to help programmers add encryption
capabilities into their programs and web applications without having to learn
and buy multiples encryption products.
Components, files and
sample programs for all languages are distributed in one single package.
The C version of
CryptoTools is distributed as a DLL and comes with a library, the appropriate
headers files and documentation. The following files are required to add
CryptoTools to your application.
q bin\CryptoDLL.dll
q bin\CryptoDLL.lib
q ICryptoBase64.h
q ICryptoMD5.h
q ICryptoDES.h
q ICryptoTripleDES.h
You will also find
help files in the “doc” directory, as well as sample code in the “samples”
folder.
You can use
CryptoTools in C++ using many of the components distributed in this package.
You can link with the CryptoDLL.dll library, which contains class definitions
for the CryptoTools components. You may also use the COM version of the
component or the .Net version in managed C++. These last two methods are
described in more detail in the following sections.
The classes in the DLL
can only be used with Microsoft Visual C++ because of the name mangling. The
following files are required to add CryptoTools C++ object classes to your
application.
q bin\CryptoDLL.dll
q bin\CryptoDLL.lib
q ICryptoBase64.h
q ICryptoMD5.h
q ICryptoDES.h
q ICryptoTripleDES.h
The COM version of
CryptoTools components can be used in a wide variety of programming languages.
Any language that supports COM objects can integrate CryptoTools
functionalities. The following is a list of the major languages supported:
q C++
q VB6
q ASP
q VBScript
q JScript
q Coldfusion
The only file required
to add CryptoTools functionalities to your COM application is the CryptoCOM.dll
file.
CryptoTools has also
been developed for the .Net platform. All languages compatible with the .Net
framework work with the CryptoTools for .Net component. This version has been
developed in native .Net and is not an “Interop” for the COM version of
CryptoTools.
The following is a
list of the major .Net languages supported by CryptoTools:
q C#
q VB.Net
q ASP.Net
q Managed C++
q J#
To add CryptoTools
functionalities to your .Net application, you have to add the CryptoNET.dll
assembly to your project references.
The Java version of
the CryptoTools suite of components implements the same objects and APIs as the
other languages. This version has been developed in native Java with the J2 SDK
1.4.
To add CryptoTools to
your Java application you must add the CryptoTools.jar library into your
application classpath. Only the jar file is required to compile your
application with CryptoTools.
CryptoTools for Java
allows you to run your application on all platforms supporting Java.
The CryptoTools suite
of components and libraries offers DES and CryptoDES encryption, as well as
base64 encoding and MD5-hashing algorithms.
You can encrypt binary
data, text and files using the DES (56 bit) and TripleDES (168 bit) encryption algorithms.
Both the DES and the
TripleDES encryption components provide a function to derive an encryption key
from a text password.
The DES and TripleDES
encryption process’ result is binary. You can convert it to base4 using Crypto
Tools’ base64 encoding component of CryptoTools.
Base64 is an encoding
algorithm that allows you to convert binary data to ASCII text. This allows
you, for example, to send encoded data over email. Text encoding is also useful
for persisting data into databases or
text files like XML.
A hashing algorithm is
a one-way encryption process. The MD5 algorithm produces a 128 bit hash value
that is said to be unique for every piece of data it processes. This is often
used to digitally sign data when used in conjunction with public/private key
algorithms.