Lines Matching refs:el

24     OSSL_QRL_ENC_LEVEL *el;  in ossl_qrl_enc_level_set_get()  local
29 el = &els->el[enc_level]; in ossl_qrl_enc_level_set_get()
32 switch (el->state) { in ossl_qrl_enc_level_set_get()
41 return el; in ossl_qrl_enc_level_set_get()
47 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_have_el() local
49 switch (el->state) { in ossl_qrl_enc_level_set_have_el()
67 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_has_keyslot() local
69 if (!ossl_assert(el != NULL && keyslot < 2)) in ossl_qrl_enc_level_set_has_keyslot()
78 return keyslot == (el->key_epoch & 1); in ossl_qrl_enc_level_set_has_keyslot()
88 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in el_teardown_keyslot() local
90 if (!ossl_qrl_enc_level_set_has_keyslot(els, enc_level, el->state, keyslot)) in el_teardown_keyslot()
93 if (el->cctx[keyslot] != NULL) { in el_teardown_keyslot()
94 EVP_CIPHER_CTX_free(el->cctx[keyslot]); in el_teardown_keyslot()
95 el->cctx[keyslot] = NULL; in el_teardown_keyslot()
98 OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot])); in el_teardown_keyslot()
108 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in el_setup_keyslot() local
115 if (!ossl_assert(el != NULL in el_setup_keyslot()
122 cipher_name = ossl_qrl_get_suite_cipher_name(el->suite_id); in el_setup_keyslot()
123 iv_len = ossl_qrl_get_suite_cipher_iv_len(el->suite_id); in el_setup_keyslot()
124 key_len = ossl_qrl_get_suite_cipher_key_len(el->suite_id); in el_setup_keyslot()
130 if (secret_len != ossl_qrl_get_suite_secret_len(el->suite_id) in el_setup_keyslot()
136 assert(el->cctx[keyslot] == NULL); in el_setup_keyslot()
139 if (!tls13_hkdf_expand_ex(el->libctx, el->propq, in el_setup_keyslot()
140 el->md, in el_setup_keyslot()
145 el->iv[keyslot], iv_len, 1)) in el_setup_keyslot()
149 if (!tls13_hkdf_expand_ex(el->libctx, el->propq, in el_setup_keyslot()
150 el->md, in el_setup_keyslot()
159 if ((cipher = EVP_CIPHER_fetch(el->libctx, cipher_name, el->propq)) == NULL) { in el_setup_keyslot()
176 if (!EVP_CipherInit_ex(cctx, cipher, NULL, key, el->iv[keyslot], 0)) { in el_setup_keyslot()
181 el->cctx[keyslot] = cctx; in el_setup_keyslot()
191 OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot])); in el_setup_keyslot()
207 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_provide_secret() local
213 if (el == NULL in ossl_qrl_enc_level_set_provide_secret()
222 && el->state == QRL_EL_STATE_PROV_NORMAL) { in ossl_qrl_enc_level_set_provide_secret()
230 el->state = QRL_EL_STATE_UNPROV; in ossl_qrl_enc_level_set_provide_secret()
233 if (el->state != QRL_EL_STATE_UNPROV) { in ossl_qrl_enc_level_set_provide_secret()
255 el->libctx = libctx; in ossl_qrl_enc_level_set_provide_secret()
256 el->propq = propq; in ossl_qrl_enc_level_set_provide_secret()
257 el->md = md; in ossl_qrl_enc_level_set_provide_secret()
258 el->suite_id = suite_id; in ossl_qrl_enc_level_set_provide_secret()
259 el->tag_len = ossl_qrl_get_suite_cipher_tag_len(suite_id); in ossl_qrl_enc_level_set_provide_secret()
260 el->op_count = 0; in ossl_qrl_enc_level_set_provide_secret()
261 el->key_epoch = (uint64_t)init_key_phase_bit; in ossl_qrl_enc_level_set_provide_secret()
262 el->is_tx = (unsigned char)is_tx; in ossl_qrl_enc_level_set_provide_secret()
289 is_tx ? el->ku : ku_key, secret_len, 1)) in ossl_qrl_enc_level_set_provide_secret()
307 el->ku, secret_len, 1)) in ossl_qrl_enc_level_set_provide_secret()
313 if (!ossl_quic_hdr_protector_init(&el->hpr, in ossl_qrl_enc_level_set_provide_secret()
327 el->state = QRL_EL_STATE_PROV_NORMAL; in ossl_qrl_enc_level_set_provide_secret()
331 el->suite_id = 0; in ossl_qrl_enc_level_set_provide_secret()
332 el->md = NULL; in ossl_qrl_enc_level_set_provide_secret()
335 OPENSSL_cleanse(el->ku, sizeof(el->ku)); in ossl_qrl_enc_level_set_provide_secret()
348 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_key_update() local
352 if (el == NULL || !ossl_assert(enc_level == QUIC_ENC_LEVEL_1RTT)) { in ossl_qrl_enc_level_set_key_update()
357 if (el->state != QRL_EL_STATE_PROV_NORMAL) { in ossl_qrl_enc_level_set_key_update()
362 if (!el->is_tx) { in ossl_qrl_enc_level_set_key_update()
366 ++el->key_epoch; in ossl_qrl_enc_level_set_key_update()
367 el->state = QRL_EL_STATE_PROV_UPDATING; in ossl_qrl_enc_level_set_key_update()
375 secret_len = ossl_qrl_get_suite_secret_len(el->suite_id); in ossl_qrl_enc_level_set_key_update()
378 if (!tls13_hkdf_expand_ex(el->libctx, el->propq, in ossl_qrl_enc_level_set_key_update()
379 el->md, el->ku, in ossl_qrl_enc_level_set_key_update()
390 0, el->ku, secret_len)) in ossl_qrl_enc_level_set_key_update()
393 ++el->key_epoch; in ossl_qrl_enc_level_set_key_update()
394 el->op_count = 0; in ossl_qrl_enc_level_set_key_update()
395 memcpy(el->ku, new_ku, secret_len); in ossl_qrl_enc_level_set_key_update()
404 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_key_update_done() local
406 if (el == NULL || !ossl_assert(enc_level == QUIC_ENC_LEVEL_1RTT)) { in ossl_qrl_enc_level_set_key_update_done()
412 el_teardown_keyslot(els, enc_level, ~el->key_epoch & 1); in ossl_qrl_enc_level_set_key_update_done()
413 el->state = QRL_EL_STATE_PROV_COOLDOWN; in ossl_qrl_enc_level_set_key_update_done()
424 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_key_cooldown_done() local
428 if (el == NULL || !ossl_assert(enc_level == QUIC_ENC_LEVEL_1RTT)) { in ossl_qrl_enc_level_set_key_cooldown_done()
433 if (el->state == QRL_EL_STATE_PROV_UPDATING in ossl_qrl_enc_level_set_key_cooldown_done()
439 if (el->state != QRL_EL_STATE_PROV_COOLDOWN) { in ossl_qrl_enc_level_set_key_cooldown_done()
444 secret_len = ossl_qrl_get_suite_secret_len(el->suite_id); in ossl_qrl_enc_level_set_key_cooldown_done()
447 ~el->key_epoch & 1, el->ku, secret_len)) in ossl_qrl_enc_level_set_key_cooldown_done()
451 if (!tls13_hkdf_expand_ex(el->libctx, el->propq, in ossl_qrl_enc_level_set_key_cooldown_done()
452 el->md, in ossl_qrl_enc_level_set_key_cooldown_done()
453 el->ku, in ossl_qrl_enc_level_set_key_cooldown_done()
458 el_teardown_keyslot(els, enc_level, ~el->key_epoch & 1); in ossl_qrl_enc_level_set_key_cooldown_done()
462 memcpy(el->ku, new_ku, secret_len); in ossl_qrl_enc_level_set_key_cooldown_done()
463 el->state = QRL_EL_STATE_PROV_NORMAL; in ossl_qrl_enc_level_set_key_cooldown_done()
474 OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); in ossl_qrl_enc_level_set_discard() local
476 if (el == NULL || el->state == QRL_EL_STATE_DISCARDED) in ossl_qrl_enc_level_set_discard()
480 ossl_quic_hdr_protector_cleanup(&el->hpr); in ossl_qrl_enc_level_set_discard()
486 EVP_MD_free(el->md); in ossl_qrl_enc_level_set_discard()
487 el->md = NULL; in ossl_qrl_enc_level_set_discard()
488 el->state = QRL_EL_STATE_DISCARDED; in ossl_qrl_enc_level_set_discard()