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 Pointy Castle.
As of the last release, the following algorithms are implemented:
Asymmetric block ciphers:
Block cipher modes of operation:
Password based key derivators:
Asymmetric key generators:
First Pointy Castle release.
Reorganised file structure.
Completely new Registry implementation that dynamically loads imported implementations using reflection. It is explained in this commit.
Migrated from unittest to test package.
[enh 15] Implement stream cipher benchmarks.
[enh 64] Benchmark and optimize digests.
[enh 74] Make SHA-3 usable in terms of speed.
[bug 67] Removed some unused code.
[bug 68] Fix process() method of PaddedBlockCipher.
[bug 75] Remove a registry dependency in the Scrypt algorithm.
Add this to your package's pubspec.yaml file:
dependencies: pointycastle: ^0.10.0+4
You can install packages from the command line:
$ pub get
Alternatively, your editor might support
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|1.0.1||Feb 20, 2019|
|1.0.0||Dec 17, 2018|
|0.11.1||Jan 28, 2018|
|0.11.0||Jan 28, 2018|
|0.10.0+5||Dec 8, 2016|
|0.10.0+4||Dec 8, 2016|
|0.10.0+3||Dec 8, 2016|
|0.10.0+2||Dec 7, 2016|
|0.10.0+1||Feb 12, 2016|
|0.10.0||Feb 3, 2016|