Current Customers
Bumicom Telecom BV (Netherlands)
AMS Imaging (Australia)
Agilent Technologies (Singapore)
Ingersoll Rand (Netherlands)
Sodexho RestoranServisleri A. S. (Turkey)
Ward Solutions Ltd. (Ireland)
|
|
Download
Free Evaluation
Download
Documentation
Download
License Terms
|
Description |
Download Eval Version |
User Manual |
License Terms |
FAQ |
Buy Now |
Contact Us
HsCipherSDK
Encryption Library |
HsCipherSDK FAQ
PRICES AND
ORDERING:

ORDER
NOW
what is included in HsCipherSDK?
HsCipherSDKdll.dll - standard DLL module for use from C
/ C++
HsCipherSDKvb.dll - standard DLL module for use from Visual Basic
applications
HsCipherSDKax.dll
- ActiveX (COM) dll for use from C / C++,
Visual Basic or other languages supporting ActiveX.
HsCipherSDKdllcs.dll
- C Sharp dll wrapper for use from C
Sharp applications.
HsCipherSDK.hlp - Windows documentation file (this file)
HsCipherSDKmanual.pdf - User Manual in PDF format
HsCipherSDK_TestAXvb - Visual Basic test application with source
code using ActiveX HsCipherSDKax.dll
HsCipherSDK_TestAXvc - Visual C test application with source code
using ActiveX HsCipherSDKax.dll
HsCipherSDK_TestVC - Visual C test application with source code
using standard DLL HsCipherSDKdll.dll
HsCipherSDK_TestVB - Visual Basic test application with source code
using standard DLL HsCipherSDKvb.dll
HsCipherSDK_DemoCS - C
Sharp test application with source code
using C Sharp DLL wrapper
HsCipherSDKdllcs.dll
FULL
SOURCE CODE in C (plain C style), including all core
cryptographic libraries
limitations
in evaluation version:
There are several limitation in the
evaluation version of HsCipherSDK library, which are removed from the
full version:
Every time
evaluation version of HsCipherSDK library is loaded it displays a
reminder message (nag screen), which requires a user to click Okay to
continue.
Evaluation version
has a built it time limit. After evaluation period expires, the library
will fail to load and will only display the corresponding message
No source code is
supplied with free evaluation version. The full source code is supplied
when you purchase HsCipehrSDK
RELEASE
HISTORY
▪
November 2006, v1.0 -
Initial first release
▪
December 2008, v1.1 - Added
support for SHA-256
▪
October 2009, v1.2 - Added
C Sharp interface
API SUMMARY
▪
HsCipherGetErrorStr
▪
HsCipherHexBuf2Bin
▪
HsCipherBufBin2Hex
▪
HsCipherBufferEncrypt
▪
HsCipherBufferDecrypt
▪
HsCipherFileEncrypt
▪
HsCipherFileDecrypt
▪
HsCipherBufferHashInit
▪
HsCipherHashNextBlock
▪
HsCipherHashGetResult
▪
HsCipherHashFullBuffer
▪
HsCipherHashFile |
overview:
HsCipherSDK is an Encryption Library providing an API
to a suite of symmetric key cryptographic algorithms and one way hash
digital signature algorithms. The library includes the following block
and stream cipher modules:
AES
(Advanced Encryption Standard) - FIPS 197
DES and
Triple DES (Data Encryption Standard) - FIPS-46-1, FIPS-46-3
ARC4 (Alleged
RC4) CAST-128 (a.k.a CAST5) - RFC 2144
Blowfish
algorithm
Twofish
algorithm
MD5 message
digest algorithm -
RFC 1321
SHA-1
(Secure Hash Algorithm)
-
RFC 3174
SHA-256
(Secure Hash Algorithm)
-
FIPS 180-2
HsCipherSDK includes a
standard DLL for use from C / C++, standard DLL for use from Visual Basic,
C Sharp DLL wrapper for use from C Sharp
and ActiveX DLL (COM object) for use from Visual C, Visual Basic or any
other language supporting activeX. HsCipherSDK itself is fully written in C
(ANSI C style) and the source code is included when you purchase HsCipherSDK
Source Code License.

