April 2014
S M T W T F S
« Oct    
 12345
6789101112
13141516171819
20212223242526
27282930  

Recent Posts

DiceLock-x 8.0.0.1 for Linux, OFB_Mode class (Output feedback OFB block cipher operation mode algorithm)verified with Advanced Encryption Standard AES 192, KeySbox test set and PhysicalCryptoRandomStream class (memory pages kept in RAM, not swapped to file)

DiceLock-x 8.0.0.1 for Linux is the cryptographic architecture that ensures that ciphertext it’s not just encrypted but also randomized.

DiceLock cipher architecture presents two main configurations:
Dicelock Digested, and
Dicelock Indexed.

DiceLock encryption architecture improves symmetric ciphers like block cipher as Advanced Encryption Standard, Camellia, Serpent, Twofish (128, 192 and 256 bit key lengths) with different block cipher operation modes (like CBC, CFB, OFB and XTS) and stream ciphers as HC 128, HC 256, Rabbit, Salsa 20/20, Sosemanuk and others.

DiceLock (both configurations) makes use of the following random number tests: 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 and Discrete Fourier Transform Test.

Additionally DiceLock Digested configuration makes use currently of following hash digest algorithms: Sha 1, Sha 224, Sha 256, Sha 384, Sha 512, Ripemd 128, Ripemd 160, Ripemd 256, Ripemd 320, Md2, Md4 and Md5.

Previous version DiceLock-x 7.0.0.1 for Linux incorporated XTS-AES (XEX-based tweaked-codebook mode with ciphertext stealing XTS block cipher operation mode algorithm) for Advanced Encryption Algorithm (AES) for 128 and 256 bit symmetric keys.

New version DiceLock-x 8.0.0.1 for Linux has made significant improvements:
- added block encryption ciphers like Camellia, Serpent and Twofish with all accepted key lengths of 128, 192 and 256 bits,
- added stream ciphers like Rabbit, Salsa 20/20 with 128 and 256 bit key lengths, and general Sosemanuk, as well as Sosemanuk with 128 and 256 bit key lengths,
- added old hash algorithms like Message Digest 2, Message Digest 4 and Message Digest 5,
- modified DiceLockIndexed and DiceLockDigested classes to be used with encryption ciphers that does not make use of initialization vector (IV),
- created DiceLockIVDigested and DiceLockIVIndexed classes to be used with encryption ciphers that makes use of initialization vector (IV),
- extended DiceLockXTSDigested and DiceLockXTSIndexed classes to be use with newly added Camellia, Serpent and Twofish block ciphers and all three key lengths (128, 192 and 256 bit key lengths),
- added old encryption ciphers like DEA (Data Encryption Algorithm), TDEA (Triple Data Encryption Algorithm), and ARC4 (alleged RC4) for compatibillity reasons.

As the new version DiceLock-x 8.0.0.1 for Linux is developed, all individual components must be tested and verified, and in this article we verify Output feedback OFB class (computing Output feedback OFB block cipher algorithm).

At the bottom of the post you can find C++ source code being used to perform this test.


Verified DiceLock-x 8.0.0.1 for Linux

Verification components:

– Block cipher operation mode encryption algorithm: OFB_Mode class
– Block cipher encryption algorithm: AES192 class
– Test set : KeySbox
– Bit stream memory management: PhysicalCryptoRandomStream class (memory pages kept in RAM, not swapped to file)

Memory characteristic used in this test:

PhysicalCryptoRandomStream class makes use of AWE (Address Windowing Extensions) that uses physical nonpaged memory, so memory is not swapped to hard disk.
In order to use PhysicalCryptoRandomStream class, which works with AWE it requires that “Lock Pages In Memory” Windows security setting policy permission must be granted in “Local Policy Settings” to the account executing the program, and in some versions the program must have “Run this program as an administrator” “Privilege Level” option checked.

 

Once computed we’ve got the following results:

