Author

Topic: AES Rijndael Algorithmus Test vectors (Read 175 times)

full member
Activity: 161
Merit: 168
February 12, 2023, 08:27:58 PM
#11
That's quite a reaction. Asking questions is normal because to be able to give the best answer, more details are needed. Most of the time when someone asks weird questions like this, it's because they have a goal C in mind, and is trying to get from A->C and is blocked by something in A, while the best way to reach goal C would actually be to do B->C instead. Asking what C is helps us give the correct answer to how to get to C.

If you had started with something like "I want to learn the inner workings of the AES algorithm and is trying to create my own implementation, but for some reason I get the wrong answers. Here is my code, do you see any obvious errors?" - then that would explain your goal and your problem perfectly, and we would be able to help better. But for some reason you don't want to reveal what you are trying to do, and is offended when people ask for details.


My question about test vectors is clear and not weird.
Your answer, on the other hand, is outrageous!
They interpret and assume things that are wrong!
They had not written anything meaningful here.
I'm sorry for everyone else that I have to close the thread again.

For all others:
My test vekors above seem to be correct.
A very good site with test vectors I found:
https://www.cryptool.org/en/cto/aes-step-by-step
full member
Activity: 161
Merit: 168
February 12, 2023, 12:23:56 PM
#9
For other readers of this thread, who may also want test vectors,
I have now created test vectors with my implementation.
No guarantee whether you are right.
If you want someone, I can also create more vectors.

I now open the thread again with the note:
Note: This is not a discusion!
This thread is only about the test vectors from AES!
Questions why AES is implemented here are undesirable!

Code:
KeyExpand (AES-256) Master Key: 5ff2d5c72ec524fb22c17c95bb8b7bd60b6484e576dcd7c2b0bbac234639e77c
5ff2d5c7 2ec524fb 22c17c95 bb8b7bd6
0b6484e5 76dcd7c2 b0bbac23 4639e77c
4c66c59d 62a3e166 40629df3 fbe9e625
047a0ada 72a6dd18 c21d713b 84249647
78f665c2 1a5584a4 5a371957 a1deff72
36671c9a 44c1c182 86dcb0b9 02f826fe
3d01deb5 27545a11 7d634346 dcbdbc34
b01d7982 f4dcb800 720008b9 70f82e47
74307ee4 536424f5 2e0767b3 f2badb87
39e9c095 cd357895 bf35702c cfcd5e6b
d968016e 8a0c259b a40b4228 56b199af
88212eec 45145679 fa212655 35ec783e
37d4b3f8 bdd89663 19d3d44b 4f624de4
0c8bcd85 499f9bfc b3bebda9 8652c597
77723bbc caaaaddf d3797994 9c1b3470

KeyExpand (AES-256) Master Key: 0a6d367a4f7da116e8f9b69f39c8bbc671d9c7afed6b725292fea0572d801e4d
0a6d367a 4f7da116 e8f9b69f 39c8bbc6
71d9c7af ed6b7252 92fea057 2d801e4d
c61fd5a2 896274b4 619bc22b 585379ed
1b3471fa f65f03a8 64a1a3ff 4921bdb2
3965e299 b007962d d19c5406 89cf2deb
bcbea913 4ae1aabb 2e400944 6761b4f6
d2e8a01c 62ef3631 b3736237 3abc4fdc
3cdb2d95 763a872e 587a8e6a 3f1b3a9c
75687e69 17874858 a4f42a6f 9e4865b3
378960f8 41b3e7d6 19c969bc 26d25320
d085c99e c70281c6 63f6aba9 fdbece1a
6327eb5a 22940c8c 3b5d6530 1d8f3610
8380033a 448282fc 27742955 dacae74f
34537fde 16c77352 2d9a1662 30152072
9a37433e deb5c1c2 f9c1e897 230b0fd8

