SIV-like deterministic nonce-misuse resistant authenticated encryption construction with BLAKE2s and ChaCha20
- key - 32-byte secret key
- nonce - 8-byte nonce (all-zero by default)
- plaintext - data to encrypt and authenticate
| Source: https://groups.google.com/a/list.nist.gov/d/msg/pqc-forum/1lDNio0sKq4/fzAd9fewAAAJ | |
| From: D. J. Bernstein | |
| Compared to Ryo Fujita's table, I would list Giophantus as multivariate, | |
| Lepton as code-based (I see LWE->LPN as crossing the lattices->codes | |
| line), and Mersenne/Ramstake/Three Bears in a separate category. I also | |
| think it's a bit silly for NIST to count (e.g.) two pqRSA submissions. | |
| Another way to categorize submissions is by sizes. This is correlated |
| Analysis of sampling openssl (pid 42557) every 1 millisecond | |
| Process: openssl [42557] | |
| Path: /usr/bin/openssl | |
| Load Address: 0x108287000 | |
| Identifier: openssl | |
| Version: 22 | |
| Code Type: X86-64 | |
| Parent Process: bash [37567] | |
| Date/Time: 2017-10-10 20:17:15.049 +0200 |
| IconSizes | string | gtk-menu=48,48:panel-menu=32,32:panel=16,16:gtk-button=32,32:gtk-large-toolbar=48,48:gtk-small-toolbar=32,32 |
| /** Gimli permutation - https://gimli.cr.yp.to */ | |
| function gimli(s) { | |
| var r, x, y, z, | |
| a = s[ 0] | s[ 1] << 8 | s[ 2] << 16 | s[ 3] << 24, | |
| b = s[ 4] | s[ 5] << 8 | s[ 6] << 16 | s[ 7] << 24, | |
| c = s[ 8] | s[ 9] << 8 | s[10] << 16 | s[11] << 24, | |
| d = s[12] | s[13] << 8 | s[14] << 16 | s[15] << 24, | |
| e = s[16] | s[17] << 8 | s[18] << 16 | s[19] << 24, | |
| f = s[20] | s[21] << 8 | s[22] << 16 | s[23] << 24, | |
| g = s[24] | s[25] << 8 | s[26] << 16 | s[27] << 24, |
| import { wipe } from "@stablelib/wipe"; | |
| /** | |
| * Buzhash implements cyclic polymomial rolling hash function. | |
| * It is a custom developed keyed variant with protections against plain text | |
| * recovery from chunk lengths. | |
| * | |
| * Reading: | |
| * | |
| * http://www.serve.net/buz/Notes.1st.year/HTML/C6/rand.012.html |
| -----BEGIN PGP SIGNED MESSAGE----- | |
| Hash: SHA256 | |
| - -----BEGIN PGP SIGNED MESSAGE----- | |
| Hash: SHA256 | |
| - - -----BEGIN PGP SIGNED MESSAGE----- | |
| Hash: SHA256 | |
| - - - -----BEGIN PGP SIGNED MESSAGE----- |
The point of the list is not to complain, but to educate (informing people about unexpected and suprisingly broken things), and propose workarounds.
Bug report: nodejs/node#8569.
| Don't write in C. |
| function keepTrying(otherArgs, promise) { | |
| promise = promise||new Promise(); | |
| // try doing the important thing | |
| if(success) { | |
| promise.resolve(result); | |
| } else { | |
| setTimeout(function() { | |
| keepTrying(otherArgs, promise); |