Archive of https://github.com/ARMmbed/mbed-crypto — The development of Mbed Crypto has moved to Mbed TLS. No updates will be made to the mbed-crypto repository anymore. https://github.com/ARMmbed/mbed-crypto
  • C 89.4%
  • Python 5.1%
  • Shell 1.9%
  • Makefile 1.5%
  • Perl 1.2%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2020-04-27 17:02:21 +01:00
.github Have issue and PR templates redirect to Mbed TLS 2020-03-25 09:31:23 +01:00
3rdparty Invoke config.py instead of config.pl 2019-11-13 14:33:33 +00:00
ChangeLog.d Changelog merging script 2019-10-13 21:44:25 +02:00
configs Add a reference configuration without any asymmetric cryptography 2019-10-11 18:21:08 +02:00
docs Define EC curve family constants 2020-01-31 10:15:32 +01:00
doxygen Bump version to Mbed TLS 2.21.0 2020-02-19 11:51:13 +00:00
include Refuse to build the library if deprecated features are excluded 2020-04-23 18:58:53 +02:00
library Fix leakage of projective coordinates in ECC 2020-04-23 17:56:05 +02:00
programs Move EXTRA_GENERATED mentions to a separate line 2020-02-26 14:44:40 +01:00
scripts MBEDTLS_DEPRECATED_WARNING now always emits a #warning 2020-04-23 20:05:00 +02:00
tests MBEDTLS_DEPRECATED_WARNING now always emits a #warning 2020-04-23 20:05:00 +02:00
visualc/VS2010 Tweak spacing in Visual Studio files 2020-02-26 14:37:17 +01:00
.gitignore Merge branch 'development' into development 2019-05-29 14:44:16 +02:00
.globalrc Generate tags for Vi, for Emacs and with Global 2019-02-25 22:49:28 +01:00
.pylintrc Allow main() to lack a docstring. 2019-02-27 11:03:43 +01:00
.travis.yml Merge remote-tracking branch 'myfork-public/development' into merge-crypto-development-20191115 2019-11-15 11:47:14 +01:00
ChangeLog.md Update ChangeLog up to mbedcrypto-3.0.0d0 2020-01-22 18:27:36 +01:00
CMakeLists.txt Add deprecation warnings 2020-04-23 17:56:36 +02:00
CONTRIBUTING.md Document that Mbed Crypto has moved into Mbed TLS 2020-04-23 17:56:09 +02:00
DartConfiguration.tcl Rename to mbed TLS in the documentation/comments 2015-01-22 16:11:05 +00:00
dco.txt Drop requirement for a CLA 2020-02-19 16:04:44 +00:00
LICENSE Drop requirement for a CLA 2020-02-19 16:04:44 +00:00
Makefile Add deprecation warnings 2020-04-23 17:56:36 +02:00
README.md Update public feedback channel 2020-04-23 20:05:01 +02:00

The development of Mbed Crypto has moved to Mbed TLS. No updates will be made to the mbed-crypto repository anymore.

Mbed TLS and Mbed Crypto have the same APIs, and the same build system, so most users only need to change the URL to clone or download the library from.

To save build time and possibly avoid system dependencies, you may want to exclude the X.509 and TLS parts of the library by running

scripts/config.py crypto

or

scripts/config.py crypto_full

before building Mbed TLS.

See https://github.com/ARMmbed/mbed-crypto/issues/374 for more details on this migration.

PSA cryptography API

The cryptography library in Mbed TLS is a reference implementation of the cryptography interface of the Arm Platform Security Architecture (PSA). This is a preview release of Mbed Crypto, provided for evaluation purposes only.

Arm's Platform Security Architecture (PSA) is a holistic set of threat models, security analyses, hardware and firmware architecture specifications, and an open source firmware reference implementation. PSA provides a recipe, based on industry best practice, that allows security to be consistently designed in, at both a hardware and firmware level.

The PSA cryptography API provides access to a set of cryptographic primitives. It has a dual purpose. First, it can be used in a PSA-compliant platform to build services, such as secure boot, secure storage and secure communication. Second, it can also be used independently of other PSA components on any platform.

The design goals of the PSA cryptography API include:

  • The API distinguishes caller memory from internal memory, which allows the library to be implemented in an isolated space for additional security. Library calls can be implemented as direct function calls if isolation is not desired, and as remote procedure calls if isolation is desired.
  • The structure of internal data is hidden to the application, which allows substituting alternative implementations at build time or run time, for example, in order to take advantage of hardware accelerators.
  • All access to the keys happens through handles, which allows support for external cryptoprocessors that is transparent to applications.
  • The interface to algorithms is generic, favoring algorithm agility.
  • The interface is designed to be easy to use and hard to accidentally misuse.

Arm welcomes feedback on the design of the API. If you think something could be improved, please discuss it on the psa-crypto mailing list. Alternatively, if you prefer to provide your feedback privately, please email us at mbed-crypto@arm.com. All feedback received through this email is treated confidentially.