libp2p/crypto/curve25519

    Dark Mode
Search:
Group by:
  Source   Edit

This module integrates BearSSL Cyrve25519 mul and mulgen

This module uses unmodified parts of code from BearSSL library <https://bearssl.org/> Copyright(C) 2018 Thomas Pornin <pornin@bolet.org>.

Types

Curve25519 = object
  Source   Edit
Curve25519Error = enum
  Curver25519GenError
  Source   Edit
Curve25519Key = array[Curve25519KeySize, byte]
  Source   Edit

Procs

proc getBytes(key: Curve25519Key): seq[byte] {....raises: [], tags: [].}
  Source   Edit
proc intoCurve25519Key(s: openArray[byte]): Curve25519Key {....raises: [], tags: [].}
  Source   Edit
proc mul(_: type[Curve25519]; point: var Curve25519Key;
         multiplier: Curve25519Key) {....raises: [].}
  Source   Edit
proc public(private: Curve25519Key): Curve25519Key {....raises: [],
    tags: [RootEffect].}
  Source   Edit
proc random(_: type[Curve25519Key]; rng: var HmacDrbgContext): Curve25519Key {.
    ...raises: [].}
  Source   Edit