// implementation file: Vernam.cpp
// description:         Encryption by vernam method using a vector<char> key for xor-ing.
// author:              Karlheinz Hug
// creation date:       2012-07-05
// last update:         2012-07-10

#include "Vernam.hpp"

	void Vernam::encode (const std::vector<char> & source_buffer, std::vector<char> & target_buffer)
	{
		target_buffer.resize(source_buffer.size());
		for (unsigned int i = 0; i < source_buffer.size(); ++i)
		{
			target_buffer.at(i) = source_buffer.at(i) ^ a_key.at(i % a_key.size());
		}
	}

	void Vernam::decode (const std::vector<char> & source_buffer, std::vector<char> & target_buffer)
	{
		encode(source_buffer, target_buffer);
	}
