Пример #1
0
// #decrypt()
int AffineCipher::decrypt
(
 const vector<byte>& cipher_text, 
 const vector<byte>&  key,
 vector<byte>& plain_text)
{
	int plain_len = 0;
	vector<byte>::const_iterator ct_it;
	vector<byte>::const_iterator key_it;

	key_it = key.begin();
	byte key1 = *key_it;
	key_it++;
	byte key2 = *key_it;

	ct_it = cipher_text.begin();
	while (ct_it!=cipher_text.end())
		{

			int result = multInverse(key1) * (*ct_it - key2)%26;
			while(result < 0)
			{
				result += 26;
			}

			plain_text.push_back(result);

			ct_it++;
			plain_len++;

		}


	return plain_len;


} // decrypt()
Пример #2
0
void multInverseEq(W& a) {
  a = multInverse(a);
}