KeyExpand (AES-256) Master Key: b765daeb9f51166fbf0c345ebe4e48561b05be89cd8026e2990af57bc99bd071
b765daeb 9f51166f bf0c345e be4e4856
1b05be89 cd8026e2 990af57b c99bd071
a2157936 3d446f59 82485b07 3c061351
f06ac358 3deae5ba a4e010c1 6d7bc0b0
81af9e0a bcebf153 3ea3aa54 02a5b905
876c9533 ba867089 1e666048 731da0f8
214fdf85 9da42ed6 a3078482 a1a23d87
b556b224 0fd0c2ad 11b6a2e5 62ab021d
4b387b2f d69c55f9 759bd17b d439ecfc
fd447c94 f294be39 e3221cdc 81891ec1
fc4a0323 2ad656da 5f4d87a1 8b746b5d
c0d603d8 3242bde1 d160a13d 50e9bffc
c242b370 e894e5aa b7d9620b 3cad0956
2b430269 1901bf88 c8611eb5 9888a149
46708836 aee46d9c 193d0f97 259006c1

KeyExpand (AES-256) Master Key: b34dafa74eabec19fd63c6eb8441c9fca1a4223d9b5ea39db71fbcd9d2399257
b34dafa7 4eabec19 fd63c6eb 8441c9fc
a1a4223d 9b5ea39d b71fbcd9 d2399257
a002f412 eea9180b 13cadee0 978b171c
2999d2a1 b2c7713c 05d8cde5 d7e15fb2
5acdc31c b464db17 a7ae05f7 302512eb
2da61b48 9f616a74 9ab9a791 4d58f823
348ce5ff 80e83ee8 27463b1f 176329f4
dd5dbef7 423cd483 d8857312 95dd8b31
fdb122d5 7d591c3d 5a1f2722 4d7c0ed6
3e4d1501 7c71c182 a4f4b290 312939a1
48a31012 35fa0c2f 6fe52b0d 229925db
ada32ab8 d1d2eb3a 752659aa 440f600b
1e733b09 2b893726 446c1c2b 66f539f0
9e453834 4f97d30e 3ab18aa4 7ebeeaaf
f0f442fa db7d75dc 9f1169f7 f9e45007

KeyExpand (AES-256) Master Key: 23b52bb223fd431e82870da569480c71263c3438247df831bc6f17ee9dc1feda
23b52bb2 23fd431e 82870da5 69480c71
263c3438 247df831 bc6f17ee 9dc1feda
5a0e7cec 79f33ff2 fb743257 923c3e26
69d786cf 4daa7efe f1c56910 6c0497ca
aa8608bc d375374e 28010519 ba3d3b3f
9df064ba d05a1a44 219f7354 4d9be49e
baef035f 699a3411 419b3108 fba60a37
92d40320 428e1964 63116a30 2e8a8eae
ccf6e76e a56cd37f e4f7e277 1f51e840
52059829 108b814d 739aeb7d 5d1065d3
16bb8122 b3d7525d 5720b02a 4871586a
00a6f22b 102d7366 63b7981b 3ea7fdc8
6aef6990 d9383bcd 8e188be7 c669d38d
b45f9476 a472e710 c7c57f0b f96282c3
80fc4709 59c47cc4 d7dcf723 11b524ae

KeyExpand (AES-256) Master Key: c8d3bf1e11bc9a78bfde605b89f654b55899bb8c9c9d095287cdaabd3d9e9694
c8d3bf1e 11bc9a78 bfde605b 89f654b5
5899bb8c 9c9d0952 87cdaabd 3d9e9694
c2439d39 d3ff0741 6c21671a e5d733af
819778f5 1d0a71a7 9ac7db1a a7594d8e
0ba08465 d85f8324 b47ee43e 51a9d791
50447674 4d4e07d3 d789dcc9 70d09147
7f212434 a77ea710 1300432e 42a994bf
7c97547c 31d953af e6508f66 96801e21
ba53d9a4 1d2d7eb4 0e2d3d9a 4c84a925
55c88743 6411d4ec 82415b8a 14c145ab
d23dbb5e cf10c5ea c13df870 8db95155
089e56bf 6c8f8253 eeced9d9 fa0f9c72
84e3fb73 4bf33e99 8acec6e9 077797bc
cd6bdeda a1e45c89 4f2a8550 b5251922
fb3768a6 b0c4563f 3a0a90d6 3d7d076a

