| /* |
| * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| #ifndef TS_CRYPTO_OPCODES_H |
| #define TS_CRYPTO_OPCODES_H |
| |
| /* C/C++ definition of crypto service opcodes |
| */ |
| |
| /* Base operations */ |
| #define TS_CRYPTO_OPCODE_NOP (0x0000) |
| #define TS_CRYPTO_OPCODE_BASE (0x0100) |
| #define TS_CRYPTO_OPCODE_GENERATE_KEY (TS_CRYPTO_OPCODE_BASE + 1) |
| #define TS_CRYPTO_OPCODE_DESTROY_KEY (TS_CRYPTO_OPCODE_BASE + 2) |
| #define TS_CRYPTO_OPCODE_EXPORT_KEY (TS_CRYPTO_OPCODE_BASE + 5) |
| #define TS_CRYPTO_OPCODE_EXPORT_PUBLIC_KEY (TS_CRYPTO_OPCODE_BASE + 6) |
| #define TS_CRYPTO_OPCODE_IMPORT_KEY (TS_CRYPTO_OPCODE_BASE + 7) |
| #define TS_CRYPTO_OPCODE_SIGN_HASH (TS_CRYPTO_OPCODE_BASE + 8) |
| #define TS_CRYPTO_OPCODE_VERIFY_HASH (TS_CRYPTO_OPCODE_BASE + 9) |
| #define TS_CRYPTO_OPCODE_ASYMMETRIC_DECRYPT (TS_CRYPTO_OPCODE_BASE + 10) |
| #define TS_CRYPTO_OPCODE_ASYMMETRIC_ENCRYPT (TS_CRYPTO_OPCODE_BASE + 11) |
| #define TS_CRYPTO_OPCODE_GENERATE_RANDOM (TS_CRYPTO_OPCODE_BASE + 12) |
| #define TS_CRYPTO_OPCODE_COPY_KEY (TS_CRYPTO_OPCODE_BASE + 13) |
| #define TS_CRYPTO_OPCODE_PURGE_KEY (TS_CRYPTO_OPCODE_BASE + 14) |
| #define TS_CRYPTO_OPCODE_GET_KEY_ATTRIBUTES (TS_CRYPTO_OPCODE_BASE + 15) |
| |
| /* Hash operations */ |
| #define TS_CRYPTO_OPCODE_HASH_BASE (0x0200) |
| #define TS_CRYPTO_OPCODE_HASH_SETUP (TS_CRYPTO_OPCODE_HASH_BASE + 1) |
| #define TS_CRYPTO_OPCODE_HASH_UPDATE (TS_CRYPTO_OPCODE_HASH_BASE + 2) |
| #define TS_CRYPTO_OPCODE_HASH_FINISH (TS_CRYPTO_OPCODE_HASH_BASE + 3) |
| #define TS_CRYPTO_OPCODE_HASH_ABORT (TS_CRYPTO_OPCODE_HASH_BASE + 4) |
| #define TS_CRYPTO_OPCODE_HASH_VERIFY (TS_CRYPTO_OPCODE_HASH_BASE + 5) |
| #define TS_CRYPTO_OPCODE_HASH_CLONE (TS_CRYPTO_OPCODE_HASH_BASE + 6) |
| |
| /* Cipher operations */ |
| #define TS_CRYPTO_OPCODE_CIPHER_BASE (0x0300) |
| #define TS_CRYPTO_OPCODE_CIPHER_ENCRYPT_SETUP (TS_CRYPTO_OPCODE_CIPHER_BASE + 1) |
| #define TS_CRYPTO_OPCODE_CIPHER_DECRYPT_SETUP (TS_CRYPTO_OPCODE_CIPHER_BASE + 2) |
| #define TS_CRYPTO_OPCODE_CIPHER_GENERATE_IV (TS_CRYPTO_OPCODE_CIPHER_BASE + 3) |
| #define TS_CRYPTO_OPCODE_CIPHER_SET_IV (TS_CRYPTO_OPCODE_CIPHER_BASE + 4) |
| #define TS_CRYPTO_OPCODE_CIPHER_UPDATE (TS_CRYPTO_OPCODE_CIPHER_BASE + 5) |
| #define TS_CRYPTO_OPCODE_CIPHER_FINISH (TS_CRYPTO_OPCODE_CIPHER_BASE + 6) |
| #define TS_CRYPTO_OPCODE_CIPHER_ABORT (TS_CRYPTO_OPCODE_CIPHER_BASE + 7) |
| |
| #endif /* TS_CRYPTO_OPCODES_H */ |