preliminary cipher mode base class