August 2014
S M T W T F S
« Jul    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Recent Posts

XDiceLock 8.0.0.1 for Apple Mac OS X, CFB_Mode class (Cipher feedback CFB block cipher operation mode algorithm), 64-bit CFB mode, verified with TDEA, VarKey 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 Cipher feedback CFB class (computing Cipher feedback CFB 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: CFB_Mode class
– Block cipher encryption algorithm: TDEA class
– Test set : VarKey
– 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).

 

CFB_Mode class block cipher operation mode is executed as 64-bit CFB mode, that is, each plaintext segment and ciphertext segment consists of 64 bits.

Once computed we’ve got the following results:

VarKey, # 1

Input plaintext: 0000000000000000
Key: 800101010101010180010101010101018001010101010101
IV: 0000000000000000
Expected ciphertext: 95a8d72813daa94d
Computed ciphertext: 95a8d72813daa94d OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 2

Input plaintext: 0000000000000000
Key: 400101010101010140010101010101014001010101010101
IV: 0000000000000000
Expected ciphertext: 0eec1487dd8c26d5
Computed ciphertext: 0eec1487dd8c26d5 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 3

Input plaintext: 0000000000000000
Key: 200101010101010120010101010101012001010101010101
IV: 0000000000000000
Expected ciphertext: 7ad16ffb79c45926
Computed ciphertext: 7ad16ffb79c45926 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 4

Input plaintext: 0000000000000000
Key: 100101010101010110010101010101011001010101010101
IV: 0000000000000000
Expected ciphertext: d3746294ca6a6cf3
Computed ciphertext: d3746294ca6a6cf3 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 5

Input plaintext: 0000000000000000
Key: 080101010101010108010101010101010801010101010101
IV: 0000000000000000
Expected ciphertext: 809f5f873c1fd761
Computed ciphertext: 809f5f873c1fd761 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 6

Input plaintext: 0000000000000000
Key: 040101010101010104010101010101010401010101010101
IV: 0000000000000000
Expected ciphertext: c02faffec989d1fc
Computed ciphertext: c02faffec989d1fc OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 7

Input plaintext: 0000000000000000
Key: 020101010101010102010101010101010201010101010101
IV: 0000000000000000
Expected ciphertext: 4615aa1d33e72f10
Computed ciphertext: 4615aa1d33e72f10 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 8

Input plaintext: 0000000000000000
Key: 018001010101010101800101010101010180010101010101
IV: 0000000000000000
Expected ciphertext: 2055123350c00858
Computed ciphertext: 2055123350c00858 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 9

Input plaintext: 0000000000000000
Key: 014001010101010101400101010101010140010101010101
IV: 0000000000000000
Expected ciphertext: df3b99d6577397c8
Computed ciphertext: df3b99d6577397c8 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 10

Input plaintext: 0000000000000000
Key: 012001010101010101200101010101010120010101010101
IV: 0000000000000000
Expected ciphertext: 31fe17369b5288c9
Computed ciphertext: 31fe17369b5288c9 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 11

Input plaintext: 0000000000000000
Key: 011001010101010101100101010101010110010101010101
IV: 0000000000000000
Expected ciphertext: dfdd3cc64dae1642
Computed ciphertext: dfdd3cc64dae1642 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 12

Input plaintext: 0000000000000000
Key: 010801010101010101080101010101010108010101010101
IV: 0000000000000000
Expected ciphertext: 178c83ce2b399d94
Computed ciphertext: 178c83ce2b399d94 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 13

Input plaintext: 0000000000000000
Key: 010401010101010101040101010101010104010101010101
IV: 0000000000000000
Expected ciphertext: 50f636324a9b7f80
Computed ciphertext: 50f636324a9b7f80 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 14

Input plaintext: 0000000000000000
Key: 010201010101010101020101010101010102010101010101
IV: 0000000000000000
Expected ciphertext: a8468ee3bc18f06d
Computed ciphertext: a8468ee3bc18f06d OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 15

Input plaintext: 0000000000000000
Key: 010180010101010101018001010101010101800101010101
IV: 0000000000000000
Expected ciphertext: a2dc9e92fd3cde92
Computed ciphertext: a2dc9e92fd3cde92 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 16

Input plaintext: 0000000000000000
Key: 010140010101010101014001010101010101400101010101
IV: 0000000000000000
Expected ciphertext: cac09f797d031287
Computed ciphertext: cac09f797d031287 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 17

Input plaintext: 0000000000000000
Key: 010120010101010101012001010101010101200101010101
IV: 0000000000000000
Expected ciphertext: 90ba680b22aeb525
Computed ciphertext: 90ba680b22aeb525 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 18

