Files
cryptsetup/src/utils_luks.h
Milan Broz 6b832b8d03 Add keyslot check code.
This patch adds keyslot randomness analysis to cryptsetup repair command
to check for a detectable corruption of binary area.

It uses Chi2 analysis. This check basically replaces external keyslot
checker program.
2025-05-22 16:09:50 +02:00

72 lines
1.9 KiB
C

// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Helper utilities for LUKS in cryptsetup
*
* Copyright (C) 2018-2025 Red Hat, Inc. All rights reserved.
* Copyright (C) 2018-2025 Milan Broz
* Copyright (C) 2018-2025 Ondrej Kozina
*/
#ifndef UTILS_LUKS_H
#define UTILS_LUKS_H
#include <stdint.h>
#include <stdbool.h>
struct crypt_device;
const char *luksType(const char *type);
bool isLUKS1(const char *type);
bool isLUKS2(const char *type);
int verify_passphrase(int def);
void set_activation_flags(uint32_t *flags);
int set_pbkdf_params(struct crypt_device *cd, const char *dev_type);
int set_tries_tty(bool keyring);
int get_adjusted_key_size(const char *cipher, const char *cipher_mode, uint32_t keysize_bits,
uint32_t default_size_bits, int integrity_keysize);
int luksFormat(struct crypt_device **r_cd, struct crypt_keyslot_context **r_kc);
int reencrypt(int action_argc, const char **action_argv);
int reencrypt_luks1(const char *device);
int reencrypt_luks1_in_progress(const char *device);
int luks_init_keyslot_context(struct crypt_device *cd,
const char *msg,
bool verify, bool pwquality,
struct crypt_keyslot_context **r_kc);
int luks_try_token_unlock(struct crypt_device *cd,
int keyslot,
int token_id,
const char *activated_name,
const char *token_type,
uint32_t activate_flags,
int tries,
bool activation,
bool retry_with_pin,
struct crypt_keyslot_context **r_kc);
int luks_init_keyslot_contexts_by_volume_keys(struct crypt_device *cd,
const char *vk_file1,
const char *vk_file2,
int keysize1_bytes,
int keysize2_bytes,
const char *vk_in_keyring1,
const char *vk_in_keyring2,
struct crypt_keyslot_context **r_kc1,
struct crypt_keyslot_context **r_kc2);
void luks_check_keyslots(struct crypt_device *cd, const char *device);
#endif /* UTILS_LUKS_H */