Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

blake2b: unusable in XOF fashion.

Open
#763 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
rust
Domain
cryptography

Research direction

No file or test entry point is identified. Start by reviewing the blake2 crate's current API and the relevant Rust Rng and XOF contracts, then determine the intended arbitrary-length output behavior and how it would be validated. Done means the requested XOF-style use case has an agreed API and tests.

Written by the indexing model from the issue text.

Description

I might be missing something but with the latest blake2 crate I am unable to use it in XOF fashion.
Here's my use case: input some data to blake2 input, then read from it arbitrary number of bytes. This is valid use case to implement drbg from blake2 with "seed" which is also arbitrarily long. Of course I can work that around by hashing input to the size of some pseudo-rng (like ChaCha8Rng) but as far as I understand the contract for Rng is not to keep always the same output for the same seed (e.g. with the crate version change). I use quite extensively this functionality as many crypto protocols use keyed pseudo random functions and XOF was pretty straightforward way to implement it, and it would be nice to have this in blake2b implemented.

Please advise.

Dominant language
Rust
Stars
2.3k
Forks
343
Avg merge
1h 27m
Merged PRs (30d)
5

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from RustCrypto/hashes

All issues in RustCrypto/hashes

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.