Skip to content
Snippets Groups Projects
Commit 0699333b authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Nachbereitung 2.1.2020

parent 31e246c4
Branches
No related tags found
No related merge requests found
Showing
with 1005 additions and 0 deletions
Spezial-Vorlesung am 2.1.2020: Quantencomputer
==============================================
Die Sicherheit aktueller Verschlüsselungsverfahren beruht auf der
Schwierigkeit, bestimmte mathematische Probleme zu lösen (Beispiel:
RSA-Verfahren – Primfaktorzerlegung).
Im September 2019 meldete Google einen Durchbruch beim Bau eines
_Quantencomputers_. Mit Hilfe derartiger Systeme lassen sich die
o.a. mathematischen Probleme in erheblich kürzerer Zeit lösen.
Dies stellt die weltweite Datensicherheit in Frage.
Dieser Vortrag soll beleuchten, wie Quantencomputer grundsätzlich
funktionieren und skizzieren, auf welche Weise man damit aktuelle
Verschlüsselungsverfahren (am Beispiel des RSA-Verfahrens) brechen
kann. Desweiteren wird darauf eingegangen, welche Rollen
Datensicherheit und Datenschutz in unserem Alltag spielen.
Vorkenntnisse: Vektorrechnung, komplexe Zahlen
Uhrzeit und Raum: 15:45 bis ca. 17:15 Uhr, Seminarraum 3-30
Im Anschluß laden wir ein zu einer Diskussions- und Fragestunde.
20200102/ampel-blau-gelb.png

2.19 KiB

20200102/ampel-blau.png

1.57 KiB

20200102/ampel-gelb.png

1.4 KiB

20200102/ampel-gemisch-not.png

1.89 KiB

20200102/ampel-gemisch-wurzel-not.png

1.68 KiB

20200102/ampel-gemisch.png

1.89 KiB

20200102/ampel-gruen.png

1.15 KiB

20200102/ampel-rot-gelb-blau.png

2.3 KiB

20200102/ampel-rot-gruen-blau.png

2.14 KiB

20200102/ampel-rot.png

1.15 KiB

