Python pyaes.Encrypter() Examples

The following are 7 code examples of pyaes.Encrypter(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module pyaes , or try the search function .
Example #1
Source File: utils.py    From tcex with Apache License 2.0 5 votes vote down vote up
def encrypt_aes_cbc(key, plaintext, iv=None):
        """Return AES CBC encrypted string.

        Args:
            key (bytes): The encryption key.
            plaintext (str|bytes): The text to encrypt.
            iv (bytes, optional): The CBC initial vector.

        Returns:
            bytes: The encoded string.
        """
        iv = iv or b'\0' * 16

        # ensure key is bytes
        if isinstance(key, str):
            key = key.encode()

        # ensure plaintext is bytes
        if isinstance(plaintext, str):
            plaintext = plaintext.encode()

        # ensure iv is bytes
        if isinstance(iv, str):
            iv = iv.encode()

        aes_cbc_encrypt = pyaes.Encrypter(pyaes.AESModeOfOperationCBC(key, iv=iv))
        encrypted = aes_cbc_encrypt.feed(plaintext)
        encrypted += aes_cbc_encrypt.feed()
        return encrypted 
Example #2
Source File: mtprotoproxy.py    From mtprotoproxy with MIT License 5 votes vote down vote up
def use_slow_bundled_cryptography_module():
    import pyaes

    msg = "To make the program a *lot* faster, please install cryptography module: "
    msg += "pip install cryptography\n"
    print(msg, flush=True, file=sys.stderr)

    class BundledEncryptorAdapter:
        __slots__ = ('mode', )

        def __init__(self, mode):
            self.mode = mode

        def encrypt(self, data):
            encrypter = pyaes.Encrypter(self.mode, pyaes.PADDING_NONE)
            return encrypter.feed(data) + encrypter.feed()

        def decrypt(self, data):
            decrypter = pyaes.Decrypter(self.mode, pyaes.PADDING_NONE)
            return decrypter.feed(data) + decrypter.feed()

    def create_aes_ctr(key, iv):
        ctr = pyaes.Counter(iv)
        return pyaes.AESModeOfOperationCTR(key, ctr)

    def create_aes_cbc(key, iv):
        mode = pyaes.AESModeOfOperationCBC(key, iv)
        return BundledEncryptorAdapter(mode)
    return create_aes_ctr, create_aes_cbc 
Example #3
Source File: test-blockfeeder.py    From pyaes with MIT License 5 votes vote down vote up
def TestIssue15():
    print('Issue #15')

    key = b"abcdefghijklmnop"
    iv = b"0123456789012345"
    encrypter = pyaes.Encrypter(pyaes.AESModeOfOperationCBC(key, iv))

    plaintext = b"Hello World!!!!!"

    ciphertext = to_bufferable('')

    ciphertext += encrypter.feed(plaintext)
    ciphertext += encrypter.feed('')
    ciphertext += encrypter.feed(plaintext)
    ciphertext += encrypter.feed(None)
    expected = b'(Ob\xe5\xae"\xdc\xb0\x84\xc5\x04\x04GQ\xd8.\x0e4\xd2b\xc1\x15\xe5\x11M\xfc\x9a\xd2\xd5\xc8xP\x00[\xd57\x92\x01\xbb\xc42\x18\xbc\xbf\x1ay\x19P'

    decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationCBC(key, iv))

    output = to_bufferable('')

    output += decrypter.feed('')
    output += decrypter.feed(ciphertext)
    output += decrypter.feed('')
    output += decrypter.feed(None)

    print("  passed=%(passed)s" % dict(passed = (ciphertext == expected and output == (plaintext + plaintext)))) 
Example #4
Source File: digitalbitbox.py    From HWI with MIT License 5 votes vote down vote up
def aes_encrypt_with_iv(key, iv, data):
    aes_cbc = pyaes.AESModeOfOperationCBC(key, iv=iv)
    aes = pyaes.Encrypter(aes_cbc)
    e = aes.feed(data) + aes.feed()  # empty aes.feed() appends pkcs padding
    return e 
Example #5
Source File: storage.py    From joinmarket-clientserver with GNU General Public License v3.0 5 votes vote down vote up
def _encrypt(self, data, iv):
        encrypter = pyaes.Encrypter(
                pyaes.AESModeOfOperationCBC(self._hash.hash, iv=native(iv)))
        enc_data = encrypter.feed(self.MAGIC_DETECT_ENC + data)
        enc_data += encrypter.feed()

        return enc_data 
Example #6
Source File: common.py    From filmkodi with Apache License 2.0 5 votes vote down vote up
def encrypt_py(plain_text, key):
    if plain_text:
        try:
            scraper_key = hashlib.sha256(key).digest()
            IV = '\0' * 16
            decrypter = pyaes.Encrypter(pyaes.AESModeOfOperationCBC(scraper_key, IV))
            cipher_text = decrypter.feed(plain_text)
            cipher_text += decrypter.feed()
        except Exception as e:
            log_utils.log_warning('Exception during Py Encrypt: %s' % (e))
            cipher_text = ''
    else:
        cipher_text = ''

    return cipher_text 
Example #7
Source File: aescipher.py    From Audible with GNU Affero General Public License v3.0 5 votes vote down vote up
def aes_cbc_encrypt(key: bytes, iv: bytes, data: str) -> bytes:
    encrypter = Encrypter(AESModeOfOperationCBC(key, iv))
    encrypted = encrypter.feed(data) + encrypter.feed()
    return encrypted