fix re-use by re-creating cipher with each call