October 2014
S M T W T F S
« Sep    
 1234
567891011
12131415161718
19202122232425
262728293031  

Recent Posts

DiceLock-x 8.0.0.1 for Linux, CFB_Mode class (Cipher feedback CFB block cipher operation mode algorithm), 8-bit CFB mode, verified with TDEA, VarTxt test set and DefaultCryptoRandomStream class (default virtual memory management)

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 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 DiceLock-x 8.0.0.1 for Linux

Verification components:

– Block cipher operation mode encryption algorithm: CFB_Mode class
– Block cipher encryption algorithm: TDEA class
– Test set : VarTxt
– 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 8-bit CFB mode, that is, each plaintext segment and ciphertext segment consists of 8 bits.

Once computed we’ve got the following results:

VarTxt, # 1

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 8000000000000000
Expected ciphertext: 95
Computed ciphertext: 95 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 2

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 4000000000000000
Expected ciphertext: dd
Computed ciphertext: dd OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 3

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 2000000000000000
Expected ciphertext: 2e
Computed ciphertext: 2e OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 4

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 1000000000000000
Expected ciphertext: 4b
Computed ciphertext: 4b OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 5

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0800000000000000
Expected ciphertext: 20
Computed ciphertext: 20 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 6

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0400000000000000
Expected ciphertext: 55
Computed ciphertext: 55 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 7

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0200000000000000
Expected ciphertext: 6c
Computed ciphertext: 6c OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 8

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0100000000000000
Expected ciphertext: 0d
Computed ciphertext: 0d OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 9

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0080000000000000
Expected ciphertext: d9
Computed ciphertext: d9 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 10

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0040000000000000
Expected ciphertext: 42
Computed ciphertext: 42 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 11

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0020000000000000
Expected ciphertext: b8
Computed ciphertext: b8 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 12

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0010000000000000
Expected ciphertext: f1
Computed ciphertext: f1 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 13

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0008000000000000
Expected ciphertext: ad
Computed ciphertext: ad OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 14

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0004000000000000
Expected ciphertext: e6
Computed ciphertext: e6 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 15

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0002000000000000
Expected ciphertext: ec
Computed ciphertext: ec OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 16

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0001000000000000
Expected ciphertext: f3
Computed ciphertext: f3 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 17

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000800000000000
Expected ciphertext: 2b
Computed ciphertext: 2b OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 18

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000400000000000
Expected ciphertext: 88
Computed ciphertext: 88 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 19

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000200000000000
Expected ciphertext: e1
Computed ciphertext: e1 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 20

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000100000000000
Expected ciphertext: 32
Computed ciphertext: 32 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 21

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000080000000000
Expected ciphertext: e7
Computed ciphertext: e7 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 22

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000040000000000
Expected ciphertext: 12
Computed ciphertext: 12 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 23

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000020000000000
Expected ciphertext: a4
Computed ciphertext: a4 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 24

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000010000000000
Expected ciphertext: fb
Computed ciphertext: fb OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 25

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000008000000000
Expected ciphertext: 75
Computed ciphertext: 75 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 26

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000004000000000
Expected ciphertext: 64
Computed ciphertext: 64 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 27

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000002000000000
Expected ciphertext: f0
Computed ciphertext: f0 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 28

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000001000000000
Expected ciphertext: 9d
Computed ciphertext: 9d OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 29

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000800000000
Expected ciphertext: d1
Computed ciphertext: d1 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 30

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000400000000
Expected ciphertext: e1
Computed ciphertext: e1 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 31

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000200000000
Expected ciphertext: e4
Computed ciphertext: e4 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 32

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000100000000
Expected ciphertext: ae
Computed ciphertext: ae OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 33

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000080000000
Expected ciphertext: e9
Computed ciphertext: e9 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 34

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000040000000
Expected ciphertext: df
Computed ciphertext: df OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 35

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000020000000
Expected ciphertext: b1
Computed ciphertext: b1 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 36

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000010000000
Expected ciphertext: fa
Computed ciphertext: fa OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 37

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000008000000
Expected ciphertext: ca
Computed ciphertext: ca OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 38

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000004000000
Expected ciphertext: 5e
Computed ciphertext: 5e OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 39

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000002000000
Expected ciphertext: 81
Computed ciphertext: 81 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 40

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000001000000
Expected ciphertext: 4d
Computed ciphertext: 4d OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 41

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000800000
Expected ciphertext: 25
Computed ciphertext: 25 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 42

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000400000
Expected ciphertext: ab
Computed ciphertext: ab OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 43

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000200000
Expected ciphertext: 79
Computed ciphertext: 79 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 44

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000100000
Expected ciphertext: 86
Computed ciphertext: 86 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 45

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000080000
Expected ciphertext: 8b
Computed ciphertext: 8b OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 46

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000040000
Expected ciphertext: ea
Computed ciphertext: ea OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 47

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000020000
Expected ciphertext: ca
Computed ciphertext: ca OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 48

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000010000
Expected ciphertext: 8d
Computed ciphertext: 8d OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 49

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000008000
Expected ciphertext: 10
Computed ciphertext: 10 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 50

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000004000
Expected ciphertext: 5d
Computed ciphertext: 5d OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 51

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000002000
Expected ciphertext: 1d
Computed ciphertext: 1d OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 52

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000001000
Expected ciphertext: ce
Computed ciphertext: ce OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 53

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000800
Expected ciphertext: 84
Computed ciphertext: 84 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 54

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000400
Expected ciphertext: e6
Computed ciphertext: e6 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 55

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000200
Expected ciphertext: 48
Computed ciphertext: 48 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 56

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000100
Expected ciphertext: dd
Computed ciphertext: dd OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 57

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000080
Expected ciphertext: 2f
Computed ciphertext: 2f OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 58

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000040
Expected ciphertext: e0
Computed ciphertext: e0 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 59

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000020
Expected ciphertext: 09
Computed ciphertext: 09 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 60

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000010
Expected ciphertext: 5b
Computed ciphertext: 5b OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 61

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000008
Expected ciphertext: cc
Computed ciphertext: cc OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 62

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000004
Expected ciphertext: d2
Computed ciphertext: d2 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 63

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000002
Expected ciphertext: 06
Computed ciphertext: 06 OK
DECIPHERING Deciphered text: 00 OK

 

VarTxt, # 64

Input plaintext: 00
Key: 010101010101010101010101010101010101010101010101
IV: 0000000000000001
Expected ciphertext: 16
Computed ciphertext: 16 OK
DECIPHERING Deciphered text: 00 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
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