HsCipherSDK Encryption Library

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
  • SHA-512 (Secure Hash Algorithm) FIPS 180-2
  • Whirlpool (cryptographic hash algorithm) ISO/IEC 10118-3

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. 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

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 HsCipherSDK (depending on license type)

Modular design makes it easy to port HsCipherSDK to any environment.

API Summary

  • HsCipherGetErrorStr
  • HsCipherHexBuf2Bin
  • HsCipherBufBin2Hex
  • HsCipherBufferEncrypt
  • HsCipherBufferDecrypt
  • HsCipherFileEncrypt
  • HsCipherFileDecrypt
  • HsCipherBufferHashInit
  • HsCipherHashNextBlock
  • HsCipherHashGetResult
  • HsCipherHashNextBlock
  • HsCipherHashFullBuffer
  • HsCipherHashFile


HsCipherSDK Architecture




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
  • March 2011, v1.3 - Added support for Whirlpool hash algorithm
  • December 2011, v1.4 - Added support for SHA-512 hash algorithm
  • April 2012, v1.5 - Changes in the C/C++ HsCipehrSDK test application, display correct key sizes for different file encryption API

Customization

Hillstone Software provides additional services for customization, porting and integration of the library code to better suit the needs of your products

Frequently Asked Questions

Q: We want to use HsCipherSDK on an embedded system compiled with basic C source code. Is that possible?
A: Yes, it is possible and many of our customers purchase HsCipherSDK for use in embedded systems. After you purchase HsCipherSDK you will receive full source code in C, written in basic C style (not object oriented C++) and you can integrate / port it to your environment. We can also assist you with your integration effort. If you have any specific concerns about compatibility, please Contact Us

Q: What encryption and hashing algorithms does your library support?
A: HsCipherSDK includes the following algorithms:

  • 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
  • SHA-512 (Secure Hash Algorithm) FIPS 180-2
  • Whirlpool (cryptographic hash algorithm) ISO/IEC 10118-3

Q: Is the source code included when if purchase the library? What language is it developed in?
A: After you purchase HsCipherSDK you will receive full source code in C language (depending on license type). The library is developed in basic C style (not object oriented C++).

Q: What programming languages can the library be used with?
A: HsCipherSDK can be used with the following programming languages:

  • C and C++
  • Visual Basic
  • C Sharp
  • Any other languages capable of calling standard DLL functions

C and C++ programs may use the core HsCipherSDK library directly without loading and calling DLL functions

Q: What build environment and compiler used to build the library source code?
A: HsCipherSDK core libraries and DLLs and demo applications can built with Microsoft Visual C 6.0, 2003, 2005 and VS 2010.

Q: How was the library tested?
A: The cryptographic libraries and hash algorithms were tested using publicly available known test vectors. You can see all test vectors and test results in HsCipherSDK_TestVC.c.

Q: How many lines of source code and number of files does the library have?
A: HsCipherSDK has the following number of files and number of lines of source code: 17705 lines in 99 files.

Q: Do you have a version for Windows Mobile / Windows CE?
A: Presently not, but we plan to release it in the near future. In the meantime, the HsCipherSDK is offered with full source code and you can port it to Windows CE / Windows mobile with minimal effort.

Q: Is HsCipherSDK commercial product or open source?
A: HsCipherSDK is a commercial product. It is NOT free or open source. You can view the pricing and ordering information here: Pricing and Ordering

Q: Is your library royalty-free? Where can I find the license terms?
A: HsCipherSDK is royalty-free. You can read legal license terms here: License Terms

Q: How much does HsCipherSDK cost?
A: You can view the pricing and ordering information here: Pricing and Ordering

Q: Does HsCipherSDK contain any open source code?
A: HsCipherSDK contains no open source.

Q: Do you know if HsCipherSDK might infringe any existing patents?
A: To the best of our knowledge HsCipherSDK does not infringe on any existing patents.

Q: Can we modify the library and make derivative works after purchase?
A: HsCipherSDK source code license grants the purchaser royalty-free right to modify, re-compile, re-release HsCipherSDK source code and make derivative works from HsCipherSDK.

Q: Can we distribute the library as part of our products?
A: HsCipherSDK source code license grants the purchaser the right to use HsCipherSDK within and outside your company and distribute it as part of your company's products.

Q: What is included in delivery when we purchase the library?
A: The following deliverables are included:

  • FULL SOURCE CODE in C (plain C style), including all core cryptographic libraries (depending on license type)
  • HsCipherSDKdll.dll - standard DLL module for use from C / C++
  • HsCipherSDKvb.dll - standard DLL module for use from Visual Basic applications
  • HsCipherSDKdllcs.dll - C Sharp dll wrapper for use from C Sharp applications
  • HsCipherSDKmanual.pdf - User Manual in PDF format
  • 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
  • 1 year after-sale technical support
  • Future version upgrades and bug fixes free for 1 year after purchase

Q: Can we purchase the library? Can we use credit card / purchase order / wire transfer?
A: You can purchase online via our global re-seller Digital River. Select your license on the following page and follow instructions:
http://www.hillstone-software.com/ordering.php?prd=HSCIPHERSDK

Digital River accepts payments by Credit Card, Wire Transfer, Check, Money Orders or PayPal

Alternatively you can purchase from us directly. Please contact us with your Company Name, billing address, license type and number of licenses required. We will send you PDF invoice and bank information for wire transfer.