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

Support for AES-IGE mode of operation #3875

Closed
Lonami opened this issue Aug 23, 2017 · 10 comments
Closed

Support for AES-IGE mode of operation #3875

Lonami opened this issue Aug 23, 2017 · 10 comments

Comments

@Lonami
Copy link

Lonami commented Aug 23, 2017

I know it's only used for Telegram, but it would be nice to have it directly in this Python module.

@alex
Copy link
Member

alex commented Aug 23, 2017

We are unlikely to add something which such limited usage, particular Telegram, given it's poor cryptographic history.

@alex alex closed this as completed Aug 23, 2017
@Lonami
Copy link
Author

Lonami commented Feb 16, 2018

In case anyone is bothered here's a C implementation for it I wrote myself for the tiny AES library.

@habnabit
Copy link

Is there a case to be made in adding IGE for the sake of harm reduction? Given issues like this one: pyrogram/tgcrypto#6

I'm not sure how much maintenance burden this creates but I'll be looking into that soon.

@reaperhulk
Copy link
Member

It wouldn’t be a maintenance burden, but any proposal for adding it needs to come up with a way to convey that it is a bad mode that shouldn’t exist and is provided solely for compatibility purposes.

@Lonami
Copy link
Author

Lonami commented Nov 21, 2018

Good documentation, perhaps? An "important" or "note" block maybe with with bold words "It is not encouraged to use X unless you know what you're doing" or "You shouldn't use X and favour Y".

@reaperhulk
Copy link
Member

We do that in some other places and it's as good as we know how to do right now. I would review an IGE patch at this point as I believe that while it's an awful mode we should support the things needed to interoperate with major projects (Even if those major projects made some very, very weird choices). Ignoring it is just encouraging people to look in more dangerous locations/do more dangerous things.

To be clear, here's what is needed to land IGE:

@Lonami
Copy link
Author

Lonami commented Nov 22, 2018

So, may we reopen the issue to keep track of the progress?

@reaperhulk reaperhulk reopened this Nov 22, 2018
@reaperhulk
Copy link
Member

Looking at this OpenSSL has chosen to not even expose IGE mode at the EVP layer. This means supporting it requires a different codepath than every other cipher/mode we have. That is a significant maintenance burden so I think this may not be practical.

@reaperhulk
Copy link
Member

Okay, maintaining a separate set of bindings and dedicated code just for a single (bad) cipher mode is not something we're willing to do so the answer remains no on adding support.

@habnabit
Copy link

habnabit commented Jan 8, 2019

Yikes! Didn't know it was this annoying to support. Thanks for humoring the idea, at least.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

4 participants