Structure of the project - ivan-zaera/cipher GitHub Wiki
The project follows the standard structure for Dart projects. It has a lib folder with the library and a test folders with
the tests. There' a bin folder with a command line tool to use the library, but it is not yet developed so don't use it! :-P.
The library aims to implement the most used standard cryptography algorithms. This includes symmetric and stream ciphers, digests, public key schemes, etc. Usually (but not always) algorithms are ported from Bouncy Castle Java library and the results are compared against it to test the correct implementation of the algorithms. Other times standard test vectors are used.
The API, class names and organization is similar to Bouncy Castle too so that porting clients of that library from Java is easier. Nevertheless, the classes and APIs are adapted (changed) to Dart whenever it fits. In the future it is possible that this library diverges from Bouncy Castle so much.