Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The future of this package #1

Open
paricleu opened this issue Feb 3, 2021 · 3 comments
Open

The future of this package #1

paricleu opened this issue Feb 3, 2021 · 3 comments
Labels
question Further information is requested

Comments

@paricleu
Copy link

paricleu commented Feb 3, 2021

I just stumbled on this package through sheer luck because it is not on pub.dev.
Is it a personal project or are there any plans to publish it to pub.dev? There are currently no good native file encryption packages for Android/iOS (at least none I could find) and this looks very promising.
Also:
Is there a plan to migrate to null safety in the future?

Great work so far! Love to hear from you.

@hugo-pcl
Copy link
Owner

hugo-pcl commented Feb 3, 2021

Hello, happy to read all this.
This package is a small part of a bigger project I'm currently working on with friends, but I think it's not "production-ready" yet, that's why I'm not putting it on pub.dev yet!
But you can still use it in your pubspec file by integrating it with git (as indicated in the readme).

In terms of my future goals:

  • I would like first of all to implement asymmetric cryptography.
  • More and more packages are upgrading to null-safety, and I think it would be wise for me to do the same! 😁
  • Then, I'm studying the cross-compiling solution with Rust to do more operations natively, and not only rely on the already existing libs of Android and iOS.
  • Then Rust might open doors for me to other platforms (Web especially!), I don't know... 🤷🏻‍♂️

I'm still a student, and I develop this package only on my free time so I can't give you a precise road-map ... 😬

Thank you very much for your message and feedback, if you have any other question don't hesitate !
And I will also be happy to see what use you could make of this package!

@hugo-pcl hugo-pcl added the question Further information is requested label Feb 3, 2021
@dv30fps
Copy link

dv30fps commented Dec 18, 2021

Hi Hugo,

Thank you for creating and distributing this package. I found it when I was disappointed with the slow run-time performance of the Cryptography Flutter package for AES GCM encryption and decryption. Your package is able to decrypt a 175 KB file on the Android emulator in about 10 ms. Cryptography Flutter took 110 ms in the best case or 38 seconds in the worst case.

Your package currently is limited to AES CBC. I looked around the native code and it seems that the reason is that CommonCrypto on iOS does not support AES GCM. As of iOS 13, Apple supports another package CryptoKit, which supports AES GCM. I think a worthwhile goal for native-crypto is to support AES GCM when possible.

I cloned your repository and applied Dart's migration tool to null safety. I have native-crypto running locally on Flutter 2.8 and Dart 2.15.0. I only develop my Flutter app on Android at the moment. When I get to iOS, I might try to get your package on CryptoKit, but I have not programmed in Swift so I don't know my way around.

Your work is highly commendable, and I hope more developers contribute to native-crypto.

Regards,
Kevin

@hugo-pcl
Copy link
Owner

Hi Kevin,
First of all, thanks for your comment.

I'm in the process of migrating the plugin to the latest version of Flutter, making it null-safety, and changing the whole structure of the plugin to follow the "federated plugins" standard (https://docs.flutter.dev/development/packages-and-plugins/developing-packages#federated-plugins)

And in this change of structure I also made the choice to remove AES-CBC in favor of AES-GCM, and to forget the KEM with RSA in favor of ECDH.

The plugin will change a lot in the next weeks (with its lot of breaking changes :( ) but will be modernized with CryptoKit and the additions of the last Android SDK.

Best regards,
Hugo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants