Lines Matching refs:inlen

39  *  @param[in]  inlen  Length of in.
40 * @param[out] out Ciphertext. Minimal buffer length = (inlen + 8) bytes.
44 * @return 0 if inlen does not consist of n 64-bit blocks, n >= 2.
45 * or if inlen > CRYPTO128_WRAP_MAX.
50 const unsigned char *in, size_t inlen,
55 if ((inlen & 0x7) || (inlen < 16) || (inlen > CRYPTO128_WRAP_MAX))
59 memmove(out + 8, in, inlen);
67 for (i = 0; i < inlen; i += 8, t++, R += 8) {
80 return inlen + 8;
89 * Minimal buffer length = (inlen - 8) bytes.
93 * @param[in] inlen Length of in.
95 * @return 0 if inlen is out of range [24, CRYPTO128_WRAP_MAX]
96 * or if inlen is not a multiple of 8.
101 const unsigned char *in, size_t inlen,
106 inlen -= 8;
107 if ((inlen & 0x7) || (inlen < 16) || (inlen > CRYPTO128_WRAP_MAX))
110 t = 6 * (inlen >> 3);
112 memmove(out, in + 8, inlen);
114 R = out + inlen - 8;
115 for (i = 0; i < inlen; i += 8, t--, R -= 8) {
128 return inlen;
139 * Minimal buffer length = (inlen - 8) bytes.
143 * @param[in] inlen Length of in.
145 * @return 0 if inlen is out of range [24, CRYPTO128_WRAP_MAX]
146 * or if inlen is not a multiple of 8
152 size_t inlen, block128_f block)
157 ret = crypto_128_unwrap_raw(key, got_iv, out, in, inlen, block);
174 * @param[out] out Ciphertext. Minimal buffer length = (inlen + 15) bytes.
178 * @param[in] inlen Length of in.
180 * @return 0 if inlen is out of range [1, CRYPTO128_WRAP_MAX].
185 const unsigned char *in, size_t inlen,
194 const size_t blocks_padded = (inlen + 7) / 8; /* CEILING(m/8) */
196 const size_t padding_len = padded_len - inlen;
202 if (inlen == 0 || inlen >= CRYPTO128_WRAP_MAX)
211 aiv[4] = (inlen >> 24) & 0xFF;
212 aiv[5] = (inlen >> 16) & 0xFF;
213 aiv[6] = (inlen >> 8) & 0xFF;
214 aiv[7] = inlen & 0xFF;
222 memmove(out + 8, in, inlen);
224 memset(out + 8 + inlen, 0, padding_len);
228 memmove(out, in, inlen);
229 memset(out + inlen, 0, padding_len); /* Section 4.1 step 1 */
240 * @param[out] out Plaintext. Minimal buffer length = (inlen - 8) bytes.
244 * @param[in] inlen Length of in.
246 * @return 0 if inlen is out of range [16, CRYPTO128_WRAP_MAX],
247 * or if inlen is not a multiple of 8
253 const unsigned char *in, size_t inlen,
257 size_t n = inlen / 8 - 1;
267 if ((inlen & 0x7) != 0 || inlen < 16 || inlen >= CRYPTO128_WRAP_MAX)
270 if (inlen == 16) {
284 OPENSSL_cleanse(buff, inlen);
286 padded_len = inlen - 8;
287 ret = crypto_128_unwrap_raw(key, aiv, out, in, inlen, block);
289 OPENSSL_cleanse(out, inlen);
301 OPENSSL_cleanse(out, inlen);
315 OPENSSL_cleanse(out, inlen);
325 OPENSSL_cleanse(out, inlen);