PHP 8.1.33
Preview: rand_drbg.h Size: 4.65 KB
/usr/include/openssl/rand_drbg.h

/*
 * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
 *
 * Licensed under the OpenSSL license (the "License").  You may not use
 * this file except in compliance with the License.  You can obtain a copy
 * in the file LICENSE in the source distribution or at
 * https://www.openssl.org/source/license.html
 */

#ifndef HEADER_DRBG_RAND_H
# define HEADER_DRBG_RAND_H

# include <time.h>
# include <openssl/ossl_typ.h>
# include <openssl/obj_mac.h>

/*
 * RAND_DRBG  flags
 *
 * Note: if new flags are added, the constant `rand_drbg_used_flags`
 *       in drbg_lib.c needs to be updated accordingly.
 */

/* In CTR mode, disable derivation function ctr_df */
# define RAND_DRBG_FLAG_CTR_NO_DF            0x1


# if OPENSSL_API_COMPAT < 0x10200000L
/* This #define was replaced by an internal constant and should not be used. */
#  define RAND_DRBG_USED_FLAGS  (RAND_DRBG_FLAG_CTR_NO_DF)
# endif

/*
 * Default security strength (in the sense of [NIST SP 800-90Ar1])
 *
 * NIST SP 800-90Ar1 supports the strength of the DRBG being smaller than that
 * of the cipher by collecting less entropy. The current DRBG implementation
 * does not take RAND_DRBG_STRENGTH into account and sets the strength of the
 * DRBG to that of the cipher.
 *
 * RAND_DRBG_STRENGTH is currently only used for the legacy RAND
 * implementation.
 *
 * Currently supported ciphers are: NID_aes_128_ctr, NID_aes_192_ctr and
 * NID_aes_256_ctr
 */
# define RAND_DRBG_STRENGTH             256
/* Default drbg type */
# define RAND_DRBG_TYPE                 NID_aes_256_ctr
/* Default drbg flags */
# define RAND_DRBG_FLAGS                0


# ifdef  __cplusplus
extern "C" {
# endif

/*
 * Object lifetime functions.
 */
RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent);
RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent);
int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags);
int RAND_DRBG_set_defaults(int type, unsigned int flags);
int RAND_DRBG_instantiate(RAND_DRBG *drbg,
                          const unsigned char *pers, size_t perslen);
int RAND_DRBG_uninstantiate(RAND_DRBG *drbg);
void RAND_DRBG_free(RAND_DRBG *drbg);

/*
 * Object "use" functions.
 */
int RAND_DRBG_reseed(RAND_DRBG *drbg,
                     const unsigned char *adin, size_t adinlen,
                     int prediction_resistance);
int RAND_DRBG_generate(RAND_DRBG *drbg, unsigned char *out, size_t outlen,
                       int prediction_resistance,
                       const unsigned char *adin, size_t adinlen);
int RAND_DRBG_bytes(RAND_DRBG *drbg, unsigned char *out, size_t outlen);

int RAND_DRBG_set_reseed_interval(RAND_DRBG *drbg, unsigned int interval);
int RAND_DRBG_set_reseed_time_interval(RAND_DRBG *drbg, time_t interval);

int RAND_DRBG_set_reseed_defaults(
                                  unsigned int master_reseed_interval,
                                  unsigned int slave_reseed_interval,
                                  time_t master_reseed_time_interval,
                                  time_t slave_reseed_time_interval
                                  );

RAND_DRBG *RAND_DRBG_get0_master(void);
RAND_DRBG *RAND_DRBG_get0_public(void);
RAND_DRBG *RAND_DRBG_get0_private(void);

/*
 * EXDATA
 */
# define RAND_DRBG_get_ex_new_index(l, p, newf, dupf, freef) \
    CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DRBG, l, p, newf, dupf, freef)
int RAND_DRBG_set_ex_data(RAND_DRBG *drbg, int idx, void *arg);
void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx);

/*
 * Callback function typedefs
 */
typedef size_t (*RAND_DRBG_get_entropy_fn)(RAND_DRBG *drbg,
                                           unsigned char **pout,
                                           int entropy, size_t min_len,
                                           size_t max_len,
                                           int prediction_resistance);
typedef void (*RAND_DRBG_cleanup_entropy_fn)(RAND_DRBG *ctx,
                                             unsigned char *out, size_t outlen);
typedef size_t (*RAND_DRBG_get_nonce_fn)(RAND_DRBG *drbg, unsigned char **pout,
                                         int entropy, size_t min_len,
                                         size_t max_len);
typedef void (*RAND_DRBG_cleanup_nonce_fn)(RAND_DRBG *drbg,
                                           unsigned char *out, size_t outlen);

int RAND_DRBG_set_callbacks(RAND_DRBG *drbg,
                            RAND_DRBG_get_entropy_fn get_entropy,
                            RAND_DRBG_cleanup_entropy_fn cleanup_entropy,
                            RAND_DRBG_get_nonce_fn get_nonce,
                            RAND_DRBG_cleanup_nonce_fn cleanup_nonce);


# ifdef  __cplusplus
}
# endif

#endif

Directory Contents

Dirs: 0 × Files: 107

Name Size Perms Modified Actions
3.27 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
32.84 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
14.34 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
32.17 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
395 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
2.34 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.29 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
34.09 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
6.25 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.80 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
21.62 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.85 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.56 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
820 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.10 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.63 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.04 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
16.00 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
10.90 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.30 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.18 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
5.47 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.35 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.27 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
16.93 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
2.21 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
15.50 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.39 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
7.45 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
13.42 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.31 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
9.87 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.27 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.54 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
924 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
62.17 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
358 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
358 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
16.25 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
33.85 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
5.32 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
11.00 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
75.13 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
11.79 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
8.68 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
9.74 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
7.00 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.55 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
2.05 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
7.39 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.68 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
9.05 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.03 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.29 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.29 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.03 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
10.23 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
6.48 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.29 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
213.37 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
14.95 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.28 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.78 KB lrw-r--r-- 2024-10-09 13:39:34
Edit Download
1.54 KB lrw-r--r-- 2024-10-09 13:39:34
Edit Download
4.01 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
6.16 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
15.11 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
415 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
5.10 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
11.32 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.99 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
9.64 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.66 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
2.30 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.58 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.65 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.50 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
825 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.94 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.21 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
21.82 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
9.59 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
7.95 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.40 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.74 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.74 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.29 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
108.55 KB lrw-r--r-- 2024-10-09 13:39:22
Edit Download
542 B lrw-r--r-- 2024-10-09 13:38:54
Edit Download
14.36 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
45.58 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
3.02 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
10.94 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
4.30 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.28 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
70.79 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
21.90 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
6.59 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.63 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
15.68 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
2.67 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
1.34 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
42.31 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
6.64 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
32.66 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
8.57 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download
31.69 KB lrw-r--r-- 2024-10-09 13:38:54
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).