bcgit / pc-dart

Pointy Castle - Dart Derived Bouncy Castle APIs
MIT License
237 stars 122 forks source link

Folding steel_crypt into pointycastle #7

Closed AKushWarrior closed 1 year ago

AKushWarrior commented 4 years ago

Hi there! My name is Aditya Kishore, and I'm the author of steel_crypt. I came here today to discuss something that I've been mulling over for a while now.

Some background

I created steel_crypt last year to fill a need. There was no cryptography package with all the features of pointycastle that had adequate documentation and maintenance. I set out to create such a package. Over time, I have essentially maintained a fork of pointycastle within steel_crypt, adding new algorithms (such as AES-GCM and ChaCha20).

Earlier this year, pointycastle was folded into the larger BouncyCastle project. The largest problem with pointycastle (lack of maintenance) was finally solved.

One of my greatest fears is contributing to the "NPM problem", where duplicitous packages exist for no reason other than to prop up individual devs. I really want to make cryptography easier for the broader Dart community; if contributing to a larger package is the best way to do that, then I would jump at the chance to do so.

My Proposal

I propose that we migrate differentiating sections of steel_crypt into pointycastle. pointycastle would get the algorithms I've added (ChaCha20, Poly1305, ChaCha20-Poly1305, AES-GCM) and the codebase cleanups I've done. Then, steel_crypt would stop relying on an internal fork of pointycastle, and would become a simple skin over the public pointycastle package.

mwcw commented 4 years ago

Hi Aditya,

We're certainly interested, would you be able to start with a few pull requests on the mirror, perhaps one per algorithm with the associated tests?

If that all goes well we'd be happy to organise more general access.

Thanks,

AKushWarrior commented 4 years ago

Alright, will do over the next few days.