%Notizen:
%Gliederung:

\section{Verschlüsselung}
	\subsection{Hashfunktion}
		Eine Hashfunktion dient im allgemeinen dazu eine große Eingabemenge in auf einer kleineren Zielmenge eindeutig abzubilden. Die Eingabemenge kann Elemente unterschiedlicher Länge enthalten, die Elemente der Zielmenge haben hingegen normalerweise eine feste Länge. Eine gute Hashfunktion sollte für Eingaben möglichst wenige Kollisionen erzeugen. Eine Kollision tritt dann auf, wenn unterschiedliche Eingaben den selben Hash zurück liefern. Aus einem Hash kann nicht die Eingabemenge zurück errechnet werden.
		
		\subsubsection{Prüfsummen}
			Eine Prüfsumme ist ein Hash mit dem bspw. Integrität von Daten überprüft werden kann. Prüfsummen werden bei der Datenübertragung oder der Datensicherung verwendet.
			Mit Prüfsummen ist es bspw. möglich Bitfehler in einer Datei zu erkennen, indem von der Originaldatei ein Hash erstellt wird und dieser mit dem Hash der Datei zu einem späteren Zeitpunkt verglichen wird.\\
			Beispiele für bekannte kryptografische Hashfunktionen:
			\begin{itemize}
				\item[MD5] Message-Digest Algorithm 5 (Gilt nicht mehr als sicher)
				\item[SHA] Secure Hash Algorithm
			\end{itemize}
			
		
	\subsection{Symmetrische Verschlüsselung}
		Bei dieser Methode wird ein Schlüssel zur Ver- und Entschlüsselung genutzt. Dieser wird zuerst ausgetauscht und danach die verschlüsselten Daten gesendet. Hierbei besteht das Risiko, dass der Schlüssel beim Austausch abgefangen wird.
		
	
	\subsection{Asymmetrische Verschlüsselung}
		Bei dieser Methode gibt es zwei Schlüssel. Ein Verschlüsselungs-Schlüssel (Public Key) und ein Entschlüsselungs-Schlüssel (Private Key).
		Der öffentliche Schlüssel ist jedem bekannt und muss nicht über einen sicheren Weg ausgetauscht werden, da dieser Schlüssel nur zum verschlüsseln genutzt werden kann. Dieses Verfahren ist deutlich langsamer (RSA ist ca. 1000x langsamer wie DES). Mit diesem Verfahren können auch Texte digital signiert werden. Damit kann dann sichergestellt werden, dass die angegebene Person auch tatsächlich den Text geschrieben hat. Der Text bleibt dabei weiterhin im Klartext, jedoch wird über den Text ein Hash gebildet und dieser mit dem privaten Schlüssel verschlüsselt. Beim validieren, wird mit dem Public Key festgestellt, ob die Nachricht vom angegebenen Autor verfasst wurde und mit dem Hash geprüft, ob der Text verändert wurde.
		
		\subsubsection{Einfaches Beispiel}
			A will Daten an B senden
			\begin{enumerate}
				\item A verschlüsselt mit dem public key von B
				\item B entschlüsselt mit dem private key (von B)
			\end{enumerate}
		
		\subsubsection{RSA-Kryptosystem}
			Dieses Verfahren kann sowohl zum verschlüsseln als auch zum digitalen signieren verwendet werden.
			Es wurde 1977 als erstes asymmetrische Verschlüsselungsverfahren erfunden, welches 1983 patentiert wurde. Die Abkürzung RSA steht für die Familiennamen der Erfinder Rivest, Shamir und Adleman.
			
			
	\subsection{Hybride Verschlüsselung}
		Bei dieser Methode werden die Vorteile der symmetrischen und asymmetrischen Verschlüsselung vereint. Die asymmetrische Verschlüsselung wird zum Verbindungsaufbau genutzt, um über diese Verbindung einen Session Key auszutauschen, welcher dann symmetrisch für die Nutzdaten verwendet wird. Dieses Verfahren wird bspw. bei HTTPS verwendet.
		
		\subsubsection{Einfaches Beispiel}
			A will Daten an B senden
			\begin{enumerate}
				\item A generiert session key
				\item A verschlüsselt den session key mit dem public key von B
				\item B entschlüsselt den session key mit dem private key (von B)
				\item Datenübertragung wird nun mit dem symmetrischen session key ver- und entschlüsselt
			\end{enumerate}