Voja Antonic designed this fantastic retrocomputing badge for Hackaday Belgrade in 2018, and it was so much fun that we wanted to bring it stateside to the Supercon essentially unaltered. And that meant that Voja had some free time to devote to a new hardware giveaway: the Cube. So while his talk at Supercon in November was ostensibly about the badge, he just couldn’t help but tell us about his newer love, and some of the extremely clever features hidden within.
It’s funny how the hardware we design can sometimes reflect so much on the creator. Voja designed then-Yugoslavia’s first widely used home computer (and published the DIY plans in a magazine!). Thousands were built from their kits. The Galaksija was a Z80-based design with a custom BASIC that was just barely squeezed into the available 4K of ROM. So you shouldn’t be shocked that the retro-badge has a working keyboard and a nice BASIC on board.
But let’s jump ahead to the Cube, because that’s even more of a passion project. On the outside, they’re very simple devices, with only a USB port and a sweet diffused LED ring visible. Aesthetic? Minimalistic? Beautiful, honestly.
Voja lived through some of the admittedly darkest times of mid-80s Yugoslavia, when speaking your mind could end you up in jail or worse. And he’s a little bit subversive, by nature or necessity. The Cube doesn’t tell you what it is, but it’s an encryption and decryption tool, enabling one-time-pad style unbreakable encryption between people who have linked their cubes together and traded key material.
The key material is generated within the cube itself, as well. There’s a transistor-breakdown white noise circuit inside, producing a constant stream of quantum-mechanics-based true random numbers. Yes, he added a 5 V to 17 V boost converter to the project just to get good random numbers. Voja doesn’t fool around; he used to work for a casino gaming equipment manufacturer, where randomness really counts.
Communication between the two cubes is nearly perfectly secret as well. Indeed, this is perhaps the coolest trick that the Cube pulls off. There’s a loop of copper foil around the inside, and two cubes couple with each other capacitively rather than using radio or light or any other eavesdroppable transmission method. You have to be right up next to a pair of communicating Cubes, with an EM probe, to listen in.
The rest is very simple, open firmware. (And an accelerometer, for fun or additional random key material.) You can verify yourself that it does what it says. And that means, if you’re serious about secret communications, that the only place for an adversary to get at you is the computer that you tether the Cube to. And that’s Voja’s last trick. The Supercon badge is itself a free-standing small computer with easily audited firmware, and extremely straightforward hardware. Connecting it to the Cube would provide a complete, and completely unbreakable, encrypted channel between two people who synced their Cubes. Suitable for even the most paranoid, whether you’ve got reason to be or not.
The downsides of the Cube as a practical encrypted communication channel? It doesn’t have much key material, so your messages had better be short, and the XOR algorithm is poisonous if you re-use the key material. And it’s completely compromised if an adversary gets its hands on your Cube and asks it for the random data.
Housed inside of an orange-injection molded 3D version of the Supplyframe logo, this was one of Hackaday’s parent company’s giveaways in the Supercon swag bags. For those of us fortunate enough not to need spy-grade encryption, it’s a fun secret decoder ring and a brilliant piece of design. But at the same time, if you absolutely needed to get a shortish message through under the worst of all possible scenarios, you’ll be wishing that you’d paired up your Cube at the Supercon!
I’ve wanted to make the cube do arbitrary computation, and not by simply re-flashing the micro – that’s cheating – but by using the stock command set. Unfortunately, XOR isn’t universal, so you can’t just use that. But, there’s a side-effect of writing the FLASH blocks without erasing first: that ANDs the new data with the old. Now, you can use XOR to invert bits and flash writes to AND them, which is a NAND, and everything else follows from there.
I know this isn’t what it was designed for ;-)
Wait a minute! You can’t use a piece of technology for something other than it’s intended purpose!
After SuperCon, I opened up my cube and was surprised to find it empty. No electronics or anything, just a pot metal weight. So it goes…
Oh, you got one of the counterfeit ones!
Yeah. So what happened was a tale of last-minute electronics — most got the upgrades in time. Some didn’t! I heard that someone was retrofitting them live during the Con, but that’s little help now.
If you’re ever in Munich, you can have mine. :)
Physical (near) contact required for better security. I love it.