 static const int AES_KEY_SIZE = 128; // in bits
 static const int GCM_NONCE_LENGTH = 12; // in bytes
 static const int GCM_TAG_LENGTH = 16; // in bytes (default 16, 12 possible)
+
+// All-zeros const 16-byte/128-bit key.
+// Can be used for other purposes.
+static const uint8_t zeroKey[16] = { };
 
 // Test quick integrity checks, for TX and RX.
 static void testFrameQIC()

  AssertIsEqual(1, OTRadioLink::removePaddingTo32BTrailing0sAndPadCount(buf));
  AssertIsEqual(db0, buf[0]);
  }


// All-zeros 16-byte/128-bit key.
static const uint8_t zeroKey[16] = { };

// Test simple fixed-size NULL enc/dec behaviour.
static void testSimpleNULLEncDec()

static void testBeaconEncoding()
  {
  Serial.println("BeaconEncoding");
  uint8_t buf[OTRadioLink::generateInsecureBeaconMaxBufSize];
  // Generate zero-length-ID beacon.
  const uint8_t b0 = OTRadioLink::generateInsecureBeacon(buf, sizeof(buf), 0, NULL, 0);
  AssertIsEqual(5, b0);
  AssertIsEqual(0x04, buf[0]);
  AssertIsEqual(0x21, buf[1]);
  AssertIsEqual(0x00, buf[2]);
  AssertIsEqual(0x00, buf[3]);
  AssertIsEqual(0x65, buf[4]);
  // Generate maximum-length-ID beacon automatically at non-zero seq.
  const uint8_t b1 = OTRadioLink::generateInsecureBeacon(buf, sizeof(buf), 4, zeroKey, OTRadioLink::SecurableFrameHeader::maxIDLength);
  AssertIsEqual(13, b1);
  AssertIsEqual(0x0c, buf[0]);
  AssertIsEqual(0x21, buf[1]);
  AssertIsEqual(0x48, buf[2]);
  AssertIsEqual(0x00, buf[3]);
  AssertIsEqual(0x00, buf[4]);
  AssertIsEqual(0x00, buf[5]);
  AssertIsEqual(0x00, buf[6]);
  AssertIsEqual(0x00, buf[7]);
  AssertIsEqual(0x00, buf[8]);
  AssertIsEqual(0x00, buf[9]);
  AssertIsEqual(0x00, buf[10]);
  AssertIsEqual(0x00, buf[11]);
  AssertIsEqual(0x29, buf[12]);
  // TODO: secure beacon...
  }


