robojones / endguard-dart Goto Github PK
View Code? Open in Web Editor NEWDart implementation of Endguard, a reasonably secure end-to-end encryption scheme
License: MIT License
Dart implementation of Endguard, a reasonably secure end-to-end encryption scheme
License: MIT License
The API test is not using all exported functionality. The following aspects are currently missing in the test:
Ensure that the main module exports the correct datatypes needed. Add a test for this that only uses endguard.dart and native types as imports.
If a message uses a wrong message format, then it cannot be authenticated or decrypted. In the context of this encryption scheme, this should be considered a MessageAuthenticationException. Having a separate exception type for this would complicate the error handling for the library-user. The library is intended to be used more or less like this:
final message = decryptionQueue.pop();
try {
connection.decrypt(message)
} on MessageAuthenticationException {
// discard message, do not attempt to decrypt message again
}
Important this should only apply to the parts where we try to parse unauthenticated content. Authenticated content is assumed to have the correct syntax. If not, then that is an implementation error.
The readme needs to be updated to better explain the project
The structure of the code needs improvement and many doc comments are missing.
src/encryption
directory to src/crypto
because "encryption" is overused (e.g. src/connection/encryption.dart) and there will be more crypto functions like a MAC.Support the new features specified in Endguard v0.0.2
https://github.com/robojones/endguard/releases/tag/v0.0.2
The dependencies need to be kept up-to-date. Dependabot does not yet support Dart packages.
There should be the option to pass additional authenticated data (aad) to the handshake and encrypt/decrypt methods.
The aad could be used in protocols to authenticate the recipient or the server address.
Update all modules to null-safe versions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.