Types and uses of cryptographic primitives in the IoT