RustCrypto / RustCrypto/rustls-rustcrypto

Consistent composure of backend overrides

Open
#79 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
130
Forks
21
Avg merge
18h 6m
Merged PRs (30d)
1

Description

Several crates now support "override" for backend/s - people have different needs from top level binary

Ideally the selection is automatic but the overrides are provided e.g. wasm (both web and non-web) no_std runtimes etc.

I've also asked in several places to further the support:

This would be good given the compiler / cargo now has added features to validate the cfg use.

Typically people used features but as repeated in other issues - copied here;

  • Allows top-level binary composing the primitive as the overarching choice and transients not having any say
  • Transient dependencies don't need to "relay" it down - dalek long time didn't delay the choices down resulting only serial use
  • The compiler has now taken official stance on it to support the pattern
  • Composes as mutually exclusive feature vs features are not mutually exclusive
  • Other issues discussed in the long winded ref'd issue

Especially with rustls ideally it would be target arch but we can't assume crypto primitives take the environemnt into account.

Especially in non-monolithic primitives that do only one thing - it's primitive scope - it's essential to not duplicate the environment handling to every single primitive composed into one package under it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing the existing backend override mechanisms referenced in this issue and the linked curve25519-dalek, rust-aegis, and Ed448-Goldilocks discussions; done would require a decided, consistent composition approach across the relevant crates.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cryptography
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.