Menu

Home

saeed atalla

CryptoEngine (C) By: Saeed Atalla - 2014, All Rights Reserved Under GNU-LGPL Licence.
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.


-INTRODUCTION:

CryproEngine (C) is a Class Library (DLL) that provide (API) interface, programmer can use it when writing applications that needs standard cryptography algorithms, using Qt-SDK.
Actually this library is a Wrapper for Crypto++ library, by Wei Dai, which is approved by NIST (see www.cryptopp.com for details), CryptoEngine is intended to provide simple & easy to use interface (API) for standard cryptography algorithms for Qt-SDK Developers.

  • CRYPTOGRAPHY ALGORITHMS:

    This library contains (so far):
    -AES with modes(GCM, CCM, CTR, CBC, ECB, CFB, and OFB).
    -RSA.
    -SHA2 & SHA3.

  • HOW TO USE:
  • Include any .h file (in path: ../INCLUDE/CELIB) you need to your project.
  • Add CryptoEngine as shared library to your project.
  • Now you can create and use any object or function you need from library.
  • Linker should link CryptoEngine.lib file.
  • When running your application, CryptoEngine.dll must be in same application (exe) directory.

  • DEPENDENCY:

    This library, as any other Qt application, needs following dependencies (Windows):
    -Qt5Core.dll.
    -icudt51.dll
    -icuin51.dll
    -icuuc51.dll
    It also needs c-run-time libraries (Windows):
    -msvcp110.dll
    -msvcr110.dll
    You can use files shipped with it, or you can use yours (from your system) with same version.

  • TEST TOOLS:

    There are 4 test tools (Unit Test) that you can use to test CryptoEngine
  • CE_AES_Test.
  • CE_RSA_Test.
  • CE_SHA_Test.
  • CE_INTEGRITY_Test.

These tools tests both, functionality of classes and cryptography algorithms implementations as NIST recommended, last tool (CE_INTEGRITY_Test), check integrity of your copy of library (CryptoEngine), and tell you if it had modified (not original).

  • Simple Examples:

[AES Example]

[RSA Example]

[SHA Example]

[Error Handling]


Related

Wiki: AES Example
Wiki: Error Handling
Wiki: RSA Example
Wiki: SHA Example