export interface Crypto { digest ( cipherText ) : Promise < Buffer > ; decrypt ( cipherText , keyBytes ) : Promise < Buffer > ; getRandomValues ( size ) : Buffer ; encrypt ( plainText , keyBytes , initializationVector , algorithm ) : Promise < { key : Buffer ; cipher : Buffer ; } > ; }