November 2014
S M T W T F S
« Oct    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Recent Posts

XDiceLock 8.0.0.1 for Apple Mac OS X, OFB_Mode class (Output feedback OFB block cipher operation mode algorithm)verified with TDEA, PermutationOperation test set and DefaultCryptoRandomStream class (default virtual memory management)

XDiceLock 8.0.0.1 for Apple Mac OS X 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 XDiceLock 7.0.0.1 for Apple Mac OS X 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 XDiceLock 8.0.0.1 for Apple Mac OS X 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 XDiceLock 8.0.0.1 for Apple Mac OS X 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 XDiceLock 8.0.0.1 for Apple Mac OS X

Verification components:

– Block cipher operation mode encryption algorithm: OFB_Mode class
– Block cipher encryption algorithm: TDEA class
– Test set : PermutationOperation
– Bit stream memory management: DefaultCryptoRandomStream class (default virtual memory management)

Memory characteristic used in this test:

DefaultCryptoRandomStream class makes use of default virtual memory where the system can move pages of physical memory to and from a paging file on disk (manipulation of physical memory by the system is completely transparent to applications).

 

Once computed we’ve got the following results:

Permutation operation, # 1

Input plaintext: 0000000000000000
Key: 104691348998013110469134899801311046913489980131
IV: 0000000000000000
Expected ciphertext: 88d55e54f54c97b4
Computed ciphertext: 88d55e54f54c97b4 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 2

Input plaintext: 0000000000000000
Key: 100710348998802010071034899880201007103489988020
IV: 0000000000000000
Expected ciphertext: 0c0cc00c83ea48fd
Computed ciphertext: 0c0cc00c83ea48fd OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 3

Input plaintext: 0000000000000000
Key: 10071034c898012010071034c898012010071034c8980120
IV: 0000000000000000
Expected ciphertext: 83bc8ef3a6570183
Computed ciphertext: 83bc8ef3a6570183 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 4

Input plaintext: 0000000000000000
Key: 104610348998802010461034899880201046103489988020
IV: 0000000000000000
Expected ciphertext: df725dcad94ea2e9
Computed ciphertext: df725dcad94ea2e9 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 5

Input plaintext: 0000000000000000
Key: 108691151919010110869115191901011086911519190101
IV: 0000000000000000
Expected ciphertext: e652b53b550be8b0
Computed ciphertext: e652b53b550be8b0 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 6

Input plaintext: 0000000000000000
Key: 108691151958010110869115195801011086911519580101
IV: 0000000000000000
Expected ciphertext: af527120c485cbb0
Computed ciphertext: af527120c485cbb0 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 7

Input plaintext: 0000000000000000
Key: 5107b015195801015107b015195801015107b01519580101
IV: 0000000000000000
Expected ciphertext: 0f04ce393db926d5
Computed ciphertext: 0f04ce393db926d5 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 8

Input plaintext: 0000000000000000
Key: 1007b015191901011007b015191901011007b01519190101
IV: 0000000000000000
Expected ciphertext: c9f00ffc74079067
Computed ciphertext: c9f00ffc74079067 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 9

Input plaintext: 0000000000000000
Key: 310791549808010131079154980801013107915498080101
IV: 0000000000000000
Expected ciphertext: 7cfd82a593252b4e
Computed ciphertext: 7cfd82a593252b4e OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 10

Input plaintext: 0000000000000000
Key: 310791949808010131079194980801013107919498080101
IV: 0000000000000000
Expected ciphertext: cb49a2f9e91363e3
Computed ciphertext: cb49a2f9e91363e3 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 11

Input plaintext: 0000000000000000
Key: 10079115b908014010079115b908014010079115b9080140
IV: 0000000000000000
Expected ciphertext: 00b588be70d23f56
Computed ciphertext: 00b588be70d23f56 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 12

Input plaintext: 0000000000000000
Key: 310791159808014031079115980801403107911598080140
IV: 0000000000000000
Expected ciphertext: 406a9a6ab43399ae
Computed ciphertext: 406a9a6ab43399ae OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 13

Input plaintext: 0000000000000000
Key: 1007d015899801011007d015899801011007d01589980101
IV: 0000000000000000
Expected ciphertext: 6cb773611dca9ada
Computed ciphertext: 6cb773611dca9ada OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 14

Input plaintext: 0000000000000000
Key: 910791158998010191079115899801019107911589980101
IV: 0000000000000000
Expected ciphertext: 67fd21c17dbb5d70
Computed ciphertext: 67fd21c17dbb5d70 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 15

