September 2014
S M T W T F S
« Aug    
 123456
78910111213
14151617181920
21222324252627
282930  

Recent Posts

XDiceLock 8.0.0.1 for Apple Mac OS X, PKCS7 class (PKCS7 crypto pad algorithm) verified with data Special text and PhysicalCryptoRandomStream class (memory pages kept in RAM, not swapped to file)

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 (AES 128, AES 192 and AES 256) with different block cipher operation modes and stream ciphers as HC 128 and HC 256 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 and Ripemd 320.

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 PKCS7 class (computing PKCS7 cryptographic padding 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:

– Cryptographic pad algorithm test: PKCS7 class
– 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 mlock that uses physical nonpaged memory, preventing that memory from being paged to the swap area, so memory is not swapped to hard disk. The pages are guaranteed to stay in RAM until later PhysicalCryptoRansomStream object is deleted.
In order to use PhysicalCryptoRandomStream class, the process must be privileged (CAP_IPC_LOCK) in order to lock memory, and since Linux 2.6.9, no limits are placed on the amount of memory that a privileged process can lock and the RLIMIT_MEMLOCK soft resource defines the limit on how much memory an unprivileged process may lock.

 

Once computed we’ve got the following result:

Text to be padded (hex): 010101
Block length in bytes to pad: 4
Expected padded block (hex): 01 01 01 01
Padded block (hex): 01 01 01 01 OK
Extracted text (hex): 010101 OK
Text to be padded (hex): 020202
Block length in bytes to pad: 5
Expected padded block (hex): 02 02 02 02 02
Padded block (hex): 02 02 02 02 02 OK
Extracted text (hex): 020202 OK
Text to be padded (hex): 030303
Block length in bytes to pad: 6
Expected padded block (hex): 03 03 03 03 03 03
Padded block (hex): 03 03 03 03 03 03 OK
Extracted text (hex): 030303 OK
Text to be padded (hex): 040404
Block length in bytes to pad: 7
Expected padded block (hex): 04 04 04 04 04 04 04
Padded block (hex): 04 04 04 04 04 04 04 OK
Extracted text (hex): 040404 OK
Text to be padded (hex): 050505
Block length in bytes to pad: 8
Expected padded block (hex): 05 05 05 05 05 05 05 05
Padded block (hex): 05 05 05 05 05 05 05 05 OK
Extracted text (hex): 050505 OK
Text to be padded (hex): 060606
Block length in bytes to pad: 9
Expected padded block (hex): 06 06 06 06 06 06 06 06 06
Padded block (hex): 06 06 06 06 06 06 06 06 06 OK
Extracted text (hex): 060606 OK
Text to be padded (hex): 070707
Block length in bytes to pad: 10
Expected padded block (hex): 07 07 07 07 07 07 07 07 07 07
Padded block (hex): 07 07 07 07 07 07 07 07 07 07 OK
Extracted text (hex): 070707 OK
Text to be padded (hex): 080808
Block length in bytes to pad: 11
Expected padded block (hex): 08 08 08 08 08 08 08 08 08 08 08
Padded block (hex): 08 08 08 08 08 08 08 08 08 08 08 OK
Extracted text (hex): 080808 OK
Text to be padded (hex): 090909
Block length in bytes to pad: 12
Expected padded block (hex): 09 09 09 09 09 09 09 09 09 09 09 09
Padded block (hex): 09 09 09 09 09 09 09 09 09 09 09 09 OK
Extracted text (hex): 090909 OK
Text to be padded (hex): 0a0a0a
Block length in bytes to pad: 13
Expected padded block (hex): 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a
Padded block (hex): 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a OK
Extracted text (hex): 0a0a0a OK
Text to be padded (hex): 0b0b0b
Block length in bytes to pad: 14
Expected padded block (hex): 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b
Padded block (hex): 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b OK
Extracted text (hex): 0b0b0b OK
Text to be padded (hex): 0c0c0c
Block length in bytes to pad: 15
Expected padded block (hex): 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c
Padded block (hex): 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c OK
Extracted text (hex): 0c0c0c OK
Text to be padded (hex): 0d0d0d
Block length in bytes to pad: 16
Expected padded block (hex): 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d
Padded block (hex): 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d 0d OK
Extracted text (hex): 0d0d0d OK
Text to be padded (hex): 0e0e0e
Block length in bytes to pad: 17
Expected padded block (hex): 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e
Padded block (hex): 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e 0e OK
Extracted text (hex): 0e0e0e OK
Text to be padded (hex): 0f0f0f
Block length in bytes to pad: 18
Expected padded block (hex): 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
Padded block (hex): 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f OK
Extracted text (hex): 0f0f0f OK
Text to be padded (hex): 101010
Block length in bytes to pad: 19
Expected padded block (hex): 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
Padded block (hex): 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 OK
Extracted text (hex): 101010 OK
Text to be padded (hex): 111111
Block length in bytes to pad: 20
Expected padded block (hex): 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Padded block (hex): 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 OK
Extracted text (hex): 111111 OK
Text to be padded (hex): 121212
Block length in bytes to pad: 21
Expected padded block (hex): 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
Padded block (hex): 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 OK
Extracted text (hex): 121212 OK
Text to be padded (hex): 131313
Block length in bytes to pad: 22
Expected padded block (hex): 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
Padded block (hex): 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 OK
Extracted text (hex): 131313 OK
Text to be padded (hex): 141414
Block length in bytes to pad: 23
Expected padded block (hex): 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
Padded block (hex): 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 OK
Extracted text (hex): 141414 OK
Text to be padded (hex): 151515
Block length in bytes to pad: 24
Expected padded block (hex): 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
Padded block (hex): 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 OK
Extracted text (hex): 151515 OK
Text to be padded (hex): 161616
Block length in bytes to pad: 25
Expected padded block (hex): 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
Padded block (hex): 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 OK
Extracted text (hex): 161616 OK
Text to be padded (hex): 171717
Block length in bytes to pad: 26
Expected padded block (hex): 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
Padded block (hex): 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 OK
Extracted text (hex): 171717 OK
Text to be padded (hex): 181818
Block length in bytes to pad: 27
Expected padded block (hex): 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18
Padded block (hex): 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 OK
Extracted text (hex): 181818 OK
Text to be padded (hex): 191919
Block length in bytes to pad: 28
Expected padded block (hex): 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
Padded block (hex): 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 OK
Extracted text (hex): 191919 OK
Text to be padded (hex): 1a1a1a
Block length in bytes to pad: 29
Expected padded block (hex): 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a
Padded block (hex): 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a OK
Extracted text (hex): 1a1a1a OK
Text to be padded (hex): 1b1b1b
Block length in bytes to pad: 30
Expected padded block (hex): 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b
Padded block (hex): 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b OK
Extracted text (hex): 1b1b1b OK
Text to be padded (hex): 1c1c1c
Block length in bytes to pad: 31
Expected padded block (hex): 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c
Padded block (hex): 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c OK
Extracted text (hex): 1c1c1c OK
Text to be padded (hex): 1d1d1d
Block length in bytes to pad: 32
Expected padded block (hex): 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d
Padded block (hex): 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d 1d OK
Extracted text (hex): 1d1d1d OK
Text to be padded (hex): 1e1e1e
Block length in bytes to pad: 33
Expected padded block (hex): 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e
Padded block (hex): 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e 1e OK
Extracted text (hex): 1e1e1e OK
Text to be padded (hex): 1f1f1f
Block length in bytes to pad: 34
Expected padded block (hex): 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f
Padded block (hex): 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f OK
Extracted text (hex): 1f1f1f OK
Text to be padded (hex): 202020
Block length in bytes to pad: 35
Expected padded block (hex): 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Padded block (hex): 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 OK
Extracted text (hex): 202020 OK
Text to be padded (hex): 212121
Block length in bytes to pad: 36
Expected padded block (hex): 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Padded block (hex): 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 OK
Extracted text (hex): 212121 OK
Text to be padded (hex): 222222
Block length in bytes to pad: 37
Expected padded block (hex): 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
Padded block (hex): 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 OK
Extracted text (hex): 222222 OK
Text to be padded (hex): 232323
Block length in bytes to pad: 38
Expected padded block (hex): 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23
Padded block (hex): 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 OK
Extracted text (hex): 232323 OK
Text to be padded (hex): 242424
Block length in bytes to pad: 39
Expected padded block (hex): 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
Padded block (hex): 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 OK
Extracted text (hex): 242424 OK
Text to be padded (hex): 252525
Block length in bytes to pad: 40
Expected padded block (hex): 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
Padded block (hex): 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 OK
Extracted text (hex): 252525 OK
Text to be padded (hex): 262626
Block length in bytes to pad: 41
Expected padded block (hex): 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26
Padded block (hex): 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 OK
Extracted text (hex): 262626 OK
Text to be padded (hex): 272727
Block length in bytes to pad: 42
Expected padded block (hex): 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
Padded block (hex): 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 OK
Extracted text (hex): 272727 OK
Text to be padded (hex): 282828
Block length in bytes to pad: 43
Expected padded block (hex): 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
Padded block (hex): 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 OK
Extracted text (hex): 282828 OK
Text to be padded (hex): 292929
Block length in bytes to pad: 44
Expected padded block (hex): 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
Padded block (hex): 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 OK
Extracted text (hex): 292929 OK
Text to be padded (hex): 2a2a2a
Block length in bytes to pad: 45
Expected padded block (hex): 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a
Padded block (hex): 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a OK
Extracted text (hex): 2a2a2a OK
Text to be padded (hex): 2b2b2b
Block length in bytes to pad: 46
Expected padded block (hex): 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
Padded block (hex): 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b OK
Extracted text (hex): 2b2b2b OK
Text to be padded (hex): 2c2c2c
Block length in bytes to pad: 47
Expected padded block (hex): 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c
Padded block (hex): 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c OK
Extracted text (hex): 2c2c2c OK
Text to be padded (hex): 2d2d2d
Block length in bytes to pad: 48
Expected padded block (hex): 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
Padded block (hex): 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d OK
Extracted text (hex): 2d2d2d OK
Text to be padded (hex): 2e2e2e
Block length in bytes to pad: 49
Expected padded block (hex): 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e
Padded block (hex): 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e OK
Extracted text (hex): 2e2e2e OK
Text to be padded (hex): 2f2f2f
Block length in bytes to pad: 50
Expected padded block (hex): 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f
Padded block (hex): 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f OK
Extracted text (hex): 2f2f2f OK
Text to be padded (hex): 303030
Block length in bytes to pad: 51
Expected padded block (hex): 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
Padded block (hex): 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 OK
Extracted text (hex): 303030 OK
Text to be padded (hex): 313131
Block length in bytes to pad: 52
Expected padded block (hex): 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
Padded block (hex): 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 OK
Extracted text (hex): 313131 OK
Text to be padded (hex): 323232
Block length in bytes to pad: 53
Expected padded block (hex): 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
Padded block (hex): 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 OK
Extracted text (hex): 323232 OK
Text to be padded (hex): 333333
Block length in bytes to pad: 54
Expected padded block (hex): 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33
Padded block (hex): 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 OK
Extracted text (hex): 333333 OK
Text to be padded (hex): 343434
Block length in bytes to pad: 55
Expected padded block (hex): 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34
Padded block (hex): 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 OK
Extracted text (hex): 343434 OK
Text to be padded (hex): 353535
Block length in bytes to pad: 56
Expected padded block (hex): 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
Padded block (hex): 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 OK
Extracted text (hex): 353535 OK
Text to be padded (hex): 363636
Block length in bytes to pad: 57
Expected padded block (hex): 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36
Padded block (hex): 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 OK
Extracted text (hex): 363636 OK
Text to be padded (hex): 373737
Block length in bytes to pad: 58
Expected padded block (hex): 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
Padded block (hex): 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 OK
Extracted text (hex): 373737 OK
Text to be padded (hex): 383838
Block length in bytes to pad: 59
Expected padded block (hex): 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
Padded block (hex): 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 OK
Extracted text (hex): 383838 OK
Text to be padded (hex): 393939
Block length in bytes to pad: 60
Expected padded block (hex): 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
Padded block (hex): 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 OK
Extracted text (hex): 393939 OK
Text to be padded (hex): 3a3a3a
Block length in bytes to pad: 61
Expected padded block (hex): 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a
Padded block (hex): 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a OK
Extracted text (hex): 3a3a3a OK
Text to be padded (hex): 3b3b3b
Block length in bytes to pad: 62
Expected padded block (hex): 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b
Padded block (hex): 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b OK
Extracted text (hex): 3b3b3b OK
Text to be padded (hex): 3c3c3c
Block length in bytes to pad: 63
Expected padded block (hex): 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c
Padded block (hex): 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c OK
Extracted text (hex): 3c3c3c OK
Text to be padded (hex): 3d3d3d
Block length in bytes to pad: 64
Expected padded block (hex): 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d
Padded block (hex): 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d OK
Extracted text (hex): 3d3d3d OK
Text to be padded (hex): 3e3e3e
Block length in bytes to pad: 65
Expected padded block (hex): 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e
Padded block (hex): 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e 3e OK
Extracted text (hex): 3e3e3e OK
Text to be padded (hex): 3f3f3f
Block length in bytes to pad: 66
Expected padded block (hex): 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
Padded block (hex): 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f OK
Extracted text (hex): 3f3f3f OK
Text to be padded (hex): 404040
Block length in bytes to pad: 67
Expected padded block (hex): 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
Padded block (hex): 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 OK
Extracted text (hex): 404040 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
physicalCryptoRandomStream.h
physicalCryptoRandomStream.cpp
baseCryptoPad.h
baseCryptoPad.cpp
PKCS7.h
PKCS7.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