1b886d83cSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 27e70cb49SMimi Zohar /* 37e70cb49SMimi Zohar * Copyright (C) 2010 IBM Corporation 44e561d38SRoberto Sassu * Copyright (C) 2010 Politecnico di Torino, Italy 5*c52b7c80SAlexander A. Klimov * TORSEC group -- https://security.polito.it 64e561d38SRoberto Sassu * 74e561d38SRoberto Sassu * Authors: 84e561d38SRoberto Sassu * Mimi Zohar <[email protected]> 94e561d38SRoberto Sassu * Roberto Sassu <[email protected]> 107e70cb49SMimi Zohar */ 117e70cb49SMimi Zohar 127e70cb49SMimi Zohar #ifndef _KEYS_ENCRYPTED_TYPE_H 137e70cb49SMimi Zohar #define _KEYS_ENCRYPTED_TYPE_H 147e70cb49SMimi Zohar 157e70cb49SMimi Zohar #include <linux/key.h> 167e70cb49SMimi Zohar #include <linux/rcupdate.h> 177e70cb49SMimi Zohar 187e70cb49SMimi Zohar struct encrypted_key_payload { 197e70cb49SMimi Zohar struct rcu_head rcu; 204e561d38SRoberto Sassu char *format; /* datablob: format */ 217e70cb49SMimi Zohar char *master_desc; /* datablob: master key name */ 227e70cb49SMimi Zohar char *datalen; /* datablob: decrypted key length */ 237e70cb49SMimi Zohar u8 *iv; /* datablob: iv */ 247e70cb49SMimi Zohar u8 *encrypted_data; /* datablob: encrypted data */ 257e70cb49SMimi Zohar unsigned short datablob_len; /* length of datablob */ 267e70cb49SMimi Zohar unsigned short decrypted_datalen; /* decrypted data length */ 274e561d38SRoberto Sassu unsigned short payload_datalen; /* payload data length */ 284e561d38SRoberto Sassu unsigned short encrypted_key_format; /* encrypted key format */ 294e561d38SRoberto Sassu u8 *decrypted_data; /* decrypted data */ 30ad8cb165SGustavo A. R. Silva u8 payload_data[]; /* payload data + datablob + hmac */ 317e70cb49SMimi Zohar }; 327e70cb49SMimi Zohar 337e70cb49SMimi Zohar extern struct key_type key_type_encrypted; 347e70cb49SMimi Zohar 357e70cb49SMimi Zohar #endif /* _KEYS_ENCRYPTED_TYPE_H */ 36