From: Petr Tesarik <petr.tesarik1@xxxxxxxxxxxxxxxxxxx> While I started working on my development branch to illustrate how SandBox Mode could be enhanced to allow dynamic memory allocation and other features necessary to convert some existing code, my colleague Roberto Sassu set out and adapted a PGP key parser to run in a sandbox. Disclaimer: The code had to be rearranged in order to avoid memory allocations and crypto operations in the sandbox. The code might contain errors. David Howells (4): PGPLIB: PGP definitions (RFC 4880) PGPLIB: Basic packet parser PGPLIB: Signature parser KEYS: PGP data parser Roberto Sassu (4): mpi: Introduce mpi_key_length() rsa: add parser of raw format KEYS: Run PGP key parser in a sandbox KEYS: Add intentional fault injection crypto/asymmetric_keys/Kconfig | 17 + crypto/asymmetric_keys/Makefile | 20 + crypto/asymmetric_keys/pgp.h | 206 +++++++++ crypto/asymmetric_keys/pgp_library.c | 556 ++++++++++++++++++++++++ crypto/asymmetric_keys/pgp_parser.h | 18 + crypto/asymmetric_keys/pgp_public_key.c | 441 +++++++++++++++++++ crypto/asymmetric_keys/pgplib.h | 58 +++ crypto/rsa.c | 14 +- crypto/rsa_helper.c | 69 +++ include/crypto/internal/rsa.h | 6 + include/linux/mpi.h | 2 + lib/crypto/mpi/mpicoder.c | 33 +- 12 files changed, 1429 insertions(+), 11 deletions(-) create mode 100644 crypto/asymmetric_keys/pgp.h create mode 100644 crypto/asymmetric_keys/pgp_library.c create mode 100644 crypto/asymmetric_keys/pgp_parser.h create mode 100644 crypto/asymmetric_keys/pgp_public_key.c create mode 100644 crypto/asymmetric_keys/pgplib.h -- 2.34.1