00001
00002
00003
00004 #include <string.h>
00005 #include "tests/arc4.h"
00006 #include "tests/lib.h"
00007 #include "tests/main.h"
00008
00009 #define SIZE (2 * 1024 * 1024)
00010
00011 static char buf[SIZE];
00012
00013 void
00014 test_main (void)
00015 {
00016 struct arc4 arc4;
00017 size_t i;
00018
00019
00020 msg ("initialize");
00021 memset (buf, 0x5a, sizeof buf);
00022
00023
00024 msg ("read pass");
00025 for (i = 0; i < SIZE; i++)
00026 if (buf[i] != 0x5a)
00027 fail ("byte %zu != 0x5a", i);
00028
00029
00030 msg ("read/modify/write pass one");
00031 arc4_init (&arc4, "foobar", 6);
00032 arc4_crypt (&arc4, buf, SIZE);
00033
00034
00035 msg ("read/modify/write pass two");
00036 arc4_init (&arc4, "foobar", 6);
00037 arc4_crypt (&arc4, buf, SIZE);
00038
00039
00040 msg ("read pass");
00041 for (i = 0; i < SIZE; i++)
00042 if (buf[i] != 0x5a)
00043 fail ("byte %zu != 0x5a", i);
00044 }