FastRijndael::FastRijndael(KeySize ks, BlockSize bs, Mode mode){ _exp_key = NULL; _round = 0; _key_size = ks; _block_size = bs; //bits _block_char_size = bs/8; _nb = bs/32; _nk = ks/32; _mode = mode; if (_mode != ECB){ /* srand(time(NULL)); _iv = new unsigned char* [4]; for (int i = 0; i < 4; i++){ _iv[i] = new unsigned char [4]; } for (int i = 0; i < 4; i++){ for (int j = 0; j < 4; j++){ _iv[i][j] = rand()%256; } }*/ generateIV(); } else{ _iv = NULL; } switch (_nk){ case 4: _nr = 10; break; case 6: _nr = 12; break; case 8: _nr = 14; break; } _nek = _nb * (_nr + 1); // # of byte columns of expanded key _initd = false; }
FastRijndael::FastRijndael(KeySize ks, BlockSize bs, Mode mode){ _exp_key = NULL; _round = 0; _key_size = ks; _block_size = bs; //bits _block_char_size = bs/8; _nb = bs/32; _nk = ks/32; _mode = mode; if (_mode != ECB){ generateIV(); } else{ _iv = NULL; } switch (_nk){ case 4: _nr = 10; break; case 6: _nr = 12; break; case 8: _nr = 14; break; } _nek = _nb * (_nr + 1); // # of byte columns of expanded key _initd = false; }
void JBase::setRandIV(const unsigned int size) { itsIV = generateIV(size, itsRNG); }