lib/reticulum/src/conformance/hash.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

  1 //! Generated by `lib/reticulum/build/generate` with `rns==1.5.0`.
  2 //! The upstream source is Reticulum commit `e32d4df754a7b87b1bf1bb0d08675d12ff505ae6`.
  3 //! Hand edits are lost.
  4 //!
  5 //! The vectors in this file come from Reticulum@1.5.0 RNS/Identity.py:352,362
  6 //! and RNS/Destination.py:120, and each vector is an input with all three
  7 //! hashes the reference computed for it: the 32-byte SHA-256 digest as the full
  8 //! hash, its first 16 bytes as the truncated hash, and its first 10 bytes as
  9 //! the name hash.
 10 
 11 pub const Vector = struct {
 12     name: []const u8,
 13     input: []const u8,
 14     full_hash: []const u8,
 15     truncated_hash: []const u8,
 16     name_hash: []const u8,
 17 };
 18 
 19 pub const vectors: []const Vector = &.{
 20     .{
 21         .name = "input-0",
 22         .input = &.{},
 23         .full_hash = &.{
 24             0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8,
 25             0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c,
 26             0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55,
 27         },
 28         .truncated_hash = &.{
 29             0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8,
 30             0x99, 0x6f, 0xb9, 0x24,
 31         },
 32         .name_hash = &.{
 33             0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb,
 34         },
 35     },
 36     .{
 37         .name = "input-1",
 38         .input = &.{0x32},
 39         .full_hash = &.{
 40             0xd4, 0x73, 0x5e, 0x3a, 0x26, 0x5e, 0x16, 0xee, 0xe0, 0x3f, 0x59, 0x71,
 41             0x8b, 0x9b, 0x5d, 0x03, 0x01, 0x9c, 0x07, 0xd8, 0xb6, 0xc5, 0x1f, 0x90,
 42             0xda, 0x3a, 0x66, 0x6e, 0xec, 0x13, 0xab, 0x35,
 43         },
 44         .truncated_hash = &.{
 45             0xd4, 0x73, 0x5e, 0x3a, 0x26, 0x5e, 0x16, 0xee, 0xe0, 0x3f, 0x59, 0x71,
 46             0x8b, 0x9b, 0x5d, 0x03,
 47         },
 48         .name_hash = &.{
 49             0xd4, 0x73, 0x5e, 0x3a, 0x26, 0x5e, 0x16, 0xee, 0xe0, 0x3f,
 50         },
 51     },
 52     .{
 53         .name = "input-55",
 54         .input = &.{
 55             0x68, 0x8d, 0xb2, 0xd7, 0xfc, 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff,
 56             0x24, 0x49, 0x6e, 0x93, 0xb8, 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb,
 57             0xe0, 0x05, 0x2a, 0x4f, 0x74, 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77,
 58             0x9c, 0xc1, 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4, 0xe9, 0x0e, 0x33,
 59             0x58, 0x7d, 0xa2, 0xc7, 0xec, 0x11, 0x36,
 60         },
 61         .full_hash = &.{
 62             0x42, 0xea, 0x1f, 0x6d, 0x93, 0x86, 0xe8, 0x42, 0x70, 0x0c, 0x0d, 0x73,
 63             0xcd, 0x8f, 0xb0, 0xa2, 0x0c, 0x07, 0x50, 0x59, 0xea, 0xc6, 0x0b, 0x4b,
 64             0x06, 0xf0, 0xc6, 0xaa, 0x53, 0xa6, 0x93, 0x02,
 65         },
 66         .truncated_hash = &.{
 67             0x42, 0xea, 0x1f, 0x6d, 0x93, 0x86, 0xe8, 0x42, 0x70, 0x0c, 0x0d, 0x73,
 68             0xcd, 0x8f, 0xb0, 0xa2,
 69         },
 70         .name_hash = &.{
 71             0x42, 0xea, 0x1f, 0x6d, 0x93, 0x86, 0xe8, 0x42, 0x70, 0x0c,
 72         },
 73     },
 74     .{
 75         .name = "input-56",
 76         .input = &.{
 77             0x69, 0x8e, 0xb3, 0xd8, 0xfd, 0x22, 0x47, 0x6c, 0x91, 0xb6, 0xdb, 0x00,
 78             0x25, 0x4a, 0x6f, 0x94, 0xb9, 0xde, 0x03, 0x28, 0x4d, 0x72, 0x97, 0xbc,
 79             0xe1, 0x06, 0x2b, 0x50, 0x75, 0x9a, 0xbf, 0xe4, 0x09, 0x2e, 0x53, 0x78,
 80             0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea, 0x0f, 0x34,
 81             0x59, 0x7e, 0xa3, 0xc8, 0xed, 0x12, 0x37, 0x5c,
 82         },
 83         .full_hash = &.{
 84             0x26, 0xf5, 0x1e, 0xe9, 0xe7, 0xc8, 0xdd, 0x05, 0xea, 0xc9, 0x20, 0xe8,
 85             0x12, 0x28, 0xf2, 0x17, 0x99, 0xef, 0x3b, 0x22, 0xe7, 0x39, 0x54, 0x72,
 86             0xd1, 0x23, 0xaa, 0x9b, 0xc4, 0x9e, 0xd7, 0xec,
 87         },
 88         .truncated_hash = &.{
 89             0x26, 0xf5, 0x1e, 0xe9, 0xe7, 0xc8, 0xdd, 0x05, 0xea, 0xc9, 0x20, 0xe8,
 90             0x12, 0x28, 0xf2, 0x17,
 91         },
 92         .name_hash = &.{
 93             0x26, 0xf5, 0x1e, 0xe9, 0xe7, 0xc8, 0xdd, 0x05, 0xea, 0xc9,
 94         },
 95     },
 96     .{
 97         .name = "input-64",
 98         .input = &.{
 99             0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74, 0x99, 0xbe, 0xe3, 0x08,
100             0x2d, 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4,
101             0xe9, 0x0e, 0x33, 0x58, 0x7d, 0xa2, 0xc7, 0xec, 0x11, 0x36, 0x5b, 0x80,
102             0xa5, 0xca, 0xef, 0x14, 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c,
103             0x61, 0x86, 0xab, 0xd0, 0xf5, 0x1a, 0x3f, 0x64, 0x89, 0xae, 0xd3, 0xf8,
104             0x1d, 0x42, 0x67, 0x8c,
105         },
106         .full_hash = &.{
107             0xb0, 0xcd, 0x89, 0x72, 0x9f, 0x20, 0xca, 0xed, 0x6f, 0x5d, 0x3f, 0xd3,
108             0x89, 0x4c, 0x49, 0xe1, 0x49, 0x47, 0x16, 0x24, 0xba, 0x90, 0x61, 0x6c,
109             0x19, 0xdf, 0xb2, 0xc1, 0x1a, 0xed, 0xcf, 0x29,
110         },
111         .truncated_hash = &.{
112             0xb0, 0xcd, 0x89, 0x72, 0x9f, 0x20, 0xca, 0xed, 0x6f, 0x5d, 0x3f, 0xd3,
113             0x89, 0x4c, 0x49, 0xe1,
114         },
115         .name_hash = &.{
116             0xb0, 0xcd, 0x89, 0x72, 0x9f, 0x20, 0xca, 0xed, 0x6f, 0x5d,
117         },
118     },
119     .{
120         .name = "input-500",
121         .input = &.{
122             0x25, 0x4a, 0x6f, 0x94, 0xb9, 0xde, 0x03, 0x28, 0x4d, 0x72, 0x97, 0xbc,
123             0xe1, 0x06, 0x2b, 0x50, 0x75, 0x9a, 0xbf, 0xe4, 0x09, 0x2e, 0x53, 0x78,
124             0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea, 0x0f, 0x34,
125             0x59, 0x7e, 0xa3, 0xc8, 0xed, 0x12, 0x37, 0x5c, 0x81, 0xa6, 0xcb, 0xf0,
126             0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18, 0x3d, 0x62, 0x87, 0xac,
127             0xd1, 0xf6, 0x1b, 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68,
128             0x8d, 0xb2, 0xd7, 0xfc, 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff, 0x24,
129             0x49, 0x6e, 0x93, 0xb8, 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0,
130             0x05, 0x2a, 0x4f, 0x74, 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c,
131             0xc1, 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4, 0xe9, 0x0e, 0x33, 0x58,
132             0x7d, 0xa2, 0xc7, 0xec, 0x11, 0x36, 0x5b, 0x80, 0xa5, 0xca, 0xef, 0x14,
133             0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c, 0x61, 0x86, 0xab, 0xd0,
134             0xf5, 0x1a, 0x3f, 0x64, 0x89, 0xae, 0xd3, 0xf8, 0x1d, 0x42, 0x67, 0x8c,
135             0xb1, 0xd6, 0xfb, 0x20, 0x45, 0x6a, 0x8f, 0xb4, 0xd9, 0xfe, 0x23, 0x48,
136             0x6d, 0x92, 0xb7, 0xdc, 0x01, 0x26, 0x4b, 0x70, 0x95, 0xba, 0xdf, 0x04,
137             0x29, 0x4e, 0x73, 0x98, 0xbd, 0xe2, 0x07, 0x2c, 0x51, 0x76, 0x9b, 0xc0,
138             0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
139             0xa1, 0xc6, 0xeb, 0x10, 0x35, 0x5a, 0x7f, 0xa4, 0xc9, 0xee, 0x13, 0x38,
140             0x5d, 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4,
141             0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b, 0xb0,
142             0xd5, 0xfa, 0x1f, 0x44, 0x69, 0x8e, 0xb3, 0xd8, 0xfd, 0x22, 0x47, 0x6c,
143             0x91, 0xb6, 0xdb, 0x00, 0x25, 0x4a, 0x6f, 0x94, 0xb9, 0xde, 0x03, 0x28,
144             0x4d, 0x72, 0x97, 0xbc, 0xe1, 0x06, 0x2b, 0x50, 0x75, 0x9a, 0xbf, 0xe4,
145             0x09, 0x2e, 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0,
146             0xc5, 0xea, 0x0f, 0x34, 0x59, 0x7e, 0xa3, 0xc8, 0xed, 0x12, 0x37, 0x5c,
147             0x81, 0xa6, 0xcb, 0xf0, 0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18,
148             0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40, 0x65, 0x8a, 0xaf, 0xd4,
149             0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc, 0x21, 0x46, 0x6b, 0x90,
150             0xb5, 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93, 0xb8, 0xdd, 0x02, 0x27, 0x4c,
151             0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74, 0x99, 0xbe, 0xe3, 0x08,
152             0x2d, 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4,
153             0xe9, 0x0e, 0x33, 0x58, 0x7d, 0xa2, 0xc7, 0xec, 0x11, 0x36, 0x5b, 0x80,
154             0xa5, 0xca, 0xef, 0x14, 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c,
155             0x61, 0x86, 0xab, 0xd0, 0xf5, 0x1a, 0x3f, 0x64, 0x89, 0xae, 0xd3, 0xf8,
156             0x1d, 0x42, 0x67, 0x8c, 0xb1, 0xd6, 0xfb, 0x20, 0x45, 0x6a, 0x8f, 0xb4,
157             0xd9, 0xfe, 0x23, 0x48, 0x6d, 0x92, 0xb7, 0xdc, 0x01, 0x26, 0x4b, 0x70,
158             0x95, 0xba, 0xdf, 0x04, 0x29, 0x4e, 0x73, 0x98, 0xbd, 0xe2, 0x07, 0x2c,
159             0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8,
160             0x0d, 0x32, 0x57, 0x7c, 0xa1, 0xc6, 0xeb, 0x10, 0x35, 0x5a, 0x7f, 0xa4,
161             0xc9, 0xee, 0x13, 0x38, 0x5d, 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60,
162             0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c,
163             0x41, 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f, 0x44,
164         },
165         .full_hash = &.{
166             0xa0, 0xa5, 0xf2, 0xff, 0x02, 0xf9, 0xd2, 0x13, 0xd9, 0x73, 0x7e, 0x85,
167             0x3c, 0x51, 0x48, 0xd8, 0x3e, 0x24, 0xba, 0x6d, 0x92, 0xcc, 0x6a, 0x49,
168             0x95, 0x98, 0x8b, 0xd2, 0x17, 0xcc, 0x59, 0x7f,
169         },
170         .truncated_hash = &.{
171             0xa0, 0xa5, 0xf2, 0xff, 0x02, 0xf9, 0xd2, 0x13, 0xd9, 0x73, 0x7e, 0x85,
172             0x3c, 0x51, 0x48, 0xd8,
173         },
174         .name_hash = &.{
175             0xa0, 0xa5, 0xf2, 0xff, 0x02, 0xf9, 0xd2, 0x13, 0xd9, 0x73,
176         },
177     },
178 };