diff --git a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex index df05744..9949f8f 100644 --- a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex +++ b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex @@ -303,5 +303,95 @@ Algorithmus = TM intuitiver Begriff = formal + \subsection{Kodierung von Turingmaschinen} + + Sei M TM mit \( Z = \{ Z_1, Z_2, …, Z_k \}\) und \( \Sigma \le \Gamma = \{ a_1, a_2, …, a_m \} \)\\ + Sei \( \delta(Z_i,a_j) = (Z_{i'}, a_{j'}, d) \)\\ + \( d = \{ L,M,R \} \) + + Kodiere mit:\\ + \( x_{i,j} = 0 1^i 0 1^j 0 1^{i'} 0 1^{j'} 0 1^{d'} 0 \) + + mit \( d = \begin{cases} 1 & \text{,falls d = L} \\ 2 & \text{,falls d = N} \\ 3 & \text{,falls d = R} \end{cases} \) + + Kodiere M durch\\ + \( x = x_{1,1} x_{1,2} … x_{1,m} x_{2,1} … x_{k,m} \) + + Dabei lege fest: \(Z_1\) ist Startzustand; \( Z_{k-1} \) ist \(Z_V\); \(Z_k\) ist \( Z_a \)\\ + und \( a_1 = \Box \) + + Damit besitzt jede Turingmaschine M eine Kodierung \( x \in \{0,1\}^* \). x heißt auch \underline{Index} oder \underline{Gödelnummer von M}\\ + Nicht jedes Wort aus \(\{0,1\}^*\) taucht als Kodierung gemäß obigem Schema auf.\\ + Deswegen: Für \(x\in \{0,1\}^* \)\\ + \( x \to \begin{cases} M_x & \text{, falls Kodierung von } M_x x \text{ ergibt}\\ M_0 & \text{, sonst} \end{cases} \)\\ + \(M_0\) fest, mit \( L(M_0) = \emptyset \) + + Mit dieser Festlegung kodiert \underline{jedes} Wort \( x \in \{0,1\}^* \) eine TM \(M_x\). + + D.\,h. \( \{0,1\}^* = \{ \epsilon, 0, 1, 00, 01, 10, 11, 000, … \} \)\\ + dies ist eine Aufzählung aller 0-1-Wörter und damit auch aller Turingmaschinen. + + \subsection{Das Halteproblem} + + \( H = \{ (x,y) \mid M_y(x) \text{ hält} \} \)\\ + dabei sei \((x,y) = x_1 x_1 x_2 x_2 … x_n x_n 01 y \)\\ + \( (010, 10) = \begin{cases} 000101010 \\ 00 11 00 10 \underbrace{10}_{y} \end{cases} \) + + \subsection{Die Universalsprache} + + \( U = \{ (x,y) \mid M_y \text{ akzeptiert } x \} \) + + Eine Sprache L heißt (Turing-) \underline{akzeptierbar}, falls es eine Turingmaschine M gibt, mit \( L(M) = L \). + + L heißt (Turing-) \underline{entscheidbar}, falls M zusätzlich auf alle Eingaben hält. + + U ist akzeptierbar:\\ + Beschreibe zunächst eine 3-Band-Turingmaschine\\ + M für U\\ + M: \begin{tabular}{c|c|c} + \hline + &\((x,y)\)&\\ + \hline + \end{tabular}\\ + \(\underset{Z_1\text{ Startzustand}}{\to}\)\\ + \begin{tabular}{c|c|c|c|c|c} + \hline + &\(x_1\)&\(x_2\)&…&\(x_n\)&\\ + \hline + & \(Z_1 \) &\\ + \hline + &\(y\)&\\ + \hline + \end{tabular}\\ + dann simuliere \(M_y\) auf dem 1. Band + + d.\,h. Suche in y die Stelle wo \( \delta(Z_1,x_1)\) definiert ist und führe dann Änderungen auf dem 1. Band aus. * Dann gehe auf Band 2 und 3 wieder nach links und wiederhole.\ + Abbruch wenn \(M_y\) \(Z_a\) oder \(Z_v\) erreicht. + + * Auf Band 2 ändere den Zustand. + + M akzeptiert, falls \(M_y\) \(Z_a\) erreicht und verwirft bei \(Z_v\). + + Dann gilt:\\ + \begin{itemize} + \item \((x,y) \in U \Rightarrow M_y(x) \) akzeptiert.\\ + \(\Rightarrow M_y(x)\) kommt nach endlich vielen Schritten nach \(Z_a\)\\ + \(\Rightarrow M(x,y)\) akzeptiert + \item \( (x,y) \not\in U \Rightarrow M_y(x)\) verwirft. + \begin{itemize} + \item[a)] \( M_y(x) \) erreicht \(Z_v\)\\ + \( \Rightarrow M(x,y)\) verwirft. + \item[b)] \( M_y(x) \) hält nicht\\ + \( \Rightarrow M(x,y) \) hält nicht.\\ + \( \Rightarrow M(x,y) \) verwirft. + \end{itemize} + \end{itemize} + + Es gibt also \( L(M) = U \).\\ + Sei \(M_U\) die zu M äquivalente (1-Band) Turingmaschine.\\ + \(M_U\) heißt \underline{universelle Turingmaschine}. + + Analog ist H akzeptierbar.\\ + (nehme M von oben und akzeptiere auch, wenn \(Z_v\) erreicht wird.) \end{document} diff --git a/Sichere_Hardware/Sichere_Hardware.tex b/Sichere_Hardware/Sichere_Hardware.tex index 0381631..b6a1dc2 100644 --- a/Sichere_Hardware/Sichere_Hardware.tex +++ b/Sichere_Hardware/Sichere_Hardware.tex @@ -221,4 +221,26 @@ Wenn identisch, Anmeldung, sonst Fehlermeldung \end{enumerate} + \subsection{Digitale Signatur} + + A \begin{tabular}{|c|c|} \hline \(pS(a) \) & \(öS(a) \) \\\hline \end{tabular} \\ + A: Nachricht + \(pS(a) \to V_M \to B\) \\ + B: \(V + öS(A) \to M\) + + Authentizität, aber keine Vertraulichkeit! + + z.\,B. AES-Verschlüsselte Passwörter\\ + 256 Bit + + PW: Groß-/Kleinbuchstaben, Ziffern\\ + \(26+26+10=62\)\\ + \(\Rightarrow\) 1 Zeichen d. PW \(\mathrel{\widehat{=}} \text{ } \approx \) 6 Bit + + \(\Rightarrow\) im Sicherheit von AES voll nutzen zu können, wären \( \frac{256 Bit}{6 Bit} = 42\) Zeichen lange Passwörter nötig! + + z.\,B. 6 Zeichen Passwort \(\mathrel{\widehat{=}}\) 36 Bit Schlüssellänge + + z.\,B. Truecrypt:\\ + PW \(\to\) Hash-Alg. \(\to\) 256-Bit AES-Schlüssel \(\to\) AES + \end{document}