Closed donaastor closed 1 year ago
You can already do that, the hash_state
is not terminated after calling sha3_shake_done()
.
sha3_shake_done(&c, hash, 32);
// has the same result as
sha3_shake_done(&c, hash, 16);
sha3_shake_done(&c, &hash[16], 16);
@sjaeckel That's great! Thank you. Maybe it should be added in the documentation.
Feel free to open a PR :)
@sjaeckel It's interesting how I for real went to write that, but then shook it off my mind as it seemed too unimportant of a change. Good to be encouraged, but I'll admit it that I am a bit lost on internet in general, can you please just confirm this summary of what I need to do: I need to make a fork, then edit the file, then somehow finalize it and push for merge? Is that right? Or perhaps I can just download the file, edit it and upload the file alone somewhere? I apologize if I'm being a nuisance.
I need to make a fork, then edit the file, then somehow finalize it and push for merge?
Indeed, that's the ideal way to go.
There are also multiple other ways to tackle this (GH web editor etc.), that's the way I would propose to go.
HTH
[^CI]: I'm not sure if you have a latex installation at hand (then it's just a make docs
away) or how experienced you are with Docker (then you could run the texlive/texlive:latest-medium
image and run make docs
in there), but IME if you can't identify with one of the two options before and you can run Docker on your machine, the easiest way would be to use act. Install act
on your machine, then run act -j Docs
inside the checked out repo. This job will in the end fail, since it's trying to upload the generated pdf, but it will also show a [CI/Docs] ✅ Success - Main generate PDF
if your changes were successfully built.
[^PR]: this will be automatically suggested by the GH homepage as soon as you pushed a new branch to your fork and visit either your fork's index page or this repo's index page
Could there be a mode in which one could read the output of SHAKE-128 and SHAKE-256 in chunks using some function like
int sha3_shake_read(unsigned char *output, unsigned int length, hash_state *state)
so that I can call it many times after I process the message? The current design allows only one read which means that I have to allocate a huge continuous block of memory if I want a huge hash.