Resync with broadcom drivers 5.100.138.20 and utilities.
[tomato.git] / release / src-rt / bcmcrypto / prf_vectors.h
blob77419b191ddac0d76d251ee11da240ce44e9474c
1 /*
2 * prf_vectors.h
3 * PRF test vectors
5 * Copyright (C) 2010, Broadcom Corporation
6 * All Rights Reserved.
7 *
8 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
9 * the contents of this file may not be disclosed to third parties, copied
10 * or duplicated in any form, in whole or in part, without the prior
11 * written permission of Broadcom Corporation.
13 * $Id: prf_vectors.h,v 1.7 2006-06-22 00:16:57 Exp $
16 #include <typedefs.h>
18 /* test vectors from rfc2202 */
19 uint8 key_0[] = {
20 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
21 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
22 0x0b, 0x0b, 0x0b, 0x0b
25 uint8 prefix_0[6] = "prefix";
27 uint8 data_0[8] = "Hi There";
29 uint8 digest_0[] = {
30 0x92, 0x94, 0x72, 0x7a, 0x36, 0x38, 0xbb, 0x1c,
31 0x13, 0xf4, 0x8e, 0xf8, 0x15, 0x8b, 0xfc, 0x9d
34 uint8 digest1_0[] = {
35 0xb6, 0x17, 0x31, 0x86, 0x55, 0x05, 0x72, 0x64,
36 0xe2, 0x8b, 0xc0, 0xb6, 0xfb, 0x37, 0x8c, 0x8e,
37 0xf1, 0x46, 0xbe, 0x00
40 uint8 prf_0[] = {
41 0xbc, 0xd4, 0xc6, 0x50, 0xb3, 0x0b, 0x96, 0x84,
42 0x95, 0x18, 0x29, 0xe0, 0xd7, 0x5f, 0x9d, 0x54,
43 0xb8, 0x62, 0x17, 0x5e, 0xd9, 0xf0, 0x06, 0x06,
44 0xe1, 0x7d, 0x8d, 0xa3, 0x54, 0x02, 0xff, 0xee,
45 0x75, 0xdf, 0x78, 0xc3, 0xd3, 0x1e, 0x0f, 0x88,
46 0x9f, 0x01, 0x21, 0x20, 0xc0, 0x86, 0x2b, 0xeb,
47 0x67, 0x75, 0x3e, 0x74, 0x39, 0xae, 0x24, 0x2e,
48 0xdb, 0x83, 0x73, 0x69, 0x83, 0x56, 0xcf, 0x5a
52 uint8 key_1[4] = "Jefe";
54 uint8 prefix_1[6] = "prefix";
56 uint8 data_1[28] = "what do ya want for nothing?";
58 uint8 digest_1[] = {
59 0x75, 0x0c, 0x78, 0x3e, 0x6a, 0xb0, 0xb5, 0x03,
60 0xea, 0xa8, 0x6e, 0x31, 0x0a, 0x5d, 0xb7, 0x38
63 uint8 digest1_1[] = {
64 0xef, 0xfc, 0xdf, 0x6a, 0xe5, 0xeb, 0x2f, 0xa2,
65 0xd2, 0x74, 0x16, 0xd5, 0xf1, 0x84, 0xdf, 0x9c,
66 0x25, 0x9a, 0x7c, 0x79
69 uint8 prf_1[] = {
70 0x51, 0xf4, 0xde, 0x5b, 0x33, 0xf2, 0x49, 0xad,
71 0xf8, 0x1a, 0xeb, 0x71, 0x3a, 0x3c, 0x20, 0xf4,
72 0xfe, 0x63, 0x14, 0x46, 0xfa, 0xbd, 0xfa, 0x58,
73 0x24, 0x47, 0x59, 0xae, 0x58, 0xef, 0x90, 0x09,
74 0xa9, 0x9a, 0xbf, 0x4e, 0xac, 0x2c, 0xa5, 0xfa,
75 0x87, 0xe6, 0x92, 0xc4, 0x40, 0xeb, 0x40, 0x02,
76 0x3e, 0x7b, 0xab, 0xb2, 0x06, 0xd6, 0x1d, 0xe7,
77 0xb9, 0x2f, 0x41, 0x52, 0x90, 0x92, 0xb8, 0xfc
81 uint8 key_2[] = {
82 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
83 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
84 0xAA, 0xAA, 0xAA, 0xAA
87 uint8 prefix_2[6] = "prefix";
89 uint8 data_2[] = {
90 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
91 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
92 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
93 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
94 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD
97 uint8 digest_2[] = {
98 0x56, 0xbe, 0x34, 0x52, 0x1d, 0x14, 0x4c, 0x88,
99 0xdb, 0xb8, 0xc7, 0x33, 0xf0, 0xe8, 0xb3, 0xf6
102 uint8 digest1_2[] = {
103 0x12, 0x5d, 0x73, 0x42, 0xb9, 0xac, 0x11, 0xcd,
104 0x91, 0xa3, 0x9a, 0xf4, 0x8a, 0xa1, 0x7b, 0x4f,
105 0x63, 0xf1, 0x75, 0xd3
108 uint8 prf_2[] = {
109 0xe1, 0xac, 0x54, 0x6e, 0xc4, 0xcb, 0x63, 0x6f,
110 0x99, 0x76, 0x48, 0x7b, 0xe5, 0xc8, 0x6b, 0xe1,
111 0x7a, 0x02, 0x52, 0xca, 0x5d, 0x8d, 0x8d, 0xf1,
112 0x2c, 0xfb, 0x04, 0x73, 0x52, 0x52, 0x49, 0xce,
113 0x9d, 0xd8, 0xd1, 0x77, 0xea, 0xd7, 0x10, 0xbc,
114 0x9b, 0x59, 0x05, 0x47, 0x23, 0x91, 0x07, 0xae,
115 0xf7, 0xb4, 0xab, 0xd4, 0x3d, 0x87, 0xf0, 0xa6,
116 0x8f, 0x1c, 0xbd, 0x9e, 0x2b, 0x6f, 0x76, 0x07
119 typedef struct {
120 unsigned char *key;
121 int key_len;
122 unsigned char *prefix;
123 int prefix_len;
124 unsigned char *data;
125 int data_len;
126 unsigned char* digest;
127 unsigned char* digest1;
128 unsigned char* prf;
129 } prf_vector_t;
131 #define PRF_VECTOR_ENTRY(x) \
133 key_##x, sizeof(key_##x), prefix_##x, sizeof(prefix_##x), \
134 data_##x, sizeof(data_##x), digest_##x, digest1_##x, prf_##x \
137 prf_vector_t prf_vec[] = {
138 PRF_VECTOR_ENTRY(0),
139 PRF_VECTOR_ENTRY(1),
140 PRF_VECTOR_ENTRY(2)
143 #define NUM_VECTORS (sizeof(prf_vec)/sizeof(prf_vec[0]))