[ENHANCEMENT] Improve the performance JWE + JWS implementation
- Dominant language
- Rust
- Stars
- 43.7k
- Forks
- 5.1k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 205
Description
**📝 Feature Description**
We need to optimize the implementation of JWE and JWS, which currently uses the [`josekit`](https://docs.rs/josekit/latest/josekit/) library. The primary goal is to improve performance without altering the encryption function's characteristics.
**🔨 Possible Implementation**
- Research alternative libraries or methods for JWE and JWS implementation that may offer better performance.
- Implement new solutions while maintaining the current encryption characteristics.
- Compare the performance of new implementations against the existing one using the benchmarks provided in `benches/encryption.rs`.
- Ensure that any new implementation maintains compatibility with the existing system.
**🔖 Note:**
Benchmarks for JWE and JWS are available in `benches/encryption.rs`. Please refer to these benchmarks when implementing and testing new solutions to ensure accurate performance comparisons.
### Submission Process:
- Ask the maintainers for assignment of the issue, you can request for assignment by commenting on the issue itself.
- Once assigned, submit a pull request (PR).
- Maintainers will review and provide feedback, if any.
- Maintainers can unassign issues due to inactivity, [read more here](https://github.com/juspay/hyperswitch/wiki/Hacktoberfest-Contribution-Rules).
- For this issue, please raise a PR to juspay/hyperswitch-card-vault.
Refer [here](https://github.com/juspay/hyperswitch/blob/main/docs/TERMS_OF_CONTEST.md) for Terms and conditions for the contest.
Contributor guide
Research direction
Start by reviewing the current JWE and JWS implementation using josekit and the benchmarks in benches/encryption.rs. Research alternative libraries or implementation methods, then compare performance while checking compatibility and preservation of the existing encryption characteristics. The work is complete when a faster compatible approach is demonstrated by the benchmarks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100