Skip to main content

Python XTEA

Maintainability Test Coverage Travis CI build status Appveyor CI build status 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 = " "*16  # Never use this
>>> text = "This is a text. "*8
>>> x = new(key, mode=MODE_OFB, IV="12345678")
>>> c = x.encrypt(text)
>>> text == x.decrypt(c)
True

Resources

Changelog

Version 0.7.1, former 0.6.1 / 0.7.0; Jun 16, 2018

  • Improved tests

  • PEP8-style formatting

  • Unittests: Counter, modes (but not results of them!), test vectors

  • [BREAKING CHANGE] Counter class is now in xtea.counter

  • Python 3.3 is not tested anymore on Travis CI

  • [BREAKING CHANGE] CFB mode is now correctly implemented. By setting partition_size it is possible to set the internal partition size (in bits) as per PEP-272.

  • Python 3: An optional C extension improves speed upto a factor of 10.

  • [BREAKING CHANGE] block_size and key_size is now in bytes.

  • Skipped 0.7.0 with

(unreleased) Version 0.6.0; Oct 16, 2016

  • Python 3 does work now

  • [BREAKING CHANGE] counters cannot return numbers any more, they must return bytestrings now

  • [BREAKING CHANGE] Cipher objects remember state, so two consecutive calls to XTEACipher.encrypt should not return the same

  • improved documentation

(unreleased) Version 0.5.0; Oct 15, 2016

  • Removed CBCMAC

Version 0.4.1; Jul 30, 2015

  • Fixed installer

Version 0.4.0; Jul 12, 2014

  • Buggless & PEP compliant CTR

  • CTR mode works with strings now

  • raises DeprecatedWarning if a number is returned

  • CBCMAC class added (use static method CBCMAC.new(args) to create)

Version 0.3.2; Jul 11, 2014

  • Minor Fixes

Version 0.3.1; Jul 11, 2014

  • Minor Fixes

  • Fixed that the length of data will not be checked

Version 0.3.0; Jul 11, 2014

  • Added CFB mode

  • Fully working with PEP 272

  • Raising NotImplementedError only on PGP-CFB (OpenPGP) mode

  • Wheel support and changelog (0.2.1)

(unreleased) Version 0.2.1 - dev; Jul 10, 2014

  • Added better wheel support for uploading (just for me) with a setup.cfg

  • Added this file (auto uploading on pypi/warehouse and github)

  • (upload.py for github)

Version 0.2.0; Jul 9, 2014

  • Added a test feature; warning in CTR

  • Raises warning on CTR, added a handler that CTR will not crash anymore ;)

Version 0.1.1; Jul 9, 2014

  • Module raises a NotImplementedError on CFB

  • Minor changes

Version 0.1; Jun 22, 2014

  • Initial release

  • Supports all mode except CFB

  • Buggy CTR ( “ß” = “\xc3\x9f” )

  • Working with PEP 272, default mode is ECB

Release files for xtea 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xtea 0.7.1
File Size Uploaded
xtea-0.7.1.tar.gz 7.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for xtea 0.7.1
File
xtea-0.7.1-py2.py3-none-any.whl Python 2, Python 3 none any Details
xtea-0.7.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
xtea-0.7.1-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
xtea-0.7.1-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
xtea-0.7.1-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
xtea-0.7.1-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
xtea-0.7.1-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details

Total release size: 86.5 kB

Release files / xtea-0.7.1.tar.gz

Download URL xtea-0.7.1.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
61f770d4d089f2aba42d4dc888fde98688b7d76af5ae50116b9ec53161e160ab
BLAKE2b-256 checksum
How to use checksums
50f5834b9ee6ce7b2c53ff058a19029510cf5420585b3b1ae6fe8b6b0146a84f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-py2.py3-none-any.whl

Download URL xtea-0.7.1-py2.py3-none-any.whl
Size 6.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
f2d02406d375faa57f6bd017c17aa70e02cfbd565f9060e44bfe8cb4cbfec7e2
BLAKE2b-256 checksum
How to use checksums
9ea29c1af8d6b2636888ee26d7292aa97ea7ad83d45da81d386817eacebbac09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-cp37-cp37m-win_amd64.whl

Download URL xtea-0.7.1-cp37-cp37m-win_amd64.whl
Size 12.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
a24c1aa4bed085d9b35b75ee31790ec71ef2992b8007f7203c0da4911fd31c34
BLAKE2b-256 checksum
How to use checksums
ce7404336e26549ca8457947273aeb22d12225141fe2175678fb089b0986c2b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-cp37-cp37m-win32.whl

Download URL xtea-0.7.1-cp37-cp37m-win32.whl
Size 11.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
3a591c8b19732004f8dddafb0dc9d5098d3f650de2df1f2bcf56c0a93e451a96
BLAKE2b-256 checksum
How to use checksums
491d671ba3b9988c8d65cf8e23a5a013b5a83fcd2955789c70668de6557e0af3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-cp36-cp36m-win_amd64.whl

Download URL xtea-0.7.1-cp36-cp36m-win_amd64.whl
Size 12.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
27b0c0a242318cf72fdc9fc2a257e60bf75ba075861b77fcb7f80e8381615c70
BLAKE2b-256 checksum
How to use checksums
ef332abea3ac604f109cb16a25befd52504cdf4ad84360e872b7a3531ef271c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-cp36-cp36m-win32.whl

Download URL xtea-0.7.1-cp36-cp36m-win32.whl
Size 11.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
876e6af9ba01805c08bd4b8ad6346c08889fe6727506f17de15b390e18042ffc
BLAKE2b-256 checksum
How to use checksums
c900d9bc84b9a08b610fbae6cc76e9dfecfcc408f387271c46998b3165ef424b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-cp35-cp35m-win_amd64.whl

Download URL xtea-0.7.1-cp35-cp35m-win_amd64.whl
Size 12.3 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
56a6b60898648e27a8c7b2f698672807c9ddd6f22f06915bc459f2de465f1aaa
BLAKE2b-256 checksum
How to use checksums
0248875c211a9c878d3c8bca93ef937f2e3e060270dc99fbbe903ed969ff6109
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release files / xtea-0.7.1-cp35-cp35m-win32.whl

Download URL xtea-0.7.1-cp35-cp35m-win32.whl
Size 11.6 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
59d00e875ccb441b153e9e9dbcf63421bfb87b8417816a8229936a8f21a4beeb
BLAKE2b-256 checksum
How to use checksums
8f1ffc70cd46e54de7724603e9f874f85c60789e6248ce31695483ce6db4d2fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.19.4 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.7.1 This release

8 release files

0.4.1

4 release files

0.4.0

4 release files

0.3.2

4 release files

0.3.1

4 release files

0.2.0

3 release files

0.1.1

4 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page