Skip to content
This repository was archived by the owner on Dec 23, 2020. It is now read-only.

authenticated encryption#153

Open
rbellens wants to merge 1 commit into
PointyCastle:masterfrom
appsup-dart:feature/aead
Open

authenticated encryption#153
rbellens wants to merge 1 commit into
PointyCastle:masterfrom
appsup-dart:feature/aead

Conversation

@rbellens

@rbellens rbellens commented Sep 5, 2018

Copy link
Copy Markdown

Added an interface class for authenticated encryption with associated data as well as two implementations: GCM and CBC with HMAC.
See also issues #100 #112 #46

@stevenroose

Copy link
Copy Markdown
Member

This looks great! Thanks! Could you perhaps rebase on top of the recent registry changes?? Then I can test and merge it!

@BaloghTamas

Copy link
Copy Markdown

That would be really great to have GCM implementation on the master branch. Is there any update on that PR?

@paulreimer

paulreimer commented Mar 1, 2019

Copy link
Copy Markdown
Contributor

This looks so helpful!

Just to confirm, but if I need AES/CCM, that will still require porting from BouncyCastle (but would be based on the BaseAEADBlockCipher from this PR)?

@paulreimer

paulreimer commented Mar 4, 2019

Copy link
Copy Markdown
Contributor

I rebased this PR on master + PR #175 + PR #174 (Seems to work OK for me!), and I ported AES/CCM from BouncyCastle. At first I tried to re-use the functions in BaseAEADBlockCipher, but that didn't work for me -- I ended up with a more direct port from BouncyCastle and @overrides (so, perhaps that base class is a bit GCM specific, or I used it incorrectly). Other than that, I was able to build on top of this quite easily.

I have a PR ready (for the AES/CCM mode) for when this gets merged.

@na2axl

na2axl commented Mar 25, 2019

Copy link
Copy Markdown

Unable to wait too long for this PR to get merged, I've rebased this on master and I've also merged #174 and #175 in my fork na2axl/pointycastle and i'm happy to see that everything works fine. I'm using this feature for a secured chat application with a server written in Golang sending and receiving encrypted messages from web (Javascript) and mobile (Dart/Flutter) clients through websockets, with AES/GCM implemented on each endpoints and working without problems.

@knopp

knopp commented May 20, 2019

Copy link
Copy Markdown

@na2axl, there are two small issues I found so far in your fork, the GCM block cipher is not registered, and it fails with NPE if no associated text is present.

knopp@389d6e3
knopp@9f46f8e

@na2axl

na2axl commented Jul 11, 2019

Copy link
Copy Markdown

Thanks @knopp I've merged your changes in my fork.

@AKushWarrior AKushWarrior mentioned this pull request Jun 3, 2020
@izaera

izaera commented Dec 23, 2020

Copy link
Copy Markdown
Member

I'm archiving this repo as per #239 (see the issue for more info).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants