Joomla! Joomla!
DiceLock for Linux

DiceLock-x 9.0.0.1 .so shared object library for Linux operating systems implements DiceLock cipher architecture with six variants of its concept:

  • DiceLockIndexed,
  • DiceLockDigested,
  • DiceLockIVIndexed,
  • DiceLockIVDigested,
  • DiceLockXTSIndexed, and
  • DiceLockXTSDigested.

At the bottom of this page you can find C++ source code that perform such implementation.

As well as proper DiceLock architecture files, source code for underlying algorithms are shown.

Known underlying encryption and security algorithm that it implements (that can be used independently):

Random number tests Frequency, Block Frequency, Cumulative Sum Forward, Cumulative Sum Reverse, Runs, Longest Run of Ones, Rank, Universal, Approximate Entropy, Serial and Discrete Fourier Transform and a Suite grouping all them.
Hash digest algorithms Sha 1, Sha 224, Sha 256, Sha 384, Sha 512, Sha 512/224, Sha 512/256, Ripemd 128, Ripemd 160, Ripemd 256, Ripemd 320, Md 2, Md 4 and Md 5.
Block cipher algorithms AES 128, AES 192, AES 256, Camellia 128, Camellia 192, Camellia 256, Serpent 128, Serpent 192, Serpent 256, Twofish 128, Twofish 192, Twofish 256 and TDEA.
Crypto pad systems ANSI X.923, ISO/IEC 9797-1 or PKCS7
Block cipher operation mode algorithms CBC Mode - Cipher-block chaining, CFB Mode - Cipher feedback, OFB Mode - Output feedback and XTS Mode - XEX-based tweaked-codebook mode with ciphertext stealing.
Stream ciphers that work with initialization vector HC 128, HC 256, Rabbit, Salsa 20/20 128, Salsa 20/20 256, Sosemanuk, Sosemanuk 128 and Sosemanuk256.
Stream ciphers that work with NO initialization vector ARC4 (alleged RC 4 stream cipher) and ARC4 (alleged RC 4 stream cipher) discarding intial bits.

Encryption symmetric key modifers:

Direct key modifers IncreaseKeyModifier_6_0_0_1 and DecreaseKeyModifier_6_0_0_1.
By index key modifers IncreaseBase0IndexModifier_6_0_0_1 and DecreaseBase0IndexModifier_6_0_0_1.

The list of online C++ header and source code files corresponding to DiceLock C++ classes is shown below. It allows to taste this source code without the need to download the software package.

DiceLock-x 9.0.0.1 for Linux files (opens a new window or tab):

DiceLockCipher.h
cryptoRandomStreams.h
baseCryptoRandomStream.h
baseCryptoRandomStream.cpp
defaultCryptoRandomStream.h
defaultCryptoRandomStream.cpp
physicalCryptoRandomStream.h
physicalCryptoRandomStream.cpp
diceLocks.h
DiceLock.h
DiceLock.cpp
DiceLockDigested.h
DiceLockDigested.cpp
DiceLockIndexed.h
DiceLockIndexed.cpp
DiceLockIV.h
DiceLockIV.cpp
DiceLockIVDigested.h
DiceLockIVDigested.cpp
DiceLockIVIndexed.h
DiceLockIVIndexed.cpp
diceLockXTSs.h
DiceLockXTS.h
DiceLockXTS.cpp
DiceLockXTSDigested.h
DiceLockXTSDigested.cpp
DiceLockXTSIndexed.h
DiceLockXTSIndexed.cpp
symmetricCiphers.h
baseSymmetricCipher.h
baseSymmetricCipher.cpp
symmetricStreamers.h
symmetricStreamerSpecialTypes.h
baseSymmetricStreamer.h
baseSymmetricStreamer.cpp
baseSymmetricStreamer_with_IV.h
baseSymmetricStreamer_with_IV.cpp
blockCipherOperationModes.h
baseBlockCipherOperationMode_with_IV.h
baseBlockCipherOperationMode_with_IV.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
blockCiphers.h
baseBlockCipher.h
baseBlockCipher.cpp
baseAES.h
baseAES.cpp
AES128.h
AES128.cpp
AES192.h
AES192.cpp
AES256.h
AES256.cpp
baseCamellia.h
baseCamellia.cpp
camellia128.h
camellia128.cpp
camellia192.h
camellia192.cpp
camellia256.h
camellia256.cpp
baseSerpent.h
baseSerpent.cpp
serpent128.h
serpent128.cpp
serpent192.h
serpent192.cpp
serpent256.h
serpent256.cpp
baseTwofish.h
baseTwofish.cpp
twofish128.h
twofish128.cpp
twofish192.h
twofish192.cpp
twofish256.h
twofish256.cpp
DEA.h
DEA.cpp
TDEA.h
TDEA.cpp
cryptoPads.h
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
streamCiphers.h
baseStreamCipher.h
baseStreamCipher.cpp
ARC4.h
ARC4.cpp
ARC4_Discarding.h
ARC4_Discarding.cpp
baseStreamCipher_with_IV.h
baseStreamCipher_with_IV.cpp
HC128.h
HC128.cpp
HC256.h
HC256.cpp
rabbit.h
rabbit.cpp
baseSalsa20_20.h
baseSalsa20_20.cpp
salsa20_20_128.h
salsa20_20_128.cpp
salsa20_20_256.h
salsa20_20_256.cpp
sosemanuk.h
sosemanuk.cpp
sosemanuk128.h
sosemanuk128.cpp
sosemanuk256.h
sosemanuk256.cpp
keyModifiers.h
baseKeyModifier.h
baseKeyModifier.cpp
increaseKeyModifier_6_0_0_1.h
increaseKeyModifier_6_0_0_1.cpp
decreaseKeyModifier_6_0_0_1.h
decreaseKeyModifier_6_0_0_1.cpp
indexModifiers.h
baseIndexModifier.h
baseIndexModifier.cpp
arithmeticFunctions.h
arithmeticFunctions.cpp
increaseBase0IndexModifier_6_0_0_1.h
increaseBase0IndexModifier_6_0_0_1.cpp
decreaseBase0IndexModifier_6_0_0_1.h
decreaseBase0IndexModifier_6_0_0_1.cpp
randomTests.h
randomTestErrors.h
baseRandomTest.h
baseRandomTest.cpp
mathematicalErrors.h
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
hashes.h
baseHash.h
baseHash.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
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
md2.h
md2.cpp
md4.h
md4.cpp
md5.h
md5.cpp
hashSuite.h
hashSuite.cpp