1*4f1223e8SApple OSS Distributions /* Copyright (c) (2021-2023) Apple Inc. All rights reserved. 2*4f1223e8SApple OSS Distributions * 3*4f1223e8SApple OSS Distributions * corecrypto is licensed under Apple Inc.’s Internal Use License Agreement (which 4*4f1223e8SApple OSS Distributions * is contained in the License.txt file distributed with corecrypto) and only to 5*4f1223e8SApple OSS Distributions * people who accept that license. IMPORTANT: Any license rights granted to you by 6*4f1223e8SApple OSS Distributions * Apple Inc. (if any) are limited to internal use within your organization only on 7*4f1223e8SApple OSS Distributions * devices and computers you own or control, for the sole purpose of verifying the 8*4f1223e8SApple OSS Distributions * security characteristics and correct functioning of the Apple Software. You may 9*4f1223e8SApple OSS Distributions * not, directly or indirectly, redistribute the Apple Software or any portions thereof. 10*4f1223e8SApple OSS Distributions * 11*4f1223e8SApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 12*4f1223e8SApple OSS Distributions * 13*4f1223e8SApple OSS Distributions * This file contains Original Code and/or Modifications of Original Code 14*4f1223e8SApple OSS Distributions * as defined in and that are subject to the Apple Public Source License 15*4f1223e8SApple OSS Distributions * Version 2.0 (the 'License'). You may not use this file except in 16*4f1223e8SApple OSS Distributions * compliance with the License. The rights granted to you under the License 17*4f1223e8SApple OSS Distributions * may not be used to create, or enable the creation or redistribution of, 18*4f1223e8SApple OSS Distributions * unlawful or unlicensed copies of an Apple operating system, or to 19*4f1223e8SApple OSS Distributions * circumvent, violate, or enable the circumvention or violation of, any 20*4f1223e8SApple OSS Distributions * terms of an Apple operating system software license agreement. 21*4f1223e8SApple OSS Distributions * 22*4f1223e8SApple OSS Distributions * Please obtain a copy of the License at 23*4f1223e8SApple OSS Distributions * http://www.opensource.apple.com/apsl/ and read it before using this file. 24*4f1223e8SApple OSS Distributions * 25*4f1223e8SApple OSS Distributions * The Original Code and all software distributed under the License are 26*4f1223e8SApple OSS Distributions * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 27*4f1223e8SApple OSS Distributions * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 28*4f1223e8SApple OSS Distributions * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 29*4f1223e8SApple OSS Distributions * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 30*4f1223e8SApple OSS Distributions * Please see the License for the specific language governing rights and 31*4f1223e8SApple OSS Distributions * limitations under the License. 32*4f1223e8SApple OSS Distributions * 33*4f1223e8SApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 34*4f1223e8SApple OSS Distributions */ 35*4f1223e8SApple OSS Distributions 36*4f1223e8SApple OSS Distributions #ifndef _CORECRYPTO_CC_WORKSPACES_H_ 37*4f1223e8SApple OSS Distributions #define _CORECRYPTO_CC_WORKSPACES_H_ 38*4f1223e8SApple OSS Distributions 39*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_cc_unit(void); 40*4f1223e8SApple OSS Distributions 41*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_cipher_plain_ctx(void); 42*4f1223e8SApple OSS Distributions 43*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_ciphertext(void); 44*4f1223e8SApple OSS Distributions 45*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_dcrt_plaintext(void); 46*4f1223e8SApple OSS Distributions 47*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_decrypt_ctx(void); 48*4f1223e8SApple OSS Distributions 49*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_encrypt_params(void); 50*4f1223e8SApple OSS Distributions 51*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_galois_key(void); 52*4f1223e8SApple OSS Distributions 53*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_param_ctx(void); 54*4f1223e8SApple OSS Distributions 55*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_plaintext(void); 56*4f1223e8SApple OSS Distributions 57*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccbfv_relin_key(void); 58*4f1223e8SApple OSS Distributions 59*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccdh_full_ctx(void); 60*4f1223e8SApple OSS Distributions 61*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccdh_pub_ctx(void); 62*4f1223e8SApple OSS Distributions 63*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccec_full_ctx(void); 64*4f1223e8SApple OSS Distributions 65*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccec_pub_ctx(void); 66*4f1223e8SApple OSS Distributions 67*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccpolyzp_po2cyc(void); 68*4f1223e8SApple OSS Distributions 69*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccpolyzp_po2cyc_base_convert(void); 70*4f1223e8SApple OSS Distributions 71*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccpolyzp_po2cyc_block_rng_state(void); 72*4f1223e8SApple OSS Distributions 73*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccpolyzp_po2cyc_ctx(void); 74*4f1223e8SApple OSS Distributions 75*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccpolyzp_po2cyc_ctx_chain(void); 76*4f1223e8SApple OSS Distributions 77*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccrns_mul_modulus(void); 78*4f1223e8SApple OSS Distributions 79*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccrsa_full_ctx(void); 80*4f1223e8SApple OSS Distributions 81*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_ccrsa_pub_ctx(void); 82*4f1223e8SApple OSS Distributions 83*4f1223e8SApple OSS Distributions CC_PURE size_t sizeof_struct_cczp(void); 84*4f1223e8SApple OSS Distributions 85*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_APPLY_GALOIS_WORKSPACE_N(cc_size degree, cc_size num_ctext_moduli); 86*4f1223e8SApple OSS Distributions 87*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_GALOIS_KEY_SWITCH_WORKSPACE_N(cc_size degree, cc_size num_galois_key_moduli); 88*4f1223e8SApple OSS Distributions 89*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_PLAINTEXT_ADD_WORKSPACE_N(cc_size degree); 90*4f1223e8SApple OSS Distributions 91*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_COEFF_PLAINTEXT_MUL_WORKSPACE_N(cc_size degree, cc_size num_moduli); 92*4f1223e8SApple OSS Distributions 93*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_EVAL_PLAINTEXT_MUL_WORKSPACE_N(cc_size degree, cc_size num_moduli); 94*4f1223e8SApple OSS Distributions 95*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_ROTATE_ROWS_LEFT_WORKSPACE_N(cc_size degree, cc_size num_ctext_moduli); 96*4f1223e8SApple OSS Distributions 97*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_ROTATE_ROWS_RIGHT_WORKSPACE_N(cc_size degree, cc_size num_ctext_moduli); 98*4f1223e8SApple OSS Distributions 99*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHERTEXT_SWAP_COLUMNS_WORKSPACE_N(cc_size degree, cc_size num_ctext_moduli); 100*4f1223e8SApple OSS Distributions 101*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_CIPHER_PLAIN_CTX_INIT_WORKSPACE_N(cc_size num_moduli); 102*4f1223e8SApple OSS Distributions 103*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_DECODE_SIMD_INT64_WORKSPACE_N(cc_size degree, cc_size num_moduli); 104*4f1223e8SApple OSS Distributions 105*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_DECODE_SIMD_UINT64_WORKSPACE_N(cc_size degree, cc_size num_moduli); 106*4f1223e8SApple OSS Distributions 107*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_DECRYPT_WORKSPACE_N(cc_size degree, cc_size num_moduli); 108*4f1223e8SApple OSS Distributions 109*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_DESERIALIZE_SEEDED_CIPHERTEXT_EVAL_WORKSPACE_N(cc_size degree); 110*4f1223e8SApple OSS Distributions 111*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_ENCRYPT_SYMMETRIC_WORKSPACE_N(cc_size degree, cc_size num_moduli); 112*4f1223e8SApple OSS Distributions 113*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_ENCRYPT_ZERO_SYMMETRIC_COEFF_WORKSPACE_N(cc_size degree, cc_size num_moduli); 114*4f1223e8SApple OSS Distributions 115*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_ENCRYPT_ZERO_SYMMETRIC_EVAL_WORKSPACE_N(cc_size degree, cc_size num_moduli); 116*4f1223e8SApple OSS Distributions 117*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_ENCRYPT_ZERO_SYMMETRIC_HELPER_WORKSPACE_N(cc_size degree, cc_size nmoduli); 118*4f1223e8SApple OSS Distributions 119*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_GALOIS_KEY_GENERATE_SINGLE_WORKSPACE_N(cc_size degree, cc_size num_moduli); 120*4f1223e8SApple OSS Distributions 121*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_GALOIS_KEY_GENERATE_WORKSPACE_N(cc_size degree, cc_size num_moduli); 122*4f1223e8SApple OSS Distributions 123*4f1223e8SApple OSS Distributions CC_PURE cc_size CCBFV_RELIN_KEY_GENERATE_WORKSPACE_N(cc_size degree, cc_size num_moduli); 124*4f1223e8SApple OSS Distributions 125*4f1223e8SApple OSS Distributions CC_PURE cc_size CCDH_POWER_BLINDED_WORKSPACE_N(cc_size n); 126*4f1223e8SApple OSS Distributions 127*4f1223e8SApple OSS Distributions CC_PURE cc_size CCEC_AFFINIFY_POINTS_WORKSPACE_N(cc_size n, cc_size npoints); 128*4f1223e8SApple OSS Distributions 129*4f1223e8SApple OSS Distributions CC_PURE cc_size CCN_P224_INV_ASM_WORKSPACE_N(cc_size n); 130*4f1223e8SApple OSS Distributions 131*4f1223e8SApple OSS Distributions CC_PURE cc_size CCN_P256_INV_ASM_WORKSPACE_N(cc_size n); 132*4f1223e8SApple OSS Distributions 133*4f1223e8SApple OSS Distributions CC_PURE cc_size CCN_P384_INV_ASM_WORKSPACE_N(cc_size n); 134*4f1223e8SApple OSS Distributions 135*4f1223e8SApple OSS Distributions CC_PURE cc_size CCN_SQR_WORKSPACE_N(cc_size n); 136*4f1223e8SApple OSS Distributions 137*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_BASE_CONVERT_DIVIDE_AND_ROUND_WORKSPACE_N(cc_size degree, cc_size num_moduli); 138*4f1223e8SApple OSS Distributions 139*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_BASE_CONVERT_INIT_PUNC_PROD_WORKSPACE_N(cc_size num_moduli); 140*4f1223e8SApple OSS Distributions 141*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_BASE_CONVERT_INIT_WORKSPACE_N(cc_size num_moduli); 142*4f1223e8SApple OSS Distributions 143*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_CTX_Q_PROD_WORKSPACE_N(cc_size num_moduli); 144*4f1223e8SApple OSS Distributions 145*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_CTX_WORKSPACE_N(cc_size degree); 146*4f1223e8SApple OSS Distributions 147*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_CTX_INIT_WORKSPACE_N(cc_size n); 148*4f1223e8SApple OSS Distributions 149*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_DESERIALIZE_POLY_WORKSPACE_N(cc_size degree); 150*4f1223e8SApple OSS Distributions 151*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_RANDOM_TERNARY_WORKSPACE_N(cc_size degree); 152*4f1223e8SApple OSS Distributions 153*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_RANDOM_UNIFORM_WORKSPACE_N(cc_size degree); 154*4f1223e8SApple OSS Distributions 155*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_RANDOM_CBD_WORKSPACE_N(cc_size degree); 156*4f1223e8SApple OSS Distributions 157*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_SERIALIZE_POLY_WORKSPACE_N(cc_size degree); 158*4f1223e8SApple OSS Distributions 159*4f1223e8SApple OSS Distributions CC_PURE cc_size CCPOLYZP_PO2CYC_WORKSPACE_N(cc_size degree, cc_size num_moduli); 160*4f1223e8SApple OSS Distributions 161*4f1223e8SApple OSS Distributions CC_PURE cc_size CCRSA_CRT_POWER_BLINDED_WORKSPACE_N(cc_size n); 162*4f1223e8SApple OSS Distributions 163*4f1223e8SApple OSS Distributions #include "cc_workspaces_generated.h" 164*4f1223e8SApple OSS Distributions 165*4f1223e8SApple OSS Distributions #endif // _CORECRYPTO_CC_WORKSPACES_H_ 166