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

Recent Posts

XDiceLock 8.0.0.1 for Apple Mac OS X, Salsa20_20_256 class (Salsa20/20 256 stream cipher algorithm) verified with test Set 5 and PhysicalCryptoRandomStream class (memory pages kept in RAM, not swapped to file)

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 Salsa20/20 256 class (computing Salsa20/20 256 stream 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:

– Stream encryption cipher algorithm: Salsa20_20_256 class
– Test set number: 5
– 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 results:

Set 5, vector# 0

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 8000000000000000
From byte 0 to byte 63
Expected 2aba3dc45b4947007b14c851cd694456b303ad59a465662803006705673d6c3e29f1d3510dfc0405463c03414e0e07e359f1f1816c68b2434a19d3eee0464873
Computed 2aba3dc45b4947007b14c851cd694456b303ad59a465662803006705673d6c3e29f1d3510dfc0405463c03414e0e07e359f1f1816c68b2434a19d3eee0464873
Result: OK
From byte 192 to byte 255
Expected eff0c107dca563b5c0048eb488b40341ed34052790475cd204a947eb480f3d753ef5347cebb0a21f25b6cc8de6b48906e604f554a6b01b23791f95c4a93a4717
Computed eff0c107dca563b5c0048eb488b40341ed34052790475cd204a947eb480f3d753ef5347cebb0a21f25b6cc8de6b48906e604f554a6b01b23791f95c4a93a4717
Result: OK
From byte 256 to byte 319
Expected e3393e1599863b52de8c52cf26c752fb473b74a34d6d9fe31e9ca8dd6292522f13eb456c5be9e5432c06e1ba3965d45448936bc98376bf903969f049347ea05d
Computed e3393e1599863b52de8c52cf26c752fb473b74a34d6d9fe31e9ca8dd6292522f13eb456c5be9e5432c06e1ba3965d45448936bc98376bf903969f049347ea05d
Result: OK
From byte 448 to byte 511
Expected fc4b2ef3b6b3815c99a437f16bdb06c5b948692786081d91c48cc7b072abb901c0491cc6900f2fea217bffc70c43edd665e3e020b59aaa43868e9949fbb9ae22
Computed fc4b2ef3b6b3815c99a437f16bdb06c5b948692786081d91c48cc7b072abb901c0491cc6900f2fea217bffc70c43edd665e3e020b59aaa43868e9949fbb9ae22
Result: OK
xor-digest
Expected fe40f57d1586d7664c2fca5ab10bd7c79de3234836e76949f9dc01cbfabc6d6c42ab27ddc748b4df7991092972ab4985cec19b3e7c2c85d6e25a338dec288282
Computed fe40f57d1586d7664c2fca5ab10bd7c79de3234836e76949f9dc01cbfabc6d6c42ab27ddc748b4df7991092972ab4985cec19b3e7c2c85d6e25a338dec288282
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 9

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0040000000000000
From byte 0 to byte 63
Expected f28343bcf4c946fc95dcaaed9da10b277e573fc8ebc8cee246fddc533d29c2ea05451ed9a821c4161ee0afa32ec0fca0dad124b702da9248b3d2aa64489c9d26
Computed f28343bcf4c946fc95dcaaed9da10b277e573fc8ebc8cee246fddc533d29c2ea05451ed9a821c4161ee0afa32ec0fca0dad124b702da9248b3d2aa64489c9d26
Result: OK
From byte 192 to byte 255
Expected c65f799168d6b229d0281309526b746c490d3edc0f6408a04339275fce04bdf4656ab5868495c32d238fdb97869a9332e09cb7be8031d38b8f565fb5469c8459
Computed c65f799168d6b229d0281309526b746c490d3edc0f6408a04339275fce04bdf4656ab5868495c32d238fdb97869a9332e09cb7be8031d38b8f565fb5469c8459
Result: OK
From byte 256 to byte 319
Expected 03e48fd41282fcd62c7217ed64153e55b558f82a613245c3d8a885542346aa3927de9734c0581338c3de5db443ec4227e3f82677d259d2d42601d187c79bf87a
Computed 03e48fd41282fcd62c7217ed64153e55b558f82a613245c3d8a885542346aa3927de9734c0581338c3de5db443ec4227e3f82677d259d2d42601d187c79bf87a
Result: OK
From byte 448 to byte 511
Expected 551f95ad9751e4f4bace7fd48b6a3c67e86c4b1e5b747ba60377b07fe8365e09f8973085f8a6086fc56bd88168d8c5618b01b159ef29f658c85fd117925d46e0
Computed 551f95ad9751e4f4bace7fd48b6a3c67e86c4b1e5b747ba60377b07fe8365e09f8973085f8a6086fc56bd88168d8c5618b01b159ef29f658c85fd117925d46e0
Result: OK
xor-digest
Expected 17e005d5257d3ece55dbe678290c9e1fe0d1e18ca8d54f6271e83d1a94580d8a597403f680674f564d130d71111add2da17e21268d5a8407cb2721730776dc94
Computed 17e005d5257d3ece55dbe678290c9e1fe0d1e18ca8d54f6271e83d1a94580d8a597403f680674f564d130d71111add2da17e21268d5a8407cb2721730776dc94
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 18

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0000200000000000
From byte 0 to byte 63
Expected 621f3014e0adc8022868c3d9070bc49e48bc6b504aff11cb17957f0ebfb7612f7fcb67c60a2fbd7a4bd7c312e8f50af3ca7520821d73db47189dad557c436ddc
Computed 621f3014e0adc8022868c3d9070bc49e48bc6b504aff11cb17957f0ebfb7612f7fcb67c60a2fbd7a4bd7c312e8f50af3ca7520821d73db47189dad557c436ddc
Result: OK
From byte 192 to byte 255
Expected 42c8dfe869c90018825e2037bb5e2ebbc4a4a42660afea8a2e385afbbc63ef3098d052ff4a52ed12107ee71c1aec271e6870538fceaa1191b4224a6ffdce5327
Computed 42c8dfe869c90018825e2037bb5e2ebbc4a4a42660afea8a2e385afbbc63ef3098d052ff4a52ed12107ee71c1aec271e6870538fceaa1191b4224a6ffdce5327
Result: OK
From byte 256 to byte 319
Expected 4214da4faf0df7fc2955d81403c9d49ee87116b1975c5823e28d9a08c5b1189dc52bcbef065b637f1870980cb778b75adda41613f5f4728ad8d8d189fbf0e76d
Computed 4214da4faf0df7fc2955d81403c9d49ee87116b1975c5823e28d9a08c5b1189dc52bcbef065b637f1870980cb778b75adda41613f5f4728ad8d8d189fbf0e76d
Result: OK
From byte 448 to byte 511
Expected 4ca854257ece95e67383fc8665c3a8238b87255f815ca4dec2d57db72924c60cb20a7ee40c559406aaab25be5f47184dd187ed7ea191133f3000cb88dcbac433
Computed 4ca854257ece95e67383fc8665c3a8238b87255f815ca4dec2d57db72924c60cb20a7ee40c559406aaab25be5f47184dd187ed7ea191133f3000cb88dcbac433
Result: OK
xor-digest
Expected 3191ea19c819bc3382b2c085b709e56954d91532c88f49e77bacccbce6312a46a6079a13df08efee0f1a6c95be79e91987677d1caae2e0ce253b3ee47f825eaf
Computed 3191ea19c819bc3382b2c085b709e56954d91532c88f49e77bacccbce6312a46a6079a13df08efee0f1a6c95be79e91987677d1caae2e0ce253b3ee47f825eaf
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 27

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0000001000000000
From byte 0 to byte 63
Expected d2db1a5cf1c1acdbe81a7a4340ef53435e7f4b1a50523f8d283dcf851d696e60f2de7456181b8410d462ba6050f061f21c787fc12434af58bf2c59ca9077f3b0
Computed d2db1a5cf1c1acdbe81a7a4340ef53435e7f4b1a50523f8d283dcf851d696e60f2de7456181b8410d462ba6050f061f21c787fc12434af58bf2c59ca9077f3b0
Result: OK
From byte 192 to byte 255
Expected 6ce020b3e83765a11f9ae157ad2d07d1ea4e9fbbf386c83fef54319746e5f997d35be9f73b99772da97054ff073013143ff9e5b47c61966d8525f17265f48d08
Computed 6ce020b3e83765a11f9ae157ad2d07d1ea4e9fbbf386c83fef54319746e5f997d35be9f73b99772da97054ff073013143ff9e5b47c61966d8525f17265f48d08
Result: OK
From byte 256 to byte 319
Expected ffeab16eea5c43bfd08d2591f9a4029324cddc83a840b2c136b7ce99af3a66cb3084e4e2ca6f44ac5ceaf7a1157be2673df688b43bd51b9a8444ce194e3ca7f2
Computed ffeab16eea5c43bfd08d2591f9a4029324cddc83a840b2c136b7ce99af3a66cb3084e4e2ca6f44ac5ceaf7a1157be2673df688b43bd51b9a8444ce194e3ca7f2
Result: OK
From byte 448 to byte 511
Expected 0d3873fd47a7b3400115c40574469d215bce0679ed5cf9e374e473b4427de4985804dd75151d72ee367a3f066e641b7f5cf28a67215b74dd80eb3fc02e12a308
Computed 0d3873fd47a7b3400115c40574469d215bce0679ed5cf9e374e473b4427de4985804dd75151d72ee367a3f066e641b7f5cf28a67215b74dd80eb3fc02e12a308
Result: OK
xor-digest
Expected 838960663a70c2cacd205bc38d8bcc128438d6a03006727ef1440b1d3c7fd557cc4a02ac9cf7d51dcfe3862accdeeebeb15393ee6d8e4483710932c4b44990b5
Computed 838960663a70c2cacd205bc38d8bcc128438d6a03006727ef1440b1d3c7fd557cc4a02ac9cf7d51dcfe3862accdeeebeb15393ee6d8e4483710932c4b44990b5
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 36

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0000000008000000
From byte 0 to byte 63
Expected 22e129373f7589d9eafff18dea63432e38d0245bae221d3635bee176760552b89b6bc49cfeb7d9a5b358963c488ed8fad01f1c72307cadeef9c20273fb5d6775
Computed 22e129373f7589d9eafff18dea63432e38d0245bae221d3635bee176760552b89b6bc49cfeb7d9a5b358963c488ed8fad01f1c72307cadeef9c20273fb5d6775
Result: OK
From byte 192 to byte 255
Expected 6e6ffcb8b324ee4ff55e64449b2a356bd53d8ab7747dffc0b3d044e0be1a736b4ab2109624600fe8ca7e6949a4df82aca5c96d039f78b67767a1b66fab0ef24b
Computed 6e6ffcb8b324ee4ff55e64449b2a356bd53d8ab7747dffc0b3d044e0be1a736b4ab2109624600fe8ca7e6949a4df82aca5c96d039f78b67767a1b66fab0ef24b
Result: OK
From byte 256 to byte 319
Expected c3df823dba0f84d70e425d0c2c88dce3caec3acca435b5a2832be2e0f0aa46ad3f288afe49be5c345dc65445d26993f51e3f46e0c1b02b5aedf73d68336aa04f
Computed c3df823dba0f84d70e425d0c2c88dce3caec3acca435b5a2832be2e0f0aa46ad3f288afe49be5c345dc65445d26993f51e3f46e0c1b02b5aedf73d68336aa04f
Result: OK
From byte 448 to byte 511
Expected 443b0fdc4f8365ab93a07682ebca7b9242259a26dab3574b2e562ccabdb2563396f331146347c26d5db49c87054642f860fc1a0b87468ed0b5cb9c30d72ea8f7
Computed 443b0fdc4f8365ab93a07682ebca7b9242259a26dab3574b2e562ccabdb2563396f331146347c26d5db49c87054642f860fc1a0b87468ed0b5cb9c30d72ea8f7
Result: OK
xor-digest
Expected 8d2110ea7cabd4a3daec4768131d8aed9e7e1eb1e1f553f7ee38fb339b6484440f43ab7c7f17bb593bf2cfb53688cc74f00a32117039da4745f78e66059000e6
Computed 8d2110ea7cabd4a3daec4768131d8aed9e7e1eb1e1f553f7ee38fb339b6484440f43ab7c7f17bb593bf2cfb53688cc74f00a32117039da4745f78e66059000e6
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 45

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0000000000040000
From byte 0 to byte 63
Expected dc302570a4d1c44f31d9fa55c7712b11ae770bfaa3f8631dff924bcf00a09c906571b024ce5264215e516d73416bf3e3ce373cae669db1a057efd7eb184243b6
Computed dc302570a4d1c44f31d9fa55c7712b11ae770bfaa3f8631dff924bcf00a09c906571b024ce5264215e516d73416bf3e3ce373cae669db1a057efd7eb184243b6
Result: OK
From byte 192 to byte 255
Expected a52427068f8048fc5e3e6e94a1a616cd11f5a9ed4f8899f780f67836eec4fadbb19c183c6946541f182f224104df944466d96a6ce7f2efe723807a8738950ad9
Computed a52427068f8048fc5e3e6e94a1a616cd11f5a9ed4f8899f780f67836eec4fadbb19c183c6946541f182f224104df944466d96a6ce7f2efe723807a8738950ad9
Result: OK
From byte 256 to byte 319
Expected d1410a14dfa3da5c9bdf18a34476f7c0d7a8373331741ed62682c555ea8b62a81edb10db9479baf2cd532cfb18357a92ff90897315f69cee526de31329cfa06b
Computed d1410a14dfa3da5c9bdf18a34476f7c0d7a8373331741ed62682c555ea8b62a81edb10db9479baf2cd532cfb18357a92ff90897315f69cee526de31329cfa06b
Result: OK
From byte 448 to byte 511
Expected 9ca44af188e42090f9969fb5f771c987557912b83261760ee80a809f7e398a66d56049ffdffbd3e16633537b84afb38e564b717a0c26ebfee907b8ef7fda31f0
Computed 9ca44af188e42090f9969fb5f771c987557912b83261760ee80a809f7e398a66d56049ffdffbd3e16633537b84afb38e564b717a0c26ebfee907b8ef7fda31f0
Result: OK
xor-digest
Expected bbf40e80ebbcbcc93067cac497fd4403d1e797ac131a593d06bca34ed650cb3d70403b26550ebb76e00ce04cb15f28ca99f1700abba462f041d474e008488f0d
Computed bbf40e80ebbcbcc93067cac497fd4403d1e797ac131a593d06bca34ed650cb3d70403b26550ebb76e00ce04cb15f28ca99f1700abba462f041d474e008488f0d
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 54

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0000000000000200
From byte 0 to byte 63
Expected 98951956f4bd5e2e9dc624ccd2d79e606d24a4db51d413fdaf9a9741a6f079b421400fda0b4d8785578bb318bdad4abca8c2d1ba3ba4e18c2f5572499f345bc1
Computed 98951956f4bd5e2e9dc624ccd2d79e606d24a4db51d413fdaf9a9741a6f079b421400fda0b4d8785578bb318bdad4abca8c2d1ba3ba4e18c2f5572499f345bc1
Result: OK
From byte 192 to byte 255
Expected c3a267f0eb87ed714e09cabc2780fef6e5f665bbbbb44c8448d8eb42d88275cd62ad759aac9f4080f73993de50ff94e834e2cf7b74a91e68b38eace9c12922c2
Computed c3a267f0eb87ed714e09cabc2780fef6e5f665bbbbb44c8448d8eb42d88275cd62ad759aac9f4080f73993de50ff94e834e2cf7b74a91e68b38eace9c12922c2
Result: OK
From byte 256 to byte 319
Expected 78bd0bb32a69e62362ee7e31f1dd9e96ca6e196844efd9459f270d612119dfa45dd1522967629143cecd585cfe62b7fd9d1503a62a238c35a66595c49dd71575
Computed 78bd0bb32a69e62362ee7e31f1dd9e96ca6e196844efd9459f270d612119dfa45dd1522967629143cecd585cfe62b7fd9d1503a62a238c35a66595c49dd71575
Result: OK
From byte 448 to byte 511
Expected c17f946c14a492392a1c554993f406b2ea806e4186d97fcb420c21fb4245a3db4eba2bcb59d2c33ce2cd5044a79a96f95182112d9724e16ad9e965047da71f05
Computed c17f946c14a492392a1c554993f406b2ea806e4186d97fcb420c21fb4245a3db4eba2bcb59d2c33ce2cd5044a79a96f95182112d9724e16ad9e965047da71f05
Result: OK
xor-digest
Expected 0094c2c02618e924d6cd7c96cbd6a44a33d3983dead3084c1a694490b367ce6d7732300c3ba3848c2ea143031a980be49c1354a528d1e1e1b1a55aff18bd0f92
Computed 0094c2c02618e924d6cd7c96cbd6a44a33d3983dead3084c1a694490b367ce6d7732300c3ba3848c2ea143031a980be49c1354a528d1e1e1b1a55aff18bd0f92
Result: OK
DECIPHERING Checking deciphered text with input plaintext: OK

 

Set 5, vector# 63

Input plaintext: 512 zero bytes
Key: 0000000000000000000000000000000000000000000000000000000000000000
Initial vector: 0000000000000001
From byte 0 to byte 63
Expected b47f96aa96786135297a3c4ec56a613d0b80095324ff43239d684c57ffe42e1c44f3cc011613db6cdc880999a1e65aed1287fcb11c839c37120765afa73e5075
Computed b47f96aa96786135297a3c4ec56a613d0b80095324ff43239d684c57ffe42e1c44f3cc011613db6cdc880999a1e65aed1287fcb11c839c37120765afa73e5075
Result: OK
From byte 192 to byte 255
Expected 97128bd699ddc1b4b135d94811b5d2d6b2adcbdc1ed8d3cf86ecf65a1750de66ca5f1c2ed350dc2f497396e029dbd4a06fdda6238be7d120dd41e9f19e6deea2
Computed 97128bd699ddc1b4b135d94811b5d2d6b2adcbdc1ed8d3cf86ecf65a1750de66ca5f1c2ed350dc2f497396e029dbd4a06fdda6238be7d120dd41e9f19e6deea2
Result: OK
From byte 256 to byte 319
Expected ff8065ad901a2dfc5c01642a840f7593ae032946058e54ea67300fbf7b928c203244ef546762ba640032b6a2514122de0ca969283f70ce21f981a5d668274f0d
Computed ff8065ad901a2dfc5c01642a840f7593ae032946058e54ea67300fbf7b928c203244ef546762ba640032b6a2514122de0ca969283f70ce21f981a5d668274f0d
Result: OK
From byte 448 to byte 511
Expected 1309268be548efec38d79df4334ca949ab15a2a1003e2b97969fe0cd74a16a065fe8691f03cbd0ecfcf6312f2ee0697f44bd3bf3e60320b289cbf21b428c8922
Computed 1309268be548efec38d79df4334ca949ab15a2a1003e2b97969fe0cd74a16a065fe8691f03cbd0ecfcf6312f2ee0697f44bd3bf3e60320b289cbf21b428c8922
Result: OK
xor-digest
Expected 1115d387a0c41a67543be13dd539ab844d9a2cc98c20bb6e7b092268c060884f53774e3b044c6058b137cccadf9f702696b3d40dff3835341e4bf01bdd1c8fb1
Computed 1115d387a0c41a67543be13dd539ab844d9a2cc98c20bb6e7b092268c060884f53774e3b044c6058b137cccadf9f702696b3d40dff3835341e4bf01bdd1c8fb1
Result: OK
DECIPHERING Checking deciphered text with input plaintext: 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
symmetricCiphers.h
baseSymmetricCipher.h
baseSymmetricCipher.cpp
symmetricStreamers.h
symmetricStreamerSpecialTypes.h
baseSymmetricStreamer.h
baseSymmetricStreamer.cpp
baseSymmetricStreamer_with_IV.h
baseSymmetricStreamer_with_IV.cpp
streamCiphers.h
baseStreamCipher_with_IV.h
baseStreamCipher_with_IV.cpp
baseSalsa20_20.h
baseSalsa20_20.cpp
salsa20_20_256.h
salsa20_20_256.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