wolfcrypt-py/docs/streaming.rst

51 lines
1.1 KiB
ReStructuredText

Streaming Encryption Algorithms
===============================
.. module:: wolfcrypt.ciphers
Steaming Encryption Classes
---------------------------
Interface
~~~~~~~~~
AesGcmStreamEncrypt
~~~~~~~~~~~~~~~~~~~
.. autoclass:: AesGcmStreamEncrypt
:members:
:inherited-members:
**Example:**
.. doctest::
>>> from wolfcrypt.ciphers import AesGcmStreamEncrypt
>>> from binascii import hexlify as b2h
>>> gcm = AesGcmStreamEncrypt(b'fedcba9876543210', b'0123456789abcdef')
>>> buf = gcm.update("hello world")
>>> authTag = gcm.final()
>>> b2h(buf)
b'5ba7d42e1bf01d7998e932'
>>> b2h(authTag)
b'cef91ba0c8c6431c7e19f64c9d9e371b'
AesGcmStreamDecrypt
~~~~~~~~~~~~~~~~~~~
.. autoclass:: AesGcmStreamDecrypt
:members:
:inherited-members:
**Example:**
.. doctest::
>>> from wolfcrypt.ciphers import AesGcmStreamDecrypt, t2b
>>> from binascii import unhexlify as h2b
>>> gcm = AesGcmStreamDecrypt(b'fedcba9876543210', b'0123456789abcdef')
>>> buf = gcm.update(h2b(b'5ba7d42e1bf01d7998e932'))
>>> gcm.final(h2b(b'cef91ba0c8c6431c7e19f64c9d9e371b'))
>>> t2b(buf)
b'hello world'