KeySbox, test# 1

Input plaintext: 00000000000000000000000000000000
Key: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd
IV: 00000000000000000000000000000000
Expected ciphertext: 0956259c9cd5cfd0181cca53380cde06
Computed ciphertext: 0956259c9cd5cfd0181cca53380cde06 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 2

Input plaintext: 00000000000000000000000000000000
Key: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29
IV: 00000000000000000000000000000000
Expected ciphertext: 8e4e18424e591a3d5b6f0876f16f8594
Computed ciphertext: 8e4e18424e591a3d5b6f0876f16f8594 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 3

Input plaintext: 00000000000000000000000000000000
Key: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c
IV: 00000000000000000000000000000000
Expected ciphertext: 93f3270cfc877ef17e106ce938979cb0
Computed ciphertext: 93f3270cfc877ef17e106ce938979cb0 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 4

Input plaintext: 00000000000000000000000000000000
Key: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300
IV: 00000000000000000000000000000000
Expected ciphertext: 7f6c25ff41858561bb62f36492e93c29
Computed ciphertext: 7f6c25ff41858561bb62f36492e93c29 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 5

Input plaintext: 00000000000000000000000000000000
Key: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5
IV: 00000000000000000000000000000000
Expected ciphertext: 8e06556dcbb00b809a025047cff2a940
Computed ciphertext: 8e06556dcbb00b809a025047cff2a940 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 6

Input plaintext: 00000000000000000000000000000000
Key: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce
IV: 00000000000000000000000000000000
Expected ciphertext: 3608c344868e94555d23a120f8a5502d
Computed ciphertext: 3608c344868e94555d23a120f8a5502d OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 7

Input plaintext: 00000000000000000000000000000000
Key: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53
IV: 00000000000000000000000000000000
Expected ciphertext: 77da2021935b840b7f5dcc39132da9e5
Computed ciphertext: 77da2021935b840b7f5dcc39132da9e5 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 8

Input plaintext: 00000000000000000000000000000000
Key: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980
IV: 00000000000000000000000000000000
Expected ciphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4
Computed ciphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 9

Input plaintext: 00000000000000000000000000000000
Key: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53
IV: 00000000000000000000000000000000
Expected ciphertext: 64ebf95686b353508c90ecd8b6134316
Computed ciphertext: 64ebf95686b353508c90ecd8b6134316 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 10

Input plaintext: 00000000000000000000000000000000
Key: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40
IV: 00000000000000000000000000000000
Expected ciphertext: ff558c5d27210b7929b73fc708eb4cf1
Computed ciphertext: ff558c5d27210b7929b73fc708eb4cf1 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 11

Input plaintext: 00000000000000000000000000000000
Key: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae
IV: 00000000000000000000000000000000
Expected ciphertext: a2c3b2a818075490a7b4c14380f02702
Computed ciphertext: a2c3b2a818075490a7b4c14380f02702 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 12

Input plaintext: 00000000000000000000000000000000
Key: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79
IV: 00000000000000000000000000000000
Expected ciphertext: cfe4d74002696ccf7d87b14a2f9cafc9
Computed ciphertext: cfe4d74002696ccf7d87b14a2f9cafc9 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 13

Input plaintext: 00000000000000000000000000000000
Key: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570
IV: 00000000000000000000000000000000
Expected ciphertext: d2eafd86f63b109b91f5dbb3a3fb7e13
Computed ciphertext: d2eafd86f63b109b91f5dbb3a3fb7e13 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 14

Input plaintext: 00000000000000000000000000000000
Key: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6
IV: 00000000000000000000000000000000
Expected ciphertext: 9b9fdd1c5975655f539998b306a324af
Computed ciphertext: 9b9fdd1c5975655f539998b306a324af OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 15

Input plaintext: 00000000000000000000000000000000
Key: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3
IV: 00000000000000000000000000000000
Expected ciphertext: dd619e1cf204446112e0af2b9afa8f8c
Computed ciphertext: dd619e1cf204446112e0af2b9afa8f8c OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 16