Input plaintext: 0000000000000000
Key: 010110010101010101011001010101010101100101010101
IV: 0000000000000000
Expected ciphertext: ce7a24f350e280b6
Computed ciphertext: ce7a24f350e280b6 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 19

Input plaintext: 0000000000000000
Key: 010108010101010101010801010101010101080101010101
IV: 0000000000000000
Expected ciphertext: 882bff0aa01a0b87
Computed ciphertext: 882bff0aa01a0b87 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 20

Input plaintext: 0000000000000000
Key: 010104010101010101010401010101010101040101010101
IV: 0000000000000000
Expected ciphertext: 25610288924511c2
Computed ciphertext: 25610288924511c2 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 21

Input plaintext: 0000000000000000
Key: 010102010101010101010201010101010101020101010101
IV: 0000000000000000
Expected ciphertext: c71516c29c75d170
Computed ciphertext: c71516c29c75d170 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 22

Input plaintext: 0000000000000000
Key: 010101800101010101010180010101010101018001010101
IV: 0000000000000000
Expected ciphertext: 5199c29a52c9f059
Computed ciphertext: 5199c29a52c9f059 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 23

Input plaintext: 0000000000000000
Key: 010101400101010101010140010101010101014001010101
IV: 0000000000000000
Expected ciphertext: c22f0a294a71f29f
Computed ciphertext: c22f0a294a71f29f OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 24

Input plaintext: 0000000000000000
Key: 010101200101010101010120010101010101012001010101
IV: 0000000000000000
Expected ciphertext: ee371483714c02ea
Computed ciphertext: ee371483714c02ea OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 25

Input plaintext: 0000000000000000
Key: 010101100101010101010110010101010101011001010101
IV: 0000000000000000
Expected ciphertext: a81fbd448f9e522f
Computed ciphertext: a81fbd448f9e522f OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 26

Input plaintext: 0000000000000000
Key: 010101080101010101010108010101010101010801010101
IV: 0000000000000000
Expected ciphertext: 4f644c92e192dfed
Computed ciphertext: 4f644c92e192dfed OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 27

Input plaintext: 0000000000000000
Key: 010101040101010101010104010101010101010401010101
IV: 0000000000000000
Expected ciphertext: 1afa9a66a6df92ae
Computed ciphertext: 1afa9a66a6df92ae OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 28

Input plaintext: 0000000000000000
Key: 010101020101010101010102010101010101010201010101
IV: 0000000000000000
Expected ciphertext: b3c1cc715cb879d8
Computed ciphertext: b3c1cc715cb879d8 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 29

Input plaintext: 0000000000000000
Key: 010101018001010101010101800101010101010180010101
IV: 0000000000000000
Expected ciphertext: 19d032e64ab0bd8b
Computed ciphertext: 19d032e64ab0bd8b OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 30

Input plaintext: 0000000000000000
Key: 010101014001010101010101400101010101010140010101
IV: 0000000000000000
Expected ciphertext: 3cfaa7a7dc8720dc
Computed ciphertext: 3cfaa7a7dc8720dc OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 31

Input plaintext: 0000000000000000
Key: 010101012001010101010101200101010101010120010101
IV: 0000000000000000
Expected ciphertext: b7265f7f447ac6f3
Computed ciphertext: b7265f7f447ac6f3 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 32

Input plaintext: 0000000000000000
Key: 010101011001010101010101100101010101010110010101
IV: 0000000000000000
Expected ciphertext: 9db73b3c0d163f54
Computed ciphertext: 9db73b3c0d163f54 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 33

Input plaintext: 0000000000000000
Key: 010101010801010101010101080101010101010108010101
IV: 0000000000000000
Expected ciphertext: 8181b65babf4a975
Computed ciphertext: 8181b65babf4a975 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 34

Input plaintext: 0000000000000000
Key: 010101010401010101010101040101010101010104010101
IV: 0000000000000000
Expected ciphertext: 93c9b64042eaa240
Computed ciphertext: 93c9b64042eaa240 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 35

Input plaintext: 0000000000000000
Key: 010101010201010101010101020101010101010102010101
IV: 0000000000000000
Expected ciphertext: 5570530829705592
Computed ciphertext: 5570530829705592 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 36

Input plaintext: 0000000000000000
Key: 010101010180010101010101018001010101010101800101
IV: 0000000000000000
Expected ciphertext: 8638809e878787a0
Computed ciphertext: 8638809e878787a0 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 37

Input plaintext: 0000000000000000
Key: 010101010140010101010101014001010101010101400101
IV: 0000000000000000
Expected ciphertext: 41b9a79af79ac208
Computed ciphertext: 41b9a79af79ac208 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 38

