Cstruct aliro_dev_secchan
modules/woz_aliro/include/aliro_device.h:34
Device view of an Aliro AES-256-GCM channel. The reader's aliro_secchan seals
on direction 0 and opens on direction 1; the device is the mirror — it OPENS
reader->device traffic (direction 0, key s0) and SEALS device->reader traffic
(direction 1, key s1). Both per-direction counters start at 1 (§8.3.1.13).
Cstruct aliro_device
modules/woz_aliro/include/aliro_device.h:125
Aliro device: access credential (private scalar and public point), reader identity and
verification key, per-transaction ephemeral and channel state, BLE-SK salt, and transaction
phase.
Fvoid aliro_dev_secchan_init(struct aliro_dev_secchan *sc, const uint8_t s0[32], const uint8_t s1[32])
modules/woz_aliro/include/aliro_device.h:41
Fint aliro_dev_secchan_open(struct aliro_dev_secchan *sc, const uint8_t *ct, size_t ct_len, const uint8_t tag[16], uint8_t *pt)
modules/woz_aliro/include/aliro_device.h:45
Fint aliro_dev_secchan_seal(struct aliro_dev_secchan *sc, const uint8_t *pt, size_t pt_len, uint8_t *ct, uint8_t tag[16])
modules/woz_aliro/include/aliro_device.h:49
Fint aliro_dev_blesk_init(struct aliro_dev_secchan *ch, const uint8_t block[ALIRO_KEY_BLOCK_LEN], const uint8_t *versions_salt, size_t salt_len)
modules/woz_aliro/include/aliro_device.h:66
Fint aliro_dev_ble_open(struct aliro_dev_secchan *ch, const uint8_t *wire, size_t wire_len, uint8_t *plain, size_t plain_cap, size_t *plain_len)
modules/woz_aliro/include/aliro_device.h:74
Fint aliro_dev_ble_seal(struct aliro_dev_secchan *ch, const uint8_t *plain, size_t plain_len, uint8_t *wire, size_t wire_cap, size_t *wire_len)
modules/woz_aliro/include/aliro_device.h:82
Fint aliro_dev_seal_cryptogram(const uint8_t cryptogram_sk[32], const uint8_t *plain, size_t plain_len, uint8_t *out)
modules/woz_aliro/include/aliro_device.h:89
Fint aliro_device_derive_session(const uint8_t shared_x[32], const uint8_t txid[16], const uint8_t reader_group_x[32], const uint8_t reader_eph_x[32], const uint8_t reader_id[32], uint8_t exp_phase, const uint8_t *a5, size_t a5n, const uint8_t device_eph_x[32], struct aliro_dev_secchan *sc, uint8_t ursk[32], uint8_t block_out[ALIRO_KEY_BLOCK_LEN])
modules/woz_aliro/include/aliro_device.h:98
##define ALIRO_DEV_BLESK_SALT_MAX 18u
modules/woz_aliro/include/aliro_device.h:110
Cenum aliro_device_phase
modules/woz_aliro/include/aliro_device.h:112
Fint aliro_device_init(struct aliro_device *d, const uint8_t cred_priv[32], const uint8_t reader_id[32], const uint8_t reader_verif_pub[65])
modules/woz_aliro/include/aliro_device.h:164
Fint aliro_device_set_blesk_salt(struct aliro_device *d, const uint8_t *salt, size_t len)
modules/woz_aliro/include/aliro_device.h:171
Fint aliro_device_on_command(struct aliro_device *d, const uint8_t *ap_payload, size_t len, uint8_t *resp, size_t cap, size_t *resp_len)
modules/woz_aliro/include/aliro_device.h:177