37#ifndef PROTOCORE_AES256CTR_H
38#define PROTOCORE_AES256CTR_H
44#define PC_AES256CTR_KEY_LEN 32
46#define PC_AES256CTR_CTR_LEN 16
62 const uint8_t *in, uint8_t *out,
size_t len);
77 const uint8_t enc4[4]);
void pc_aes256ctr_crypt(const uint8_t key[PC_AES256CTR_KEY_LEN], uint8_t counter[PC_AES256CTR_CTR_LEN], const uint8_t *in, uint8_t *out, size_t len)
Encrypt or decrypt len bytes with AES-256-CTR (the two are identical).
#define PC_AES256CTR_CTR_LEN
AES-256-CTR counter/IV block length (bytes).
#define PC_AES256CTR_KEY_LEN
AES-256-CTR key length (bytes).
uint32_t pc_aes256ctr_get_length(const uint8_t key[PC_AES256CTR_KEY_LEN], const uint8_t counter[PC_AES256CTR_CTR_LEN], const uint8_t enc4[4])
Decrypt only the 4-byte SSH packet_length prefix WITHOUT advancing counter.