To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Millar and Gray argue that mobility shaping is raising a set of unresolved ethical, political, and legal issues that have significant consequences for shaping human experience in the future. By way of analogy, they unpack how these emerging issues in mobility echo those that have been asked in the more familiar context of net neutrality. They then apply some of the ethical and legal reasoning surrounding net neutrality to the newly relevant algorithmically controlled mobility space. They conclude that we can establish and ensure a just set of principles and rules for shaping mobility in ways that promote human flourishing by extending some of the legal and regulatory framework around net neutrality to mobility providers.
This chapter serves as a bridge from the introductory material to the sections on quantum algorithms. We start by implementing a classical circuit using quantum gates and show that quantum computers are at least as capable as classical computers. Then we discuss the term “beyond classical,” which is now the preferred term to describe computation that can be run efficiently on a quantum computer but would be intractable to run on a classical computer. For this, we discuss in detail Google’s seminal quantum supremacy paper.
The quantum Fourier transform is another fundamental quantum algorithm. The section begins with a simple phase-kick circuit and expands to quantum phase estimation before detailing the quantum Fourier transform itself. A short section on arithmetic in the quantum domain introduces techniques that are used in a final detailed section on Shor’s famous algorithm for number factorization.
Chapter 11 reconstructs the theory of linear cryptanalysis from a more general point of view. To do this, we need to cover some mathematical ground. We first discuss linear algebra over the field of complex numbers, and then turn to the Fourier analysis of functions on a finite Abelian group. Both of these topics play a central role in Chapter 11.
Determining the effectiveness of linear cryptanalysis is an application of statistical theory. In this chapter, we review some basic concepts from statistics and discuss how they are used to estimate the cost of linear attacks, and Matsui’s second algorithm in particular.
This chapter presents the first real algorithm – a quantum "Hello World" program, which is just a simple random number generator. The chapter then details quantum teleportation, superdense coding, and entanglement swapping algorithms, as well as the CHSH game. This game is a simplified version of the Bell inequalities, which established that quantum entanglement cannot be explained by classical theories assuming hidden states
Quantum machine learning is an exciting field that explores the intersection of quantum computing and machine learning. It aims to leverage the principles of quantum computing to enhance machine learning algorithms and potentially revolutionize how we analyze data and solve complex problems. In this section, we begin with a simple algorithm for computing the Euclidean distance between vectors. Then we discuss the quantum principal component analysis. Finally, we explain the complex but beautiful HHL algorithm for solving systems of linear equations
The introduction outlines the flow of the book and how to make best use of it. It provides a summary of each chapter as well and details where to find the code and how to run it.
This chapter introduces the fundamental concepts and rules of quantum computing. In parallel, it develops an initial, easy-to-understand Python code base for building and simulating small-scale quantum circuits and algorithms. The chapter details single qubits, superposition, quantum states with many qubits, operators, including a sizable set of important single-qubit gates and controlled gates. The Bloch sphere and the quantum circuit notation are introduced. Entanglement follows, that fascinating “spooky action at a distance,” as Einstein called it. The chapter then discusses maximally entangled Bell states, the no-cloning and no-deleting theorems, local and global phases, and uncomputation. The quantum postulates are discussed briefly as preparation for the discussion on measurements.
Traditionally, linear cryptanalysis exploits linear approximations with atypically high absolute correlation. In this chapter, we discuss instead how linear approximations with correlation zero can be used. This variant of linear cryptanalysis is called zero-correlation linear cryptanalysis.
If more than one good linear approximation is available, then it is natural to try to exploit all of them simultaneously. This is called multiple linear cryptanalysis. The first part of this chapter discusses multiple linear cryptanalysis in general. The second part focuses on the special case with a set of masks that forms a vector space, which is called multidimensional linear cryptanalysis.
Finding linear trails with high absolute correlation quickly becomes tedious work, especially for ciphers with a more complicated structure than the example that we have worked with so far. Since the total number of trails is finite, finding linear trails with a maximal absolute correlation is an example of a combinatorial optimization problem. This chapter discusses three commonly used optimization methods: Matsui’s branch and bound method, mixed-integer linear programming, and satisfiability or satisfiability modulo theories. At the same time, the chapter introduces two additional example ciphers that follow a different design strategy.