BestCrypt Development Kit for Windows
The BestCrypt software is designed as a system with a modular architecture. It means that the software consists of the blocks (modules) with functionality and interfaces between them clearly defined.
The BestCrypt Development Kit (BDK) is a set of articles that describe:
-
a general architecture of the system;
-
functionality of the BestCrypt modules;
-
detailed functionality of the modules responsible for security;
-
interfaces between the modules responsible for security;
-
source codes of the encryption and key generation modules;
-
how to write your own extension for the BestCrypt system;
-
description of the BestCrypt Services Manager software which is helpful for adding/removing some of the BestCrypt security modules.
The following figure shows the main modules of BestCrypt:
|
As the figure above shows, some modules of the BestCrypt are implemented as Windows applications: the BestCrypt Control Panel, Wiping utility, Automatic Dismounting module and Key Generation module(s). Other modules (the BestCrypt Disk driver, Encryption Algorithm driver(s), Container Guard Utility) are the drivers running inside of the operating system (Kernel mode drivers in Windows NT/2000/XP). Implementation of some modules as low-level system drivers allows BestCrypt to:
-
create its own virtual drives that are native for the operating system;
-
make all encryption operations on the fly, i.e. transparently for a user;
-
guard encrypted file-containers against accidental deleting;
-
transparently encrypt Windows Swap File;
-
get the operating system support for virtual drives - for example, the Windows caching mechanism helps BestCrypt virtual drives to work with a good performance.
The BestCrypt can use more than one Key Generation Modules. For example, one module may prompt the user to type the password, other module may invite to insert a diskette or a smart-card with the password or encryption key while another may generate encryption key data from the fingerprints of the user and so on. To be recognized by the BestCrypt, every Key Generation Module must be registered in the Windows Registry database.
The BestCrypt is also able to use more than one Encryption Algorithm Modules. For example, version 7 of the BestCrypt has four algorithms available (Rijndael, Blowfish, Twofish and GOST28147-89), version 8 of the software has eight Encryption Algorithm Modules.
The BestCrypt Development Kit includes source codes of the Key Generation and Encryption Algorithm modules and describes interfaces between modules in more details. The Kit may be helpful for evaluation of the BestCrypt security and for third-party developers to create their own modules for the BestCrypt. Besides, there is a possibility to replace the BestCrypt modules with custom-designed modules.
BestCrypt is designed so that adding or removing some of its modules does not require recompiling and/or reinstalling other BestCrypt modules. If you design your own Encryption Algorithm or Key Generator Module, you may use the BestCrypt Services Manager which will be helpful as an Installation program for the Module. As well, if you wish to optimize your BestCrypt configuration, you may remove some of the BestCrypt modules from your system using the BestCrypt Services Manager program.
Changelog
- 22-February-2005
- Source codes of the new SHA-256 Key Generator, appeared in BestCrypt v.7.12, are inserted to BestCrypt Development Kit.
- 25-November-2004
- The latest sources of the SHA-1 Key Generator and Algorithm modules, released in BestCrypt v.7.11, are inserted to BestCrypt Development Kit.
- 12-October-2001
-
BDK is enhanced to reflect new features appeared in version 7 of
BestCrypt (12-October-2001):
- BDK includes the latest source codes of the Encryption Algorithms and Key Generator modules used in BestCrypt v.7 .
- Developers of custom Key Generators based on the SHA-1 Key Generator can make the module supporting additional commands. BestCrypt Control Panel makes the commands available for container files, created with such a custom Key Generator by calling the GetAdditionalCommandNames() and RunAdditionalCommand() functions from the Key Generator module.
- BestCrypt v.7 supports Hidden Containers. Source codes of the SHA-1 Key Generator contain implementation of the functionality, as well the Hidden Containers chapter describes how the function works.
- Source codes of new Encryption Algorithm modules (Triple DES, CAST, Rijndael) are added.
- Key Generators now supports new CreateKeyHandleEx() and CreateHiddenPart() functions.
- BDK includes new BestCrypt Services Manager developed for BestCrypt v.7.
- 23-February-2001
- Number of new Encryption Modules for BestCrypt were released (CAST, RC6, Serpent).
- 28-October-1998
-
Mr. Arsenin designed IDEA encryption module using BestCrypt Development Kit.
The module performs encryption using well-known IDEA algorithm. The IDEA algorithm is used in many other encryption software, for example, in PGP.
The IDEA driver is installed simply enough - you need to place the driver's distributive in some directory, then run BestCrypt Service Manager from the BestCrypt Program Group and use the "Add.." button to add new encryption driver to the list of available drivers.
As well, the IDEA driver distributive contains source codes of the driver and special program which tests the IDEA implementation using standard test vectors.
Click here to download the IDEA driver and its source codes.
- 16-October-1998
- Description of the BestCrypt file-container format is added to the BDK documentation.
- 25-September-1998
- First version of the BestCrypt Development Kit is released.
