#ifndef HC_H_INCLUDED
#define HC_H_INCLUDED

#include <crypto/ac.h>
#include <crypto/dem.h>
#include <crypto/kem.h>


class HC : public AC
{
	KEM& kem;
	DEM& dem;
 public:
	ostring encrypt(const ostring& mssg, const ostring& Label);
	ostring decrypt(const ostring& cipher, const ostring& Label);

	std::ostream *logfile;

	void PrettyPrint(std::ostream&);

	HC(KEM& k, DEM& d) : kem(k), dem(d) { _MaxMsgLen = -1; logfile = NULL; };
};


#endif /* HC_H_INCLUDED */

