Score:6

Can we use LEGO bricks to construct a cipher algorithm?

in flag

I read a paper titled "On the entropy of LEGO", which explains how to calculate the number of ways to combine $n$ $b\times w$ LEGO blocks of the same color. For example, six $2\times4$ bricks have $915103765$ ways to combine. I wonder if could we construct a funny cipher algorithm using LEGO bricks.

Some definitions and symbols:

A $2\times4$ brick $i$ can be defined as: $b_i:=\left( \begin{array}{cc} s_0,s_1,s_2,s_3 \\ s_4,s_5,s_6,s_7 \end{array} \right)$, where $s_{i,k}:=(0/1,-/b_j)$ means if a stud $s_{i,k}$ is occupied by another brick $b_j$, then $s_{i,k}=(1,b_j)$; else if no brick is put on this stud $s_{i,k}$, then $s_{i,k}=(0,-)$.

Then, we have a key space $\mathcal{K}=\{b_1\cup b_2\cup ...\cup b_n\}$, where $n$ is the number of bricks, $\cup$ means the combination of bricks (Sorry, I cannot find an appropriate symbol to present the meaning).

The number $num$ of ways to combine $n$ $2\times4$ bricks is: $num:=(2^{n-1} + 46^{n-1})/2$, therefore, the size of $\mathcal{K}$ is the number $num=|\mathcal{K}|$.

Assuming that there is an one way function $f(k,m)\to c,k\in\mathcal{K}, m\in\mathcal{M},c\in\mathcal{C}$, where $\mathcal{M}$ is the plaintext space, and $\mathcal{C}$ is the ciphertext space.

So far, I still cannot find a method to construct the one-way function and confirm whether the LEGO bricks can be used to construct a cipher algorithm or not.

jp flag
I'm sure we *can* construct one with LEGO bricks. See Solitaire which is constructed from playing cards. If nothing else you could make playing cards from LEGO and then run Solitaire. Or treat green bricks as 1 and red bricks as 0 and then run AES.
dan04 avatar
in flag
[You can build any of the standard logic gates with LEGO](https://keshav.is/building/lego-logic-gates/), which can be combined to make encryption hardware.
Graham avatar
ca flag
Back in 1977, Desmond Bagley's novel *The Enemy* had a subplot of using trucks on a computerized model railway to encode messages. Compared to that, Lego bricks is pretty straightforward.
Score:9
us flag

It seems like what you are actually describing is a way to encode data with Lego bricks, rather than encrypting with them. But, maybe the way that you encode data is hard to invert without knowing a secret key, for example.

I don't think the lego adds security to this encoding, though. Suppose you design a method $f$ to encode your message space $\mathcal{M}$ into possible arrangements of bricks, $\mathcal{B}$. I could design my own correspondence $g$ between bitstrings $\{0,1\}^n$ and $\mathcal{B}$ (for some $n$). Then $g^{-1}\circ f$ maps from $\mathcal{M}$ into $\{0,1\}^n$, turning your lego cipher into a regular cipher on bitstrings. This means that if you encrypt a message into bricks and I find the bricks, I can translate their arrangement into bricks and attack the cipher as though it were a traditional computer cipher. Hence, if your map from messages into brick arrangements is supposed to be secure, it should also be secure when viewed as a map from messages into bitstrings.

From this I think the hard work of designing a normal secure cipher still needs to be done, even if lego is the end goal. But I can still see two uses of lego: (1) steganography: to store a small encrypted message in a way that most people wouldn't notice is important; (2) to help compute a cipher by hand (e.g., by making parts of the "computation" easy to store and move around).

Joshua avatar
cn flag
See also: https://en.wikipedia.org/wiki/Solitaire_(cipher)
ming alex avatar
in flag
Thank you very much for your advice.
Score:4
br flag

It is possible to build something reminiscent of mechanical cipher machines using Lego Technic gears and less complicated parts:

Perhaps https://bricks.stackexchange.com/ would be a better place to ask about implementation.

It's also possible to write messages (or store a secret key) using LEGO bricks, although that's generally considered "encoding" rather than "encrypting". Perhaps this could be used as a kind of steganography.

(The Legos mentioned in "Fully homomorphic encryption: Introduction and bootstrapping" are more metaphorical).

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.