Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | fix scheduler bug with same-priority immediately-ready tasks possibly ↵ | Christian Grothoff | 2022-05-17 |
| | | | | hogging the scheduler | ||
* | DHT: Move block type definitions to GANA | Martin Schanzenbach | 2022-05-09 |
| | |||
* | FCFSD: Allow configuration of relative expiration time of added records | Martin Schanzenbach | 2022-05-09 |
| | |||
* | -fix unchecked remove calls in messenger ego store | TheJackiMonster | 2022-05-05 |
| | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com> | ||
* | -nicer logging | Christian Grothoff | 2022-04-30 |
| | |||
* | -oops, fix wrong size of unreduced scalar | Florian Dold | 2022-04-27 |
| | |||
* | -only need to copy 32 bytes | Florian Dold | 2022-04-26 |
| | |||
* | gnunet-crypto-tvg: edx25519 test vectors | Florian Dold | 2022-04-26 |
| | |||
* | edx25519: use SHA512/256 instead of SHA256 | Florian Dold | 2022-04-26 |
| | |||
* | - added missing GNUNET_SERVICE_client_continue | t3sserakt | 2022-04-26 |
| | |||
* | - added debug information | t3sserakt | 2022-04-25 |
| | |||
* | -code cleanup: remove duplicated comments | Christian Grothoff | 2022-04-25 |
| | |||
* | -simplify mq | Christian Grothoff | 2022-04-25 |
| | |||
* | -added name for deletion message kind | TheJackiMonster | 2022-04-24 |
| | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com> | ||
* | edx25519: KDF call | Florian Dold | 2022-04-19 |
| | |||
* | edx25519: use libsodium, tweak KDF call | Florian Dold | 2022-04-19 |
| | |||
* | -libgnunetpq needs version bump | Christian Grothoff | 2022-04-08 |
| | |||
* | -fix messenger renaming | TheJackiMonster | 2022-04-05 |
| | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com> | ||
* | add flag to return 'not present' status from GNUNET_JSON_spec_mark_optional | Christian Grothoff | 2022-04-05 |
| | |||
* | UTIL: OpenBSD does not implement unsafe srandom | Martin Schanzenbach | 2022-04-04 |
| | |||
* | Merge branch 'master' of ssh://git.gnunet.org/gnunet | t3sserakt | 2022-04-04 |
|\ | |||
| * | -typo | Christian Grothoff | 2022-04-04 |
| | | |||
* | | Merge branch 'master' of ssh://git.gnunet.org/gnunet | t3sserakt | 2022-04-03 |
|\| | |||
| * | -add include for type fd_set | TheJackiMonster | 2022-04-02 |
| | | | | | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com> | ||
| * | -implement messenger key update, fix ego store operations | TheJackiMonster | 2022-04-02 |
| | | | | | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com> | ||
| * | -unused | Martin Schanzenbach | 2022-04-02 |
| | | |||
* | | Merge branch 'master' of ssh://git.gnunet.org/gnunet | t3sserakt | 2022-04-03 |
|\| | |||
| * | -fix | Martin Schanzenbach | 2022-04-01 |
| | | |||
| * | -portability openbsd | Martin Schanzenbach | 2022-04-01 |
| | | |||
| * | -fix bogus free bugs | Christian Grothoff | 2022-03-30 |
| | | |||
| * | -style fixes, no semantic changes | Christian Grothoff | 2022-03-30 |
| | | |||
| * | -logging, minor memory leak fix | Christian Grothoff | 2022-03-30 |
| | | |||
| * | -update testvector generation | Martin Schanzenbach | 2022-03-29 |
| | | |||
| * | -add assertion again | Martin Schanzenbach | 2022-03-29 |
| | | |||
| * | GNS: Do not fail on assertions in block processing | Martin Schanzenbach | 2022-03-29 |
| | | |||
| * | -fix | Martin Schanzenbach | 2022-03-29 |
| | | |||
| * | -fix leak in edx25519 | Özgür Kesim | 2022-03-28 |
| | | |||
| * | Edx25519 implemented | Özgür Kesim | 2022-03-27 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Edx25519 is a variant of EdDSA on curve25519 which allows for repeated derivation of private and public keys, independently. The private keys in Edx25519 initially correspond to the data after expansion and clamping in EdDSA. However, this correspondence is lost after deriving further keys from existing ones. The public keys and signature verification are compatible with EdDSA. The ability to repeatedly derive key material is used for example in the context of age restriction in GNU Taler. The scheme that has been implemented is as follows: /* Private keys in Edx25519 are pairs (a, b) of 32 byte each. * Initially they correspond to the result of the expansion * and clamping in EdDSA. */ Edx25519_generate_private(seed) { /* EdDSA expand and clamp */ dh := SHA-512(seed) a := dh[0..31] b := dh[32..64] a[0] &= 0b11111000 a[31] &= 0b01111111 a[31] |= 0b01000000 return (a, b) } Edx25519_public_from_private(private) { /* Public keys are the same as in EdDSA */ (a, _) := private return [a] * G } Edx25519_blinding_factor(P, seed) { /* This is a helper function used in the derivation of * private/public keys from existing ones. */ h1 := HKDF_32(P, seed) /* Ensure that h == h % L */ h := h1 % L /* Optionally: Make sure that we don't create weak keys. */ P' := [h] * P if !( (h!=1) && (h!=0) && (P'!=E) ) { return Edx25519_blinding_factor(P, seed+1) } return h } Edx25519_derive_private(private, seed) { /* This is based on the definition in * GNUNET_CRYPTO_eddsa_private_key_derive. But it accepts * and returns a private pair (a, b) and allows for iteration. */ (a, b) := private P := Edx25519_public_key_from_private(private) h := Edx25519_blinding_factor(P, seed) /* Carefully calculate the new value for a */ a1 := a / 8; a2 := (h * a1) % L a' := (a2 * 8) % L /* Update b as well, binding it to h. This is an additional step compared to GNS. */ b' := SHA256(b ∥ h) return (a', b') } Edx25519_derive_public(P, seed) { h := Edx25519_blinding_factor(P, seed) return [h]*P } Edx25519_sign(private, message) { /* As in Ed25519, except for the origin of b */ (d, b) := private P := Edx25519_public_from_private(private) r := SHA-512(b ∥ message) R := [r] * G s := r + SHA-512(R ∥ P ∥ message) * d % L return (R,s) } Edx25519_verify(P, message, signature) { /* Identical to Ed25519 */ (R, s) := signature return [s] * G == R + [SHA-512(R ∥ P ∥ message)] * P } | ||
| * | GNS: Sanitize APIs and align with LSD0001 | Martin Schanzenbach | 2022-03-27 |
| | | |||
| * | add GNUNET_TIME_absolute_round_down() function | Christian Grothoff | 2022-03-26 |
| | | |||
| * | -init uninit | Christian Grothoff | 2022-03-21 |
| | | |||
| * | -fix FTBFS | Christian Grothoff | 2022-03-21 |
| | | |||
| * | Merge branch 'master' of git+ssh://git.gnunet.org/gnunet | Martin Schanzenbach | 2022-03-21 |
| |\ | |||
| | * | -add gns record type handling for messenger room details | TheJackiMonster | 2022-03-21 |
| | | | | | | | | | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com> | ||
| * | | NAMESTORE: Towards new transaction-based API | Martin Schanzenbach | 2022-03-21 |
| |/ | |||
| * | add new approximate time cmp function | Christian Grothoff | 2022-03-21 |
| | | |||
| * | -fix distv0.16.2 | Martin Schanzenbach | 2022-03-19 |
| | | |||
| * | -forgot test file | Martin Schanzenbach | 2022-03-18 |
| | | |||
| * | GNS: Fix BOX handling in apex | Martin Schanzenbach | 2022-03-18 |
| | | |||
| * | Merge branch 'master' of git+ssh://git.gnunet.org/gnunet | Martin Schanzenbach | 2022-03-17 |
| |\ |