Secure your Home IoT Devices with the CryptoCrochet-Key

The first image shows a hacker news website featuring my CryptoCrochet-Key project. The article states “Anuradha Reddy’s CryptoCrochet-Key Gives You a Unique, Huggable Security Token for Home IoT.” The second image on the top right is the software application called ‘Teachable Machine’ where I’m training the Machine to learn how my crochet key looks using my computer webcam. The third image on the bottom right is a picture of my hand with the key testing on a Raspberry Pi computer.

Part 1: The Crochet Key

The word ‘crypto’ in CryptoCrochet has little to do with cryptography. Rather, the name is borrowed from a yarn called ‘crypto 8 ply’ manufactured by the Panda yarn company (AusYarnCo). This yarn is multicoloured/variegated, which lends itself to joyfully crafting objects that are “uniquely unique”. With each multicoloured stitch, it becomes possible to encrypt a discrete code/pattern in the shape of an object (in our case, a key) that only you have access to, and something only you can teach your computer to recognize. If you lose the key, you can make a new one and teach your computer to recognize the new key and delete data for the old one.

Making the Key

Here’s what you will need to make the crocheted key. The first step is purchasing variegated/multicoloured yarn from your local yarn shop (fun!) and a crochet hook to go with it (the recommended size of the hook should be visible on the yarn packaging). I usually recommend a cotton yarn with a hook size of 3.5-4mm. You will also need some cotton wool for stuffing, stitch markers (or hairpins) for marking rounds and a tapestry needle with a wide eye to weave in loose yarn.

The Doughnut

Alt text pattern for the doughnut: Row 1 — Chain 13, slip stitch to the first chain to form a circle (continued)
Row 2–1sc x 13; Row 3–2sc x 13; Row 4–2sc, 1sc x 13. Cut and weave in yarn (continued)
Row 5 — (back to Row 1) 1sc x 13; Row 6–2sc x 13; Row 7–2sc, 1sc x 13.

The Long leg and Two Short Legs

Make a second short leg and place it next to the first with a slight gap between them (to resemble a key). Ta-da!

Part 2: Teaching the Machine to Recognize Your Key

Once you’ve made your key, it's time to teach your computer to recognize it. In technical terms, this entails a complex process of combining the Transfer Learning technique (unsupervised Machine Learning — Neural Nets) with an Object Detection model (a pretrained Machine Learning model) and Computer Vision (CV) that uses a camera to ‘see’ the object and learn what it looks like. Executing this feat would ideally require a prior understanding of data science and analytics, but luckily for us, there is readily available software that lets us train Machine Learning models without prerequisite programming skills or data science knowledge. We will use one such browser-based software program called ‘Teachable Machine’ for this part of the tutorial.

Screenshot of the interface of Teachable Machine’s Image Project (https://teachablemachine.withgoogle.com/train/image)

Part 3: CryptoCrochet-Key on a Raspberry Pi 4 with TensorFlow

We have come a long way! But truth be told, we still have some way to go and this is my least favourite part of the tutorial because it is the most technical and the part I feel least confident about. However, it is a crucial section as it adds another layer of security to the project.

Licensing information

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anuradha Reddy

Anuradha Reddy

Researcher, designer, crafter of things