Implement pure python AES-IGE mode - #6
Conversation
Co-authored-by: SWORDIntel <117012829+SWORDIntel@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
AES-IGE Pure Python Implementation
AES256class insidesrc/crypto_standalone/symmetric/aes.pyhas been updated and renamed to a baseAESclass. The_key_expandand initialization steps were updated to natively support 16, 24, and 32 byte keys for AES-128, AES-192, and AES-256 respectively, adapting the number of key expansion iterations based on the key length.AES256that inherits fromAESwas placed insidesrc/crypto_standalone/symmetric/aes.pythat specifically throws aValueErrorfor key lengths other than 32 bytes to ensure existing legacy implementations are completely unaffected.AESIGEwhich conforms to the conventions of other block cipher modes (like AEAD implementations). Addedaes_ige_encryptandaes_ige_decryptfunctions to provide user-friendly encapsulation, enforcing the necessary length requirements, utilizing a two-block combined IV (src/crypto_standalone/symmetric/__init__.pyand the main__init__.pyexport. Updated theREADME.mdto advertise the AES-IGE features.tests/unit/test_aes_ige.py. Tests verify correct functionality and error handling. Code passes validation (linting and testing).PR created automatically by Jules for task 7188788929984145490 started by @SWORDIntel