KeyExpand (AES-256) Master Key: 35d19802a45404dce24895de69b4140108ae5870bf1fdc5460c8a3e563f5bcf9
35d19802 a45404dc e24895de 69b41401
08ae5870 bf1fdc54 60c8a3e5 63f5bcf9
d2b401f9 76e00525 94a890fb fd1c84fa
5c32075d e32ddb09 83e578ec e010c415
1aa85818 6c485d3d f8e0cdc6 05fc493c
37823cb6 d4afe7bf 574a9f53 b75a5b46
a09102b1 ccd95f8c 3439924a 31c5db76
f024858e 248b6231 73c1fd62 c49ba624
bcb534ad 706c6b21 4455f96b 7590221d
6d44162a 49cf741b 3a0e8979 fe952f5d
86a07816 f6cc1337 b299ea5c c709c841
ab45fea9 e28a8ab2 d88403cb 26112c96
24d1e8e1 d21dfbd6 6084118a a78dd9cb
f718cbb6 15924104 cd1642cf eb076e59
a14e2308 7353d8de 13d7c954 b45a109f

KeyExpand (AES-256) Master Key: dbb16caab65f2bb3c5c7d465845af309e100f4882b9a099a228220406ce506e9
dbb16caa b65f2bb3 c5c7d465 845af309
e100f488 2b9a099a 22822040 6ce506e9
03de72fa b5815949 70468d2c f41c7e25
5e9c07b7 75060e2d 57842e6d 3b612884
eeea2d18 5b6b7451 2b2df97d df318758
c05b10dd b55d1ef0 e2d9309d d9b81819
8647f92d dd2c8d7c f6017401 2930f359
655f1d16 d00203e6 32db337b eb632b62
75b653c4 a89adeb8 5e9baab9 77ab59e0
903dd6f7 403fd511 72e4e66a 9987cd08
720b632a da91bd92 840a172b f3a14ecb
9d0ff9e8 dd302cf9 afd4ca93 3653079b
bfce772f 655fcabd e155dd96 12f4935d
54b025a4 8980095d 2654c3ce 1007c455
3ad28be5 5f8d4158 bed89cce ac2c0f93

KeyExpand (AES-256) Master Key: 82a6b73160fb0f8f7f8474489f89dbe04fe678dfa465978458573461b7ce106f
82a6b731 60fb0f8f 7f847448 9f89dbe0
4fe678df a4659784 58573461 b7ce106f
086c1f98 68971017 1713645f 889abfbf
8b5e70d7 2f3be753 776cd332 c0a2c35d
30425322 58d54335 4fc6276a c75c98d5
4d1436d4 622fd187 154302b5 d5e1c1e8
cc3ac821 94ef8b14 db29ac7e 1c7534ab
d1892eb6 b3a6ff31 a6e5fd84 73043c6c
36d198ae a23e13ba 7917bfc4 65628b6f
9c23131e 2f85ec2f 896011ab fa642dc7
65095e83 c7374d39 be20f2fd db427992
250fa551 0a8a497e 83ea58d5 798e7512
5c949735 9ba3da0c 258328f1 fec15163
9e7774aa 94fd3dd4 17176501 6e991013
f25eeaaa 69fd30a6 4c7e1857 b2bf4934

KeyExpand (AES-256) Master Key: 2b1f5e5e1e4864d2825a5b4cdff684c8e3d86d8a532acc2c9d6aefbfcbc8e154
2b1f5e5e 1e4864d2 825a5b4c dff684c8
e3d86d8a 532acc2c 9d6aefbf cbc8e154
c2e77e41 dcaf1a93 5ef541df 8103c517
efa3cb7a bc890756 21e3e8e9 ea2b09bd
31e604c6 ed491e55 b3bc5f8a 32bf9a9d
ccab7324 70227472 51c19c9b bbea9526
b2ccf32c 5f85ed79 ec39b2f3 de86286e
d1ef47bb a1cd33c9 f00caf52 4be63a74
344c619f 6bc98ce6 87f03e15 5976167b
1ad7009a bb1a3353 4b169c01 00f0a675
a868fcfc c3a1701a 44514e0f 1d275874
be1b6a08 0501595b 4e17c55a 4ee7632f
1c93e9d3 df3299c9 9b63d7c6 86448fb2
fa00193f ff014064 b116853e fff1e611
fd1d6bc5 222ff20c b94c25ca 3f08aa78




Code:
ShiftRows in / out:
765ad1f1 341441e1 43b5a6cb 5fff92e3
7614a6e3 34b592f1 43ffd1e1 5f5a41cb

