[Title] Add packaging/nettle.spec to build nettle on OBS system
[external/nettle.git] / testsuite / sha224-test.c
1 #include "testutils.h"
2 #include "sha.h"
3
4 int
5 test_main(void)
6 {
7   /* From FIPS180-2 addendum
8      (http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf) */
9   test_hash(&nettle_sha224, 3, "abc",
10             H("23097d22 3405d822 8642a477 bda255b3"
11               "2aadbce4 bda0b3f7 e36c9da7"));
12
13   test_hash(&nettle_sha224, 56,
14             "abcdbcdecdefdefgefghfghighij"
15             "hijkijkljklmklmnlmnomnopnopq",
16             H("75388b16 512776cc 5dba5da1 fd890150"
17               "b0c6455c b4f58b19 52522525"));
18
19   /* Additional test vectors, from Daniel Kahn Gillmor */
20   test_hash(&nettle_sha224, LDATA(""),
21             H("d14a028c2a3a2bc9 476102bb288234c4"
22               "15a2b01f828ea62a c5b3e42f"));
23   test_hash(&nettle_sha224, LDATA("a"),
24             H("abd37534c7d9a2ef b9465de931cd7055"
25               "ffdb8879563ae980 78d6d6d5"));
26   test_hash(&nettle_sha224, LDATA("38"),
27             H("4cfca6da32da6471 98225460722b7ea1"
28               "284f98c4b179e8db ae3f93d5"));
29   test_hash(&nettle_sha224, LDATA("message digest"),
30             H("2cb21c83ae2f004d e7e81c3c7019cbcb"
31               "65b71ab656b22d6d 0c39b8eb"));
32   test_hash(&nettle_sha224, LDATA("abcdefghijklmnopqrstuvwxyz"),
33             H("45a5f72c39c5cff2 522eb3429799e49e"
34               "5f44b356ef926bcf 390dccc2"));
35   test_hash(&nettle_sha224,
36             LDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef"
37                   "ghijklmnopqrstuvwxyz0123456789"),
38             H("bff72b4fcb7d75e5 632900ac5f90d219"
39               "e05e97a7bde72e74 0db393d9"));
40   test_hash(&nettle_sha224,
41             LDATA("12345678901234567890123456789012"
42                   "34567890123456789012345678901234"
43                   "5678901234567890"),
44             H("b50aecbe4e9bb0b5 7bc5f3ae760a8e01"
45               "db24f203fb3cdcd1 3148046e"));
46
47   SUCCESS();
48 }