Input plaintext: 0000000000000000
Key: 010101010120010101010101012001010101010101200101
IV: 0000000000000000
Expected ciphertext: 7a9be42f2009a892
Computed ciphertext: 7a9be42f2009a892 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 39

Input plaintext: 0000000000000000
Key: 010101010110010101010101011001010101010101100101
IV: 0000000000000000
Expected ciphertext: 29038d56ba6d2745
Computed ciphertext: 29038d56ba6d2745 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 40

Input plaintext: 0000000000000000
Key: 010101010108010101010101010801010101010101080101
IV: 0000000000000000
Expected ciphertext: 5495c6abf1e5df51
Computed ciphertext: 5495c6abf1e5df51 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 41

Input plaintext: 0000000000000000
Key: 010101010104010101010101010401010101010101040101
IV: 0000000000000000
Expected ciphertext: ae13dbd561488933
Computed ciphertext: ae13dbd561488933 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 42

Input plaintext: 0000000000000000
Key: 010101010102010101010101010201010101010101020101
IV: 0000000000000000
Expected ciphertext: 024d1ffa8904e389
Computed ciphertext: 024d1ffa8904e389 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 43

Input plaintext: 0000000000000000
Key: 010101010101800101010101010180010101010101018001
IV: 0000000000000000
Expected ciphertext: d1399712f99bf02e
Computed ciphertext: d1399712f99bf02e OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 44

Input plaintext: 0000000000000000
Key: 010101010101400101010101010140010101010101014001
IV: 0000000000000000
Expected ciphertext: 14c1d7c1cffec79e
Computed ciphertext: 14c1d7c1cffec79e OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 45

Input plaintext: 0000000000000000
Key: 010101010101200101010101010120010101010101012001
IV: 0000000000000000
Expected ciphertext: 1de5279dae3bed6f
Computed ciphertext: 1de5279dae3bed6f OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 46

Input plaintext: 0000000000000000
Key: 010101010101100101010101010110010101010101011001
IV: 0000000000000000
Expected ciphertext: e941a33f85501303
Computed ciphertext: e941a33f85501303 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 47

Input plaintext: 0000000000000000
Key: 010101010101080101010101010108010101010101010801
IV: 0000000000000000
Expected ciphertext: da99dbbc9a03f379
Computed ciphertext: da99dbbc9a03f379 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 48

Input plaintext: 0000000000000000
Key: 010101010101040101010101010104010101010101010401
IV: 0000000000000000
Expected ciphertext: b7fc92f91d8e92e9
Computed ciphertext: b7fc92f91d8e92e9 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 49

Input plaintext: 0000000000000000
Key: 010101010101020101010101010102010101010101010201
IV: 0000000000000000
Expected ciphertext: ae8e5caa3ca04e85
Computed ciphertext: ae8e5caa3ca04e85 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 50

Input plaintext: 0000000000000000
Key: 010101010101018001010101010101800101010101010180
IV: 0000000000000000
Expected ciphertext: 9cc62df43b6eed74
Computed ciphertext: 9cc62df43b6eed74 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 51

Input plaintext: 0000000000000000
Key: 010101010101014001010101010101400101010101010140
IV: 0000000000000000
Expected ciphertext: d863dbb5c59a91a0
Computed ciphertext: d863dbb5c59a91a0 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 52

Input plaintext: 0000000000000000
Key: 010101010101012001010101010101200101010101010120
IV: 0000000000000000
Expected ciphertext: a1ab2190545b91d7
Computed ciphertext: a1ab2190545b91d7 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 53

Input plaintext: 0000000000000000
Key: 010101010101011001010101010101100101010101010110
IV: 0000000000000000
Expected ciphertext: 0875041e64c570f7
Computed ciphertext: 0875041e64c570f7 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 54

Input plaintext: 0000000000000000
Key: 010101010101010801010101010101080101010101010108
IV: 0000000000000000
Expected ciphertext: 5a594528bebef1cc
Computed ciphertext: 5a594528bebef1cc OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 55

Input plaintext: 0000000000000000
Key: 010101010101010401010101010101040101010101010104
IV: 0000000000000000
Expected ciphertext: fcdb3291de21f0c0
Computed ciphertext: fcdb3291de21f0c0 OK
DECIPHERING Deciphered text: 0000000000000000 OK

 

VarKey, # 56

Input plaintext: 0000000000000000
Key: 010101010101010201010101010101020101010101010102
IV: 0000000000000000
Expected ciphertext: 869efd7f9f265a09
Computed ciphertext: 869efd7f9f265a09 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
CFB_Mode.h
CFB_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