Example #1
0
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;
}
Example #3
0
void JBase::setRandIV(const unsigned int size)
{
  itsIV = generateIV(size, itsRNG);
}