ShiftRows in / out:
ff21ce90 3176a3e1 92167f10 34fb0147
ff767f47 31160190 92fbcee1 3421a310

ShiftRows in / out:
abf78e72 e42afd2b eba52083 b78b7a81
ab2a2081 e4a57a72 eb8b8e2b b7f7fd83

ShiftRows in / out:
7a1e323f e323d278 137947e1 c8a75bb3
7a2347b3 e3795b3f 13a73278 c81ed2e1

ShiftRows in / out:
16e2e291 72d2d0b8 095ca663 0bf26e81
16d2a681 725c6e91 09f2e2b8 0be2d063

ShiftRows in / out:
6f8a5ac2 2b9da38c 8c20c885 d0fb4299
6f9dc899 2b2042c2 8cfb5a8c d08aa385

ShiftRows in / out:
67cdc6e9 68716eda 85984322 a0c6b170
67714370 6898b1e9 85c6c6da a0cd6e22

ShiftRows in / out:
6d69f7cd 4716d758 9168c685 ca8c3d3b
6d16c63b 47683dcd 918cf758 ca69d785

ShiftRows in / out:
7846bf2f 9fee46c4 023199a5 e71c9394
78ee9994 9f31932f 021cbfc4 e74646a5

ShiftRows in / out:
635f567e b733937e d09f4068 d1a8af2b
6333402b b79faf7e d0a8567e d15f9368


Code:
MixColumns in / out:
50f43698 41c02d62 2bdc213e 4a8c501f
09617b19 96cf7dea 36d5f7fc 54a6473c

MixColumns in / out:
62cb9b72 dbe8309c 4499bbc3 c9e855ac
6b2b1212 22dcec8d 4078ee73 535164be

MixColumns in / out:
99283115 3a8fed4d 59a54527 95312445
758fec83 5e5ea3b6 24e01f45 03de233b

MixColumns in / out:
5430ea56 eaa06411 703b5c32 83b60926
4447518a 410cb1c3 c3d0a593 f3c94d6d

MixColumns in / out:
8d4aba9b 4205386c 471d69aa e7173b49
fe571e51 df6c8323 6a6c6df2 9ecd5d8c

MixColumns in / out:
c3d32732 95e0b057 e0f90aca 95e31f7e
e62508ce edd2f75a 0bdd4847 6e17caa4

MixColumns in / out:
429dc3c1 897603f4 395f96c5 41d48ad5
3afc1a01 6494fe06 c0e30513 baa2fe2c

MixColumns in / out:
dfc7aaf2 01322da2 1b07ebfb b906c1a9
af5d5ae8 dbb09443 2fc8c72c 0b44c65e

MixColumns in / out:
e06e838b eaadf3d8 57a66009 033495a1
612915db 087dc9d0 36a92a2d 6e6efefd

MixColumns in / out:
d9b45867 3b44b7b6 1a986041 f1d4b846
51257452 bbc7cbc9 a6d08154 60d784e8



Code:
SubBytes in / out:
ff61fd61 3332b1ef cc4a1831 da004726
16ef54ef c323c8df 4bd6adc7 5763a0f7

SubBytes in / out:
363e1f31 8462ad6b f48af479 1ed74eff
05b2c0c7 5faa957f bf7ebfb6 720e2f16

SubBytes in / out:
8d14637d adf691a0 e21e4d15 866d9261
5dfafbff 954281e0 9872e359 443c4fef

SubBytes in / out:
597a5bfb f78b9347 140c4741 8b5d0b11
cbda390f 683ddca0 fafea083 3d4c2b82

SubBytes in / out:
a7dd11c5 15e1ab2c 25d4c75b a672462c
5cc182a6 59f86271 3f48c639 24405a71

SubBytes in / out:
a8a829ab 2125f436 2c8e6e37 cf9460a1
c2c2a562 fd3fbf05 71199f9a 8a22d032

SubBytes in / out:
0aca0b9e 3c2b4487 4df80049 f8df5664
67742b0b ebf11b17 e341633b 419eb143

SubBytes in / out:
39647494 65bcb646 385403ce 61b482cb
12439222 4d654e5a 07207b8b ef8d131f

SubBytes in / out:
ed2e8094 5001d7c8 b426f577 1f646455
5531cd22 537c0ee8 8df7e6f5 c04343fc

