#ifndef AC_H_INCLUDED
#define AC_H_INCLUDED

#include <crypto/crypto.h>


class AC
{
protected:
	int _MaxMsgLen; // -1 means unlimited message length
                        // otherwise, message can be at most this many 
                        // octets in length

 public:
	virtual ostring encrypt(const ostring& mssg, const ostring& Label) = 0;
	virtual ostring decrypt(const ostring& cipher, const ostring& Label) = 0;

	virtual void PrettyPrint(std::ostream&) = 0;

	int MaxMsgLen() const  // read-only reference to _MaxMsgLen
		{ return _MaxMsgLen; }



};

#endif /* AC_H_INCLUDED */

