JavaCard applet design — key generation, Schnorr signing, BIP-32 derivation on NXP J3R200
Constant-time cryptography — branchless modular multiplication to prevent power analysis side-channels
Secure channel protocol — ECDH key exchange + AES-256-CBC + HMAC-SHA256 for encrypted NFC
Access code system — SHA-256 hashed before NFC, constant-time comparison, escalating delays
Backup card system — 2-pack and 3-pack support, permanent backup lock after setup
Root attestation chain — manufacturer signature, challenge-response, applet hash verification
Flutter app architecture — transaction builder, UTXO selection, sighash computation, NFC interface