HsCipherSDK allows the
calling user application to perform the following operations:
Encrypt and decrypt memory buffers with selected algorithm and key
Encrypt and decrypt disk files with selected algorithm and key
Digitally
sign buffers using one of selected hashing algorithms
Digitally
sign disk files using one of selected hashing algorithms
HsCipherSDK Architecture

|
|
Example
Invocation (using ActiveX DLL) from Visual C
#include
"HsCipherRc.h"
#include
"HsCipherAlg.h"
#import
"HsCipherObj.dll"
CoInitialize(NULL);
HsCipherLib::IHsCipherPtr pCryptoSdk;
pCryptoSdk.CreateInstance("HsCipherSDK.Cryptolib");
pCryptoSdk->BufferEncrypt(HS_ALG_AES,
TRUE, (long)key,
128, (long)pt,
(long)ciphertext,
16, &outlen,
&rc);
|
Example Invocation
(using ActiveX DLL) from Visual Basic
Rem
From Visual Basic go to Project menu -> references -> browse and add
HsCipherSDKax.dll
Dim iHsCipher As
HsCipherLib.iHsCipher
Set iHsCipher =
CreateObject("HsCipherSDK.Cryptolib")
iHsCipher.BufferEncrypt HS_ALG_AES,
1, VarPtr(key(1)), 128, _
VarPtr(plaintext1(1)),
VarPtr(ciphertext(1)), 16, outbuf_len, rc
|
Example Invocation (using Standard DLL) from Visual C
#include "HsCipherSDK.h"
#include
"HsCipherRc.h"
#include
"HsCipherAlg.h"
HINSTANCE hinstLib;
BufferEncryptFn BufferEncrypt;
hinstLib =
LoadLibrary("HsCipherSDKdll.dll");
BufferEncrypt = (BufferEncryptFn)
GetProcAddress(hinstLib, "HsCipherBufferEncrypt");
rc
= BufferEncrypt(HS_ALG_AES,
TRUE, key,
keylen,
srcbuf,
destbuf, buflen,
&outbuf_len);
FreeLibrary(hinstLib);
|
Example
Invocation (using Standard DLL) from Visual Basic
Public Const HS_ALG_AES As Long = 0
Declare Function
HsCipherBufferEncrypt Lib "HsCipherSDKvb.dll" _
(ByVal algorithm
As Long, _
ByVal set_key As
Long, _
ByRef key As Any,
_
ByVal
keysize_bits As Long, _
ByRef inbuf As
Any, _
ByRef outbuf As
Any, _
ByVal inbuf_len
As Long, _
ByRef outbuf_len
As Any _
) As Long
HsCipherBufferEncrypt HS_ALG_AES, 1,
ByVal VarPtr(key(1)), 128, _
ByVal VarPtr(plaintext1(1)), ByVal
VarPtr(ciphertext(1)), 16, ByVal VarPtr(outbuf_len)
|
Example
Invocation (using C Sharp Wrapper DLL) from C Sharp
int rc = 0;
int outbuf_len = 0;
StringBuilder hex_src = new StringBuilder(textBoxInbuf.Text);
byte[] bin_src = new byte[256];
StringBuilder hex_key = new StringBuilder(textBoxKey.Text);
byte[] bin_key = new byte[256];
byte[] outbuf = new byte[256];
StringBuilder outbuf_hex = new StringBuilder(256);
String errorString;
int i;
// convert source buffer from hex ascii into binary buffer
rc = HsCipher.HsCipherHexBuf2Bin(hex_src, bin_src, hex_src.Length);
if (rc == 0)
{
System.Windows.Forms.MessageBox.Show("Conversion of src buffer from
hex to bin array failed");
return;
}
// convert key from hex ascii string into binary buffer
rc = HsCipher.HsCipherHexBuf2Bin(hex_key, bin_key, hex_key.Length);
rc = HsCipher.HsCipherBufferEncrypt(
comboBoxBufAlg.SelectedIndex, // algorithm id
1,
// set key
bin_key,
((hex_key.Length /
2) * 8), // key size in bits
bin_src,
// source buffer
outbuf,
// output buffer
(hex_src.Length /
2),
// length of source buffer
ref outbuf_len);
// length of output buffer
if (rc != HS_CIPHER_RC_OK)
{
errorString =
String.Format("HsCipherBufferEncrypt failed, RC = 0x{0:x2}", rc);
System.Windows.Forms.MessageBox.Show(errorString);
return;
}
|
|
|
|
|