wolfssl-examples/btle
David Garske 1b6974e4ee Improve TLS example to accept STDIN and "exit" command. Improve documentation. 2022-02-15 13:58:04 -08:00
..
ecies Improve TLS example to accept STDIN and "exit" command. Improve documentation. 2022-02-15 13:58:04 -08:00
tls Improve TLS example to accept STDIN and "exit" command. Improve documentation. 2022-02-15 13:58:04 -08:00
README.md Added BTLE TLS v1.3 example. 2022-02-15 13:10:41 -08:00
btle-sim.c Added BTLE TLS v1.3 example. 2022-02-15 13:10:41 -08:00
btle-sim.h Added BTLE TLS v1.3 example. 2022-02-15 13:10:41 -08:00

README.md

BTLE Examples

BTLE / Lightweight Secure Transport Example:

Bluetooth Low Energy (BTLE) is a lightweight / low power wireless protocol. Its supported by Apple iPhone 4s and later and most Android phones. It operates in the 2.4GHz spectrum and has 3 advertising channels and 37 data channels.

Elliptic Curve Integrated Encryption Scheme (ECIES) Example

wolfSSL ECIES support:

  • SEC1: --enable-eccencrypt=yes
  • ISO 18033: --enable-eccencrypt=iso18033
  • wolfSSL proprietary version: --enable-eccencrypt=old

ECIES Features:

  • Encryption: AES CBC or Counter
  • Integrity: HMAC-SHA2-256
  • Keys: ECDHE
  • Nonce: for each message to prevent replay
  • Authentication: Out of band

TLS v1.3 Example

TLS v1.3 Features:

  • Encryption: AES-GCM or ChaCha20/Poly1305
  • Authentication: Standard X.509 certificates against long term key (recommend ECC)
  • Resumption: Session Tickets.

BTLE Simulator

These example use a BTLE simulator to demonstrate communications between devices. The simulator uses IPC (pipes) to communicate between threads.