1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace Aws\Crypto\Cipher;
- interface CipherMethod
- {
- /**
- * Returns an identifier recognizable by `openssl_*` functions, such as
- * `aes-256-cbc` or `aes-128-ctr`.
- *
- * @return string
- */
- public function getOpenSslName();
- /**
- * Returns an AES recognizable name, such as 'AES/GCM/NoPadding'.
- *
- * @return string
- */
- public function getAesName();
- /**
- * Returns the IV that should be used to initialize the next block in
- * encrypt or decrypt.
- *
- * @return string
- */
- public function getCurrentIv();
- /**
- * Indicates whether the cipher method used with this IV requires padding
- * the final block to make sure the plaintext is evenly divisible by the
- * block size.
- *
- * @return boolean
- */
- public function requiresPadding();
- /**
- * Adjust the return of this::getCurrentIv to reflect a seek performed on
- * the encryption stream using this IV object.
- *
- * @param int $offset
- * @param int $whence
- *
- * @throws LogicException Thrown if the requested seek is not supported by
- * this IV implementation. For example, a CBC IV
- * only supports a full rewind ($offset === 0 &&
- * $whence === SEEK_SET)
- */
- public function seek($offset, $whence = SEEK_SET);
- /**
- * Take account of the last cipher text block to adjust the return of
- * this::getCurrentIv
- *
- * @param string $cipherTextBlock
- */
- public function update($cipherTextBlock);
- }
|