Input plaintext: 0000000000000000
Key: 9107d015891901019107d015891901019107d01589190101
IV: 0000000000000000
Expected ciphertext: 9592cb4110430787
Computed ciphertext: 9592cb4110430787 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 16

Input plaintext: 0000000000000000
Key: 1007d015989801201007d015989801201007d01598980120
IV: 0000000000000000
Expected ciphertext: a6b7ff68a318ddd3
Computed ciphertext: a6b7ff68a318ddd3 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 17

Input plaintext: 0000000000000000
Key: 100794049819010110079404981901011007940498190101
IV: 0000000000000000
Expected ciphertext: 4d102196c914ca16
Computed ciphertext: 4d102196c914ca16 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 18

Input plaintext: 0000000000000000
Key: 010791049119040101079104911904010107910491190401
IV: 0000000000000000
Expected ciphertext: 2dfa9f4573594965
Computed ciphertext: 2dfa9f4573594965 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 19

Input plaintext: 0000000000000000
Key: 010791049119010101079104911901010107910491190101
IV: 0000000000000000
Expected ciphertext: b46604816c0e0774
Computed ciphertext: b46604816c0e0774 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 20

Input plaintext: 0000000000000000
Key: 010794049119040101079404911904010107940491190401
IV: 0000000000000000
Expected ciphertext: 6e7e6221a4f34e87
Computed ciphertext: 6e7e6221a4f34e87 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 21

Input plaintext: 0000000000000000
Key: 19079210981a010119079210981a010119079210981a0101
IV: 0000000000000000
Expected ciphertext: aa85e74643233199
Computed ciphertext: aa85e74643233199 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 22

Input plaintext: 0000000000000000
Key: 100791199819080110079119981908011007911998190801
IV: 0000000000000000
Expected ciphertext: 2e5a19db4d1962d6
Computed ciphertext: 2e5a19db4d1962d6 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 23

Input plaintext: 0000000000000000
Key: 10079119981a080110079119981a080110079119981a0801
IV: 0000000000000000
Expected ciphertext: 23a866a809d30894
Computed ciphertext: 23a866a809d30894 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 24

Input plaintext: 0000000000000000
Key: 100792109819010110079210981901011007921098190101
IV: 0000000000000000
Expected ciphertext: d812d961f017d320
Computed ciphertext: d812d961f017d320 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 25

Input plaintext: 0000000000000000
Key: 100791159819010b100791159819010b100791159819010b
IV: 0000000000000000
Expected ciphertext: 055605816e58608f
Computed ciphertext: 055605816e58608f OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 26

Input plaintext: 0000000000000000
Key: 100480159819010110048015981901011004801598190101
IV: 0000000000000000
Expected ciphertext: abd88e8b1b7716f1
Computed ciphertext: abd88e8b1b7716f1 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 27

Input plaintext: 0000000000000000
Key: 100480159819010210048015981901021004801598190102
IV: 0000000000000000
Expected ciphertext: 537ac95be69da1e1
Computed ciphertext: 537ac95be69da1e1 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 28

Input plaintext: 0000000000000000
Key: 100480159819010810048015981901081004801598190108
IV: 0000000000000000
Expected ciphertext: aed0f6ae3c25cdd8
Computed ciphertext: aed0f6ae3c25cdd8 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 29

Input plaintext: 0000000000000000
Key: 100291159810010410029115981001041002911598100104
IV: 0000000000000000
Expected ciphertext: b3e35a5ee53e7b8d
Computed ciphertext: b3e35a5ee53e7b8d OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 30

Input plaintext: 0000000000000000
Key: 100291159819010410029115981901041002911598190104
IV: 0000000000000000
Expected ciphertext: 61c79c71921a2ef8
Computed ciphertext: 61c79c71921a2ef8 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 31

Input plaintext: 0000000000000000
Key: 100291159810020110029115981002011002911598100201
IV: 0000000000000000
Expected ciphertext: e2f5728f0995013c
Computed ciphertext: e2f5728f0995013c OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

Permutation operation, # 32

Input plaintext: 0000000000000000
Key: 100291169810010110029116981001011002911698100101
IV: 0000000000000000
Expected ciphertext: 1aeac39a61f0a464
Computed ciphertext: 1aeac39a61f0a464 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

XDiceLock 8.0.0.1 for Apple Mac OS X C++ source code used in this test:

XDiceLock 8.0.0.1 for Apple Mac OS X

XDiceLockCipher.h
baseCryptoRandomStream.h
baseCryptoRandomStream.cpp
defaultCryptoRandomStream.h
defaultCryptoRandomStream.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
DEA.h
DEA.cpp
TDEA.h
TDEA.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