fscrypt_private.h (d4e0045c4ed300781d2d4cbab57d05ed5e665a37) | fscrypt_private.h (b7e7cf7a66a27e62c5f873a0068cee34094bf5d7) |
---|---|
1/* 2 * fscrypt_private.h 3 * 4 * Copyright (C) 2015, Google, Inc. 5 * 6 * This contains encryption key functions. 7 * 8 * Written by Michael Halcrow, Ildar Muslukhov, and Uday Savagaonkar, 2015. 9 */ 10 11#ifndef _FSCRYPT_PRIVATE_H 12#define _FSCRYPT_PRIVATE_H 13 14#include <linux/fscrypt_supp.h> | 1/* 2 * fscrypt_private.h 3 * 4 * Copyright (C) 2015, Google, Inc. 5 * 6 * This contains encryption key functions. 7 * 8 * Written by Michael Halcrow, Ildar Muslukhov, and Uday Savagaonkar, 2015. 9 */ 10 11#ifndef _FSCRYPT_PRIVATE_H 12#define _FSCRYPT_PRIVATE_H 13 14#include <linux/fscrypt_supp.h> |
15#include <crypto/hash.h> |
|
15 16/* Encryption parameters */ | 16 17/* Encryption parameters */ |
17#define FS_XTS_TWEAK_SIZE 16 | 18#define FS_IV_SIZE 16 |
18#define FS_AES_128_ECB_KEY_SIZE 16 | 19#define FS_AES_128_ECB_KEY_SIZE 16 |
20#define FS_AES_128_CBC_KEY_SIZE 16 21#define FS_AES_128_CTS_KEY_SIZE 16 |
|
19#define FS_AES_256_GCM_KEY_SIZE 32 20#define FS_AES_256_CBC_KEY_SIZE 32 21#define FS_AES_256_CTS_KEY_SIZE 32 22#define FS_AES_256_XTS_KEY_SIZE 64 23 24#define FS_KEY_DERIVATION_NONCE_SIZE 16 25 26/** --- 22 unchanged lines hidden (view full) --- 49 * A pointer to this structure is stored in the file system's in-core 50 * representation of an inode. 51 */ 52struct fscrypt_info { 53 u8 ci_data_mode; 54 u8 ci_filename_mode; 55 u8 ci_flags; 56 struct crypto_skcipher *ci_ctfm; | 22#define FS_AES_256_GCM_KEY_SIZE 32 23#define FS_AES_256_CBC_KEY_SIZE 32 24#define FS_AES_256_CTS_KEY_SIZE 32 25#define FS_AES_256_XTS_KEY_SIZE 64 26 27#define FS_KEY_DERIVATION_NONCE_SIZE 16 28 29/** --- 22 unchanged lines hidden (view full) --- 52 * A pointer to this structure is stored in the file system's in-core 53 * representation of an inode. 54 */ 55struct fscrypt_info { 56 u8 ci_data_mode; 57 u8 ci_filename_mode; 58 u8 ci_flags; 59 struct crypto_skcipher *ci_ctfm; |
60 struct crypto_cipher *ci_essiv_tfm; |
|
57 u8 ci_master_key[FS_KEY_DESCRIPTOR_SIZE]; 58}; 59 60typedef enum { 61 FS_DECRYPT = 0, 62 FS_ENCRYPT, 63} fscrypt_direction_t; 64 --- 17 unchanged lines hidden (view full) --- 82 fscrypt_direction_t rw, u64 lblk_num, 83 struct page *src_page, 84 struct page *dest_page, 85 unsigned int len, unsigned int offs, 86 gfp_t gfp_flags); 87extern struct page *fscrypt_alloc_bounce_page(struct fscrypt_ctx *ctx, 88 gfp_t gfp_flags); 89 | 61 u8 ci_master_key[FS_KEY_DESCRIPTOR_SIZE]; 62}; 63 64typedef enum { 65 FS_DECRYPT = 0, 66 FS_ENCRYPT, 67} fscrypt_direction_t; 68 --- 17 unchanged lines hidden (view full) --- 86 fscrypt_direction_t rw, u64 lblk_num, 87 struct page *src_page, 88 struct page *dest_page, 89 unsigned int len, unsigned int offs, 90 gfp_t gfp_flags); 91extern struct page *fscrypt_alloc_bounce_page(struct fscrypt_ctx *ctx, 92 gfp_t gfp_flags); 93 |
94/* keyinfo.c */ 95extern void __exit fscrypt_essiv_cleanup(void); 96 |
|
90#endif /* _FSCRYPT_PRIVATE_H */ | 97#endif /* _FSCRYPT_PRIVATE_H */ |