I'm looking at the crypto library examples (programmed in c) provided for OpenSSL EVP on OpenSSL Wiki.
Their example for a 128 bit Initialization Vector is as follows:
/* A 128 bit IV */
unsigned char *iv = (unsigned char *)"01234567890123456";
0-9 -> 10 chars
0-6 -> 7 chars
Total: 17 chars
Each char is 1 byte(8 bits) on my system. Hence the IV is 8*17 = 136 bits. Why are they saying that the total IV size is 128 bits? Is this an off-by-1 error or am I missing something?
iv
pointer will actually used, only the first 16 bytes will ever be accessed.