JHUISI / charm

Charm: A Framework for Rapidly Prototyping Cryptosystems
http://charm-crypto.io
GNU Lesser General Public License v3.0
541 stars 166 forks source link

Substituting AES-CBC for AES-GCM in Hybrid ABEenc #282

Open PekeDevil opened 2 years ago

PekeDevil commented 2 years ago

I'm currently implementing Charm for a project, and I have realized that abenc_adapt_hybrid.py calls to symcrypto.py underneath for symmetrically encrypting the original message.

I wondered which symmetric encryption algorithm is implemented, and I realized that it is AES-CBC. CBC mode seems a bit outdated, and I wonder if there is any way of implementing AES-GCM instead.

I've been trying to import a MODE-GCM from charm.core.crypto.cryptobase with no luck so far. I guess there are many dependencies I'm not considering and that changing from CBC to GCM is not as straightforward as it seems.

Is anyone working on this, or is there a plan to substitute AES-CBC for AES-GCM?

Of course, there is also the possibility of having misunderstood everything and AES-GCM having already been implemented 😄. In which case, some pointers would be lovely 😊