Thursday, 20 July 2017

DiceLockSecurity Knowledge

DicelockSecurity (version 9.X)

Linux - Source Code

DiceLock-x 9.0.0.1
DiceChecker-x 6.0.0.1
HashDigester-x 6.0.0.1
Previous Versions
DiceLock-x 7.0.0.1
arrow Previous Versions arrow DiceLock-x 7.0.0.1
Linux Source Code - DiceLock-x 7.0.0.1 Print E-mail
Get C++ DiceLock cipher architecture source code packages of DiceLock for Microsoft Visual Studio 2013 and DiceLock-x for Linux with Test Driver Programs and Response Test Vector files to verify that both them work as expected.
DiceLock for Windows and Linux
DiceLock Security governing software licenses are Free/Libre Source Code License and Educational and Research License

DiceLock is protected by US patent 7508945 and European Patent 1182777 where applicable.

DiceLock and DiceLock logo are trademarks or registered trademarks in the EC, USA and others.

License information can be obtained at our corporate web site




 

DiceLock-x 7.0.0.1 is the C++ .so shared library for Linux that implements DiceLock cipher architecture, symmetric ciphers like AES 128, AES 192 and AES 256 with some operation modes (CBC, CFB, OFB and XTS) and stream ciphers like HC 128 and 256, some of NIST FIPS 800-22b random number tests, Sha and Ripemd hash algorithms and more.

All algorithms can work with default virtual memory or with memory data kept in RAM, not swapped to hard disk.

Included memory management implementations are:

  • DefaultCryptoRandomStream (to work with default virtual memory),
  • PhysicalCryptoRandomStream (memory kept in RAM and not swapped to hard disk file).

DiceLock cipher architecture implementations are:

  • DiceLock Digested,
  • DiceLock Indexed.
  • DiceLockXTS Digested,
  • DiceLockXTS Indexed.

Symmetric key block cipher implementations are:

  • AES (Advanced Encryption Standard) 128 bit key length,
  • AES (Advanced Encryption Standard) 192 bit key length,
  • AES (Advanced Encryption Standard) 256 bit key length.

Block cipher operation mode implementations are:

  • CBC, cipher-block chaining with AES 128, AES 192 and AES 256,
  • CFB, cipher feedback with AES 128, AES 192 and AES 256,
  • OFB, output feedback with AES 128, AES 192 and AES 256,
  • XTS, XEX-based tweaked-codebook mode with ciphertext stealing with AES 128 and AES 256.

Cryptographic pad implementations are:

  • ANSI.X.923,
  • ISO/IEC.9797.1,
  • PKCS7.

Symmetric key stream cipher implementations are:

  • HC 128 bit key length,
  • HC 256 bit key length.

Random number test implemented are:

  • Frequency Test,
  • Block Frequency Test,
  • Cumulative Sum Forward Test,
  • Cumulative Sum Reverse Test,
  • Runs Test,
  • Longest Run Of Ones Test,
  • Rank Test,
  • Universal Test,
  • Approximate Entropy Test,
  • Serial Test,
  • Discrete Fourier Transform Test.

Hash algorithms implemented are:

  • Sha 1,
  • Sha 224,
  • Sha 256,
  • Sha 384,
  • Sha 512,
  • Ripemd 128,
  • Ripemd 160,
  • Ripemd 256,
  • Ripemd 320.

DiceLock-x 7.0.0.1 is composed of the following files:

DiceLockCipher.h
baseCryptoRandomStream.h
baseCryptoRandomStream.cpp
defaultCryptoRandomStream.h
defaultCryptoRandomStream.cpp
physicalCryptoRandomStream.h
physicalCryptoRandomStream.cpp
DiceLock.h
DiceLock.cpp
DiceLockDigested.h
DiceLockDigested.cpp
DiceLockIndexed.h
DiceLockIndexed.cpp
DiceLockXTS.h
DiceLockXTS.cpp
DiceLockXTSDigested.h
DiceLockXTSDigested.cpp
DiceLockXTSIndexed.h
DiceLockXTSIndexed.cpp
baseSymmetricCipher.h
baseSymmetricCipher.cpp
baseSymmetricStreamer.h
baseSymmetricStreamer.cpp
baseBlockCipherOperationMode.h
baseBlockCipherOperationMode.cpp
CBC_Mode.h
CBC_Mode.cpp
CFB_Mode.h
CFB_Mode.cpp
OFB_Mode.h
OFB_Mode.cpp
XTS_Mode.h
XTS_Mode.cpp
baseBlockCipher.h
baseBlockCipher.cpp
baseAES.h
baseAES.cpp
AES128.h
AES128.cpp
AES192.h
AES192.cpp
AES256.h
AES256.cpp
baseCryptoPad.h
baseCryptoPad.cpp
ANSI_X_923.h
ANSI_X_923.cpp
ISO_IEC_9797_1.h
ISO_IEC_9797_1.cpp
PKCS7.h
PKCS7.cpp
baseStreamCipher.h
baseStreamCipher.cpp
HC128.h
HC128.cpp
HC256.h
HC256.cpp
baseIndexModifier.h
baseIndexModifier.cpp
arithmeticFunctions.h
arithmeticFunctions.cpp
decreaseBase0IndexModifier_6_0_0_1.h
decreaseBase0IndexModifier_6_0_0_1.cpp
increaseBase0IndexModifier_6_0_0_1.h
increaseBase0IndexModifier_6_0_0_1.cpp
baseKeyModifier.h
baseKeyModifier.cpp
decreaseKeyModifier_6_0_0_1.h
decreaseKeyModifier_6_0_0_1.cpp
increaseKeyModifier_6_0_0_1.h
increaseKeyModifier_6_0_0_1.cpp
baseRandomTest.h
baseRandomTest.cpp
mathematicalFunctions.h
mathematicalFunctions.cpp
approximateEntropyTest.h
approximateEntropyTest.cpp
blockFrequencyTest.h
blockFrequencyTest.cpp
cumulativeSumForwardTest.h
cumulativeSumForwardTest.cpp
cumulativeSumReverseTest.h
cumulativeSumReverseTest.cpp
discreteFourierTransformTest.h
discreteFourierTransformTest.cpp
frequencyTest.h
frequencyTest.cpp
longestRunOfOnesTest.h
longestRunOfOnesTest.cpp
rankTest.h
rankTest.cpp
runsTest.h
runsTest.cpp
serialTest.h
serialTest.cpp
universalTest.h
universalTest.cpp
randomTestSuite.h
randomTestSuite.cpp
baseHash.h
baseHash.cpp
baseRipemd.h
baseRipemd.cpp
baseRipemd128X.h
baseRipemd128X.cpp
ripemd128.h
ripemd128.cpp
ripemd256.h
ripemd256.cpp
baseRipemd160X.h
baseRipemd160X.cpp
ripemd160.h
ripemd160.cpp
ripemd320.h
ripemd320.cpp
baseSha32.h
baseSha32.cpp
sha1.h
sha1.cpp
sha224.h
sha224.cpp
sha256.h
sha256.cpp
sha384.h
sha384.cpp
sha512.h
sha512.cpp
hashSuite.h
hashSuite.cpp

Obviously all files will be available at http://www.dicelocksecurity.com/ as a single package soon.