Blame view

RIOT/pkg/micro-ecc/doc.txt 1.58 KB
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  /**
   * @defgroup pkg_micro_ecc   Micro-ECC for RIOT
   * @ingroup  pkg
   * @ingroup  sys_crypto
   * @brief    Micro-ECC for RIOT
   *
   * # Micro-ECC for RIOT
   * 
   * This port of Micro-ECC to RIOT is based on the Micro-ECC
   * [upstream](https://github.com/kmackay/micro-ecc) and adds `hwrng_read`
   * (provided by RIOT) as the default RNG function if it is available on the target
   * platform. This port also fixes a minor issue with unused variables in the
   * upstream code.
   * 
   * # Usage
   * 
   * ## Build
   * 
   * Add
   * ```Makefile
   * USEPKG += micro-ecc
   * ```
   * to your Makefile.
   * 
   * ## Choosing the right API
   * 
   * Before using the Micro-ECC library, you need to check the `Makefile.features`
   * of your target board to see if `periph_hwrng` is provided.
   * 
   * If it is provided, you may safely use `uECC_make_key` to generate ECDSA key
   * pairs and call `uECC_sign`/`uECC_verify` to sign/verify the ECDSA signatures.
   * 
   * If not, you cannot use `uECC_make_key` or `uECC_sign` APIs anymore. The ECDSA
   * keys have to be generated on a platform with HWRNG support (e.g., `native`) and
   * transferred to your target device. You need to use `uECC_sign_deterministic` to
   * perform ECDSA deterministic signing (standardized by RFC 6979). You can still
   * use `uECC_verify` to verify the signatures from both signing APIs.
   * 
   * **WARNING** Calling `uECC_make_key` and `uECC_sign` APIs on platforms without
   * HWRNG support will lead to compile failure.
   * 
   * Examples of using these uECC APIs can be found in the `test` folder of the
   * Micro-ECC upstream.
   *
   * @see     https://github.com/kmackay/micro-ecc
   */