And general tips for Quantum Game Development

Demo of Quantum Chess in Real Time

Just when you thought regular video games couldn’t get any more complex, scientists and software devs had to prove us wrong and show technology will always advance. Although quantum game development is still in its early stages much like any other field of quantum computing, it’s still very possible for any interested party — developer or otherwise — to get involved. In fact, as a (recently graduated!) computer science student, I just finished a quantum computing 2D platform game as my senior project. …


The Basics of x86 Assembly for Reverse Engineering

If you are doing any kind of reverse engineering — and by this I mean disassembling a compiled executable with tools like Ghidra to analyze the machine code — then you must become knowledgeable of the assembly language. If you have an interest in this field, you’ve probably already heard of assembly and know it has a less-than-beloved (perhaps even despised) reputation, but this does not necessarily mean it’s difficult to learn.

It’s not a standard programming language like Python or Java. These are both high-level languages, while x86 and ARM Assembly are low-level. This means they can be a…


How Quantum AI can be used to profit businesses in the future

The future is now, and Artificial Intelligence is all the rage. Machine learning (a subsection of AI) has become such a popular topic of research that there are countless papers and examples of its applications on the web — discussion of neural nets, pruning methods, transformer models, and more. Similarly, Quantum Computing has become a new hot topic in the technology field, with companies like Google and IBM conducting extensive research with their own quantum computers, and numerous papers being written which explore its potential. …


For Reverse Engineering and beyond

Illustration of Virtualization

If you are completely new to the world of reverse engineering, malware analysis, penetration testing, or InfoSec as a whole, your first step to learning should be setting up a virtual machine. A VM is a computer within your computer, an emulation of another operating system which provides the functionality of a physical machine without the actual hardware (e.g. allowing you to have access to a Windows machine even if you have a Mac laptop). It essentially gives you a sandbox to play in with little to no risk of damaging your native operating system.

And while it’s true that…


Reverse engineering is not a term inherent to cybersecurity. In general, it simply means to de-construct something —software or hardware — for analysis and research. In the world of Information Security (often shortened to InfoSec), it usually means to take a compiled executable, disassemble it, and analyze the assembly code.

There are two phases of analysis, static and dynamic, and while I will go into more detail about these in another post, the idea is that sometimes you just examine the existing code for any useful information (IP addresses, hash lookups, domains, etc.) …


Coding Quantum Teleportation and Superdense coding in Qiskit

Is teleportation possible? In the quantum world, yes! And while it may sound like a futuristic (even fictitious) concept only comprehensible to geniuses like Einstein or Newton, in the field of quantum mechanics it’s actually a fairly straightforward idea with practical applications in the world of quantum computing. In the most basic terms, it involves passing encoded information from one qubit to another.

Officially, quantum teleportation is defined as the state of qubit (|𝜓⟩) is being transmitted from one location to another, using two bits of classical communication and a Bell pair. …


Quantum Circuits, Bell States, and Entanglement

Multi-qubit quantum circuit with Hadamard gates, CNOT gates, X gates, etc.

Note: this tutorial is an extension of my tutorial Coding Single qubit circuits in Qiskit, where I include all the necessary set-up code like installation, package importation, and the creation of a quantum circuit. I recommend checking it out first before continuing with this post.

Now that you know how to code quantum circuits with single qubit in Qiskit, it’s time to transition to the complex world of multi-qubit circuits. Again, all the code is quite simple and will be run in a Jupyter Notebook, with code bits and screenshots of output provided.

Coding a 2-qubit circuit

Recall that for N qubits, there are…


Qiskit is an open-source framework developed by IBM for coding with quantum computing. It allows users to create quantum programs and run them on actual quantum computers via IBM’s cloud service, IBM Q Experience. Since the primary version of Qiskit uses the common programming language Python, it can be conveniently run in a Jupyter Notebook, which is what I will be using in the following tutorial.

If you’re unfamiliar with Qiskit or you are unsure how to use a Jupyter Notebook, refer to my last tutorial for a walkthrough of how to get it set up (I promise it’s quick…


Quantum measurements, Born’s rule, and Unary operators

In my last post, I provided an overview of qubits, including the Bloch sphere and single qubit operations, which served as an introduction to the world of quantum computing. I would like to further elaborate on these topics in preparation for coding quantum circuits in Qiskit, which will require a general knowledge of single qubit gates and unary operations which I will be discussing below.

First, let’s review the Bloch sphere, shown below:


In a standard computer, better known as a classical computer, information is stored in bits with values of either 0 or 1. In an electrical circuit (like the CPU of a computer), a bit can be made with either a low or high voltage, and it is how the machine stores instructions and subsequently performs tasks. In a quantum computer, however, information is stored in quantum bits — “qubits” — which can simultaneously be 0 and 1 and anything in between. This state of being is called superposition (a term from quantum mechanics). Some might say it refers to the…

Madeline Farina

Computer Science student studying quantum computing and cybersecurity, doing research as a reverse engineer

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