aboutsummaryrefslogtreecommitdiff
path: root/src/include
Commit message (Collapse)AuthorAge
* NAMESTORE: Add DB setup utility with SQlite support; PQ brokenMartin Schanzenbach2022-09-30
|
* NAMESTORE: Allow service-side record set filtering. Fixes #7193Martin Schanzenbach2022-09-28
| | | | | | | This commit enables zone iteration APIs which allow you to set a record set filter to determine which records should be returned or not. In particular filtering of private records and maintenance records (TOMBSTONE) for zonemaster.
* NAMESTORE: Towards proper transactional locksMartin Schanzenbach2022-09-23
|
* NAMESTORE: Add select ... for update / edit records APIsMartin Schanzenbach2022-09-23
|
* NAMESTORE: Add begin, commit and rollback API messagesMartin Schanzenbach2022-09-23
| | | | | Namestore service can now handle begin commit and rollback. A test for rollback exists and works for sqlite.
* NAMESTORE: Remove unneeded functions and renames.Martin Schanzenbach2022-09-22
|
* NAMESTORE: Start transactional APIMartin Schanzenbach2022-09-22
|
* BUILD: Remove gnurl. Improve curl-gnutls detectionMartin Schanzenbach2022-09-06
|
* -fix coverity; remove unnecessary APIMartin Schanzenbach2022-09-01
|
* Merge branch 'dev/trizuz/siop'Martin Schanzenbach2022-08-31
|\
| * -switch to EdDSA egos only for signature rest endpointTristan Schwieren2022-08-26
| |
| * -sign rest api + unfinished testTristan Schwieren2022-08-26
| |
| * - siop for reclaim; A rest endpoint that signs stuffTristan Schwieren2022-08-26
| |
* | -DOC: First pass through GNUnet cryptoWillow Liquorice2022-08-30
| |
* | -DOC first pass through UTIL container libraryWillow Liquorice2022-08-30
| |
* | -First pass through CONSENSUS subsystemWillow Liquorice2022-08-30
| |
* | -First pass through UTIL client libraryWillow Liquorice2022-08-30
| |
* | -Second pass through CADETWillow Liquorice2022-08-30
| |
* | -Second pass through ATS subsystemWillow Liquorice2022-08-30
| |
* | double-check GP/PP are finenlnet-r5n-auditChristian Grothoff2022-08-25
| |
* | -pack, just to be sureChristian Grothoff2022-08-21
| |
* | DOC: Major doxygen organisation work, upgraded config, updated logoWillow Liquorice2022-08-21
| |
* | DOC: Nesting doxygen groups to improve high-level organisation of source docs.Willow Liquorice2022-08-21
| |
* | -misc cleanupsChristian Grothoff2022-08-18
| |
* | add JSON routines for base64 encoded valuesChristian Grothoff2022-08-15
| |
* | -style fixesChristian Grothoff2022-08-10
| |
* | DOC: Move from texinfo to sphinxMartin Schanzenbach2022-08-02
| |
* | DHT: Swap signature and peer id fields in path element lsd0004Martin Schanzenbach2022-08-01
| |
* | enable non-numbered sql statement executionChristian Grothoff2022-07-24
| |
* | implemented new DHT path signing with origin authenticationChristian Grothoff2022-07-07
| |
* | major modification to datacache to store route options (and clean up the API)Christian Grothoff2022-07-07
| |
* | ABE: Remove unused attribute-based encryption componentMartin Schanzenbach2022-07-04
|/
* -fix typosChristian Grothoff2022-06-26
|
* -add interop test for berndChristian Grothoff2022-06-25
|
* protocol change: swap xquery and result filter, integrate mutator with ↵Christian Grothoff2022-05-31
| | | | result filter
* DHT: Move block type definitions to GANAMartin Schanzenbach2022-05-09
|
* -libgnunetpq needs version bumpChristian Grothoff2022-04-08
|
* add flag to return 'not present' status from GNUNET_JSON_spec_mark_optionalChristian Grothoff2022-04-05
|
* -typoChristian Grothoff2022-04-04
|
* -add include for type fd_setTheJackiMonster2022-04-02
| | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
* Edx25519 implementedÖzgür Kesim2022-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 LSD0001Martin Schanzenbach2022-03-27
|
* add GNUNET_TIME_absolute_round_down() functionChristian Grothoff2022-03-26
|
* Merge branch 'master' of git+ssh://git.gnunet.org/gnunetMartin Schanzenbach2022-03-21
|\
| * -add gns record type handling for messenger room detailsTheJackiMonster2022-03-21
| | | | | | | | Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
* | NAMESTORE: Towards new transaction-based APIMartin Schanzenbach2022-03-21
|/
* add new approximate time cmp functionChristian Grothoff2022-03-21
|
* NAMESTORE: Add record set blocking APIMartin Schanzenbach2022-03-16
| | | | | | | New API that allows the caller to reserve the mofification of a record set under a label. The record set cannot be modified by other clients until released.
* NAMESTORE: Prevent storing records under invalid labelsMartin Schanzenbach2022-03-15
|
* consider HELLOs also from PUTs, remove exact duplicates even if block type ↵Christian Grothoff2022-03-12
| | | | is unknown