crypto:aes problem

Nils Müllner nils.muellner@REDACTED
Tue Mar 7 18:02:25 CET 2006

i wrote a little "benchmark" in erlang, using the crypto:aes_cbc. but it 
happens, that crypto:aes_cbc produces 2 different results with the same 
input and the benchmark fails. i wanted to compare the power of 
distributed computing against one single pc. even the power of 
multi-cpu-systems could been measured by starting multiple client-nodes. 
can somebody help please ;-)
the code is available at

for use please take the following steps:
1. ensure that your erlang dist supports aes and you have the 
.erlang.cookie set
2. edit the values "talona" in the code to the name of your machine, 
talona was mine... (should be 4 times)
3. start 3 consoles, go to the dir containing the db3.erl
4. run
erl -sname server on the first,
erl -sname keyserver on 2nd and
erl -sname client on 3rd
5. run c(db3). on all of them
6. on server@REDACTED run
db3:start_server(). on client@REDACTED run
db3:start_client(). and on keyserver@REDACTED run
7. finally, to start the whole mess type db3:start().

the used key is set to
Key = 
so the server is supposed to stop after 16*256 steps. the output proofs 
that the function gets the right values (if you interrupt by pressing 
ctrl+c while the client tests the key), but crypto:aes is producing the 
wrong result. i have looked over the program the last 2 days and i cant 
find a mistake in my program. can anyone test this and tell me wether im 
wrong or there is a bug?


this is not intended to break any cipher!! its just for benchmarking and 
comparing systems! i know it costs a lot of computing time to generate 
the whole output. but the output is just for debugging. the final 
version will just consist of a result output.

More information about the erlang-questions mailing list