private byte[] crypt(final byte[] input)
	{
		if (input == null) { throw new NullPointerException(); }
		if (input.length == 0) { return new byte[] {}; }

		final byte[] output = new byte[input.length];

		for (int i = 0; i < input.length; i++)
		{
			output[i] = (byte) (input[i] ^ this.getByte());
		}

		return output;
	}