Skip to content

Latest commit

 

History

History
68 lines (43 loc) · 1.36 KB

README.rst

File metadata and controls

68 lines (43 loc) · 1.36 KB

arc4

https://travis-ci.org/manicmaniac/arc4.svg?branch=master

A small and insanely fast ARCFOUR (RC4) cipher implementation of Python.

  • Strongly focused on performance; entire source code is written in C.
  • Easily installable; single file with no dependency.

Benchmark

Below is benchmark metrics against 3 major RC4 implementations.

arc4 is 67 % faster than the de facto PyCrypto library. Also, 1889 % faster than pure-Python rc4 library.

arc4 0.332659006119
PyCrypto 0.544879198074
rc4 6.60579204559

The whole benchmark code is in ./benchmark.py.

Install

Install from PyPI:

pip install arc4

Or clone the repo and do install:

git clone https://github.com/manicmaniac/arc4.git
cd arc4
python setup.py install

Usage

from arc4 import ARC4

arc4 = ARC4('key')
cipher = arc4.encrypt('some plain text to encrypt')

Because RC4 is a stream cipher, you must initialize RC4 object in the beginning of each operations.

arc4 = ARC4('key')
arc4.decrypt(cipher)

Testing

python -m unittest discover

License

This software is under the MIT License.