juspay / juspay/hyperswitch

[ENHANCEMENT] Improve the performance JWE + JWS implementation

Open
#6,180 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.