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

feat: at_chops faster aes impl #744

Open
wants to merge 13 commits into
base: trunk
Choose a base branch
from
Open

Conversation

murali-shris
Copy link
Member

@murali-shris murali-shris commented Dec 18, 2024

Fixes #705
- What I did

  • replaced current AES implementation with better_cryptography impl
    - How I did it
  • better_cryptography AES impl doesn't have padding logic implemented. Added abstractions for padding algo and implemented PKCS7Padding
  • Modified returns types in AtEncryptionAlgorithm to FutureOr
  • Added unit tests to check backward compatibility (data encrypted with old AES impl should be decrypted with better_crypto AES impl and vice versa
  • Added unit tests
    - How to verify it
  • tests should pass
  • at_client and server tests should pass with this branch of at_chops

@murali-shris murali-shris changed the title feat: at_chops faster aes feat: at_chops faster aes impl Dec 19, 2024
@murali-shris
Copy link
Member Author

Order of merge and publish

  1. Merge at_chops PR and publish v3.0.0
  2. Merge at_auth PR https://github.com/atsign-foundation/at_libraries/pull/745/files and publish at_auth v2.1.0
  3. Merge at_client PR feat: uptake at_chops major version for faster AES at_client_sdk#1446 and publish at_client v3.5.0
  4. Uptake at_chops, at_auth and at_client in at_onboarding_cli and publish

@murali-shris murali-shris marked this pull request as ready for review December 20, 2024 06:11
@murali-shris
Copy link
Member Author

@XavierChanth Can you please review the pkcs7 padding impl and the unit tests.Any additional test scenarios to be covered?

import 'package:at_chops/src/algorithm/padding/padding_params.dart';
import 'package:at_commons/at_commons.dart';

class PKCS7Padding implements PaddingAlgorithm {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, relevant RFC: RFC 5652

Copy link
Member

@XavierChanth XavierChanth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@XavierChanth
Copy link
Member

@XavierChanth Can you please review the pkcs7 padding impl and the unit tests.Any additional test scenarios to be covered?

It looks like you've already covered the most important edge cases, I think we have good enough coverage.

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

Successfully merging this pull request may close these issues.

feat (atchops): Faster aes ctr algorithms
2 participants