tree: 95a6ab0e2eaea76130e7b38daf068f6b4157e932 [path history] [tgz]
  1. p256-m/
  2. Makefile.inc
  3. p256-m_driver_entrypoints.c
  4. p256-m_driver_entrypoints.h
  5. README.md
3rdparty/p256-m/README.md

The files within the p256-m/ subdirectory originate from the p256-m GitHub repository, which is distributed under the Apache 2.0 license. They are authored by Manuel Pégourié-Gonnard. The files p256-m.c and .h have been taken from the repository. p256-m is a minimalistic implementation of ECDH and ECDSA on NIST P-256, especially suited to constrained 32-bit environments. Mbed TLS documentation for integrating drivers uses p256-m as an example of a software accelerator, and describes how it can be integrated alongside Mbed TLS.

It should be noted that p256-m does not supply its own cryptographically secure RNG function. An implementation based on rand() (taken from benchmark.c in the p256-m repo) has been added to p256-m.c to support key generation. This means that while key generation will work, p256-m's key generation entry point should not be called in production builds.