File added
File added
% hp-20120102.pdf - Lecture Slides on Low-Level Programming
% Copyright (C) 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: Quantencomputer, Datensicherheit und Datenschutz
\documentclass[10pt,t,fleqn]{beamer}
\usepackage{pgslides}
\usepackage{tikz}
\usefonttheme[onlymath]{serif}
\title{Hardwarenahe Programmierung}
\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
\date{2.\ Januar 2020}
\begin{document}
\maketitleframe
\nosectionnonumber{\inserttitle}
\begin{frame}
\shownosectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp}}}
\item[\textbf{2}] \textbf{Einführung in C}
\item[\textbf{3}] \textbf{Bibliotheken}
\item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
\begin{itemize}
\vspace*{-0.1cm}
\item[\dots]
% \item[4.3] Interrupts
% \item[4.4] volatile-Variable
\item[4.6] Byte-Reihenfolge -- Endianness
\color{medgreen}
\item[4.7] Binärdarstellung negativer Zahlen
\item[4.8] Speicherausrichtung -- Alignment
\end{itemize}
\item[\textbf{5}] \textbf{Algorithmen}
\begin{itemize}
\item[5.1] Differentialgleichungen
\item[5.2] Rekursion
\color{magenta}
\item[5.3] Aufwandsabschätzungen
\item[5.\hbox to 0.56em{\boldmath$\frac{1+i}{\sqrt2}$}]\hspace*{0.90em}Quantencomputer
% \vspace*{-0.1cm}
\item[\dots]
\end{itemize}
\vspace*{-\smallskipamount}
\item[\textbf{\dots}]
\end{itemize}
\end{frame}
\setcounter{section}{4}
\section{Algorithmen}
\setcounter{subsection}{2}
\subsection{Aufwandsabschätzungen \protect\color{gray}-- Komplexitätsanalyse}
\begin{frame}[fragile]
% \newcommand{\w}{\hspace*{0.75pt}}
\showsubsection
\begin{picture}(0,0)
\put(7.6,-0.5){%
\begin{minipage}[t]{5.3cm}
% \vspace*{-1.0cm}\includegraphics{landau-symbols.pdf}
\vspace*{-1.0cm}\alt<3->{\includegraphics{landau-symbols-3.pdf}}%
{\alt<2->{\includegraphics{landau-symbols-2.pdf}}%
{\includegraphics{landau-symbols.pdf}}}
\small
\begin{description}\itemsep0pt\leftskip-0.5cm
\item[$n$:] Eingabedaten
\item[$g(n)$:] Rechenzeit
\end{description}
\end{minipage}}
\end{picture}
\vspace*{-\bigskipamount}
Wann ist ein Programm "`schnell"'?
\medskip
Faustregel:\\Schachtelung der Schleifen zählen\\
$k$ Schleifen ineinander \textarrow\ $\mathcal{O}(n^k)$
\bigskip
\begin{onlyenv}<1>
\textbf{Wie schnell ist RSA-Verschlüsselung?}
\smallskip
\begin{math}
c = m^e\,\%\,N
\end{math}
\quad
("`$\%$"' = "`modulo"')
\medskip
\begin{lstlisting}[gobble=6,xleftmargin=2em]
int c = 1;
for (int i = 0; i < e; i++)
c = (c * m) % N;
\end{lstlisting}
\smallskip
\begin{itemize}
\item
$\mathcal{O}(e)$ Iterationen
% \item
% wenn $n$ die Anzahl der Binärziffern (Bits) von $e$ ist:
% $\mathcal{O}(2^n)$ Iterationen
\item
mit Trick:
$\mathcal{O}(\log e)$ Iterationen ($\log e$ = Anzahl der Ziffern von $e$)
\end{itemize}
\smallskip
Jede Iteration enthält eine Multiplikation und eine Division.\\
Aufwand dafür: $\mathcal{O}(\log e)$\\
\textarrow\ Gesamtaufwand: $\mathcal{O}\bigl((\log e)^2\bigr)$
\end{onlyenv}
\begin{onlyenv}<2->
\textbf{Wie schnell ist RSA?}\\
\smallskip
($n$ = typische beteiligte Zahl, z.\,B. $e,p,q$)
% \begin{tabbing}
% Verschlüsselung brechen (Primfaktorzerlegung):~\=\kill
% Schlüsselerzeugung (Berechnung von $d$):
% \> \color{red}$\mathcal{O}\bigl((\log n)^2\bigr)$,\\[0.5\smallskipamount]
% Ver- und Entschlüsselung (Exponentiation):
% \> \color{red}$\mathcal{O}\kern0.5pt(n\log n)$,\\[0.5\smallskipamount]
% Verschlüsselung brechen (Primfaktorzerlegung):
% \> \color{red}$\mathcal{O}\bigl(2^{\sqrt{\log n\,\cdot\,\log\log n}}\bigr)$
% \end{tabbing}
\begin{itemize}
\item
Ver- und Entschlüsselung (Exponentiation):\\
{\color{red}$\mathcal{O}\!\left((\log n)^2\right)$}
\item
Schlüsselerzeugung (Berechnung von $d$):\\
{\color{red}$\mathcal{O}\!\left((\log n)^2\right)$}
\item
Verschlüsselung brechen (Primfaktorzerlegung):\\
{\color{red}$\mathcal{O}\bigl(2^{\sqrt{\log n\,\cdot\,\log\log n}}\bigr)$}
\end{itemize}
\vspace{0cm plus 1filll}
\textbf{Die Sicherheit von RSA beruht darauf,
daß das Brechen der Verschlüsselung aufwendiger ist als
\boldmath$\mathcal{O}\bigl((\log n)^k\bigr)$ (für beliebiges $k$).}
\vspace*{0.65cm}
\end{onlyenv}
\end{frame}
\subsectionnonumber{\boldmath 5.$\frac{1+i}{\sqrt2}$\quad Quantencomputer}
\begin{frame}
\showsubsectionnonumber
Mit Hilfe eines Quantencomputers ist es möglich,\\
RSA mit dem Aufwand $\mathcal{O}\bigl((\log n)^3\bigr)$ zu brechen.
\medskip
Hierfür ist ein Quantencomputer mit mindestens $\log n$ Qubits erforderlich.\\
($\log n$ ist die Länge des Schlüssels in Bits,
derzeit typischerweise 2048 bis 4096.)
\bigskip
Dezember 2001:\\
IBM präsentiert einen funktionierenden Quantencomputer mit 7 Qubits.
\medskip
September 2019:\\
Google präsentiert einen funktionierenden Quantencomputer mit 53 Qubits.
\vspace{0cm plus 1filll}
\textbf{Die Sicherheit von RSA beruht darauf,
daß das Brechen der Verschlüsselung aufwendiger ist als
\boldmath$\mathcal{O}\bigl((\log n)^k\bigr)$ (für beliebiges $k$).}
\vspace*{0.65cm}
\end{frame}
\subsubsectionnonumber{\boldmath 5.$\frac{1+i}{\sqrt2}$.\kern0.5pt$i$\quad Einführung in die Quantenmechanik}
\begin{frame}
\showsubsubsectionnonumber
\begin{onlyenv}<1-3>
Klassische Mechanik (Physik):
\smallskip
Zustand eines Teilchens (Massenpunkt):\\
Masse $m$, Ort $\vec{x}$, Impuls $\vec{p}$ (oder: Geschwindigkeit $\vec{v}\kern1pt$)
\bigskip
\end{onlyenv}
\pause
Quantenmechanik:
\smallskip
Zustand eines Teilchens:\\
Masse $m$, komplexwertige Wellenfunktion $\psi(\vec{x})$
\begin{itemize}
\item
Ort: $|\psi(\vec{x})|^2$ = Wahrscheinlichkeit, das Teilchen am Ort $\vec{x}$ zu messen
\item
Impuls: Wellenstruktur in der komplexen Phase
\pause
\item
Normierung:
\begin{math}
\displaystyle
\int\limits_{\mathbb{R}^3} |\psi(\vec{x}\kern1pt)|^2\,d^3\vec{x} = 1
\end{math}
("`Irgendwo muß das Teilchen ja sein \dots"')
\end{itemize}
\begin{onlyenv}<4>
\bigskip
Einfachster Fall: Es gibt überhaupt nur 2 Orte.
\begin{displaymath}
\psi(\vec{x}\kern1pt)
= \left(\begin{array}{c}
\psi_1 \\
\psi_0
\end{array}\right)
\qquad
|\psi_0|^2 + |\psi_1|^2 = 1
\end{displaymath}
Schreibweise: Basisvektoren $\left|0\right>$ und $\left|1\right>$
-- "`Basiszustände"'
\begin{displaymath}
\psi(\vec{x}\kern1pt)
= \psi_0 \left|0\right> + \psi_1 \left|1\right>
\end{displaymath}
\end{onlyenv}
\end{frame}
\subsubsectionnonumber{\boldmath 5.$\frac{1+i}{\sqrt2}$.\kern0.5pt$\mbox{2}i$\quad Qubits}
\begin{frame}
\showsubsubsectionnonumber
\begin{itemize}
\item
Ein Bit kann die (klassischen) Zustände 0 und 1 annehmen.
\arrowitem
2 Zustände, beschrieben durch eine ganze Zahl, die 0 oder 1 sein darf
\begin{center}
\bigskip
\makebox(0,0){\includegraphics[height=1cm]{ampel-gruen.png}}\qquad\qquad
\makebox(0,0){oder}\qquad\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-rot.png}}
\bigskip
\end{center}
\medskip
\item
Ein Qubit kann die quantenmechanischen Basiszustände\\
$\left|0\right>$ und $\left|1\right>$ annehmen ("`1 Teilchen, 2 Orte"').
\arrowitem
unendlich viele Zustände, beschrieben durch\\
zwei komplexe Zahlen $\psi_0$ und $\psi_1$ mit $|\psi_0|^2 + |\psi_1|^2 = 1$
\begin{center}
\bigskip
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch.png}}~\qquad
\makebox(0,0){=}\qquad
\makebox(0,0){$\sqrt{\frac13}$}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gruen.png}}\qquad
\makebox(0,0){+}\qquad
\makebox(0,0){$\sqrt{\frac23}$}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-rot.png}}
\bigskip
\end{center}
\medskip
\item
Messung: Das Qubit muß sich für $\left|0\right>$ oder $\left|1\right>$ entscheiden.\\
Die Wahrscheinlichkeit beträgt $|\psi_0|^2$ bzw.\ $|\psi_1|^2$.
\end{itemize}
\end{frame}
\begin{frame}
\showsubsubsectionnonumber
\begin{itemize}
\item
Eine $\text{\rm NOT}$-Operation auf einem Qubit
vertauscht $\left|0\right>$ und $\left|1\right>$.
\begin{displaymath}
\text{\rm NOT} \left(\begin{array}{c}
\psi_1\\
\psi_0
\end{array}\right)
= \left(\begin{array}{c}
\psi_0\\
\psi_1
\end{array}\right)
= \left(\begin{array}{cc}
0 & 1 \\
1 & 0
\end{array}\right)
\left(\begin{array}{c}
\psi_1\\
\psi_0
\end{array}\right)
\end{displaymath}
\begin{center}
\bigskip
\makebox(0,0){$\text{\rm NOT}$}~\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch.png}}\qquad
\makebox(0,0){=}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch-not.png}}
\bigskip
\end{center}
\pause
\bigskip
\item
Eine $\sqrt{\text{\rm NOT}}$-Operation auf einem Qubit
vertauscht $\left|0\right>$ und $\left|1\right>$ halb.
\begin{displaymath}
\sqrt{\text{\rm NOT}}
= \frac{1}{\sqrt{2i}}
\left(\begin{array}{cc}
i & 1 \\
1 & i
\end{array}\right),
\quad\text{weil}~
\left(\begin{array}{cc}
i & 1 \\
1 & i
\end{array}\right)
\left(\begin{array}{cc}
i & 1 \\
1 & i
\end{array}\right)
=
\left(\begin{array}{cc}
0 & 2i \\
2i & 0
\end{array}\right)
\end{displaymath}
\begin{center}
\bigskip
\makebox(0,0){$\sqrt{\text{\rm NOT}}$}\quad\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch.png}}\qquad
\makebox(0,0){=}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch-wurzel-not.png}}
\qquad\qquad
\makebox(0,0){$\sqrt{\text{\rm NOT}}$}\quad\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch-wurzel-not.png}}\qquad
\makebox(0,0){=}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch-not.png}}
\bigskip
\end{center}
\smallskip
(Die Information, was wohin wandert, steckt in der komplexen Phase.)
\end{itemize}
\end{frame}
\subsubsectionnonumber{\boldmath 5.$\frac{1+i}{\sqrt2}$.\kern0.5pt$\mbox{3}i$\quad Quantenverschränkung}
\begin{frame}
\showsubsubsectionnonumber
2 Qubits: $\left|0_0\right>\!, \left|1_0\right>$
und $\left|0_1\right>\!, \left|1_1\right>$
\medskip
Wellenfunktion:
\begin{math}
\psi_{00} \left|0_0\right>
+ \psi_{10} \left|1_0\right>
+ \psi_{01} \left|0_1\right>
+ \psi_{11} \left|1_1\right>
\end{math}
\pause
\begin{picture}(0,0)
\put(2.5,0.2){\makebox(0,0)[bl]{\tikz{\draw[line width=1pt,red](0,0)--(5.8,0.6);}}}
\put(2.5,0.2){\makebox(0,0)[bl]{\tikz{\draw[line width=1pt,red](0,0.6)--(5.8,0);}}}
\end{picture}
\vspace*{-1.7\medskipamount}
\begin{itemize}
\arrowitem
\begin{math}
\psi_{00} \left|00\right>
+ \psi_{01} \left|01\right>
+ \psi_{10} \left|10\right>
+ \psi_{11} \left|11\right>
\end{math}
\smallskip
Das hinzugekommene Qubit (Nr.~1) \\
kann die Basiszustände des ersten Qubits (Nr.~0) mitbenutzen.
\begin{onlyenv}<2>
\begin{center}
\bigskip
\makebox(0,0){\includegraphics[height=1cm]{ampel-gemisch.png}}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-blau-gelb.png}}
\hspace{3.0cm}
\makebox(0,0){können sich vermischen, z.\,B.\ zu}
\hspace{3.0cm}
\makebox(0,0){\includegraphics[height=1cm]{ampel-rot-gelb-blau.png}}\qquad
\makebox(0,0){\includegraphics[height=1cm]{ampel-rot-gruen-blau.png}}
\bigskip
\end{center}
\vspace*{-3.05\bigskipamount}
\end{onlyenv}
\pause
\medskip
\arrowitem
Mit jedem hinzukommenden Qubit\\
verdoppelt sich die Anzahl der Basiszustände.
\smallskip
Beispiel: Ein "`Quanten-Byte"' (8 Qubits) hat 256 Basiszustände:
\begin{displaymath}
\left|00000000\right>\!,~
\left|00000001\right>\!,~
\left|00000010\right>\!, \dots
\left|11111111\right>\!
\end{displaymath}
Der Gesamtzustand eines Quanten-Bytes entspricht\\
$2^8 = 256$ komplexen Zahlen:
$\psi_{00000000}$ bis $\psi_{11111111}$
\pause
\smallskip
Der Gesamtzustand eines 64-Bit-Quanten-Registers entspricht\\
$2^{64} = 18\,446\,744\,073\,709\,551\,616$ komplexen Zahlen.
\medskip
\arrowitem
Es ist schon aus Speicherplatzgründen nicht möglich,
auf einem klassischen Computer effizient mit Qubits zu rechnen.
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\showsubsubsectionnonumber
\begin{itemize}
\item
$\text{\rm CNOT}$ ("`Controlled NOT"')
-- eine Art \lstinline{if}-Anweisung auf 2 Qubits
\medskip
\begin{lstlisting}[gobble=8]
if (q0)
q1 = ~q1;
\end{lstlisting}
\vspace{-2\medskipamount}
\begin{displaymath}
\text{\rm CNOT}
\left(\begin{array}{c}
\psi_{00} \\
\psi_{01} \\
\psi_{10} \\
\psi_{11}
\end{array}\right)
=
\left(\begin{array}{c}
\psi_{00} \\
\psi_{01} \\
\psi_{11} \\
\psi_{10}
\end{array}\right)
=
\left(\begin{array}{cccc}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{array}\right)
\left(\begin{array}{c}
\psi_{00} \\
\psi_{01} \\
\psi_{10} \\
\psi_{11}
\end{array}\right)
\end{displaymath}
\pause
\begin{picture}(0,0)
\color{red}
\put(2.6,1.9){\makebox(0,0)[br]{\tikz{\draw[latex-,red](0.2,0)--(0.0,0.8);}}}
\put(2.3,2.75){\makebox(0,0)[b]{\footnotesize q0}}
\put(2.7,1.9){\makebox(0,0)[bl]{\tikz{\draw[latex-,red](0.0,0)--(0.2,0.8);}}}
\put(3.0,2.75){\makebox(0,0)[b]{\footnotesize q1}}
\put(6.55,1.67){\makebox(0,0){\tikz{\draw(0,0)circle(0.5);}}}
\put(6.55,2.20){\makebox(0,0)[b]{\footnotesize else-Zweig}}
\put(7.60,0.82){\makebox(0,0){\tikz{\draw(0,0)circle(0.5);}}}
\put(7.60,0.22){\makebox(0,0)[t]{\footnotesize if-Zweig}}
\end{picture}
\pause
\medskip
Dies funktioniert auch dann,
wenn die "`\lstinline{if}-Bedingung"' \lstinline{q0}\\
weder $\left|0\right>$ ("`false"') noch $\left|1\right>$ ("`true"') ist,
sondern eine Mischung.
\smallskip
Der \lstinline{if}-Zweig und der \lstinline{else}-Zweig
werden dann gleichzeitig ausgeführt.\\
("`Mischung"' heißt also nicht "`vielleicht"', sondern "`beides"').
\pause
\bigskip
\arrowitem
Damit können wir nun alles berechnen, was wir wollen.\\
($\text{\rm CNOT}$ zusammen mit den 1-Bit-Operationen ist "`universell"'.)
\end{itemize}
\end{frame}
\subsubsectionnonumber{\boldmath 5.$\frac{1+i}{\sqrt2}$.\kern0.5pt$\mbox{4}i$\quad Der Shor-Algorithmus}
\begin{frame}
\showsubsubsectionnonumber
\begin{itemize}
\item
Ziel: Zerlegung einer Zahl $n = p \cdot q$ in ihre Faktoren
\item
Herangehensweise:
\begin{enumerate}\itemsep0.5\smallskipamount
\begin{onlyenv}<1-3>
\item
Wähle $x$ mit $1 < x < n$.
\end{onlyenv}
\item
Suche $r$ mit $x^r\,\%\,n = 1$.
\only<2->{\quad\textbf{\boldmath $\longleftarrow$ mit Quantencomputer}}
\begin{onlyenv}<1-3>
\item
Wenn $r$ ungerade oder wenn $x^{\frac{r}{2}}\,\%\,n = n - 1$,
verwirf dieses $x$.\\
Neuer Versuch.
\item
Ansonsten ist der größte gemeinsame Teiler von $x^{\frac{r}{2}}$ und $n$\\
ein Faktor von $n$.\quad \mbox{:--)}
\end{onlyenv}
\end{enumerate}
\pause
\pause
\item
Algorithmus, um $r$ zu suchen:
\begin{enumerate}\itemsep0.5\smallskipamount
\begin{onlyenv}<1-4>
\item
Sei $q$ die nötige Anzahl von Bits, um $n^2$ speichern zu können.
\end{onlyenv}
\begin{onlyenv}<1-5>
\item
Lade ein $q$-Qubit-Register mit dem Wert:
\begin{displaymath}
A :=
\underbrace{
\frac{\left|0\right> + \left|1\right>}{\sqrt2},
\frac{\left|0\right> + \left|1\right>}{\sqrt2},
\dots,
\frac{\left|0\right> + \left|1\right>}{\sqrt2}
}_{\text{\footnotesize $q$ Qubits}}
\end{displaymath}
\vspace{-\medskipamount}
\end{onlyenv}
\pause
\item
Berechne in einem zweiten $q$-Qubit-Register den Wert $x^A\,\%\,n$.\\
Damit berechnen wir gewissermaßen gleichzeitig $x^a\,\%\,n$\\
für alle Werte, die $a$ annehmen kann ($0$ bis $2^q - 1$).\\
Die beiden Register sind nun verschränkt.
\pause
\item
Quanten-Fouriertransformation auf dem ersten Register.\\
Wegen der Verschränkung beeinflußt dies auch das zweite Register.
\pause
\item
Messung.\\
Alle Qubits müssen sich für $\left|0\right>$ oder $\left|1\right>$ entscheiden.\\
Den Meßwert des zweiten Registers nennen wir $r$.\\
Es gilt mit hoher Wahrscheinlichkeit: $x^r\,\%\,n = 1$.
\item
Fertig.\quad \mbox{:--)}
\end{enumerate}
\end{itemize}
\vspace*{-5cm}
\end{frame}
\subsubsectionnonumber{\boldmath 5.$\frac{1+i}{\sqrt2}$.\kern0.5pt$\mbox{5}i$\quad Fazit}
\begin{frame}
\showsubsectionnonumber
\showsubsubsectionnonumber
\begin{itemize}
\item
Ein funktionsfähiger Quantencomputer mit mindestens 2048 Qubits\\
würde aktuelle Verschlüsselungsverfahren unwirksam machen.
\begin{onlyenv}<1>
\item
Betroffen:
\begin{itemize}\itemsep0.5\smallskipamount
\item
vertrauliche Kommunikation (z.\,B.\ Online-Banking)
\item
Fernzugriff auf Rechner, Schutz persönlicher Daten
\item
digitale Rechtebeschränkung ("`Kopierschutz"')
\item
digitale Währungen
\item
\dots
\arrowitem
Chaos
\end{itemize}
\end{onlyenv}
\only<2->{\item[]\begin{itemize}\arrowitem Chaos\end{itemize}}
\pause
\item
Chaos haben wir bereits.
\begin{itemize}\itemsep0.5\smallskipamount
\begin{onlyenv}<2>
\item
Die Allermeisten sind mit persönlichen Daten sehr freigiebig.\\
(z.\,B.\ Datenverarbeitung und -speicherung in der Cloud)
\item
sozialer und politischer Druck \textarrow\
Sich entziehen wird schwieriger.\\
(z.\,B.\ Gesundheitskarte, bargeldlose Geschäfte)
\item
Daten bei Firmen und Behörden sind leicht angreifbar.
\item
Politische Maßnahmen bewirken oft ihr Gegenteil.\\
(z.\,B.\ DSGVO \textarrow\ mehr Bürokratie \textarrow\ weniger Anbieter)
\arrowitem
Gegenmaßnahme: Aufklärung\\
Bewußtsein für Datenschutz fördern
\end{onlyenv}
\only<3->{\arrowitem Aufklärung, Bewußtsein für Datenschutz fördern}
\end{itemize}
\pause
\item
demnächst in "`Eingebettete Systeme"': Verschlüsselung\\
Termin noch wählbar
\end{itemize}
\pause
\medskip
\begin{center}
\em Vielen Dank für Ihre Aufmerksamkeit!
\end{center}
\vspace*{-5cm}
\end{frame}
\end{document}
../common/landau-symbols-2.pdf
\ No newline at end of file
../common/landau-symbols-3.pdf
\ No newline at end of file
../common/landau-symbols.pdf
\ No newline at end of file
File added
File added
% pgslides.sty - LaTeX Settings for Lecture Slides
% Copyright (C) 2012, 2013 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
\usepackage{amsfonts}
\usepackage[british,german]{babel} % Yes, really "german" and not "ngerman".
\usepackage[utf8]{luainputenc} % Without this, umlauts are broken. Weird.
\usepackage{microtype}
\usepackage[T1]{fontenc}
%\usepackage{times}
\usepackage{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage{graphicx}
\usepackage{pstricks}
\hypersetup{colorlinks,allcolors=blue}
%% @@@ Not necessary for slides. Why???
%% Repair kerning: Automatically insert "\kern{-0.15em}" between "//" % (in URLs).
%\directlua{
% local glyph = node.id ("glyph")
% local function my_kerning (head)
% for t in node.traverse (head) do
% if t.id == glyph and t.char == 47 then
% if t.next
% and t.next.next
% and t.next.next.id == glyph
% and t.next.next.char == 47 then
% local k = node.new ("kern")
% k.kern = tex.sp ("-0.15em")
% k.next = t.next
% k.prev = t
% t.next.prev = k
% t.next = k
% end
% end
% end
% node.kerning (head)
% end
% luatexbase.add_to_callback ("kerning", my_kerning, "URL kerning")
%}
\usetheme{default}
\usefonttheme{structurebold}
\setbeamertemplate{navigation symbols}{}
\setbeamersize{text margin left = 0.3cm, text margin right = 0.2cm}
\setbeamertemplate{itemize item}{$\bullet$}
\setbeamertemplate{itemize subitem}{--}
\setbeamerfont{itemize/enumerate subbody}{size=\normalsize}
\setbeamerfont{itemize/enumerate subsubbody}{size=\normalsize}
\setbeamercolor{footline}{fg=gray}
\newcommand{\sep}{~$\cdot$~}
\newif\ifminimalistic
\minimalistictrue
\institute[Hochschule Bochum\sep CVH]{%
\makebox(0,0.005)[tl]{\includegraphics[scale=0.72]{logo-hochschule-bochum-cvh-text-v2.pdf}}\hfill
\makebox(0,0)[tr]{\includegraphics[scale=0.5]{logo-hochschule-bochum.pdf}}%
}
\setbeamertemplate{headline}{%
\leavevmode
\hbox to \textwidth{%
\ifminimalistic
\strut\hfill
\else
\rule{0pt}{5.7pt}%
\hspace*{8.55pt}\insertinstitute\hspace*{5.7pt}%
\raisebox{-30pt}{\rule{0pt}{1pt}}%
\fi
}%
\vskip0pt%
}
\iffalse
\setbeamertemplate{footline}{}
\else
\setbeamertemplate{footline}{%
\leavevmode
\hbox to \textwidth{%
\usebeamercolor{footline}%
\usebeamerfont{footline}%
\ifminimalistic
\strut\hfill
\else
\,\insertshorttitle\sep
\insertshortauthor\sep
\insertshortinstitute\sep
\insertshortdate\hfill
\fi
\insertframenumber/\inserttotalframenumber
%Folie\,\insertframenumber\sep Seite\,\insertpagenumber\,
}%
\vskip0pt%
}
\fi
\newcommand{\maketitleframe}{%
\ifminimalistic
\begin{frame}[t,plain]
\insertinstitute
\par\vfill
\begin{center}
{\LARGE\color{structure}\inserttitle\par}\bigskip\bigskip
{\large \insertauthor\par}\bigskip\medskip
\insertdate
\end{center}
\end{frame}
\else
\begin{frame}
\vfill
\begin{center}
{\LARGE\color{structure}\inserttitle\par}\bigskip\bigskip
{\large \insertauthor\par}\bigskip\medskip
\insertdate
\end{center}
\vfill
\end{frame}
\fi
}
\definecolor{medgreen}{rgb}{0.0,0.5,0.0}
\definecolor{darkgreen}{rgb}{0.0,0.3,0.0}
\definecolor{lightred}{rgb}{1.0,0.7,0.7}
\definecolor{medred}{rgb}{0.5,0.0,0.0}
\definecolor{bored}{rgb}{0.89,0.0,0.098}
\definecolor{lightgray}{rgb}{0.85,0.85,0.85}
\definecolor{orange}{rgb}{1.0,0.5,0.0}
\definecolor{darkgray}{rgb}{0.4,0.4,0.4}
\newenvironment{experts}{\color{darkgray}}{}
\usepackage{listings}
\lstset{basicstyle=\color{structure},
language=C,
captionpos=b,
gobble=4,
columns=fullflexible,
aboveskip=0pt,
belowskip=0pt,
moredelim=**[is][\color{structure}]{¡}{¿},
moredelim=**[is][\only<2->{\color{structure}}]{²}{¿},
moredelim=**[is][\only<3->{\color{structure}}]{³}{¿},
moredelim=**[is][\only<4->{\color{structure}}]{°}{¿},
moredelim=**[is][\only<5->{\color{structure}}]{¤}{¿},
moredelim=**[is][\only<6->{\color{structure}}]{¢}{¿},
moredelim=**[is][\only<7->{\color{structure}}]{æ}{¿},
moredelim=**[is][\only<8->{\color{structure}}]{ø}{¿}}
\lstdefinestyle{terminal}{basicstyle=\ttfamily\color{darkgreen},
language={},
columns=fixed,
moredelim=**[is][\color{red}]{¡}{¿},
moredelim=**[is][\color{blendedblue}]{°}{¿},
moredelim=**[is][\sffamily\it\lstset{columns=fullflexible}]{²}{¿}}
\lstdefinestyle{cmd}{basicstyle=\ttfamily\color{red},
language={},
gobble=2,
columns=fixed,
moredelim=**[is][\color{darkgreen}]{¡}{¿},
moredelim=**[is][\color{structure}]{°}{¿},
moredelim=**[is][\sffamily\it\lstset{columns=fullflexible}]{²}{¿}}
\lstdefinestyle{shy}{basicstyle=\color{lightgray}}
\setcounter{topnumber}{3}
\renewcommand\topfraction{0.7}
\setcounter{bottomnumber}{3}
\renewcommand\bottomfraction{0.7}
\setcounter{totalnumber}{5}
\renewcommand\textfraction{0.1}
\renewcommand\floatpagefraction{0.9}
\setlength{\unitlength}{1cm}
\newcommand{\protectfile}[1]{#1}
\urlstyle{sf}
\newcommand{\file}[1]{{\color{structure}\protectfile{#1}}}
\newcommand{\textarrow}{{\boldmath $\longrightarrow$}}
\newcommand{\arrowitem}{\item[\textarrow]}
\newcommand{\newterm}[1]{\emph{\color{darkgreen}#1}}
\newcommand{\BIGskip}{\vspace{1cm}}
\newcommand{\shy}{\color{lightgray}}
\newcommand{\hot}{\color{red}}
\newcommand{\shyhot}{\color{lightred}}
\newcommand{\sectionnonumber}[1]{\section{#1}\addtocounter{section}{-1}}
\def\showsectionnonumber{\hbox{\Large\color{structure}\bf
\vtop{\secname}\par}\bigskip}
\newcommand{\nosectionnonumber}[1]{\gdef\nosectionnonumbername{#1}}
\def\shownosectionnonumber{\hbox{\Large\color{structure}\bf
\vtop{\nosectionnonumbername}\par}\bigskip}
\def\showsection{\hbox{\Large\color{structure}\bf
\vtop{\hbox{\arabic{section}}}\kern1em%
\vtop{\secname}\par}\bigskip}
\newcommand{\subsectionnonumber}[1]{\subsection{#1}\addtocounter{subsection}{-1}}
\def\showsubsectionnonumber{{\large\color{structure}\bf\subsecname\par}\bigskip}
\def\showsubsection{\hbox{\large\color{structure}\bf
\vtop{\hbox{\arabic{section}.\arabic{subsection}}}\kern1em%
\vtop{\subsecname}\par}\bigskip}
\newcommand{\subsubsectionnonumber}[1]{\subsubsection{#1}\addtocounter{subsubsection}{-1}}
\def\showsubsubsectionnonumber{{\normalsize\color{structure}\bf\subsubsecname\par}\bigskip}
\def\showsubsubsection{\hbox{\normalsize\color{structure}\bf
\vtop{\hbox{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}}\kern1em%
\vtop{\subsubsecname}\par}\bigskip}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment