libp2p/crypto/curve25519

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: [], forbids: [].}
Source   Edit  
proc intoCurve25519Key(s: openArray[byte]): Curve25519Key {....raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc mul(_: type[Curve25519]; point: var Curve25519Key;
         multiplier: Curve25519Key) {....raises: [].}
Source   Edit  
proc public(private: Curve25519Key): Curve25519Key {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc random(_: type[Curve25519Key]; rng: var HmacDrbgContext): Curve25519Key {.
    ...raises: [].}
Source   Edit