Lines Matching defs:blocksize
99 size_t i, blocksize;
107 blocksize = EVP_CIPHER_CTX_block_size(c);
109 if (len < blocksize) {
113 } else if (len == blocksize) {
127 i = ((len - 1) / blocksize) * blocksize;
129 p += i - blocksize;
131 memcpy(ivec2, p, blocksize);
134 tmp[i] = p[i + blocksize] ^ ivec2[i];
135 for (; i < blocksize; i++)
139 EVP_Cipher(c, p, tmp, blocksize);
141 memcpy(p + blocksize, ivec2, len);
143 memcpy(ivec, p, blocksize);
148 if (len > blocksize * 2) {
150 i = ((((len - blocksize * 2) + blocksize - 1) / blocksize) * blocksize);
151 memcpy(ivec2, p + i - blocksize, blocksize);
154 len -= i + blocksize;
157 memcpy(ivec2, ivec, blocksize);
159 memcpy(ivec2, zero_ivec, blocksize);
160 len -= blocksize;
163 memcpy(tmp, p, blocksize);
165 EVP_Cipher(c, tmp2, p, blocksize);
167 memcpy(tmp3, p + blocksize, len);
168 memcpy(tmp3 + len, tmp2 + len, blocksize - len); /* xor 0 */
171 p[i + blocksize] = tmp2[i] ^ tmp3[i];
174 EVP_Cipher(c, p, tmp3, blocksize);
176 for (i = 0; i < blocksize; i++)
179 memcpy(ivec, tmp, blocksize);