Alternative containers
Modify-in-place
If you solved the puzzle using a Vec buffer you can try solving it without the buffer as a
stretch goal. You may find the slice methods that let you mutate a Packet's data useful,
but remember that the first six bytes of your Packet will be the random device address - you
can't decrypt those!
Using heapless::FnvIndexMap
The heapless::LinearMap performs lookup via linear search, which can be slow for a large number of
keys. The FNV Index Map can be used as a drop-in replacement which performs hashing and
thus has a fast lookup similar to the containers provided by the standard library.
Using liballoc::BTreeMap
If you solved the puzzle using a heapless::Vec buffer and a heapless::LinearMap and you still need something else to try, you could look at the Vec and BTreeMap types contained within liballoc. This will require you to set up a global memory allocator, like embedded-alloc.