What follows are various test vectors for the message decryption module, using the key and message bit lengths of each method - 32/64 key: 0000000000000000 message: 00000000 -> 00000000 key: 1111111111111111 message: 11111111 -> 11114444 key: 0123456789abcdef message: 01234567 -> 4567db15 key: 1918111009080100 message: c69be9bb -> e9bbf215 key: 1918111009080100 message: e9bbf215 -> f21524ce key: a727467bde02067e message: 1e14ac5d -> ac5df1b4 key: 7279078c90ec9128 message: 82d98df3 -> 8df337ba key: 4057f9c08a439cd5 message: 85e724dc -> 24dcc262 key: cd93748a8e8c91e9 message: 025b1add -> 1addeddc key: b77670d08b4b670e message: 5b135208 -> 5208742c - 48/72 key: 000000000000000000 message: 000000000000 -> 000000000000 key: 111111111111111111 message: 111111111111 -> 111111444444 key: 0123456789abcdef01 message: 0123456789ab -> 6789abdbe9af key: 1211100a0908020100 message: dae5ac292cac -> 292cac7c5e14 key: 1211100a0908020100 message: 292cac7c5e14 -> 7c5e148241d5 key: 695ff113b4e3bb7d9b message: 0a48f87a2f73 -> 7a2f737ddacc key: d87459a55f7232b077 message: bd539287033b -> 87033b91ed0c key: 804dd169ebc01eeafc message: 529a357a2930 -> 7a293084c468 key: 66d3babd9eade71698 message: 91b078b25081 -> b25081ff65e4 key: de53fc221a1d37baeb message: 778afcc94da3 -> c94da36585d9 - 48/96 key: 000000000000000000000000 message: 000000000000 -> 000000000000 key: 111111111111111111111111 message: 111111111111 -> 111111444444 key: 0123456789abcdef01234567 message: 0123456789ab -> 6789ab3543c9 key: 1a19181211100a0908020100 message: 6e06a5acf156 -> acf1568e8053 key: 1a19181211100a0908020100 message: acf1568e8053 -> 8e805394f19e key: 62bfdc6fcdf3dd99784da5d2 message: 38711b64903a -> 64903a67b444 key: 03733bf33f2127762a43fc0b message: 7a64a0196fe0 -> 196fe07ee72b key: 81c7c00009d6ab27314ab37c message: 4f2f5c655337 -> 655337d2f699 key: 979c0e00fd68204b781a3c01 message: 1c503587f953 -> 87f95310dbfd key: 57a3c10223114a1cdfa499fd message: d1ed81b40499 -> b40499a56f2a - 64/96 key: 000000000000000000000000 message: 0000000000000000 -> 0000000000000000 key: 111111111111111111111111 message: 1111111111111111 -> 1111111144444444 key: 0123456789abcdef01234567 message: 0123456789abcdef -> 89abcdef25eabc37 key: 131211100b0a090803020100 message: 5ca2e27f111a8fc8 -> 111a8fc819cfd44f key: 131211100b0a090803020100 message: 111a8fc819cfd44f -> 19cfd44f76b3d7ec key: e0b6ea363075bb82bc503819 message: 69c5d08f79f41c23 -> 79f41c23c24db85b key: 8914cae8574fae19947c1849 message: 16df3fd580865a02 -> 80865a0280b24f96 key: 68555e2fb3853cafffeda347 message: 414ccd305d00142f -> 5d00142fcaa11696 key: c2c49c81d06edd66e7572354 message: b8d3d15b788a85e4 -> 788a85e43dabe5d6 key: 804eff455e9be99559801a00 message: 47dbe95fc1f1f9e4 -> c1f1f9e4987df40d - 64/128 key: 00000000000000000000000000000000 message: 0000000000000000 -> 0000000000000000 key: 11111111111111111111111111111111 message: 1111111111111111 -> 1111111144444444 key: 0123456789abcdef0123456789abcdef message: 0123456789abcdef -> 89abcdefad6234bf key: 1b1a1918131211100b0a090803020100 message: 44c8fc20b9dfa07a -> b9dfa07af3143c7b key: 1b1a1918131211100b0a090803020100 message: b9dfa07af3143c7b -> f3143c7b72a52866 key: f8b37e123ef9692171c7f3c61f262c01 message: ef18d4b5801ee0da -> 801ee0daf065bb5e key: 7cfb38eb0201eb695d0455344f15729e message: 5579fcda84f74524 -> 84f7452408f59ad6 key: de6912807df74c7f1b29147f60666448 message: 79e672ebda14c636 -> da14c63665d30a30 key: 355ca6611accbafad2198cdbabb89bc6 message: e94770fe7002ce00 -> 7002ce0082f0d339 key: 4a5a2719bb52ca9b1759ff9eb3db3c89 message: a524e3468ce35460 -> 8ce354602436aecd - 96/96 key: 000000000000000000000000 message: 000000000000000000000000 -> 000000000000000000000000 key: 111111111111111111111111 message: 111111111111111111111111 -> 111111111111444444444444 key: 0123456789abcdef01234567 message: 0123456789abcdef01234567 -> cdef012345677070428ddb9e key: 0d0c0b0a0908050403020100 message: 602807a462b469063d8ff082 -> 69063d8ff082c338f98921bd key: 0d0c0b0a0908050403020100 message: 69063d8ff082c338f98921bd -> c338f98921bd609059a97636 key: 5cbd4b9e53057c3298308615 message: 2d8ee0c106c411d6abf9c2f4 -> 11d6abf9c2f4144f86d40f01 key: ac2491b6d9f84ef802c689b1 message: 1aebbb6ba4be5d7a930c4065 -> 5d7a930c40651b68f19c2cd2 key: 1140de33d906d7f8764563a7 message: caff0a4b045aa0ec0a34f8da -> a0ec0a34f8dadebf40b55437 key: bec9cee94ec9f41f26664e97 message: fa5c85278f0a3e77e690a4d2 -> 3e77e690a4d2837ab92312f1 key: db13a2b56f71ea32da4e8e7f message: 28c4a21a6d6162742c32c7af -> 62742c32c7af0f0ed8da72e1 - 96/144 key: 000000000000000000000000000000000000 message: 000000000000000000000000 -> 000000000000000000000000 key: 111111111111111111111111111111111111 message: 111111111111111111111111 -> 111111111111444444444444 key: 0123456789ab0123456789abcdef01234567 message: 0123456789abcdef01234567 -> cdef012345677070428ddb9e key: 1514131211100d0c0b0a0908050403020100 message: ecad1c6c451e3f59c5db1ae9 -> 3f59c5db1ae94c4f83100ea8 key: 1514131211100d0c0b0a0908050403020100 message: 3f59c5db1ae94c4f83100ea8 -> 4c4f83100ea803e0ca992908 key: dc1ed8f3f64432594958a9178aa206a5d2a4 message: 1f1370fe16547736ecd84ab2 -> 7736ecd84ab26f061d3a7e5d key: aa303b7ad06d445fdf552e3ed4a90c91c072 message: 292320e3f412c40a5a2ca21b -> c40a5a2ca21be5b360c0bc0b key: 568043b87483c35a1ccb5347574c9ae12165 message: de4c89eff59ebd2213aa935e -> bd2213aa935e5f887fb59f3c key: 02ce11d745ae0bb0ea0c7351e724fda9f2de message: b323cae3798e5540b6a5326a -> 5540b6a5326a0185c8dc22ad key: 17ff8b1d107bf34d6fb48a54a55c4ae2043b message: 09c86a0bdc9ab7c551265d56 -> b7c551265d563681463cbf5e - 128/128 key: 00000000000000000000000000000000 message: 00000000000000000000000000000000 -> 00000000000000000000000000000000 key: 11111111111111111111111111111111 message: 11111111111111111111111111111111 -> 11111111111111114444444444444444 key: 0123456789abcdef0123456789abcdef message: 0123456789abcdef0123456789abcdef -> 0123456789abcdef06c9171725eabcbc key: 0f0e0d0c0b0a09080706050403020100 message: 49681b1e1e54fe3f65aa832af84e0bbc -> 65aa832af84e0bbc52c510e1bc66c5ae key: 0f0e0d0c0b0a09080706050403020100 message: 65aa832af84e0bbc52c510e1bc66c5ae -> 52c510e1bc66c5aeacb8e4286a129655 key: c10faf72e51d79d6321357d4713655dc message: b4f54bd0e087930992fa803bcec08fe5 -> 92fa803bcec08fe5ed8c1cad2a32fcc1 key: 51fe34062c7854bcb4a5a78d6768fb41 message: bd346a4bd2bcab743a43a4ec7cf2096f -> 3a43a4ec7cf2096fa01b162fb61c7793 key: 5faa24ddb023f4b39195a51a4940a368 message: c1814db8805e1701b1c50e43a30b9f4a -> b1c50e43a30b9f4ad60ad12f4727c3d2 key: df4d779949cda57e252fafff237bb30f message: 4a062b11cf15fa96cf1432369818d986 -> cf1432369818d9864759683c9c1cad8f key: ddf24f2952fa99bb59a753c65047500d message: 43b27ad7ed639c8e9c172ccfedcbf305 -> 9c172ccfedcbf3057a65d3a3c198049d - 128/192 key: 000000000000000000000000000000000000000000000000 message: 00000000000000000000000000000000 -> 00000000000000000000000000000000 key: 111111111111111111111111111111111111111111111111 message: 11111111111111111111111111111111 -> 11111111111111114444444444444444 key: 0123456789abcdef0123456789abcdef0123456789abcdef message: 0123456789abcdef0123456789abcdef -> 0123456789abcdef06c9171725eabcbc key: 17161514131211100f0e0d0c0b0a09080706050403020100 message: c4ac61effcdc0d4f6c9c8d6e2597b85b -> 6c9c8d6e2597b85be9d15b576aa8bd06 key: 17161514131211100f0e0d0c0b0a09080706050403020100 message: 6c9c8d6e2597b85be9d15b576aa8bd06 -> e9d15b576aa8bd061dddf31d0c264f49 key: 884ddf5184d80661ca7f762094405451fd70a5d5dc91a9fd message: b6524e37964c44ec691a3e5c09e5fc11 -> 691a3e5c09e5fc11fd7e4e9a6c820d74 key: 1b6010c29d7fd7c5967f47dab55234341a888cde55e83b96 message: 31a80048b449a4bfd41fc97b0ae012c4 -> d41fc97b0ae012c47356bb78ca21d0ba key: c921b1810ad3ec6d0f8ae1067c61136d7b70e61f44db2424 message: 44f26663c8398a13a7316d4e1629354e -> a7316d4e1629354ea3277f50fc563188 key: 1e56539059d82626e94ae92db077b8cf54cf5b1708a466bd message: c4a70651eacc6821ad3dcce6d380cad0 -> ad3dcce6d380cad03cd7ee1c2c6bb57f key: 39441455ce1aed654ef5e836262b2036da29270f7eac135f message: 5e4dc0d6d39f2e75920562e2ec7e3d28 -> 920562e2ec7e3d28c873ac9644f7e198 - 128/256 key: 0000000000000000000000000000000000000000000000000000000000000000 message: 00000000000000000000000000000000 -> 00000000000000000000000000000000 key: 1111111111111111111111111111111111111111111111111111111111111111 message: 11111111111111111111111111111111 -> 11111111111111114444444444444444 key: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef message: 0123456789abcdef0123456789abcdef -> 0123456789abcdef06c9171725eabcbc key: 1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100 message: 8d2b5579afc8a3a03bf72a87efe7b868 -> 3bf72a87efe7b86812dbff6dd4dc2310 key: 1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100 message: 3bf72a87efe7b86812dbff6dd4dc2310 -> 12dbff6dd4dc23107629bee437b53528 key: 95894ec992df90f6ad36a2e0fafdced683f685c75894034a08e06e42fa8fab36 message: 8e00e06968cd98a8b230f61db083fd84 -> b230f61db083fd846e435a6d5148458c key: c27825f8088dc628756f7e9f344267d8290cfedbdb25431a7b463726bc3dc6d3 message: f34b0542c3b87fd93484747222446230 -> 34847472224462305a1c838cb29431ea key: 3b383747ce7070dcfd7c08b79ad20b9d91b2384db5fb42289376a2a4b5864882 message: b4373305549a51f8f54ceaf35d37874c -> f54ceaf35d37874cbafaeb28a7c508d8 key: f17dbdc7841b64e29b7ce8f904a9cc4940a14e2403b8e23a11f0b4cea467ea06 message: 36978329d11466b927d7e2344d76ab26 -> 27d7e2344d76ab26ff9abb7e52002623 key: 1e8d6c25f1c4f61e64d299664bf6951dc1904c9d9f10f7d0d90a7c42433b0e92 message: 0c086934d7b56d75b071d7ebbb03ae8a -> b071d7ebbb03ae8a7406e14b7a86d1dd