Lines Matching +full:0 +full:v
58 ctx->v[0] = 0x736f6d6570736575ull;
59 ctx->v[1] = 0x646f72616e646f6dull;
60 ctx->v[2] = 0x6c7967656e657261ull;
61 ctx->v[3] = 0x7465646279746573ull;
62 ctx->buf.b64 = 0;
63 ctx->bytes = 0;
64 ctx->buflen = 0;
75 KASSERT(ctx->v[0] == 0x736f6d6570736575ull &&
79 k[0] = le64dec(&key[0]);
82 ctx->v[0] ^= k[0];
83 ctx->v[1] ^= k[1];
84 ctx->v[2] ^= k[0];
85 ctx->v[3] ^= k[1];
93 size_t x = 0;
95 /* handle hashing 0 length buffer - needed for test vectors */
96 if (len == 0 && final == 0)
97 return (0);
100 KASSERT(len == 0, ("%s: invalid len param", __func__));
103 KASSERT((len > 0) && src && *src,
112 ctx->v[3] ^= le64toh(ctx->buf.b64);
113 SipRounds(ctx, 0);
114 ctx->v[0] ^= le64toh(ctx->buf.b64);
115 ctx->buf.b64 = 0;
116 ctx->buflen = 0;
140 if (ctx->buflen > 0 || len < 8)
141 len -= SipBuf(ctx, &s, len, 0);
142 if (len == 0)
145 rem = len & 0x7;
149 if (((uintptr_t)s & 0x7) == 0) {
150 for (p = (const uint64_t *)s; len > 0; len--, p++) {
152 ctx->v[3] ^= m;
153 SipRounds(ctx, 0);
154 ctx->v[0] ^= m;
158 for (; len > 0; len--, s += 8) {
160 ctx->v[3] ^= m;
161 SipRounds(ctx, 0);
162 ctx->v[0] ^= m;
167 if (rem > 0)
168 (void)SipBuf(ctx, &s, rem, 0);
191 SipBuf(ctx, NULL, 0, 1);
192 ctx->v[2] ^= 0xff;
194 r = (ctx->v[0] ^ ctx->v[1]) ^ (ctx->v[2] ^ ctx->v[3]);
225 ctx->v[0] += ctx->v[1];
226 ctx->v[2] += ctx->v[3];
227 ctx->v[1] = SIP_ROTL(ctx->v[1], 13);
228 ctx->v[3] = SIP_ROTL(ctx->v[3], 16);
230 ctx->v[1] ^= ctx->v[0];
231 ctx->v[3] ^= ctx->v[2];
232 ctx->v[0] = SIP_ROTL(ctx->v[0], 32);
234 ctx->v[2] += ctx->v[1];
235 ctx->v[0] += ctx->v[3];
236 ctx->v[1] = SIP_ROTL(ctx->v[1], 17);
237 ctx->v[3] = SIP_ROTL(ctx->v[3], 21);
239 ctx->v[1] ^= ctx->v[2];
240 ctx->v[3] ^= ctx->v[0];
241 ctx->v[2] = SIP_ROTL(ctx->v[2], 32);