SubBytes in / out:
59406254 a5ce2355 cdc3d02b 5c9f2c8e
cb09aa20 068b26fc bd2e70f1 4adb7119

full member
Activity: 161
Merit: 168
February 11, 2023, 10:21:55 PM
#8
Why do you need that? Why isn't it enough to use existing crypto libraries which almost all have AES and are available for almost any programming language out there?

Why do people in forums answer so often with counter questions instead of simply answering the question or being silent?
Why do most people drive with their own car instead of taking an existing bus?
Why do the people use their own toilet instead of going to an existing public toilet?
Why do people use Bitcoin instead of using the existing banks and their money???

I'm really sorry to hear these opposing questions.
You can be sure that there are reasons why and why things are done like this, even if you don't want to understand it!


I have now blocked the thread.
If someone still has test vectors later or wants to help me in a meaningful way, they can write to me. Thanks :-)
full member
Activity: 161
Merit: 230
February 12, 2023, 08:03:25 PM
#7
That's quite a reaction. Asking questions is normal because to be able to give the best answer, more details are needed. Most of the time when someone asks weird questions like this, it's because they have a goal C in mind, and is trying to get from A->C and is blocked by something in A, while the best way to reach goal C would actually be to do B->C instead. Asking what C is helps us give the correct answer to how to get to C.

If you had started with something like "I want to learn the inner workings of the AES algorithm and is trying to create my own implementation, but for some reason I get the wrong answers. Here is my code, do you see any obvious errors?" - then that would explain your goal and your problem perfectly, and we would be able to help better. But for some reason you don't want to reveal what you are trying to do, and is offended when people ask for details.
full member
Activity: 161
Merit: 230
February 11, 2023, 09:30:25 PM
#6
Why do you need that? Why isn't it enough to use existing crypto libraries which almost all have AES and are available for almost any programming language out there?
legendary
Activity: 3640
Merit: 1345
Armory Developer
February 10, 2023, 04:21:25 AM
#5
You can use pretty much any cipher. It's not restricted to ECB, CBC, or anything like that.
Hello
It's not about restriction its about security & purpose of use.
for example you can use most case aes-cbc-128 its simple and secure. but still there are case people use aes-ctr & aes-gcm
Almost all AES(other then ECB mode) provide good security.
There are also WhiteBox-AES CTR/CBC provide more security then standard.

Block mode and cypher aren't the same thing.

In search of someone who implemented AES encryption with the Rijndael -Algorithm. ("NIST" compliant)
Please write to me, thank you very much!

Is there a reason you want someone who can implement this vs using an existing library?
member
Activity: 66
Merit: 53
February 10, 2023, 01:57:00 AM
#4
You can use pretty much any cipher. It's not restricted to ECB, CBC, or anything like that.
Hello
It's not about restriction its about security & purpose of use.
for example you can use most case aes-cbc-128 its simple and secure. but still there are case people use aes-ctr & aes-gcm
Almost all AES(other then ECB mode) provide good security.
There are also WhiteBox-AES CTR/CBC provide more security then standard.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
February 09, 2023, 06:55:22 AM
#3
AES ciphers are just a variant of Rijndael ciphers (according to Wikipedia). So you can actually just use any popular AES library such as [Open/Libre/Boring]SSL with one of the standard key lengths and you should still be using an NIST-compatible implementation.

AES-ECB-128
AES-CBC-128
AES-CBC-256
AES-CTR-128
AES-CTR-256
AES-GCM-256
etc etc

You can use pretty much any cipher. It's not restricted to ECB, CBC, or anything like that.
member
Activity: 66
Merit: 53
February 09, 2023, 01:31:53 AM
#2
Hello
This is group of Rijndael family AES.
AES-ECB-128
AES-CBC-128
AES-CBC-256
AES-CTR-128
AES-CTR-256
AES-GCM-256
etc etc
You can use any coding language you know to this via openssl & other non depended on lib ways.
What your exactly requirement ? i can help on any cryptography related work.
full member
Activity: 161
Merit: 168
February 08, 2023, 09:47:53 PM
#1
In search of someone who implemented AES encryption with the Rijndael -Algorithm. ("NIST" compliant)
Please write to me, thank you very much!
Jump to: