cipher

A Dart library for encryption and decryption. As of today, most of the classes are ports of Bouncy Castle from Java to Dart. The porting is almost always direct except for some classes that had been added to ease the use of low level data.

To make sure nothing fails, tests and benchmarks for every algorithm are provided. The expected results are taken from the Bouncy Castle Java version and also from standards, and matched against the results got from cipher.

As of the last release, the following algorithms are implemented:

Stream ciphers: * Salsa 20

Block ciphers: * AES (fast version)

Block cipher modes of operation: * SIC (a.k.a. CTR)

Digests: * RIPEMD160

Libraries

cipher

This is the main entry point to the cipher library.

cipher.adapters.stream_cipher_adapters
cipher.api

This is the API specification library for the cipher project.

cipher.digests.md4_family_digest
cipher.digests.ripemd160
cipher.engines.aes_fast
cipher.engines.null_block_cipher
cipher.engines.null_stream_cipher
cipher.engines.salsa20
cipher.impl

This library contains all out-of-the-box implementations of the interfaces provided in the API.

cipher.modes.cbc
cipher.modes.sic
cipher.paddings.padded_block_cipher
cipher.paddings.pkcs7
cipher.params.key_parameter
cipher.params.padded_block_cipher_parameters
cipher.params.parameters_with_iv