Posts

Note on Hidden Shifts as Hidden Subgroups

 On of the key insights I acquired in the talks at QCPQA this last week was that a hidden shift over some finite abelian $A$ (usually $\mathbb{F}_2^n$) can be recast as a hidden dihedral subgroup problem via $$ \mathsf{Dih}(A) = A \rtimes \mathbb{Z}_2 \cong \mathbb{Z}_2^{n+1} $$ This notation was a little new to me, but I knew that $$ \mathbb{Z}_2 = \{0,1\} $$ Here, $A \rtimes  \mathbb{Z}_2$ is the twisted product , and $Dih(A)$ is the dihedral group of $A$ from that product. The product itself allows nontrivial elements of $\mathbb{Z}_2$ to act on elements of $A$ by by inversion $$ a \mapsto a^{-1} $$ and so as a set we would get $$ Dih(A) = A \times \mathbb{Z}_2 $$ however we have to twist the multiplication such that for $a,b \in A$ and $\epsilon, \delta \in \mathbb{Z}_2$, we let $\eta = (-1)^\epsilon$ and use the product $$ (a,\epsilon)(b, \delta) = (ab^{\eta}, \epsilon \otimes \delta) $$ where $\alpha \otimes \beta$ is XOR which for bits is just addition $\alpha + \beta ...

SVG Prototype

This is a quick prototype of dynamic SVG stuff that I want to use for some other projects. It's mostly left here so I can send it to people who want to see what it looks like.  Here's the image: This is RED and GREEN. And here's the code: < svg height = "200" id = "diagram" width = "250" xmlns:xlink = "http://www.w3.org/1999/xlink"      xmlns = "http://www.w3.org/2000/svg" > < text id = "commbox" x = "0%" y = "85%" > This is RED and GREEN. </ text > < circle cx = "50" cy = "50" fill = "red" id = "circle1"           onmouseout = "evt.target.setAttribute('fill','red');Txt('This is RED and GREEN.')"           onmouseover = "evt.target.setAttribute('fill', 'blue');Txt('This is BLUE and GREEN.');"           r = "20"...

Compromising on the Basics isn't a great idea...

 Recently, we at Quantum Village  disclosed a fairly trivial, but vital bug in the QICK software stack - a relic, in many ways.  What was the bug? Well, it was a default password that can log in over SSH and  has sudo privileges! Kinda neat, if you're a hacker.  The login user:pass? ' xilinx:xilinx '. For real.  Now, they have actually changed it - see here - and their advice is still much much  better than it was - but it falls short on a few points. Firstly, they ask the user to change the password... this isn't a tremendous idea. Users generally choose bad-to-awful passwords. Users choose things that are memorable and as such they can be disclosed in many ways without anyone intending to hand out the keys to the castle.  This is particularly important in the 'quantum controller' space - after all, these things are the true gateway to the quantum world from the classical. They translate the output of quantum algorithms, circuits, and pulse des...

How to Break XOR Encryption with just 20 Million USD of Quantum Computer!

Image
or A Worked Example of Grover's Algorithm, unnecessarily attacking XOR encryption This is an introduction to utilising a quantum computer to break encryption, but using XOR as our example. XOR is a very simple algorithm, but a relevant one still today (even if it is more from a theoretical than practical point of view, for the most part). As such, it forms avery very nice, easily accessible example for demonstrating how to break XOR encryption NB - An interactive version! For those who would prefer an interactive version where you can run the code in this post, please see this Google Colab Notebook! Although we aren't using Google's Cirq library, the IBM Qiskit code still works! So who is this for? This introduction to Grover's Search Algorithm is designed for those who know a little about encryption, aren't phased by a few bits of fairly straightforward mathematics (there really isn't much - we've kept it to a minimum!) and is curious to get an insi...