xtea icon indicating copy to clipboard operation
xtea copied to clipboard

A python version of XTEA

=========== Python XTEA

.. image:: https://github.com/varbin/xtea/workflows/QA/badge.svg :target: https://github.com/Varbin/xtea/actions :alt: Github Actions: QA

.. image:: https://api.codeclimate.com/v1/badges/563d6ad2607d6ed6fda3/maintainability :target: https://codeclimate.com/github/Varbin/xtea/maintainability :alt: Maintainability

.. image:: https://api.codeclimate.com/v1/badges/563d6ad2607d6ed6fda3/test_coverage :target: https://codeclimate.com/github/Varbin/xtea/test_coverage :alt: Test Coverage

.. image:: https://readthedocs.org/projects/xtea/badge/?version=latest :target: https://xtea.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

This is an XTEA-Cipher implementation in Python (eXtended Tiny Encryption Algorithm).

XTEA is a blockcipher with 8 bytes blocksize and 16 bytes Keysize (128-Bit).
The algorithm is secure at 2014 with the recommend 64 rounds (32 cycles). This
implementation supports following modes of operation:
ECB, CBC, CFB, OFB, CTR

Example:

>>> from xtea import *
>>> key = b" "*16  # Never use this key
>>> text = b"This is a text. "*8
>>> x = new(key, mode=MODE_OFB, IV=b"12345678")  # IV's must be unpredictable
>>> c = x.encrypt(text)
>>> text == new(key, mode=MODE_OFB, IV=b"12345678").decrypt(c)
True

Resources

  • PyPi: https://pypi.org/project/xtea
  • Docs: http://xtea.readthedocs.io/
  • Source code: https://github.com/varbin/xtea
  • Issue tracker: https://github.com/varbin/xtea/issues