summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php')
-rw-r--r--vendor/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php b/vendor/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php
new file mode 100644
index 0000000..a99aaa7
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/Crypto/Cipher/CipherMethod.php
@@ -0,0 +1,59 @@
+<?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);
+}