Input plaintext: 00000000000000000000000000000000
Key: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93
IV: 00000000000000000000000000000000
Expected ciphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d
Computed ciphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 17

Input plaintext: 00000000000000000000000000000000
Key: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9
IV: 00000000000000000000000000000000
Expected ciphertext: 19c80ec4a6deb7e5ed1033dda933498f
Computed ciphertext: 19c80ec4a6deb7e5ed1033dda933498f OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 18

Input plaintext: 00000000000000000000000000000000
Key: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35
IV: 00000000000000000000000000000000
Expected ciphertext: 3cf5e1d21a17956d1dffad6a7c41c659
Computed ciphertext: 3cf5e1d21a17956d1dffad6a7c41c659 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 19

Input plaintext: 00000000000000000000000000000000
Key: 45899367c3132849763073c435a9288a766c8b9ec2308516
IV: 00000000000000000000000000000000
Expected ciphertext: 69fd12e8505f8ded2fdcb197a121b362
Computed ciphertext: 69fd12e8505f8ded2fdcb197a121b362 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 20

Input plaintext: 00000000000000000000000000000000
Key: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e
IV: 00000000000000000000000000000000
Expected ciphertext: 8aa584e2cc4d17417a97cb9a28ba29c8
Computed ciphertext: 8aa584e2cc4d17417a97cb9a28ba29c8 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 21

Input plaintext: 00000000000000000000000000000000
Key: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9
IV: 00000000000000000000000000000000
Expected ciphertext: abc786fb1edb504580c4d882ef29a0c7
Computed ciphertext: abc786fb1edb504580c4d882ef29a0c7 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 22

Input plaintext: 00000000000000000000000000000000
Key: d184c36cf0dddfec39e654195006022237871a47c33d3198
IV: 00000000000000000000000000000000
Expected ciphertext: 2e19fb60a3e1de0166f483c97824a978
Computed ciphertext: 2e19fb60a3e1de0166f483c97824a978 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 23

Input plaintext: 00000000000000000000000000000000
Key: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080
IV: 00000000000000000000000000000000
Expected ciphertext: 7656709538dd5fec41e0ce6a0f8e207d
Computed ciphertext: 7656709538dd5fec41e0ce6a0f8e207d OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

KeySbox, test# 24

Input plaintext: 00000000000000000000000000000000
Key: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72
IV: 00000000000000000000000000000000
Expected ciphertext: a67cf333b314d411d3c0ae6e1cfcd8f5
Computed ciphertext: a67cf333b314d411d3c0ae6e1cfcd8f5 OK
DECIPHERING Deciphered text: 00000000000000000000000000000000 OK

 

DiceLock-x 8.0.0.1 for Linux C++ source code used in this test:

DiceLock-x 8.0.0.1 for Linux

DiceLockCipher.h
cryptoRandomStreams.h
baseCryptoRandomStream.h
baseCryptoRandomStream.cpp
physicalCryptoRandomStream.h
physicalCryptoRandomStream.cpp
baseSymmetricCipher.h
baseSymmetricCipher.cpp
baseSymmetricStreamer.h
baseSymmetricStreamer.cpp
blockCipherOperationModes.h
baseBlockCipherOperationMode_with_IV.h
baseBlockCipherOperationMode_with_IV.cpp
OFB_Mode.h
OFB_Mode.cpp
blockCiphers.h
baseBlockCipher.h
baseBlockCipher.cpp
baseAES.h
baseAES.cpp
AES192.h
AES192.cpp



So, DiceLock cipher test and analysis can go on …

DiceLock is a trademark or registered trademark of his owner where applies. DiceLock research is the research to implement Self-corrector randomisation-encryption and method, european patent EP1182777 granted 08/21/2003 and US patent US7508945 granted 03/24/2009.

Leave a Reply