crypto: Implement Aes

Implement AES and AES-GCM using the GP API, and common block cipher
operations including PKCS#7 padding in operation.rs.

Note that OP-TEE needs the following change to pass KeyMint VTS block
cipher tests:

https://github.com/OP-TEE/optee_os/commit/aeb530a5a74acddd0badc78af47fce57db8c4644

Test: make ta + unit tests
Change-Id: I4fc94ebff0f3e17238aba546fee657886efbba10
5 files changed
tree: 9d33284ed39a8a6d4520e5b221a15b54dedf4a54
  1. .cargo/
  2. src/
  3. Cargo.toml
  4. LICENSE
  5. Makefile
  6. OWNERS
  7. PREUPLOAD.cfg
  8. README.md
  9. rustfmt.toml
README.md

KeyMint reference implementation for OP-TEE

This repository holds a reference Rust KeyMint implementation for OP-TEE using the Apache Teaclave TrustZone SDK.