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.