Merge github.com:ddurvaux/contactdb
authorAaron Kaplan <aaron@lo-res.org>
Wed, 23 Oct 2013 06:57:32 +0000 (08:57 +0200)
committerAaron Kaplan <aaron@lo-res.org>
Wed, 23 Oct 2013 06:57:32 +0000 (08:57 +0200)
28 files changed:
meeting-notes/meeting1.txt [new file with mode: 0644]
src/.gitignore [new file with mode: 0644]
src/Makefile [new file with mode: 0644]
src/PKIs.tex [new file with mode: 0644]
src/RNGs.tex [new file with mode: 0644]
src/abstract.tex [new file with mode: 0644]
src/applied-crypto-hardening.bib [new file with mode: 0644]
src/applied-crypto-hardening.tex [new file with mode: 0644]
src/disclaimer.tex [new file with mode: 0644]
src/further_research.tex [new file with mode: 0644]
src/keylengths.tex [new file with mode: 0644]
src/llncs.cls [new file with mode: 0644]
src/motivation.tex [new file with mode: 0644]
src/overview_common_crypto_systems.tex [new file with mode: 0644]
src/practical_settings.tex [new file with mode: 0644]
src/tools.tex [new file with mode: 0644]
unsorted/ssh/Ciphers.txt [new file with mode: 0644]
unsorted/ssh/DebianBanner.txt [new file with mode: 0644]
unsorted/ssh/other_options.txt [new file with mode: 0644]
unsorted/ssh/ssh_version_strings.txt [new file with mode: 0644]
unsorted/ssl/GnuTLS_Ciphers_Debian_4.0_Etch.txt [new file with mode: 0644]
unsorted/ssl/GnuTLS_Ciphers_Debian_6.0_Squeeze.txt [new file with mode: 0644]
unsorted/ssl/GnuTLS_Ciphers_Debian_7.0_Wheezy.txt [new file with mode: 0644]
unsorted/ssl/GnuTLS_Ciphers_Ubuntu_12.04.txt [new file with mode: 0644]
unsorted/ssl/OpenSSL_Ciphers_Debian_4.0_Etch.txt [new file with mode: 0644]
unsorted/ssl/OpenSSL_Ciphers_Debian_6.0_Squeeze.txt [new file with mode: 0644]
unsorted/ssl/OpenSSL_Ciphers_Debian_7.0_Wheezy.txt [new file with mode: 0644]
unsorted/ssl/OpenSSL_Ciphers_Ubuntu_12.04.txt [new file with mode: 0644]

diff --git a/meeting-notes/meeting1.txt b/meeting-notes/meeting1.txt
new file mode 100644 (file)
index 0000000..368b1c9
--- /dev/null
@@ -0,0 +1,136 @@
+
+Erstes Treffen am 17.9., 18:30@s5
+Teilnehmer: Adi, Manuel
+
+
+
+Was ist unser Ziel?
+=====================
+
+kurzes whitepaper, checkliste schreiben. Das whitepaper soll eine gute, *praktische* Anleitung fuer das Zielpublikum sein, wie man heutzutage, nach dem aktuellen Stand des oeffentlich bekannten Wissens, SSL und Kryptographie Einstellungen setzen sollte und wie man diverse Services, die sich auf Kryptographie verlassen (SSH, SSL, ...) haerten kann.
+
+Das Ziel ist es *nicht* Werbung fuer einen bestimmten Hersteller zu machen !
+Das whitepaper sollte uebergreifend, neutral, sachlich, kurz und praktisch sein.
+
+Wir wollen sowohl praktische Tipps fuer Sysadmins & co als auch gute krytpographische Empfehlungen (modulo dem, was wir wissen) abgeben.
+
+Wir schreiben prinzipiell auf Englisch und uebersetzen es auf Deutsch.
+
+
+
+Zeitraum
+=========
+
+ETA: Nov 2013.
+
+
+Kontakte / Potentielle Mit-Autoren:
+===================================
+  - IAIK Institut Graz?
+  - A-SIT?
+  - Posch?
+  - CERT.at / GovCERT (Aaron Kaplan, Koordination)
+  - Adi Kriegisch VRVis (practical applied security)
+  - Manuel Koschuch (FH Wien)
+  - SBA: ?
+  - Ivan Rstic??
+  - Seclab?
+
+
+Wer kontaktiert wen?
+
+  Manuel -> IAIK
+  Aaron, Schisch -> Posch
+  Aaron, Schisch -> SBA
+  A-Sit ?
+  Aaron -> seclab (Atrox, Platzer)
+
+
+Zielgruppe
+==========
+
+  * Sysadmins
+  * KMUs
+  * power-user
+  * interessierte Oeffentlichkeit
+
+
+Inhaltsverzeichnis
+==================
+
+I. Disclaimer
+  aktueller Stand ... morgen kann alles anders sein
+  disclaimer disclaimer disclaimer
+  Der Inhalt dieses whitepapers ist ausschliessliche die persoenliche *Meinung* der Autoren. Wurde nach besten Wissen und Gewissen erstellt.
+  Keine Garantie auf Korrektheit etc.
+
+  Disclaimer, was in dem Paper *nicht* drinnen steht bzw. was wir nicht wissen.
+
+  Veroeffentlichungsdatum angeben, kein Ablaufdatum des whitepapers angeben.
+
+
+II. Problembeschreibung
+
+  Aktuell gibt es viel Verunsicherung bezueglich Krypto, viele Leute fragen sich, was sie derzeit noch bei SSL , SSH oder PGP einstellen koennen.
+  Welche Verfahren sind mittlerweile zu schwach? Wo gibt es Vermutungen, dass es Probleme gibt? Keylaengen? 
+  Praktische Security Probleme und RNGs: was kann man noch nehmen?
+
+
+III. Uebersicht ueber Verfahren
+  
+  - RC4  == tot?
+
+IV. Keylaengen
+
+V. RNGs
+
+  Uebersicht. Was kann man machen, um gute Randomness zu haben? 
+
+
+VI. Practical security settings fuer Services
+
+  - SSL
+    - apache 
+    - nginx
+    - Uebersicht ueber verschiedene SSL libs: gnutls vs. openssl und andere ssl libs (matrixssl, polarssl, ...)
+    - openssl.conf settings
+    -  ...
+  - SSH
+  - PGP
+  - PRNG settings : welcher RNG ist nicht gut?
+    wie mache ich einen eigenen RNG? 
+    wie verwedne ich haveEGD (http://www.issihosts.com/haveged/)
+  - 
+
+VII. PKI
+  Empfehlung.
+
+
+VIII. Werkzeuge
+  Liste von Werkzeugen
+
+  - welche tools kann ich verwenden, um selber zu checken, dass das OK ist?
+  zB: ENT (http://www.fourmilab.ch/random/)
+  Zufallstest tools + menschl. lesbar machen (--> tool Name? Manuel?)
+
+
+
+IX. Further Research
+  - code analysis von crypto tools
+
+
+X. Referenzen
+
+  - SSL Labs
+  - Heise SSL settings
+  - Debian PGP  Empfehlungen: 
+  - RFCs  BCPs
+  - IETF security working groups 
+
+
+Tools
+=====
+  Wir fangen mal an, alles mit git und LateX zu schreiben.
+  Wir koennen auf was anderes umsteigen, wenn notwendig.
+
+
diff --git a/src/.gitignore b/src/.gitignore
new file mode 100644 (file)
index 0000000..c9daffd
--- /dev/null
@@ -0,0 +1,5 @@
+applied-crypto-hardening.aux
+applied-crypto-hardening.dvi
+applied-crypto-hardening.log
+applied-crypto-hardening.out
+applied-crypto-hardening.pdf
diff --git a/src/Makefile b/src/Makefile
new file mode 100644 (file)
index 0000000..515a5f6
--- /dev/null
@@ -0,0 +1,11 @@
+all:
+       latex applied-crypto-hardening
+       # no bibtex citations atm
+       #bibtex applied-crypto-hardening
+       #latex applied-crypto-hardening
+       #latex applied-crypto-hardening
+       dvipdfm -z 9 applied-crypto-hardening
+       dvipdf applied-crypto-hardening.dvi
+
+clean:
+       rm -f applied-crypto-hardening.aux applied-crypto-hardening.bbl applied-crypto-hardening.blg applied-crypto-hardening.dvi applied-crypto-hardening.log applied-crypto-hardening.pdf
diff --git a/src/PKIs.tex b/src/PKIs.tex
new file mode 100644 (file)
index 0000000..48517bd
--- /dev/null
@@ -0,0 +1 @@
+\section{Public Key Infrastructures}
diff --git a/src/RNGs.tex b/src/RNGs.tex
new file mode 100644 (file)
index 0000000..763b92a
--- /dev/null
@@ -0,0 +1 @@
+\section{Random Number Generators}
diff --git a/src/abstract.tex b/src/abstract.tex
new file mode 100644 (file)
index 0000000..f15d4e9
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Abstract}
+
+This whitepaper arose out of the need to have an updated, solid, well researched and thought-through guide for configuring SSL, PGP, SSH and other cryptographic tools in the post-PRISM age.
+Since the NSA leaks in the summer of 2013, many system administrators and IT security officers felt the need to update their encryption settings.
+
+However, as Schneier\cite{SchneiderNSAbreaksEncryption} noted, it seems that intelligence agencies and adversaries on the Internet are not breaking so much the mathematics of encryption per se, but rather use weaknesses and sloppy settings in encryption frameworks to break the codes, next to using other means such as ``kinetic-decryption'' (breaking in, stealing keys) or planting backdoors, etc.
+
+
+This following whitepaper can only address one aspect of securing our information systems: getting the crypto settings right. Other attacks, as the above mentioned kinetic cryptanalysis, require different protection schemes which are not covered in this whitepaper. 
+
diff --git a/src/applied-crypto-hardening.bib b/src/applied-crypto-hardening.bib
new file mode 100644 (file)
index 0000000..c4c9ff2
--- /dev/null
@@ -0,0 +1,107 @@
+
+%%%
+%%% SAMPLE!!!! please adjust to your needs!!
+%%% 
+@inproceedings{Braun:2010,
+author = {L Braun and G M\"unz and G Carle},
+booktitle = {Proceedings of IEEE/IFIP Network Operations and Management Symposium (NOMS 2010)},
+title = {Packet sampling for worm and botnet detection in TCP connections},
+year = {2010},
+}
+
+@misc{rfc3626,
+  author="T. Clausen and P. Jacquet",
+  title="{Optimized Link State Routing Protocol (OLSR)}",
+  series="Request for Comments",
+  number="3626",
+  howpublished="RFC 3626 (Experimental)",
+  publisher="IETF",
+  organization="Internet Engineering Task Force",
+  year=2003,
+  month=oct,
+    url="http://www.ietf.org/rfc/rfc3626.txt",
+}
+
+@misc{batman,
+  author={A. Neumann and C. Aichele and M. Lindner and S. Wunderlich},
+  title={Better Approach To Mobile Ad-hoc Networking (B.A.T.M.A.N.)},
+  howpublished={{http://tools.ietf.org/html/draft-wunderlich-openmesh-manet-routing-00}},
+  year=2008,
+  month=apr,
+}
+
+@INPROCEEDINGS{Deri04,
+    author = {Luca Deri},
+    title = {Improving Passive Packet Capture: Beyond Device Polling},
+    booktitle = {Proceedings of the Fourth International System Administration and Network Engineering Conference (SANE 2004)},
+    year = {2004},
+    location = {Amsterdam, The Netherlands},
+    month = sep,
+}
+
+@misc{rfc5101,
+  author="B. Claise",
+  title="{Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information}",
+  series="Request for Comments",
+  number="5101",
+  howpublished="RFC 5101",
+  publisher="IETF",
+  organization="Internet Engineering Task Force",
+  year=2008,
+  month=jan,
+    url="http://www.ietf.org/rfc/rfc5101.txt",
+}
+
+@misc{muenz-compression,
+  author = {{G. M\"unz and L. Braun}},
+  title = {Lossless Compression for IP Flow Information Export (IPFIX)},
+  howpublished = {https://tools.ietf.org/html/draft-muenz-ipfix-compression-00},
+  year = 2008,
+  month = jul,
+}
+@misc{funkfeuer,
+   author = {{Funkfeuer}},
+   title       = {http://www.funkfeuer.at/}, 
+   url         = {http://www.funkfeuer.at/},
+   year = 2011,
+  month = apr,
+}
+@misc{freifunk,
+   author = {{Freifunk}},
+   title       = {http://www.freifunk.net/}, 
+   url         = {http://www.freifunk.net/},
+   year = 2011,
+  month = apr,
+}
+@ARTICLE{Viennot2004,
+  author = {Viennot, Laurent and Jacquet, Philippe and Clausen, Thomas Heide},
+  title = {Analyzing Control Traffic Overhead versus Mobility and Data Traffic
+       Activity in Mobile Ad-Hoc Network Protocols},
+  journal = {ACM Wireless Networks Journal (Winet)},
+  year = {2004},
+  volume = {10},
+  pages = {447--455},
+  number = {4},
+  address = {Hingham, MA, USA},
+  doi = {http://dx.doi.org/10.1023/B:WINE.0000028548.44719.fe},
+  file = {:D\:\\MY_LYBRARY\\Routing_Overhead\\top_clausen_routing_overhead.pdf:PDF;:D\:\\Exchange\\MY_LYBRARY\\Routing_Overhead\\p447-viennot.pdf:PDF},
+  issn = {1022-0038},
+  keywords = {routing overhead aodv dsr olsr comparison analysis top overhead routing
+       mobility traffic},
+  owner = {rmaklein},
+  publisher = {Kluwer Academic Publishers},
+  timestamp = {2009.10.20}
+}
+@INPROCEEDINGS{Klein2008,
+  author = {Klein, A.},
+  title = {Performance Comparison and Evaluation of {AODV}, {OLSR}, and {SBR}
+       in Mobile Ad-hoc Networks},
+  booktitle = {Proc. 3rd International Symposium on Wireless Pervasive Computing
+       ISWPC 2008},
+  year = {2008},
+  pages = {571--575},
+  month = {May},
+  doi = {10.1109/ISWPC.2008.4556273},
+  owner = {Alexander Klein},
+  timestamp = {2009.09.05}
+}
diff --git a/src/applied-crypto-hardening.tex b/src/applied-crypto-hardening.tex
new file mode 100644 (file)
index 0000000..f1f3a25
--- /dev/null
@@ -0,0 +1,54 @@
+\documentclass{llncs}
+
+\usepackage{amsmath}
+\usepackage{amssymb}
+%\usepackage{psfrag}
+%\usepackage{graphicx}
+%\usepackage{color}
+%\usepackage{subfigure}
+%\usepackage[latin1]{inputenc}  % Sonderzeichen, Umlaute  
+\usepackage[utf8x]{inputenc}  % Sonderzeichen, Umlaute  
+\usepackage{hyperref}
+
+\pagenumbering{arabic}
+\pagestyle{plain}
+
+
+\newcommand{\todo}[1]{\marginpar{\textbf{TODO!}}\parbox{\columnwidth}{\textbf{\textsc{\textcolor{red}{(TODO: #1)}}}}}
+% Auskommentieren:
+\newcommand{\ignorethis}[1]{}
+\newcommand{\needcite}{\todo{Need citation!}}
+
+
+\begin{document}
+
+\title{Applied Crypto Hardening}
+
+\author{ Manuel Koschuch\inst{1}, Adi Kriegisch\inst{2}, L. Aaron Kaplan\inst{3}, Tobias Dussa\inst{4}, Heiko Reese\inst{4}}
+\institute{
+FH Wien
+\and
+VRVis
+\and
+CERT.at
+\and
+Karlsruhe Institute of Technology
+}
+
+
+\maketitle
+
+\input{abstract}
+\input{disclaimer}
+\input{motivation}
+\input{overview_common_crypto_systems}
+\input{keylengths}
+\input{RNGs}
+\input{practical_settings}
+\input{PKIs}
+\input{tools}
+\input{further_research}
+
+\bibliography{applied-crypto-hardening}
+
+\end{document}
diff --git a/src/disclaimer.tex b/src/disclaimer.tex
new file mode 100644 (file)
index 0000000..4e7621b
--- /dev/null
@@ -0,0 +1,9 @@
+\section{Disclaimer}
+Furthermore, this guide can only describe what the authors currently \emph{believe} to be the best settings based on their personal experience. This guide was cross checked by XXX FIXME XXX people. Even though, multiple specialists reviewed the guide, the authors can give \emph{no guarantee} whatsover that they made the right recommendations. After all, tomorrow there might be a new attack on some ciphers and much of the recommendations in this guide will turn out to be wrong.
+
+%% should we keep that sentence?
+%% The authors do not know XXX FIXME XXX list things we don't know which affect the guide? XXX
+
+Nevertheless, ignoring the problem and keeping outdated settings for SSL, SSH, PGP is not an option. We the authors, need this document as much as the gentle reader needs it.
+
+This document was published: on XXXX FIXME XXX.
diff --git a/src/further_research.tex b/src/further_research.tex
new file mode 100644 (file)
index 0000000..fca96a0
--- /dev/null
@@ -0,0 +1,3 @@
+\section{Further research and unanswered questions}
+
+
diff --git a/src/keylengths.tex b/src/keylengths.tex
new file mode 100644 (file)
index 0000000..849fa5f
--- /dev/null
@@ -0,0 +1 @@
+\section{Keylengths}
diff --git a/src/llncs.cls b/src/llncs.cls
new file mode 100644 (file)
index 0000000..23fd1c6
--- /dev/null
@@ -0,0 +1,1190 @@
+% LLNCS DOCUMENT CLASS -- version 2.14 (17-Aug-2004)\r
+% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science\r
+%\r
+%%\r
+%% \CharacterTable\r
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\r
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+%%\r
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]\r
+\ProvidesClass{llncs}[2004/08/17 v2.14\r
+^^J LaTeX document class for Lecture Notes in Computer Science]\r
+% Options\r
+\let\if@envcntreset\iffalse\r
+\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}\r
+\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}\r
+\DeclareOption{oribibl}{\let\oribibl=Y}\r
+\let\if@custvec\iftrue\r
+\DeclareOption{orivec}{\let\if@custvec\iffalse}\r
+\let\if@envcntsame\iffalse\r
+\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}\r
+\let\if@envcntsect\iffalse\r
+\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}\r
+\let\if@runhead\iffalse\r
+\DeclareOption{runningheads}{\let\if@runhead\iftrue}\r
+\r
+\let\if@openbib\iffalse\r
+\DeclareOption{openbib}{\let\if@openbib\iftrue}\r
+\r
+% languages\r
+\let\switcht@@therlang\relax\r
+\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}\r
+\def\ds@francais{\def\switcht@@therlang{\switcht@francais}}\r
+\r
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}\r
+\r
+\ProcessOptions\r
+\r
+\LoadClass[twoside]{article}\r
+\RequirePackage{multicol} % needed for the list of participants, index\r
+\r
+\setlength{\textwidth}{12.2cm}\r
+\setlength{\textheight}{19.3cm}\r
+\renewcommand\@pnumwidth{2em}\r
+\renewcommand\@tocrmarg{3.5em}\r
+%\r
+\def\@dottedtocline#1#2#3#4#5{%\r
+  \ifnum #1>\c@tocdepth \else\r
+    \vskip \z@ \@plus.2\p@\r
+    {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm\r
+               \parfillskip -\rightskip \pretolerance=10000\r
+     \parindent #2\relax\@afterindenttrue\r
+     \interlinepenalty\@M\r
+     \leavevmode\r
+     \@tempdima #3\relax\r
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip\r
+     {#4}\nobreak\r
+     \leaders\hbox{$\m@th\r
+        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep\r
+        mu$}\hfill\r
+     \nobreak\r
+     \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%\r
+     \par}%\r
+  \fi}\r
+%\r
+\def\switcht@albion{%\r
+\def\abstractname{Abstract.}\r
+\def\ackname{Acknowledgement.}\r
+\def\andname{and}\r
+\def\lastandname{\unskip, and}\r
+\def\appendixname{Appendix}\r
+\def\chaptername{Chapter}\r
+\def\claimname{Claim}\r
+\def\conjecturename{Conjecture}\r
+\def\contentsname{Table of Contents}\r
+\def\corollaryname{Corollary}\r
+\def\definitionname{Definition}\r
+\def\examplename{Example}\r
+\def\exercisename{Exercise}\r
+\def\figurename{Fig.}\r
+\def\keywordname{{\bf Key words:}}\r
+\def\indexname{Index}\r
+\def\lemmaname{Lemma}\r
+\def\contriblistname{List of Contributors}\r
+\def\listfigurename{List of Figures}\r
+\def\listtablename{List of Tables}\r
+\def\mailname{{\it Correspondence to\/}:}\r
+\def\noteaddname{Note added in proof}\r
+\def\notename{Note}\r
+\def\partname{Part}\r
+\def\problemname{Problem}\r
+\def\proofname{Proof}\r
+\def\propertyname{Property}\r
+\def\propositionname{Proposition}\r
+\def\questionname{Question}\r
+\def\remarkname{Remark}\r
+\def\seename{see}\r
+\def\solutionname{Solution}\r
+\def\subclassname{{\it Subject Classifications\/}:}\r
+\def\tablename{Table}\r
+\def\theoremname{Theorem}}\r
+\switcht@albion\r
+% Names of theorem like environments are already defined\r
+% but must be translated if another language is chosen\r
+%\r
+% French section\r
+\def\switcht@francais{%\typeout{On parle francais.}%\r
+ \def\abstractname{R\'esum\'e.}%\r
+ \def\ackname{Remerciements.}%\r
+ \def\andname{et}%\r
+ \def\lastandname{ et}%\r
+ \def\appendixname{Appendice}\r
+ \def\chaptername{Chapitre}%\r
+ \def\claimname{Pr\'etention}%\r
+ \def\conjecturename{Hypoth\`ese}%\r
+ \def\contentsname{Table des mati\`eres}%\r
+ \def\corollaryname{Corollaire}%\r
+ \def\definitionname{D\'efinition}%\r
+ \def\examplename{Exemple}%\r
+ \def\exercisename{Exercice}%\r
+ \def\figurename{Fig.}%\r
+ \def\keywordname{{\bf Mots-cl\'e:}}\r
+ \def\indexname{Index}\r
+ \def\lemmaname{Lemme}%\r
+ \def\contriblistname{Liste des contributeurs}\r
+ \def\listfigurename{Liste des figures}%\r
+ \def\listtablename{Liste des tables}%\r
+ \def\mailname{{\it Correspondence to\/}:}\r
+ \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%\r
+ \def\notename{Remarque}%\r
+ \def\partname{Partie}%\r
+ \def\problemname{Probl\`eme}%\r
+ \def\proofname{Preuve}%\r
+ \def\propertyname{Caract\'eristique}%\r
+%\def\propositionname{Proposition}%\r
+ \def\questionname{Question}%\r
+ \def\remarkname{Remarque}%\r
+ \def\seename{voir}\r
+ \def\solutionname{Solution}%\r
+ \def\subclassname{{\it Subject Classifications\/}:}\r
+ \def\tablename{Tableau}%\r
+ \def\theoremname{Th\'eor\`eme}%\r
+}\r
+%\r
+% German section\r
+\def\switcht@deutsch{%\typeout{Man spricht deutsch.}%\r
+ \def\abstractname{Zusammenfassung.}%\r
+ \def\ackname{Danksagung.}%\r
+ \def\andname{und}%\r
+ \def\lastandname{ und}%\r
+ \def\appendixname{Anhang}%\r
+ \def\chaptername{Kapitel}%\r
+ \def\claimname{Behauptung}%\r
+ \def\conjecturename{Hypothese}%\r
+ \def\contentsname{Inhaltsverzeichnis}%\r
+ \def\corollaryname{Korollar}%\r
+%\def\definitionname{Definition}%\r
+ \def\examplename{Beispiel}%\r
+ \def\exercisename{\"Ubung}%\r
+ \def\figurename{Abb.}%\r
+ \def\keywordname{{\bf Schl\"usselw\"orter:}}\r
+ \def\indexname{Index}\r
+%\def\lemmaname{Lemma}%\r
+ \def\contriblistname{Mitarbeiter}\r
+ \def\listfigurename{Abbildungsverzeichnis}%\r
+ \def\listtablename{Tabellenverzeichnis}%\r
+ \def\mailname{{\it Correspondence to\/}:}\r
+ \def\noteaddname{Nachtrag}%\r
+ \def\notename{Anmerkung}%\r
+ \def\partname{Teil}%\r
+%\def\problemname{Problem}%\r
+ \def\proofname{Beweis}%\r
+ \def\propertyname{Eigenschaft}%\r
+%\def\propositionname{Proposition}%\r
+ \def\questionname{Frage}%\r
+ \def\remarkname{Anmerkung}%\r
+ \def\seename{siehe}\r
+ \def\solutionname{L\"osung}%\r
+ \def\subclassname{{\it Subject Classifications\/}:}\r
+ \def\tablename{Tabelle}%\r
+%\def\theoremname{Theorem}%\r
+}\r
+\r
+% Ragged bottom for the actual page\r
+\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil\r
+\global\let\@textbottom\relax}}\r
+\r
+\renewcommand\small{%\r
+   \@setfontsize\small\@ixpt{11}%\r
+   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@\r
+   \abovedisplayshortskip \z@ \@plus2\p@\r
+   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@\r
+   \def\@listi{\leftmargin\leftmargini\r
+               \parsep 0\p@ \@plus1\p@ \@minus\p@\r
+               \topsep 8\p@ \@plus2\p@ \@minus4\p@\r
+               \itemsep0\p@}%\r
+   \belowdisplayskip \abovedisplayskip\r
+}\r
+\r
+\frenchspacing\r
+\widowpenalty=10000\r
+\clubpenalty=10000\r
+\r
+\setlength\oddsidemargin   {63\p@}\r
+\setlength\evensidemargin  {63\p@}\r
+\setlength\marginparwidth  {90\p@}\r
+\r
+\setlength\headsep   {16\p@}\r
+\r
+\setlength\footnotesep{7.7\p@}\r
+\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}\r
+\setlength\intextsep   {8mm\@plus 2\p@ \@minus 2\p@}\r
+\r
+\setcounter{secnumdepth}{2}\r
+\r
+\newcounter {chapter}\r
+\renewcommand\thechapter      {\@arabic\c@chapter}\r
+\r
+\newif\if@mainmatter \@mainmattertrue\r
+\newcommand\frontmatter{\cleardoublepage\r
+            \@mainmatterfalse\pagenumbering{Roman}}\r
+\newcommand\mainmatter{\cleardoublepage\r
+       \@mainmattertrue\pagenumbering{arabic}}\r
+\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi\r
+      \@mainmatterfalse}\r
+\r
+\renewcommand\part{\cleardoublepage\r
+                 \thispagestyle{empty}%\r
+                 \if@twocolumn\r
+                     \onecolumn\r
+                     \@tempswatrue\r
+                   \else\r
+                     \@tempswafalse\r
+                 \fi\r
+                 \null\vfil\r
+                 \secdef\@part\@spart}\r
+\r
+\def\@part[#1]#2{%\r
+    \ifnum \c@secnumdepth >-2\relax\r
+      \refstepcounter{part}%\r
+      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%\r
+    \else\r
+      \addcontentsline{toc}{part}{#1}%\r
+    \fi\r
+    \markboth{}{}%\r
+    {\centering\r
+     \interlinepenalty \@M\r
+     \normalfont\r
+     \ifnum \c@secnumdepth >-2\relax\r
+       \huge\bfseries \partname~\thepart\r
+       \par\r
+       \vskip 20\p@\r
+     \fi\r
+     \Huge \bfseries #2\par}%\r
+    \@endpart}\r
+\def\@spart#1{%\r
+    {\centering\r
+     \interlinepenalty \@M\r
+     \normalfont\r
+     \Huge \bfseries #1\par}%\r
+    \@endpart}\r
+\def\@endpart{\vfil\newpage\r
+              \if@twoside\r
+                \null\r
+                \thispagestyle{empty}%\r
+                \newpage\r
+              \fi\r
+              \if@tempswa\r
+                \twocolumn\r
+              \fi}\r
+\r
+\newcommand\chapter{\clearpage\r
+                    \thispagestyle{empty}%\r
+                    \global\@topnum\z@\r
+                    \@afterindentfalse\r
+                    \secdef\@chapter\@schapter}\r
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne\r
+                       \if@mainmatter\r
+                         \refstepcounter{chapter}%\r
+                         \typeout{\@chapapp\space\thechapter.}%\r
+                         \addcontentsline{toc}{chapter}%\r
+                                  {\protect\numberline{\thechapter}#1}%\r
+                       \else\r
+                         \addcontentsline{toc}{chapter}{#1}%\r
+                       \fi\r
+                    \else\r
+                      \addcontentsline{toc}{chapter}{#1}%\r
+                    \fi\r
+                    \chaptermark{#1}%\r
+                    \addtocontents{lof}{\protect\addvspace{10\p@}}%\r
+                    \addtocontents{lot}{\protect\addvspace{10\p@}}%\r
+                    \if@twocolumn\r
+                      \@topnewpage[\@makechapterhead{#2}]%\r
+                    \else\r
+                      \@makechapterhead{#2}%\r
+                      \@afterheading\r
+                    \fi}\r
+\def\@makechapterhead#1{%\r
+% \vspace*{50\p@}%\r
+  {\centering\r
+    \ifnum \c@secnumdepth >\m@ne\r
+      \if@mainmatter\r
+        \large\bfseries \@chapapp{} \thechapter\r
+        \par\nobreak\r
+        \vskip 20\p@\r
+      \fi\r
+    \fi\r
+    \interlinepenalty\@M\r
+    \Large \bfseries #1\par\nobreak\r
+    \vskip 40\p@\r
+  }}\r
+\def\@schapter#1{\if@twocolumn\r
+                   \@topnewpage[\@makeschapterhead{#1}]%\r
+                 \else\r
+                   \@makeschapterhead{#1}%\r
+                   \@afterheading\r
+                 \fi}\r
+\def\@makeschapterhead#1{%\r
+% \vspace*{50\p@}%\r
+  {\centering\r
+    \normalfont\r
+    \interlinepenalty\@M\r
+    \Large \bfseries  #1\par\nobreak\r
+    \vskip 40\p@\r
+  }}\r
+\r
+\renewcommand\section{\@startsection{section}{1}{\z@}%\r
+                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {12\p@ \@plus 4\p@ \@minus 4\p@}%\r
+                       {\normalfont\large\bfseries\boldmath\r
+                        \rightskip=\z@ \@plus 8em\pretolerance=10000 }}\r
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%\r
+                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {8\p@ \@plus 4\p@ \@minus 4\p@}%\r
+                       {\normalfont\normalsize\bfseries\boldmath\r
+                        \rightskip=\z@ \@plus 8em\pretolerance=10000 }}\r
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%\r
+                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {-0.5em \@plus -0.22em \@minus -0.1em}%\r
+                       {\normalfont\normalsize\bfseries\boldmath}}\r
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%\r
+                       {-12\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {-0.5em \@plus -0.22em \@minus -0.1em}%\r
+                       {\normalfont\normalsize\itshape}}\r
+\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use\r
+                  \string\subparagraph\space with this class}\vskip0.5cm\r
+You should not use \verb|\subparagraph| with this class.\vskip0.5cm}\r
+\r
+\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}\r
+\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}\r
+\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}\r
+\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}\r
+\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}\r
+\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}\r
+\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}\r
+\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}\r
+\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}\r
+\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}\r
+\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}\r
+\r
+\let\footnotesize\small\r
+\r
+\if@custvec\r
+\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}\r
+{\mbox{\boldmath$\textstyle#1$}}\r
+{\mbox{\boldmath$\scriptstyle#1$}}\r
+{\mbox{\boldmath$\scriptscriptstyle#1$}}}\r
+\fi\r
+\r
+\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}\r
+\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil\r
+\penalty50\hskip1em\null\nobreak\hfil\squareforqed\r
+\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}\r
+\r
+\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip\r
+\halign{\hfil\r
+$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets\r
+\cr\to\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets\r
+\cr\to\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+\gets\cr\to\cr}}}}}\r
+\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil\r
+$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr\r
+\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr\r
+\noalign{\vskip1pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+<\cr\r
+\noalign{\vskip0.9pt}=\cr}}}}}\r
+\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil\r
+$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr\r
+\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr\r
+\noalign{\vskip1pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+>\cr\r
+\noalign{\vskip0.9pt}=\cr}}}}}\r
+\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip\r
+\halign{\hfil\r
+$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\r
+>\cr\noalign{\vskip-1pt}<\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\r
+>\cr\noalign{\vskip-0.8pt}<\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+>\cr\noalign{\vskip-0.3pt}<\cr}}}}}\r
+\def\bbbr{{\rm I\!R}} %reelle Zahlen\r
+\def\bbbm{{\rm I\!M}}\r
+\def\bbbn{{\rm I\!N}} %natuerliche Zahlen\r
+\def\bbbf{{\rm I\!F}}\r
+\def\bbbh{{\rm I\!H}}\r
+\def\bbbk{{\rm I\!K}}\r
+\def\bbbp{{\rm I\!P}}\r
+\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}\r
+{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}\r
+\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}\r
+\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm\r
+Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}\r
+\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm\r
+T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox\r
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox\r
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox\r
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}\r
+\def\bbbs{{\mathchoice\r
+{\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox\r
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox\r
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox\r
+to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox\r
+to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}\r
+\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}\r
+{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}\r
+{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}\r
+{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}\r
+\r
+\let\ts\,\r
+\r
+\setlength\leftmargini  {17\p@}\r
+\setlength\leftmargin    {\leftmargini}\r
+\setlength\leftmarginii  {\leftmargini}\r
+\setlength\leftmarginiii {\leftmargini}\r
+\setlength\leftmarginiv  {\leftmargini}\r
+\setlength  \labelsep  {.5em}\r
+\setlength  \labelwidth{\leftmargini}\r
+\addtolength\labelwidth{-\labelsep}\r
+\r
+\def\@listI{\leftmargin\leftmargini\r
+            \parsep 0\p@ \@plus1\p@ \@minus\p@\r
+            \topsep 8\p@ \@plus2\p@ \@minus4\p@\r
+            \itemsep0\p@}\r
+\let\@listi\@listI\r
+\@listi\r
+\def\@listii {\leftmargin\leftmarginii\r
+              \labelwidth\leftmarginii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    0\p@ \@plus2\p@ \@minus\p@}\r
+\def\@listiii{\leftmargin\leftmarginiii\r
+              \labelwidth\leftmarginiii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    0\p@ \@plus\p@\@minus\p@\r
+              \parsep    \z@\r
+              \partopsep \p@ \@plus\z@ \@minus\p@}\r
+\r
+\renewcommand\labelitemi{\normalfont\bfseries --}\r
+\renewcommand\labelitemii{$\m@th\bullet$}\r
+\r
+\setlength\arraycolsep{1.4\p@}\r
+\setlength\tabcolsep{1.4\p@}\r
+\r
+\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%\r
+                                                    {{\contentsname}}}\r
+ \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}\r
+ \def\lastand{\ifnum\value{auco}=2\relax\r
+                 \unskip{} \andname\\r
+              \else\r
+                 \unskip \lastandname\\r
+              \fi}%\r
+ \def\and{\stepcounter{@auth}\relax\r
+          \ifnum\value{@auth}=\value{auco}%\r
+             \lastand\r
+          \else\r
+             \unskip,\r
+          \fi}%\r
+ \@starttoc{toc}\if@restonecol\twocolumn\fi}\r
+\r
+\def\l@part#1#2{\addpenalty{\@secpenalty}%\r
+   \addvspace{2em plus\p@}%  % space above part line\r
+   \begingroup\r
+     \parindent \z@\r
+     \rightskip \z@ plus 5em\r
+     \hrule\vskip5pt\r
+     \large               % same size as for a contribution heading\r
+     \bfseries\boldmath   % set line in boldface\r
+     \leavevmode          % TeX command to enter horizontal mode.\r
+     #1\par\r
+     \vskip5pt\r
+     \hrule\r
+     \vskip1pt\r
+     \nobreak             % Never break after part entry\r
+   \endgroup}\r
+\r
+\def\@dotsep{2}\r
+\r
+\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else\r
+{chapter.\thechapter}\fi}\r
+\r
+\def\addnumcontentsmark#1#2#3{%\r
+\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline\r
+                     {\thechapter}#3}{\thepage}\hyperhrefextend}}\r
+\def\addcontentsmark#1#2#3{%\r
+\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}\r
+\def\addcontentsmarkwop#1#2#3{%\r
+\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}\r
+\r
+\def\@adcmk[#1]{\ifcase #1 \or\r
+\def\@gtempa{\addnumcontentsmark}%\r
+  \or    \def\@gtempa{\addcontentsmark}%\r
+  \or    \def\@gtempa{\addcontentsmarkwop}%\r
+  \fi\@gtempa{toc}{chapter}}\r
+\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}\r
+\r
+\def\l@chapter#1#2{\addpenalty{-\@highpenalty}\r
+ \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup\r
+ \parindent \z@ \rightskip \@tocrmarg\r
+ \advance\rightskip by 0pt plus 2cm\r
+ \parfillskip -\rightskip \pretolerance=10000\r
+ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip\r
+ {\large\bfseries\boldmath#1}\ifx0#2\hfil\null\r
+ \else\r
+      \nobreak\r
+      \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern\r
+      \@dotsep mu$}\hfill\r
+      \nobreak\hbox to\@pnumwidth{\hss #2}%\r
+ \fi\par\r
+ \penalty\@highpenalty \endgroup}\r
+\r
+\def\l@title#1#2{\addpenalty{-\@highpenalty}\r
+ \addvspace{8pt plus 1pt}\r
+ \@tempdima \z@\r
+ \begingroup\r
+ \parindent \z@ \rightskip \@tocrmarg\r
+ \advance\rightskip by 0pt plus 2cm\r
+ \parfillskip -\rightskip \pretolerance=10000\r
+ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip\r
+ #1\nobreak\r
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern\r
+ \@dotsep mu$}\hfill\r
+ \nobreak\hbox to\@pnumwidth{\hss #2}\par\r
+ \penalty\@highpenalty \endgroup}\r
+\r
+\def\l@author#1#2{\addpenalty{\@highpenalty}\r
+ \@tempdima=15\p@ %\z@\r
+ \begingroup\r
+ \parindent \z@ \rightskip \@tocrmarg\r
+ \advance\rightskip by 0pt plus 2cm\r
+ \pretolerance=10000\r
+ \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip\r
+ \textit{#1}\par\r
+ \penalty\@highpenalty \endgroup}\r
+\r
+\setcounter{tocdepth}{0}\r
+\newdimen\tocchpnum\r
+\newdimen\tocsecnum\r
+\newdimen\tocsectotal\r
+\newdimen\tocsubsecnum\r
+\newdimen\tocsubsectotal\r
+\newdimen\tocsubsubsecnum\r
+\newdimen\tocsubsubsectotal\r
+\newdimen\tocparanum\r
+\newdimen\tocparatotal\r
+\newdimen\tocsubparanum\r
+\tocchpnum=\z@            % no chapter numbers\r
+\tocsecnum=15\p@          % section 88. plus 2.222pt\r
+\tocsubsecnum=23\p@       % subsection 88.8 plus 2.222pt\r
+\tocsubsubsecnum=27\p@    % subsubsection 88.8.8 plus 1.444pt\r
+\tocparanum=35\p@         % paragraph 88.8.8.8 plus 1.666pt\r
+\tocsubparanum=43\p@      % subparagraph 88.8.8.8.8 plus 1.888pt\r
+\def\calctocindent{%\r
+\tocsectotal=\tocchpnum\r
+\advance\tocsectotal by\tocsecnum\r
+\tocsubsectotal=\tocsectotal\r
+\advance\tocsubsectotal by\tocsubsecnum\r
+\tocsubsubsectotal=\tocsubsectotal\r
+\advance\tocsubsubsectotal by\tocsubsubsecnum\r
+\tocparatotal=\tocsubsubsectotal\r
+\advance\tocparatotal by\tocparanum}\r
+\calctocindent\r
+\r
+\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}\r
+\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}\r
+\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}\r
+\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}\r
+\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}\r
+\r
+\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\r
+ \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}\r
+ \@starttoc{lof}\if@restonecol\twocolumn\fi}\r
+\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}\r
+\r
+\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\r
+ \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}\r
+ \@starttoc{lot}\if@restonecol\twocolumn\fi}\r
+\let\l@table\l@figure\r
+\r
+\renewcommand\listoffigures{%\r
+    \section*{\listfigurename\r
+      \@mkboth{\listfigurename}{\listfigurename}}%\r
+    \@starttoc{lof}%\r
+    }\r
+\r
+\renewcommand\listoftables{%\r
+    \section*{\listtablename\r
+      \@mkboth{\listtablename}{\listtablename}}%\r
+    \@starttoc{lot}%\r
+    }\r
+\r
+\ifx\oribibl\undefined\r
+\ifx\citeauthoryear\undefined\r
+\renewenvironment{thebibliography}[1]\r
+     {\section*{\refname}\r
+      \def\@biblabel##1{##1.}\r
+      \small\r
+      \list{\@biblabel{\@arabic\c@enumiv}}%\r
+           {\settowidth\labelwidth{\@biblabel{#1}}%\r
+            \leftmargin\labelwidth\r
+            \advance\leftmargin\labelsep\r
+            \if@openbib\r
+              \advance\leftmargin\bibindent\r
+              \itemindent -\bibindent\r
+              \listparindent \itemindent\r
+              \parsep \z@\r
+            \fi\r
+            \usecounter{enumiv}%\r
+            \let\p@enumiv\@empty\r
+            \renewcommand\theenumiv{\@arabic\c@enumiv}}%\r
+      \if@openbib\r
+        \renewcommand\newblock{\par}%\r
+      \else\r
+        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%\r
+      \fi\r
+      \sloppy\clubpenalty4000\widowpenalty4000%\r
+      \sfcode`\.=\@m}\r
+     {\def\@noitemerr\r
+       {\@latex@warning{Empty `thebibliography' environment}}%\r
+      \endlist}\r
+\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw\r
+     {\let\protect\noexpand\immediate\r
+     \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}\r
+\newcount\@tempcntc\r
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi\r
+  \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do\r
+    {\@ifundefined\r
+       {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries\r
+        ?}\@warning\r
+       {Citation `\@citeb' on page \thepage \space undefined}}%\r
+    {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%\r
+     \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne\r
+       \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%\r
+     \else\r
+      \advance\@tempcntb\@ne\r
+      \ifnum\@tempcntb=\@tempcntc\r
+      \else\advance\@tempcntb\m@ne\@citeo\r
+      \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}\r
+\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\r
+               \@citea\def\@citea{,\,\hskip\z@skip}%\r
+               \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else\r
+               {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else\r
+                \def\@citea{--}\fi\r
+      \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}\r
+\else\r
+\renewenvironment{thebibliography}[1]\r
+     {\section*{\refname}\r
+      \small\r
+      \list{}%\r
+           {\settowidth\labelwidth{}%\r
+            \leftmargin\parindent\r
+            \itemindent=-\parindent\r
+            \labelsep=\z@\r
+            \if@openbib\r
+              \advance\leftmargin\bibindent\r
+              \itemindent -\bibindent\r
+              \listparindent \itemindent\r
+              \parsep \z@\r
+            \fi\r
+            \usecounter{enumiv}%\r
+            \let\p@enumiv\@empty\r
+            \renewcommand\theenumiv{}}%\r
+      \if@openbib\r
+        \renewcommand\newblock{\par}%\r
+      \else\r
+        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%\r
+      \fi\r
+      \sloppy\clubpenalty4000\widowpenalty4000%\r
+      \sfcode`\.=\@m}\r
+     {\def\@noitemerr\r
+       {\@latex@warning{Empty `thebibliography' environment}}%\r
+      \endlist}\r
+      \def\@cite#1{#1}%\r
+      \def\@lbibitem[#1]#2{\item[]\if@filesw\r
+        {\def\protect##1{\string ##1\space}\immediate\r
+      \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}\r
+   \fi\r
+\else\r
+\@cons\@openbib@code{\noexpand\small}\r
+\fi\r
+\r
+\def\idxquad{\hskip 10\p@}% space that divides entry from number\r
+\r
+\def\@idxitem{\par\hangindent 10\p@}\r
+\r
+\def\subitem{\par\setbox0=\hbox{--\enspace}% second order\r
+                \noindent\hangindent\wd0\box0}% index entry\r
+\r
+\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third\r
+                \noindent\hangindent\wd0\box0}% order index entry\r
+\r
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}\r
+\r
+\renewenvironment{theindex}\r
+               {\@mkboth{\indexname}{\indexname}%\r
+                \thispagestyle{empty}\parindent\z@\r
+                \parskip\z@ \@plus .3\p@\relax\r
+                \let\item\par\r
+                \def\,{\relax\ifmmode\mskip\thinmuskip\r
+                             \else\hskip0.2em\ignorespaces\fi}%\r
+                \normalfont\small\r
+                \begin{multicols}{2}[\@makeschapterhead{\indexname}]%\r
+                }\r
+                {\end{multicols}}\r
+\r
+\renewcommand\footnoterule{%\r
+  \kern-3\p@\r
+  \hrule\@width 2truecm\r
+  \kern2.6\p@}\r
+  \newdimen\fnindent\r
+  \fnindent1em\r
+\long\def\@makefntext#1{%\r
+    \parindent \fnindent%\r
+    \leftskip \fnindent%\r
+    \noindent\r
+    \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}\r
+\r
+\long\def\@makecaption#1#2{%\r
+  \vskip\abovecaptionskip\r
+  \sbox\@tempboxa{{\bfseries #1.} #2}%\r
+  \ifdim \wd\@tempboxa >\hsize\r
+    {\bfseries #1.} #2\par\r
+  \else\r
+    \global \@minipagefalse\r
+    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+  \fi\r
+  \vskip\belowcaptionskip}\r
+\r
+\def\fps@figure{htbp}\r
+\def\fnum@figure{\figurename\thinspace\thefigure}\r
+\def \@floatboxreset {%\r
+        \reset@font\r
+        \small\r
+        \@setnobreak\r
+        \@setminipage\r
+}\r
+\def\fps@table{htbp}\r
+\def\fnum@table{\tablename~\thetable}\r
+\renewenvironment{table}\r
+               {\setlength\abovecaptionskip{0\p@}%\r
+                \setlength\belowcaptionskip{10\p@}%\r
+                \@float{table}}\r
+               {\end@float}\r
+\renewenvironment{table*}\r
+               {\setlength\abovecaptionskip{0\p@}%\r
+                \setlength\belowcaptionskip{10\p@}%\r
+                \@dblfloat{table}}\r
+               {\end@dblfloat}\r
+\r
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname\r
+  ext@#1\endcsname}{#1}{\protect\numberline{\csname\r
+  the#1\endcsname}{\ignorespaces #2}}\begingroup\r
+    \@parboxrestore\r
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par\r
+  \endgroup}\r
+\r
+% LaTeX does not provide a command to enter the authors institute\r
+% addresses. The \institute command is defined here.\r
+\r
+\newcounter{@inst}\r
+\newcounter{@auth}\r
+\newcounter{auco}\r
+\newdimen\instindent\r
+\newbox\authrun\r
+\newtoks\authorrunning\r
+\newtoks\tocauthor\r
+\newbox\titrun\r
+\newtoks\titlerunning\r
+\newtoks\toctitle\r
+\r
+\def\clearheadinfo{\gdef\@author{No Author Given}%\r
+                   \gdef\@title{No Title Given}%\r
+                   \gdef\@subtitle{}%\r
+                   \gdef\@institute{No Institute Given}%\r
+                   \gdef\@thanks{}%\r
+                   \global\titlerunning={}\global\authorrunning={}%\r
+                   \global\toctitle={}\global\tocauthor={}}\r
+\r
+\def\institute#1{\gdef\@institute{#1}}\r
+\r
+\def\institutename{\par\r
+ \begingroup\r
+ \parskip=\z@\r
+ \parindent=\z@\r
+ \setcounter{@inst}{1}%\r
+ \def\and{\par\stepcounter{@inst}%\r
+ \noindent$^{\the@inst}$\enspace\ignorespaces}%\r
+ \setbox0=\vbox{\def\thanks##1{}\@institute}%\r
+ \ifnum\c@@inst=1\relax\r
+   \gdef\fnnstart{0}%\r
+ \else\r
+   \xdef\fnnstart{\c@@inst}%\r
+   \setcounter{@inst}{1}%\r
+   \noindent$^{\the@inst}$\enspace\r
+ \fi\r
+ \ignorespaces\r
+ \@institute\par\r
+ \endgroup}\r
+\r
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or\r
+   {\star\star\star}\or \dagger\or \ddagger\or\r
+   \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger\r
+   \or \ddagger\ddagger \else\@ctrerr\fi}}\r
+\r
+\def\inst#1{\unskip$^{#1}$}\r
+\def\fnmsep{\unskip$^,$}\r
+\def\email#1{{\tt#1}}\r
+\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%\r
+\@ifpackageloaded{babel}{%\r
+\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%\r
+\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%\r
+\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%\r
+}{\switcht@@therlang}%\r
+}\r
+\def\homedir{\~{ }}\r
+\r
+\def\subtitle#1{\gdef\@subtitle{#1}}\r
+\clearheadinfo\r
+%\r
+\renewcommand\maketitle{\newpage\r
+  \refstepcounter{chapter}%\r
+  \stepcounter{section}%\r
+  \setcounter{section}{0}%\r
+  \setcounter{subsection}{0}%\r
+  \setcounter{figure}{0}\r
+  \setcounter{table}{0}\r
+  \setcounter{equation}{0}\r
+  \setcounter{footnote}{0}%\r
+  \begingroup\r
+    \parindent=\z@\r
+    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%\r
+    \if@twocolumn\r
+      \ifnum \col@number=\@ne\r
+        \@maketitle\r
+      \else\r
+        \twocolumn[\@maketitle]%\r
+      \fi\r
+    \else\r
+      \newpage\r
+      \global\@topnum\z@   % Prevents figures from going at top of page.\r
+      \@maketitle\r
+    \fi\r
+    \thispagestyle{empty}\@thanks\r
+%\r
+    \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%\r
+    \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%\r
+    \instindent=\hsize\r
+    \advance\instindent by-\headlineindent\r
+    \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else\r
+       \addcontentsline{toc}{title}{\the\toctitle}\fi\r
+    \if@runhead\r
+       \if!\the\titlerunning!\else\r
+         \edef\@title{\the\titlerunning}%\r
+       \fi\r
+       \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%\r
+       \ifdim\wd\titrun>\instindent\r
+          \typeout{Title too long for running head. Please supply}%\r
+          \typeout{a shorter form with \string\titlerunning\space prior to\r
+                   \string\maketitle}%\r
+          \global\setbox\titrun=\hbox{\small\rm\r
+          Title Suppressed Due to Excessive Length}%\r
+       \fi\r
+       \xdef\@title{\copy\titrun}%\r
+    \fi\r
+%\r
+    \if!\the\tocauthor!\relax\r
+      {\def\and{\noexpand\protect\noexpand\and}%\r
+      \protected@xdef\toc@uthor{\@author}}%\r
+    \else\r
+      \def\\{\noexpand\protect\noexpand\newline}%\r
+      \protected@xdef\scratch{\the\tocauthor}%\r
+      \protected@xdef\toc@uthor{\scratch}%\r
+    \fi\r
+    \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%\r
+    \addcontentsline{toc}{author}{\toc@uthor}%\r
+    \if@runhead\r
+       \if!\the\authorrunning!\r
+         \value{@inst}=\value{@auth}%\r
+         \setcounter{@auth}{1}%\r
+       \else\r
+         \edef\@author{\the\authorrunning}%\r
+       \fi\r
+       \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%\r
+       \ifdim\wd\authrun>\instindent\r
+          \typeout{Names of authors too long for running head. Please supply}%\r
+          \typeout{a shorter form with \string\authorrunning\space prior to\r
+                   \string\maketitle}%\r
+          \global\setbox\authrun=\hbox{\small\rm\r
+          Authors Suppressed Due to Excessive Length}%\r
+       \fi\r
+       \xdef\@author{\copy\authrun}%\r
+       \markboth{\@author}{\@title}%\r
+     \fi\r
+  \endgroup\r
+  \setcounter{footnote}{\fnnstart}%\r
+  \clearheadinfo}\r
+%\r
+\def\@maketitle{\newpage\r
+ \markboth{}{}%\r
+ \def\lastand{\ifnum\value{@inst}=2\relax\r
+                 \unskip{} \andname\\r
+              \else\r
+                 \unskip \lastandname\\r
+              \fi}%\r
+ \def\and{\stepcounter{@auth}\relax\r
+          \ifnum\value{@auth}=\value{@inst}%\r
+             \lastand\r
+          \else\r
+             \unskip,\r
+          \fi}%\r
+ \begin{center}%\r
+ \let\newline\\\r
+ {\Large \bfseries\boldmath\r
+  \pretolerance=10000\r
+  \@title \par}\vskip .8cm\r
+\if!\@subtitle!\else {\large \bfseries\boldmath\r
+  \vskip -.65cm\r
+  \pretolerance=10000\r
+  \@subtitle \par}\vskip .8cm\fi\r
+ \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%\r
+ \def\thanks##1{}\@author}%\r
+ \global\value{@inst}=\value{@auth}%\r
+ \global\value{auco}=\value{@auth}%\r
+ \setcounter{@auth}{1}%\r
+{\lineskip .5em\r
+\noindent\ignorespaces\r
+\@author\vskip.35cm}\r
+ {\small\institutename}\r
+ \end{center}%\r
+ }\r
+\r
+% definition of the "\spnewtheorem" command.\r
+%\r
+% Usage:\r
+%\r
+%     \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}\r
+% or  \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}\r
+% or  \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}\r
+%\r
+% New is "cap_font" and "body_font". It stands for\r
+% fontdefinition of the caption and the text itself.\r
+%\r
+% "\spnewtheorem*" gives a theorem without number.\r
+%\r
+% A defined spnewthoerem environment is used as described\r
+% by Lamport.\r
+%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\r
+\def\@thmcountersep{}\r
+\def\@thmcounterend{.}\r
+\r
+\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}\r
+\r
+% definition of \spnewtheorem with number\r
+\r
+\def\@spnthm#1#2{%\r
+  \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}\r
+\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}\r
+\r
+\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname\r
+   {\@definecounter{#1}\@addtoreset{#1}{#3}%\r
+   \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand\r
+     \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%\r
+   \expandafter\xdef\csname #1name\endcsname{#2}%\r
+   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%\r
+                              \global\@namedef{end#1}{\@endtheorem}}}\r
+\r
+\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname\r
+   {\@definecounter{#1}%\r
+   \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%\r
+   \expandafter\xdef\csname #1name\endcsname{#2}%\r
+   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%\r
+                               \global\@namedef{end#1}{\@endtheorem}}}\r
+\r
+\def\@spothm#1[#2]#3#4#5{%\r
+  \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%\r
+  {\expandafter\@ifdefinable\csname #1\endcsname\r
+  {\global\@namedef{the#1}{\@nameuse{the#2}}%\r
+  \expandafter\xdef\csname #1name\endcsname{#3}%\r
+  \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%\r
+  \global\@namedef{end#1}{\@endtheorem}}}}\r
+\r
+\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@\r
+\refstepcounter{#1}%\r
+\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}\r
+\r
+\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%\r
+                    \ignorespaces}\r
+\r
+\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname\r
+       the#1\endcsname}{#5}{#3}{#4}\ignorespaces}\r
+\r
+\def\@spbegintheorem#1#2#3#4{\trivlist\r
+                 \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}\r
+\r
+\def\@spopargbegintheorem#1#2#3#4#5{\trivlist\r
+      \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}\r
+\r
+% definition of \spnewtheorem* without number\r
+\r
+\def\@sthm#1#2{\@Ynthm{#1}{#2}}\r
+\r
+\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname\r
+   {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%\r
+    \expandafter\xdef\csname #1name\endcsname{#2}%\r
+    \global\@namedef{end#1}{\@endtheorem}}}\r
+\r
+\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@\r
+\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}\r
+\r
+\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}\r
+\r
+\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}\r
+       {#4}{#2}{#3}\ignorespaces}\r
+\r
+\def\@Begintheorem#1#2#3{#3\trivlist\r
+                           \item[\hskip\labelsep{#2#1\@thmcounterend}]}\r
+\r
+\def\@Opargbegintheorem#1#2#3#4{#4\trivlist\r
+      \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}\r
+\r
+\if@envcntsect\r
+   \def\@thmcountersep{.}\r
+   \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}\r
+\else\r
+   \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}\r
+   \if@envcntreset\r
+      \@addtoreset{theorem}{section}\r
+   \else\r
+      \@addtoreset{theorem}{chapter}\r
+   \fi\r
+\fi\r
+\r
+%definition of divers theorem environments\r
+\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}\r
+\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}\r
+\if@envcntsame % alle Umgebungen wie Theorem.\r
+   \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}\r
+\else % alle Umgebungen mit eigenem Zaehler\r
+   \if@envcntsect % mit section numeriert\r
+      \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}\r
+   \else % nicht mit section numeriert\r
+      \if@envcntreset\r
+         \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}\r
+                                   \@addtoreset{#1}{section}}\r
+      \else\r
+         \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}\r
+                                   \@addtoreset{#1}{chapter}}%\r
+      \fi\r
+   \fi\r
+\fi\r
+\spn@wtheorem{case}{Case}{\itshape}{\rmfamily}\r
+\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}\r
+\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}\r
+\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}\r
+\spn@wtheorem{example}{Example}{\itshape}{\rmfamily}\r
+\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}\r
+\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}\r
+\spn@wtheorem{note}{Note}{\itshape}{\rmfamily}\r
+\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}\r
+\spn@wtheorem{property}{Property}{\itshape}{\rmfamily}\r
+\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}\r
+\spn@wtheorem{question}{Question}{\itshape}{\rmfamily}\r
+\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}\r
+\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}\r
+\r
+\def\@takefromreset#1#2{%\r
+    \def\@tempa{#1}%\r
+    \let\@tempd\@elt\r
+    \def\@elt##1{%\r
+        \def\@tempb{##1}%\r
+        \ifx\@tempa\@tempb\else\r
+            \@addtoreset{##1}{#2}%\r
+        \fi}%\r
+    \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname\r
+    \expandafter\def\csname cl@#2\endcsname{}%\r
+    \@tempc\r
+    \let\@elt\@tempd}\r
+\r
+\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist\r
+      \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}\r
+                  \def\@Opargbegintheorem##1##2##3##4{##4\trivlist\r
+      \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}\r
+      }\r
+\r
+\renewenvironment{abstract}{%\r
+      \list{}{\advance\topsep by0.35cm\relax\small\r
+      \leftmargin=1cm\r
+      \labelwidth=\z@\r
+      \listparindent=\z@\r
+      \itemindent\listparindent\r
+      \rightmargin\leftmargin}\item[\hskip\labelsep\r
+                                    \bfseries\abstractname]}\r
+    {\endlist}\r
+\r
+\newdimen\headlineindent             % dimension for space between\r
+\headlineindent=1.166cm              % number and text of headings.\r
+\r
+\def\ps@headings{\let\@mkboth\@gobbletwo\r
+   \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+   \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%\r
+                  \leftmark\hfil}\r
+   \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%\r
+                 \llap{\thepage}}\r
+   \def\chaptermark##1{}%\r
+   \def\sectionmark##1{}%\r
+   \def\subsectionmark##1{}}\r
+\r
+\def\ps@titlepage{\let\@mkboth\@gobbletwo\r
+   \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+   \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%\r
+                  \hfil}\r
+   \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%\r
+                 \llap{\thepage}}\r
+   \def\chaptermark##1{}%\r
+   \def\sectionmark##1{}%\r
+   \def\subsectionmark##1{}}\r
+\r
+\if@runhead\ps@headings\else\r
+\ps@empty\fi\r
+\r
+\setlength\arraycolsep{1.4\p@}\r
+\setlength\tabcolsep{1.4\p@}\r
+\r
+\endinput\r
+%end of file llncs.cls\r
diff --git a/src/motivation.tex b/src/motivation.tex
new file mode 100644 (file)
index 0000000..4bbad48
--- /dev/null
@@ -0,0 +1 @@
+\section{Motivation}
diff --git a/src/overview_common_crypto_systems.tex b/src/overview_common_crypto_systems.tex
new file mode 100644 (file)
index 0000000..d36aee9
--- /dev/null
@@ -0,0 +1,2 @@
+\section{A brief overview of common crypto systems}
+
diff --git a/src/practical_settings.tex b/src/practical_settings.tex
new file mode 100644 (file)
index 0000000..6e877f1
--- /dev/null
@@ -0,0 +1,20 @@
+\section{Recommendations on practical settings}
+
+
+\subsection{SSL}
+\subsubsection{apache}
+\subsubsection{nginx}
+\subsubsection{Overview of different SSL libraries: gnutls vs. openssl vs. others}
+\subsubsection{openssl.conf settings}
+\subsubsection{IMAPS}
+\subsubsection{SMTP: opportunistic TLS}
+% do we need to documment starttls in detail?
+\subsubsection{starttls?}
+
+\subsection{SSH}
+
+\subsection{OpenVPN}
+
+\subsection{PGP}
+
+\subsection{PRNG settings}
diff --git a/src/tools.tex b/src/tools.tex
new file mode 100644 (file)
index 0000000..b6b64fd
--- /dev/null
@@ -0,0 +1,19 @@
+\section{tools}
+
+This section lists tools for checking the security settings.
+
+\subsection{SSL}
+
+ssllabs.com
+
+
+\url{https://www.ssllabs.com/downloads/SSL_TLS_Deployment_Best_Practices_1.3.pdf}              %% this breaks my pdf converter hmm
+
+
+\subsection{RNGs}
+
+ent
+
+%havegd
+
+
diff --git a/unsorted/ssh/Ciphers.txt b/unsorted/ssh/Ciphers.txt
new file mode 100644 (file)
index 0000000..7455a88
--- /dev/null
@@ -0,0 +1,30 @@
+Debian/OpenSSH6 man page shows the following:
+     Ciphers
+             Specifies the ciphers allowed for protocol version 2.  Multiple ciphers must be
+             comma-separated.  The supported ciphers are “3des-cbc”, “aes128-cbc”, “aes192-cbc”,
+             “aes256-cbc”, “aes128-ctr”, “aes192-ctr”, “aes256-ctr”, “arcfour128”, “arcfour256”,
+             “arcfour”, “blowfish-cbc”, and “cast128-cbc”.  The default is:
+
+                aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
+                aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
+                aes256-cbc,arcfour
+
+TODO: which of those should be used?
+
+     MACs    Specifies the available MAC (message authentication code) algorithms.  The MAC algo‐
+             rithm is used in protocol version 2 for data integrity protection.  Multiple algo‐
+             rithms must be comma-separated.  The default is:
+
+                   hmac-md5,hmac-sha1,umac-64@openssh.com,
+                   hmac-ripemd160,hmac-sha1-96,hmac-md5-96,
+                   hmac-sha2-256,hmac-sha256-96,hmac-sha2-512,
+                   hmac-sha2-512-96
+
+TODO: which of those should be used?
+
+Regarding compression: the default for compression is "delayed" which means, that compression
+will only kick in after successful authentication (possibilities: yes, no, delayed).
+
+TODO: does this put users at risk? shall compression be disabled alltogether?
+
+
diff --git a/unsorted/ssh/DebianBanner.txt b/unsorted/ssh/DebianBanner.txt
new file mode 100644 (file)
index 0000000..9b187f2
--- /dev/null
@@ -0,0 +1,6 @@
+in Debian/Ubuntu add the following to your /etc/ssh/sshd_config:
+# disable displaying of Debian version
+DebianBanner no
+
+# this disables version strings SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1 and uses
+# the default: SSH-2.0-OpenSSH_5.8p1
diff --git a/unsorted/ssh/other_options.txt b/unsorted/ssh/other_options.txt
new file mode 100644 (file)
index 0000000..1646289
--- /dev/null
@@ -0,0 +1,8 @@
+PermitRootLogin shall be disabled (aka 'no') or at least reasonably restricted
+('without-password', 'forced-commands-only').
+
+Possible options:
+ChrootDirectory jails the user into a separate environment
+
+ForceCommand might help (especially with internal-sftp) to further limit possibilities of
+a remote use. rssh might be used as a shell to achieve similar behaviour.
diff --git a/unsorted/ssh/ssh_version_strings.txt b/unsorted/ssh/ssh_version_strings.txt
new file mode 100644 (file)
index 0000000..21d9c93
--- /dev/null
@@ -0,0 +1,51 @@
+taken from http://auntitled.blogspot.co.at/2010/07/identified-ubuntu-version-from-ssh.html and extended:
+
+Debian:
+Debian 4:  SSH-2.0-OpenSSH_4.3p2 Debian-9
+Debian 5:  SSH-2.0-OpenSSH_5.1p1 Debian-5
+Debian 6:  SSH-2.0-OpenSSH_5.5p1 Debian-6
+Debian 7:  SSH-2.0-OpenSSH_6.0p1 Debian-4
+
+Ubuntu:
+Ubuntu 5.10:  SSH-2.0-OpenSSH_4.1p1 Debian-7ubuntu4
+Ubuntu 6.04:  SSH-2.0-OpenSSH_4.2p1 Debian-7ubuntu3[.x]
+Ubuntu 7.04:  SSH-2.0-OpenSSH_4.3p2 Debian-8ubuntu1[.x]
+Ubuntu 7.10:  SSH-2.0-OpenSSH_4.6p1 Debian-5ubuntu0[.x]
+Ubuntu 8.04:  SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1[.x]
+Ubuntu 8.10:  SSH-2.0-OpenSSH_5.1p1 Debian-3ubuntu1
+Ubuntu 9.04:  SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1
+Ubuntu 9.10:  SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
+Ubuntu 10.04: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu3
+Ubuntu 10.04.1: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu4
+Ubuntu 10.04.2: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu{5,6}
+Ubuntu 10.04.3: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
+Ubuntu 10.10: SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu{4,5}
+Ubuntu 11.04: SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3
+Ubuntu 11.10: SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
+Ubuntu 12.04: SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
+
+FreeBSD
+FreeBSD 7.0:  SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110
+FreeBSD 7.2:  SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901
+FreeBSD 8.0:  SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522
+FreeBSD 8.1:  SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308
+FreeBSD 9.0:  SSH-2.0-OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503
+
+OpenSUSE
+openSUSE 10.0: SSH-2.0-OpenSSH_5.0
+openSUSE 10.1: SSH-2.0-OpenSSH_5.1
+openSUSE 10.2: SSH-2.0-OpenSSH_5.2
+
+CentOS
+CentOS 4.x:  SSH-2.0-OpenSSH_3.9
+CentOS 5.x:  SSH-2.0-OpenSSH_4.3
+CentOS 6.x:  SSH-2.0-OpenSSH_5.3
+
+Fedora
+Fedora 12:  SSH-2.0-OpenSSH_5.2
+Fedora 13:  SSH-2.0-OpenSSH_5.4
+Fedora 14:  SSH-2.0-OpenSSH_5.5
+Fedora 15:  SSH-2.0-OpenSSH_5.6
+Fedora 16:  SSH-2.0-OpenSSH_5.8
+
+complete removal of version string seems to be not desireable: http://www.snailbook.com/faq/version-string.auto.html
diff --git a/unsorted/ssl/GnuTLS_Ciphers_Debian_4.0_Etch.txt b/unsorted/ssl/GnuTLS_Ciphers_Debian_4.0_Etch.txt
new file mode 100644 (file)
index 0000000..3d7c1e9
--- /dev/null
@@ -0,0 +1,9 @@
+Version: 1.4.4-3+etch5
+Command: gnutls-cli -l
+
+Certificate types: X.509, OPENPGP
+Protocols: TLS1.0, TLS1.1, SSL3.0
+Ciphers: AES-256-CBC, AES-128-CBC, 3DES-CBC, ARCFOUR, ARCFOUR-40
+MACs: MD5, RMD160, SHA1
+Key exchange algorithms: RSA, RSA-EXPORT, DHE-DSS, DHE-RSA, DHE-PSK, PSK, SRP, SRP-RSA, SRP-DSS, ANON-DH
+Compression methods: DEFLATE, LZO, NULL
diff --git a/unsorted/ssl/GnuTLS_Ciphers_Debian_6.0_Squeeze.txt b/unsorted/ssl/GnuTLS_Ciphers_Debian_6.0_Squeeze.txt
new file mode 100644 (file)
index 0000000..6415262
--- /dev/null
@@ -0,0 +1,55 @@
+Version: 2.8.6-1+squeeze2
+Command: gnutls-cli -l
+
+Cipher suites:
+TLS_ANON_DH_ARCFOUR_MD5                                 0x00, 0x18      SSL3.0
+TLS_ANON_DH_3DES_EDE_CBC_SHA1                           0x00, 0x1b      SSL3.0
+TLS_ANON_DH_AES_128_CBC_SHA1                            0x00, 0x34      SSL3.0
+TLS_ANON_DH_AES_256_CBC_SHA1                            0x00, 0x3a      SSL3.0
+TLS_ANON_DH_CAMELLIA_128_CBC_SHA1                       0x00, 0x46      TLS1.0
+TLS_ANON_DH_CAMELLIA_256_CBC_SHA1                       0x00, 0x89      TLS1.0
+TLS_PSK_SHA_ARCFOUR_SHA1                                0x00, 0x8a      TLS1.0
+TLS_PSK_SHA_3DES_EDE_CBC_SHA1                           0x00, 0x8b      TLS1.0
+TLS_PSK_SHA_AES_128_CBC_SHA1                            0x00, 0x8c      TLS1.0
+TLS_PSK_SHA_AES_256_CBC_SHA1                            0x00, 0x8d      TLS1.0
+TLS_DHE_PSK_SHA_ARCFOUR_SHA1                            0x00, 0x8e      TLS1.0
+TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1                       0x00, 0x8f      TLS1.0
+TLS_DHE_PSK_SHA_AES_128_CBC_SHA1                        0x00, 0x90      TLS1.0
+TLS_DHE_PSK_SHA_AES_256_CBC_SHA1                        0x00, 0x91      TLS1.0
+TLS_SRP_SHA_3DES_EDE_CBC_SHA1                           0xc0, 0x1a      TLS1.0
+TLS_SRP_SHA_AES_128_CBC_SHA1                            0xc0, 0x1d      TLS1.0
+TLS_SRP_SHA_AES_256_CBC_SHA1                            0xc0, 0x20      TLS1.0
+TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1                       0xc0, 0x1c      TLS1.0
+TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1                       0xc0, 0x1b      TLS1.0
+TLS_SRP_SHA_DSS_AES_128_CBC_SHA1                        0xc0, 0x1f      TLS1.0
+TLS_SRP_SHA_RSA_AES_128_CBC_SHA1                        0xc0, 0x1e      TLS1.0
+TLS_SRP_SHA_DSS_AES_256_CBC_SHA1                        0xc0, 0x22      TLS1.0
+TLS_SRP_SHA_RSA_AES_256_CBC_SHA1                        0xc0, 0x21      TLS1.0
+TLS_DHE_DSS_ARCFOUR_SHA1                                0x00, 0x66      TLS1.0
+TLS_DHE_DSS_3DES_EDE_CBC_SHA1                           0x00, 0x13      SSL3.0
+TLS_DHE_DSS_AES_128_CBC_SHA1                            0x00, 0x32      SSL3.0
+TLS_DHE_DSS_AES_256_CBC_SHA1                            0x00, 0x38      SSL3.0
+TLS_DHE_DSS_CAMELLIA_128_CBC_SHA1                       0x00, 0x44      TLS1.0
+TLS_DHE_DSS_CAMELLIA_256_CBC_SHA1                       0x00, 0x87      TLS1.0
+TLS_DHE_RSA_3DES_EDE_CBC_SHA1                           0x00, 0x16      SSL3.0
+TLS_DHE_RSA_AES_128_CBC_SHA1                            0x00, 0x33      SSL3.0
+TLS_DHE_RSA_AES_256_CBC_SHA1                            0x00, 0x39      SSL3.0
+TLS_DHE_RSA_CAMELLIA_128_CBC_SHA1                       0x00, 0x45      TLS1.0
+TLS_DHE_RSA_CAMELLIA_256_CBC_SHA1                       0x00, 0x88      TLS1.0
+TLS_RSA_NULL_MD5                                        0x00, 0x01      SSL3.0
+TLS_RSA_EXPORT_ARCFOUR_40_MD5                           0x00, 0x03      SSL3.0
+TLS_RSA_ARCFOUR_SHA1                                    0x00, 0x05      SSL3.0
+TLS_RSA_ARCFOUR_MD5                                     0x00, 0x04      SSL3.0
+TLS_RSA_3DES_EDE_CBC_SHA1                               0x00, 0x0a      SSL3.0
+TLS_RSA_AES_128_CBC_SHA1                                0x00, 0x2f      SSL3.0
+TLS_RSA_AES_256_CBC_SHA1                                0x00, 0x35      SSL3.0
+TLS_RSA_CAMELLIA_128_CBC_SHA1                           0x00, 0x41      TLS1.0
+TLS_RSA_CAMELLIA_256_CBC_SHA1                           0x00, 0x84      TLS1.0
+Certificate types: X.509, OPENPGP
+Protocols: SSL3.0, TLS1.0, TLS1.1, TLS1.2
+Ciphers: AES-256-CBC, AES-128-CBC, 3DES-CBC, DES-CBC, ARCFOUR-128, ARCFOUR-40, RC2-40, CAMELLIA-256-CBC, CAMELLIA-128-CBC, NULL
+MACs: SHA1, MD5, SHA256, SHA384, SHA512, MD2, RIPEMD160, NULL
+Key exchange algorithms: ANON-DH, RSA, RSA-EXPORT, DHE-RSA, DHE-DSS, SRP-DSS, SRP-RSA, SRP, PSK, DHE-PSK
+Compression: DEFLATE, NULL
+Public Key Systems: RSA, DSA
+PK-signatures: RSA-SHA, RSA-SHA256, RSA-SHA384, RSA-SHA512, RSA-RMD160, DSA-SHA, RSA-MD5, RSA-MD2
diff --git a/unsorted/ssl/GnuTLS_Ciphers_Debian_7.0_Wheezy.txt b/unsorted/ssl/GnuTLS_Ciphers_Debian_7.0_Wheezy.txt
new file mode 100644 (file)
index 0000000..c33f187
--- /dev/null
@@ -0,0 +1,65 @@
+Version: 2.12.20-7
+Command: gnutls-cli -l
+
+Cipher suites:
+TLS_ANON_DH_ARCFOUR_MD5                                 0x00, 0x18      SSL3.0
+TLS_ANON_DH_3DES_EDE_CBC_SHA1                           0x00, 0x1b      SSL3.0
+TLS_ANON_DH_AES_128_CBC_SHA1                            0x00, 0x34      SSL3.0
+TLS_ANON_DH_AES_256_CBC_SHA1                            0x00, 0x3a      SSL3.0
+TLS_ANON_DH_CAMELLIA_128_CBC_SHA1                       0x00, 0x46      TLS1.0
+TLS_ANON_DH_CAMELLIA_256_CBC_SHA1                       0x00, 0x89      TLS1.0
+TLS_ANON_DH_AES_128_CBC_SHA256                          0x00, 0x6c      TLS1.2
+TLS_ANON_DH_AES_256_CBC_SHA256                          0x00, 0x6d      TLS1.2
+TLS_PSK_SHA_ARCFOUR_SHA1                                0x00, 0x8a      TLS1.0
+TLS_PSK_SHA_3DES_EDE_CBC_SHA1                           0x00, 0x8b      TLS1.0
+TLS_PSK_SHA_AES_128_CBC_SHA1                            0x00, 0x8c      TLS1.0
+TLS_PSK_SHA_AES_256_CBC_SHA1                            0x00, 0x8d      TLS1.0
+TLS_DHE_PSK_SHA_ARCFOUR_SHA1                            0x00, 0x8e      TLS1.0
+TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1                       0x00, 0x8f      TLS1.0
+TLS_DHE_PSK_SHA_AES_128_CBC_SHA1                        0x00, 0x90      TLS1.0
+TLS_DHE_PSK_SHA_AES_256_CBC_SHA1                        0x00, 0x91      TLS1.0
+TLS_SRP_SHA_3DES_EDE_CBC_SHA1                           0xc0, 0x1a      TLS1.0
+TLS_SRP_SHA_AES_128_CBC_SHA1                            0xc0, 0x1d      TLS1.0
+TLS_SRP_SHA_AES_256_CBC_SHA1                            0xc0, 0x20      TLS1.0
+TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1                       0xc0, 0x1c      TLS1.0
+TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1                       0xc0, 0x1b      TLS1.0
+TLS_SRP_SHA_DSS_AES_128_CBC_SHA1                        0xc0, 0x1f      TLS1.0
+TLS_SRP_SHA_RSA_AES_128_CBC_SHA1                        0xc0, 0x1e      TLS1.0
+TLS_SRP_SHA_DSS_AES_256_CBC_SHA1                        0xc0, 0x22      TLS1.0
+TLS_SRP_SHA_RSA_AES_256_CBC_SHA1                        0xc0, 0x21      TLS1.0
+TLS_DHE_DSS_ARCFOUR_SHA1                                0x00, 0x66      TLS1.0
+TLS_DHE_DSS_3DES_EDE_CBC_SHA1                           0x00, 0x13      SSL3.0
+TLS_DHE_DSS_AES_128_CBC_SHA1                            0x00, 0x32      SSL3.0
+TLS_DHE_DSS_AES_256_CBC_SHA1                            0x00, 0x38      SSL3.0
+TLS_DHE_DSS_CAMELLIA_128_CBC_SHA1                       0x00, 0x44      TLS1.0
+TLS_DHE_DSS_CAMELLIA_256_CBC_SHA1                       0x00, 0x87      TLS1.0
+TLS_DHE_DSS_AES_128_CBC_SHA256                          0x00, 0x40      TLS1.2
+TLS_DHE_DSS_AES_256_CBC_SHA256                          0x00, 0x6a      TLS1.2
+TLS_DHE_RSA_3DES_EDE_CBC_SHA1                           0x00, 0x16      SSL3.0
+TLS_DHE_RSA_AES_128_CBC_SHA1                            0x00, 0x33      SSL3.0
+TLS_DHE_RSA_AES_256_CBC_SHA1                            0x00, 0x39      SSL3.0
+TLS_DHE_RSA_CAMELLIA_128_CBC_SHA1                       0x00, 0x45      TLS1.0
+TLS_DHE_RSA_CAMELLIA_256_CBC_SHA1                       0x00, 0x88      TLS1.0
+TLS_DHE_RSA_AES_128_CBC_SHA256                          0x00, 0x67      TLS1.2
+TLS_DHE_RSA_AES_256_CBC_SHA256                          0x00, 0x6b      TLS1.2
+TLS_RSA_NULL_MD5                                        0x00, 0x01      SSL3.0
+TLS_RSA_NULL_SHA1                                       0x00, 0x02      SSL3.0
+TLS_RSA_NULL_SHA256                                     0x00, 0x3b      TLS1.2
+TLS_RSA_EXPORT_ARCFOUR_40_MD5                           0x00, 0x03      SSL3.0
+TLS_RSA_ARCFOUR_SHA1                                    0x00, 0x05      SSL3.0
+TLS_RSA_ARCFOUR_MD5                                     0x00, 0x04      SSL3.0
+TLS_RSA_3DES_EDE_CBC_SHA1                               0x00, 0x0a      SSL3.0
+TLS_RSA_AES_128_CBC_SHA1                                0x00, 0x2f      SSL3.0
+TLS_RSA_AES_256_CBC_SHA1                                0x00, 0x35      SSL3.0
+TLS_RSA_CAMELLIA_128_CBC_SHA1                           0x00, 0x41      TLS1.0
+TLS_RSA_CAMELLIA_256_CBC_SHA1                           0x00, 0x84      TLS1.0
+TLS_RSA_AES_128_CBC_SHA256                              0x00, 0x3c      TLS1.2
+TLS_RSA_AES_256_CBC_SHA256                              0x00, 0x3d      TLS1.2
+Certificate types: CTYPE-X.509, CTYPE-OPENPGP
+Protocols: VERS-SSL3.0, VERS-TLS1.0, VERS-TLS1.1, VERS-TLS1.2
+Ciphers: AES-256-CBC, AES-128-CBC, 3DES-CBC, DES-CBC, ARCFOUR-128, ARCFOUR-40, RC2-40, CAMELLIA-256-CBC, CAMELLIA-128-CBC, NULL
+MACs: SHA1, MD5, SHA256, SHA384, SHA512, MD2, RIPEMD160, MAC-NULL
+Key exchange algorithms: ANON-DH, RSA, RSA-EXPORT, DHE-RSA, DHE-DSS, SRP-DSS, SRP-RSA, SRP, PSK, DHE-PSK
+Compression: COMP-DEFLATE, COMP-NULL
+Public Key Systems: RSA, DSA
+PK-signatures: SIGN-RSA-SHA1, SIGN-RSA-SHA224, SIGN-RSA-SHA256, SIGN-RSA-SHA384, SIGN-RSA-SHA512, SIGN-RSA-RMD160, SIGN-DSA-SHA1, SIGN-DSA-SHA224, SIGN-DSA-SHA256, SIGN-RSA-MD5, SIGN-RSA-MD2
diff --git a/unsorted/ssl/GnuTLS_Ciphers_Ubuntu_12.04.txt b/unsorted/ssl/GnuTLS_Ciphers_Ubuntu_12.04.txt
new file mode 100644 (file)
index 0000000..4396078
--- /dev/null
@@ -0,0 +1,65 @@
+Version: 2.12.14-5ubuntu3.4
+Command: gnutls-cli -l
+
+Cipher suites:
+TLS_ANON_DH_ARCFOUR_MD5                                 0x00, 0x18      SSL3.0
+TLS_ANON_DH_3DES_EDE_CBC_SHA1                           0x00, 0x1b      SSL3.0
+TLS_ANON_DH_AES_128_CBC_SHA1                            0x00, 0x34      SSL3.0
+TLS_ANON_DH_AES_256_CBC_SHA1                            0x00, 0x3a      SSL3.0
+TLS_ANON_DH_CAMELLIA_128_CBC_SHA1                       0x00, 0x46      TLS1.0
+TLS_ANON_DH_CAMELLIA_256_CBC_SHA1                       0x00, 0x89      TLS1.0
+TLS_ANON_DH_AES_128_CBC_SHA256                          0x00, 0x6c      TLS1.2
+TLS_ANON_DH_AES_256_CBC_SHA256                          0x00, 0x6d      TLS1.2
+TLS_PSK_SHA_ARCFOUR_SHA1                                0x00, 0x8a      TLS1.0
+TLS_PSK_SHA_3DES_EDE_CBC_SHA1                           0x00, 0x8b      TLS1.0
+TLS_PSK_SHA_AES_128_CBC_SHA1                            0x00, 0x8c      TLS1.0
+TLS_PSK_SHA_AES_256_CBC_SHA1                            0x00, 0x8d      TLS1.0
+TLS_DHE_PSK_SHA_ARCFOUR_SHA1                            0x00, 0x8e      TLS1.0
+TLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1                       0x00, 0x8f      TLS1.0
+TLS_DHE_PSK_SHA_AES_128_CBC_SHA1                        0x00, 0x90      TLS1.0
+TLS_DHE_PSK_SHA_AES_256_CBC_SHA1                        0x00, 0x91      TLS1.0
+TLS_SRP_SHA_3DES_EDE_CBC_SHA1                           0xc0, 0x1a      TLS1.0
+TLS_SRP_SHA_AES_128_CBC_SHA1                            0xc0, 0x1d      TLS1.0
+TLS_SRP_SHA_AES_256_CBC_SHA1                            0xc0, 0x20      TLS1.0
+TLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1                       0xc0, 0x1c      TLS1.0
+TLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1                       0xc0, 0x1b      TLS1.0
+TLS_SRP_SHA_DSS_AES_128_CBC_SHA1                        0xc0, 0x1f      TLS1.0
+TLS_SRP_SHA_RSA_AES_128_CBC_SHA1                        0xc0, 0x1e      TLS1.0
+TLS_SRP_SHA_DSS_AES_256_CBC_SHA1                        0xc0, 0x22      TLS1.0
+TLS_SRP_SHA_RSA_AES_256_CBC_SHA1                        0xc0, 0x21      TLS1.0
+TLS_DHE_DSS_ARCFOUR_SHA1                                0x00, 0x66      TLS1.0
+TLS_DHE_DSS_3DES_EDE_CBC_SHA1                           0x00, 0x13      SSL3.0
+TLS_DHE_DSS_AES_128_CBC_SHA1                            0x00, 0x32      SSL3.0
+TLS_DHE_DSS_AES_256_CBC_SHA1                            0x00, 0x38      SSL3.0
+TLS_DHE_DSS_CAMELLIA_128_CBC_SHA1                       0x00, 0x44      TLS1.0
+TLS_DHE_DSS_CAMELLIA_256_CBC_SHA1                       0x00, 0x87      TLS1.0
+TLS_DHE_DSS_AES_128_CBC_SHA256                          0x00, 0x40      TLS1.2
+TLS_DHE_DSS_AES_256_CBC_SHA256                          0x00, 0x6a      TLS1.2
+TLS_DHE_RSA_3DES_EDE_CBC_SHA1                           0x00, 0x16      SSL3.0
+TLS_DHE_RSA_AES_128_CBC_SHA1                            0x00, 0x33      SSL3.0
+TLS_DHE_RSA_AES_256_CBC_SHA1                            0x00, 0x39      SSL3.0
+TLS_DHE_RSA_CAMELLIA_128_CBC_SHA1                       0x00, 0x45      TLS1.0
+TLS_DHE_RSA_CAMELLIA_256_CBC_SHA1                       0x00, 0x88      TLS1.0
+TLS_DHE_RSA_AES_128_CBC_SHA256                          0x00, 0x67      TLS1.2
+TLS_DHE_RSA_AES_256_CBC_SHA256                          0x00, 0x6b      TLS1.2
+TLS_RSA_NULL_MD5                                        0x00, 0x01      SSL3.0
+TLS_RSA_NULL_SHA1                                       0x00, 0x02      SSL3.0
+TLS_RSA_NULL_SHA256                                     0x00, 0x3b      TLS1.2
+TLS_RSA_EXPORT_ARCFOUR_40_MD5                           0x00, 0x03      SSL3.0
+TLS_RSA_ARCFOUR_SHA1                                    0x00, 0x05      SSL3.0
+TLS_RSA_ARCFOUR_MD5                                     0x00, 0x04      SSL3.0
+TLS_RSA_3DES_EDE_CBC_SHA1                               0x00, 0x0a      SSL3.0
+TLS_RSA_AES_128_CBC_SHA1                                0x00, 0x2f      SSL3.0
+TLS_RSA_AES_256_CBC_SHA1                                0x00, 0x35      SSL3.0
+TLS_RSA_CAMELLIA_128_CBC_SHA1                           0x00, 0x41      TLS1.0
+TLS_RSA_CAMELLIA_256_CBC_SHA1                           0x00, 0x84      TLS1.0
+TLS_RSA_AES_128_CBC_SHA256                              0x00, 0x3c      TLS1.2
+TLS_RSA_AES_256_CBC_SHA256                              0x00, 0x3d      TLS1.2
+Certificate types: CTYPE-X.509, CTYPE-OPENPGP
+Protocols: VERS-SSL3.0, VERS-TLS1.0, VERS-TLS1.1, VERS-TLS1.2
+Ciphers: AES-256-CBC, AES-128-CBC, 3DES-CBC, DES-CBC, ARCFOUR-128, ARCFOUR-40, RC2-40, CAMELLIA-256-CBC, CAMELLIA-128-CBC, NULL
+MACs: SHA1, MD5, SHA256, SHA384, SHA512, MD2, RIPEMD160, MAC-NULL
+Key exchange algorithms: ANON-DH, RSA, RSA-EXPORT, DHE-RSA, DHE-DSS, SRP-DSS, SRP-RSA, SRP, PSK, DHE-PSK
+Compression: COMP-DEFLATE, COMP-NULL
+Public Key Systems: RSA, DSA
+PK-signatures: SIGN-RSA-SHA1, SIGN-RSA-SHA224, SIGN-RSA-SHA256, SIGN-RSA-SHA384, SIGN-RSA-SHA512, SIGN-RSA-RMD160, SIGN-DSA-SHA1, SIGN-DSA-SHA224, SIGN-DSA-SHA256, SIGN-RSA-MD5, SIGN-RSA-MD2
diff --git a/unsorted/ssl/OpenSSL_Ciphers_Debian_4.0_Etch.txt b/unsorted/ssl/OpenSSL_Ciphers_Debian_4.0_Etch.txt
new file mode 100644 (file)
index 0000000..1ab5825
--- /dev/null
@@ -0,0 +1,37 @@
+Version: 0.9.8c-4etch10
+Command: openssl ciphers -v -V 'ALL:COMPLEMENTOFALL'
+
+ADH-AES256-SHA          SSLv3 Kx=DH       Au=None Enc=AES(256)  Mac=SHA1
+DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+DHE-DSS-AES256-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA1
+AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
+ADH-AES128-SHA          SSLv3 Kx=DH       Au=None Enc=AES(128)  Mac=SHA1
+DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
+DHE-DSS-AES128-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA1
+AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+ADH-DES-CBC3-SHA        SSLv3 Kx=DH       Au=None Enc=3DES(168) Mac=SHA1
+ADH-DES-CBC-SHA         SSLv3 Kx=DH       Au=None Enc=DES(56)   Mac=SHA1
+EXP-ADH-DES-CBC-SHA     SSLv3 Kx=DH(512)  Au=None Enc=DES(40)   Mac=SHA1 export
+ADH-RC4-MD5             SSLv3 Kx=DH       Au=None Enc=RC4(128)  Mac=MD5
+EXP-ADH-RC4-MD5         SSLv3 Kx=DH(512)  Au=None Enc=RC4(40)   Mac=MD5  export
+EDH-RSA-DES-CBC3-SHA    SSLv3 Kx=DH       Au=RSA  Enc=3DES(168) Mac=SHA1
+EDH-RSA-DES-CBC-SHA     SSLv3 Kx=DH       Au=RSA  Enc=DES(56)   Mac=SHA1
+EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=RSA  Enc=DES(40)   Mac=SHA1 export
+EDH-DSS-DES-CBC3-SHA    SSLv3 Kx=DH       Au=DSS  Enc=3DES(168) Mac=SHA1
+EDH-DSS-DES-CBC-SHA     SSLv3 Kx=DH       Au=DSS  Enc=DES(56)   Mac=SHA1
+EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=DSS  Enc=DES(40)   Mac=SHA1 export
+DES-CBC3-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=SHA1
+DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1
+EXP-DES-CBC-SHA         SSLv3 Kx=RSA(512) Au=RSA  Enc=DES(40)   Mac=SHA1 export
+EXP-RC2-CBC-MD5         SSLv3 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
+RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
+EXP-RC4-MD5             SSLv3 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
+DES-CBC3-MD5            SSLv2 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=MD5
+DES-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=MD5
+EXP-RC2-CBC-MD5         SSLv2 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
+RC2-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=RC2(128)  Mac=MD5
+EXP-RC4-MD5             SSLv2 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
+RC4-MD5                 SSLv2 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
+NULL-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=SHA1
+NULL-MD5                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=MD5
diff --git a/unsorted/ssl/OpenSSL_Ciphers_Debian_6.0_Squeeze.txt b/unsorted/ssl/OpenSSL_Ciphers_Debian_6.0_Squeeze.txt
new file mode 100644 (file)
index 0000000..799b589
--- /dev/null
@@ -0,0 +1,37 @@
+Version: 0.9.8o-4squeeze14
+Command: openssl ciphers -v -V 'ALL:COMPLEMENTOFALL'
+
+ADH-AES256-SHA          SSLv3 Kx=DH       Au=None Enc=AES(256)  Mac=SHA1
+DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+DHE-DSS-AES256-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA1
+AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
+ADH-AES128-SHA          SSLv3 Kx=DH       Au=None Enc=AES(128)  Mac=SHA1
+DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
+DHE-DSS-AES128-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA1
+AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+ADH-DES-CBC3-SHA        SSLv3 Kx=DH       Au=None Enc=3DES(168) Mac=SHA1
+ADH-DES-CBC-SHA         SSLv3 Kx=DH       Au=None Enc=DES(56)   Mac=SHA1
+EXP-ADH-DES-CBC-SHA     SSLv3 Kx=DH(512)  Au=None Enc=DES(40)   Mac=SHA1 export
+ADH-RC4-MD5             SSLv3 Kx=DH       Au=None Enc=RC4(128)  Mac=MD5
+EXP-ADH-RC4-MD5         SSLv3 Kx=DH(512)  Au=None Enc=RC4(40)   Mac=MD5  export
+EDH-RSA-DES-CBC3-SHA    SSLv3 Kx=DH       Au=RSA  Enc=3DES(168) Mac=SHA1
+EDH-RSA-DES-CBC-SHA     SSLv3 Kx=DH       Au=RSA  Enc=DES(56)   Mac=SHA1
+EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=RSA  Enc=DES(40)   Mac=SHA1 export
+EDH-DSS-DES-CBC3-SHA    SSLv3 Kx=DH       Au=DSS  Enc=3DES(168) Mac=SHA1
+EDH-DSS-DES-CBC-SHA     SSLv3 Kx=DH       Au=DSS  Enc=DES(56)   Mac=SHA1
+EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=DSS  Enc=DES(40)   Mac=SHA1 export
+DES-CBC3-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=SHA1
+DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1
+EXP-DES-CBC-SHA         SSLv3 Kx=RSA(512) Au=RSA  Enc=DES(40)   Mac=SHA1 export
+EXP-RC2-CBC-MD5         SSLv3 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
+RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
+EXP-RC4-MD5             SSLv3 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
+DES-CBC3-MD5            SSLv2 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=MD5
+DES-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=MD5
+EXP-RC2-CBC-MD5         SSLv2 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
+RC2-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=RC2(128)  Mac=MD5
+EXP-RC4-MD5             SSLv2 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
+RC4-MD5                 SSLv2 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
+NULL-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=SHA1
+NULL-MD5                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=MD5
diff --git a/unsorted/ssl/OpenSSL_Ciphers_Debian_7.0_Wheezy.txt b/unsorted/ssl/OpenSSL_Ciphers_Debian_7.0_Wheezy.txt
new file mode 100644 (file)
index 0000000..e815251
--- /dev/null
@@ -0,0 +1,114 @@
+Version: 1.0.1e-2
+Command: openssl ciphers -V 'ALL:COMPLEMENTOFALL'
+
+          0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
+          0xC0,0x24 - ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
+          0xC0,0x14 - ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
+          0xC0,0x0A - ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
+          0xC0,0x22 - SRP-DSS-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=AES(256)  Mac=SHA1
+          0xC0,0x21 - SRP-RSA-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0xA3 - DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x6B - DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
+          0x00,0x6A - DHE-DSS-AES256-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA256
+          0x00,0x39 - DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0x38 - DHE-DSS-AES256-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA1
+          0x00,0x88 - DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH       Au=RSA  Enc=Camellia(256) Mac=SHA1
+          0x00,0x87 - DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH       Au=DSS  Enc=Camellia(256) Mac=SHA1
+          0xC0,0x19 - AECDH-AES256-SHA        SSLv3 Kx=ECDH     Au=None Enc=AES(256)  Mac=SHA1
+          0xC0,0x20 - SRP-AES-256-CBC-SHA     SSLv3 Kx=SRP      Au=None Enc=AES(256)  Mac=SHA1
+          0x00,0xA7 - ADH-AES256-GCM-SHA384   TLSv1.2 Kx=DH       Au=None Enc=AESGCM(256) Mac=AEAD
+          0x00,0x6D - ADH-AES256-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(256)  Mac=SHA256
+          0x00,0x3A - ADH-AES256-SHA          SSLv3 Kx=DH       Au=None Enc=AES(256)  Mac=SHA1
+          0x00,0x89 - ADH-CAMELLIA256-SHA     SSLv3 Kx=DH       Au=None Enc=Camellia(256) Mac=SHA1
+          0xC0,0x32 - ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2E - ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2A - ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256)  Mac=SHA384
+          0xC0,0x26 - ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
+          0xC0,0x0F - ECDH-RSA-AES256-SHA     SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(256)  Mac=SHA1
+          0xC0,0x05 - ECDH-ECDSA-AES256-SHA   SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA1
+          0x00,0x9D - AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x3D - AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
+          0x00,0x35 - AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0x84 - CAMELLIA256-SHA         SSLv3 Kx=RSA      Au=RSA  Enc=Camellia(256) Mac=SHA1
+          0x00,0x8D - PSK-AES256-CBC-SHA      SSLv3 Kx=PSK      Au=PSK  Enc=AES(256)  Mac=SHA1
+          0xC0,0x12 - ECDHE-RSA-DES-CBC3-SHA  SSLv3 Kx=ECDH     Au=RSA  Enc=3DES(168) Mac=SHA1
+          0xC0,0x08 - ECDHE-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH     Au=ECDSA Enc=3DES(168) Mac=SHA1
+          0xC0,0x1C - SRP-DSS-3DES-EDE-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=3DES(168) Mac=SHA1
+          0xC0,0x1B - SRP-RSA-3DES-EDE-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=3DES(168) Mac=SHA1
+          0x00,0x16 - EDH-RSA-DES-CBC3-SHA    SSLv3 Kx=DH       Au=RSA  Enc=3DES(168) Mac=SHA1
+          0x00,0x13 - EDH-DSS-DES-CBC3-SHA    SSLv3 Kx=DH       Au=DSS  Enc=3DES(168) Mac=SHA1
+          0xC0,0x17 - AECDH-DES-CBC3-SHA      SSLv3 Kx=ECDH     Au=None Enc=3DES(168) Mac=SHA1
+          0xC0,0x1A - SRP-3DES-EDE-CBC-SHA    SSLv3 Kx=SRP      Au=None Enc=3DES(168) Mac=SHA1
+          0x00,0x1B - ADH-DES-CBC3-SHA        SSLv3 Kx=DH       Au=None Enc=3DES(168) Mac=SHA1
+          0xC0,0x0D - ECDH-RSA-DES-CBC3-SHA   SSLv3 Kx=ECDH/RSA Au=ECDH Enc=3DES(168) Mac=SHA1
+          0xC0,0x03 - ECDH-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=3DES(168) Mac=SHA1
+          0x00,0x0A - DES-CBC3-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=SHA1
+          0x00,0x8B - PSK-3DES-EDE-CBC-SHA    SSLv3 Kx=PSK      Au=PSK  Enc=3DES(168) Mac=SHA1
+          0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
+          0xC0,0x23 - ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA256
+          0xC0,0x13 - ECDHE-RSA-AES128-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA1
+          0xC0,0x09 - ECDHE-ECDSA-AES128-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA1
+          0xC0,0x1F - SRP-DSS-AES-128-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=AES(128)  Mac=SHA1
+          0xC0,0x1E - SRP-RSA-AES-128-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0xA2 - DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x9E - DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x67 - DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
+          0x00,0x40 - DHE-DSS-AES128-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA256
+          0x00,0x33 - DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0x32 - DHE-DSS-AES128-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA1
+          0x00,0x9A - DHE-RSA-SEED-SHA        SSLv3 Kx=DH       Au=RSA  Enc=SEED(128) Mac=SHA1
+          0x00,0x99 - DHE-DSS-SEED-SHA        SSLv3 Kx=DH       Au=DSS  Enc=SEED(128) Mac=SHA1
+          0x00,0x45 - DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH       Au=RSA  Enc=Camellia(128) Mac=SHA1
+          0x00,0x44 - DHE-DSS-CAMELLIA128-SHA SSLv3 Kx=DH       Au=DSS  Enc=Camellia(128) Mac=SHA1
+          0xC0,0x18 - AECDH-AES128-SHA        SSLv3 Kx=ECDH     Au=None Enc=AES(128)  Mac=SHA1
+          0xC0,0x1D - SRP-AES-128-CBC-SHA     SSLv3 Kx=SRP      Au=None Enc=AES(128)  Mac=SHA1
+          0x00,0xA6 - ADH-AES128-GCM-SHA256   TLSv1.2 Kx=DH       Au=None Enc=AESGCM(128) Mac=AEAD
+          0x00,0x6C - ADH-AES128-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(128)  Mac=SHA256
+          0x00,0x34 - ADH-AES128-SHA          SSLv3 Kx=DH       Au=None Enc=AES(128)  Mac=SHA1
+          0x00,0x9B - ADH-SEED-SHA            SSLv3 Kx=DH       Au=None Enc=SEED(128) Mac=SHA1
+          0x00,0x46 - ADH-CAMELLIA128-SHA     SSLv3 Kx=DH       Au=None Enc=Camellia(128) Mac=SHA1
+          0xC0,0x31 - ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x2D - ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x29 - ECDH-RSA-AES128-SHA256  TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(128)  Mac=SHA256
+          0xC0,0x25 - ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
+          0xC0,0x0E - ECDH-RSA-AES128-SHA     SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(128)  Mac=SHA1
+          0xC0,0x04 - ECDH-ECDSA-AES128-SHA   SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA1
+          0x00,0x9C - AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x3C - AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256
+          0x00,0x2F - AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0x96 - SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1
+          0x00,0x41 - CAMELLIA128-SHA         SSLv3 Kx=RSA      Au=RSA  Enc=Camellia(128) Mac=SHA1
+          0x00,0x8C - PSK-AES128-CBC-SHA      SSLv3 Kx=PSK      Au=PSK  Enc=AES(128)  Mac=SHA1
+          0xC0,0x11 - ECDHE-RSA-RC4-SHA       SSLv3 Kx=ECDH     Au=RSA  Enc=RC4(128)  Mac=SHA1
+          0xC0,0x07 - ECDHE-ECDSA-RC4-SHA     SSLv3 Kx=ECDH     Au=ECDSA Enc=RC4(128)  Mac=SHA1
+          0xC0,0x16 - AECDH-RC4-SHA           SSLv3 Kx=ECDH     Au=None Enc=RC4(128)  Mac=SHA1
+          0x00,0x18 - ADH-RC4-MD5             SSLv3 Kx=DH       Au=None Enc=RC4(128)  Mac=MD5 
+          0xC0,0x0C - ECDH-RSA-RC4-SHA        SSLv3 Kx=ECDH/RSA Au=ECDH Enc=RC4(128)  Mac=SHA1
+          0xC0,0x02 - ECDH-ECDSA-RC4-SHA      SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=RC4(128)  Mac=SHA1
+          0x00,0x05 - RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+          0x00,0x04 - RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5 
+          0x00,0x8A - PSK-RC4-SHA             SSLv3 Kx=PSK      Au=PSK  Enc=RC4(128)  Mac=SHA1
+          0x00,0x15 - EDH-RSA-DES-CBC-SHA     SSLv3 Kx=DH       Au=RSA  Enc=DES(56)   Mac=SHA1
+          0x00,0x12 - EDH-DSS-DES-CBC-SHA     SSLv3 Kx=DH       Au=DSS  Enc=DES(56)   Mac=SHA1
+          0x00,0x1A - ADH-DES-CBC-SHA         SSLv3 Kx=DH       Au=None Enc=DES(56)   Mac=SHA1
+          0x00,0x09 - DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1
+          0x00,0x14 - EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=RSA  Enc=DES(40)   Mac=SHA1 export
+          0x00,0x11 - EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=DSS  Enc=DES(40)   Mac=SHA1 export
+          0x00,0x19 - EXP-ADH-DES-CBC-SHA     SSLv3 Kx=DH(512)  Au=None Enc=DES(40)   Mac=SHA1 export
+          0x00,0x08 - EXP-DES-CBC-SHA         SSLv3 Kx=RSA(512) Au=RSA  Enc=DES(40)   Mac=SHA1 export
+          0x00,0x06 - EXP-RC2-CBC-MD5         SSLv3 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
+          0x00,0x17 - EXP-ADH-RC4-MD5         SSLv3 Kx=DH(512)  Au=None Enc=RC4(40)   Mac=MD5  export
+          0x00,0x03 - EXP-RC4-MD5             SSLv3 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
+          0xC0,0x10 - ECDHE-RSA-NULL-SHA      SSLv3 Kx=ECDH     Au=RSA  Enc=None      Mac=SHA1
+          0xC0,0x06 - ECDHE-ECDSA-NULL-SHA    SSLv3 Kx=ECDH     Au=ECDSA Enc=None      Mac=SHA1
+          0xC0,0x15 - AECDH-NULL-SHA          SSLv3 Kx=ECDH     Au=None Enc=None      Mac=SHA1
+          0xC0,0x0B - ECDH-RSA-NULL-SHA       SSLv3 Kx=ECDH/RSA Au=ECDH Enc=None      Mac=SHA1
+          0xC0,0x01 - ECDH-ECDSA-NULL-SHA     SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=None      Mac=SHA1
+          0x00,0x3B - NULL-SHA256             TLSv1.2 Kx=RSA      Au=RSA  Enc=None      Mac=SHA256
+          0x00,0x02 - NULL-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=SHA1
+          0x00,0x01 - NULL-MD5                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=MD5 
diff --git a/unsorted/ssl/OpenSSL_Ciphers_Ubuntu_12.04.txt b/unsorted/ssl/OpenSSL_Ciphers_Ubuntu_12.04.txt
new file mode 100644 (file)
index 0000000..726a98c
--- /dev/null
@@ -0,0 +1,114 @@
+Version: 1.0.1-4ubuntu5.10
+Command: openssl ciphers -v -V 'ALL:COMPLEMENTOFALL'
+
+          0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
+          0xC0,0x24 - ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
+          0xC0,0x14 - ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
+          0xC0,0x0A - ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
+          0xC0,0x22 - SRP-DSS-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=AES(256)  Mac=SHA1
+          0xC0,0x21 - SRP-RSA-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0xA3 - DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x6B - DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
+          0x00,0x6A - DHE-DSS-AES256-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA256
+          0x00,0x39 - DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0x38 - DHE-DSS-AES256-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA1
+          0x00,0x88 - DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH       Au=RSA  Enc=Camellia(256) Mac=SHA1
+          0x00,0x87 - DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH       Au=DSS  Enc=Camellia(256) Mac=SHA1
+          0xC0,0x19 - AECDH-AES256-SHA        SSLv3 Kx=ECDH     Au=None Enc=AES(256)  Mac=SHA1
+          0xC0,0x20 - SRP-AES-256-CBC-SHA     SSLv3 Kx=SRP      Au=None Enc=AES(256)  Mac=SHA1
+          0x00,0xA7 - ADH-AES256-GCM-SHA384   TLSv1.2 Kx=DH       Au=None Enc=AESGCM(256) Mac=AEAD
+          0x00,0x6D - ADH-AES256-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(256)  Mac=SHA256
+          0x00,0x3A - ADH-AES256-SHA          SSLv3 Kx=DH       Au=None Enc=AES(256)  Mac=SHA1
+          0x00,0x89 - ADH-CAMELLIA256-SHA     SSLv3 Kx=DH       Au=None Enc=Camellia(256) Mac=SHA1
+          0xC0,0x32 - ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2E - ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2A - ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
+          0xC0,0x26 - ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
+          0xC0,0x0F - ECDH-RSA-AES256-SHA     SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(256)  Mac=SHA1
+          0xC0,0x05 - ECDH-ECDSA-AES256-SHA   SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA1
+          0x00,0x9D - AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x3D - AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
+          0x00,0x35 - AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0x84 - CAMELLIA256-SHA         SSLv3 Kx=RSA      Au=RSA  Enc=Camellia(256) Mac=SHA1
+          0x00,0x8D - PSK-AES256-CBC-SHA      SSLv3 Kx=PSK      Au=PSK  Enc=AES(256)  Mac=SHA1
+          0xC0,0x12 - ECDHE-RSA-DES-CBC3-SHA  SSLv3 Kx=ECDH     Au=RSA  Enc=3DES(168) Mac=SHA1
+          0xC0,0x08 - ECDHE-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH     Au=ECDSA Enc=3DES(168) Mac=SHA1
+          0xC0,0x1C - SRP-DSS-3DES-EDE-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=3DES(168) Mac=SHA1
+          0xC0,0x1B - SRP-RSA-3DES-EDE-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=3DES(168) Mac=SHA1
+          0x00,0x16 - EDH-RSA-DES-CBC3-SHA    SSLv3 Kx=DH       Au=RSA  Enc=3DES(168) Mac=SHA1
+          0x00,0x13 - EDH-DSS-DES-CBC3-SHA    SSLv3 Kx=DH       Au=DSS  Enc=3DES(168) Mac=SHA1
+          0xC0,0x17 - AECDH-DES-CBC3-SHA      SSLv3 Kx=ECDH     Au=None Enc=3DES(168) Mac=SHA1
+          0xC0,0x1A - SRP-3DES-EDE-CBC-SHA    SSLv3 Kx=SRP      Au=None Enc=3DES(168) Mac=SHA1
+          0x00,0x1B - ADH-DES-CBC3-SHA        SSLv3 Kx=DH       Au=None Enc=3DES(168) Mac=SHA1
+          0xC0,0x0D - ECDH-RSA-DES-CBC3-SHA   SSLv3 Kx=ECDH/RSA Au=ECDH Enc=3DES(168) Mac=SHA1
+          0xC0,0x03 - ECDH-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=3DES(168) Mac=SHA1
+          0x00,0x0A - DES-CBC3-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=SHA1
+          0x00,0x8B - PSK-3DES-EDE-CBC-SHA    SSLv3 Kx=PSK      Au=PSK  Enc=3DES(168) Mac=SHA1
+          0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
+          0xC0,0x23 - ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA256
+          0xC0,0x13 - ECDHE-RSA-AES128-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA1
+          0xC0,0x09 - ECDHE-ECDSA-AES128-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA1
+          0xC0,0x1F - SRP-DSS-AES-128-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=AES(128)  Mac=SHA1
+          0xC0,0x1E - SRP-RSA-AES-128-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0xA2 - DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x9E - DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x67 - DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
+          0x00,0x40 - DHE-DSS-AES128-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA256
+          0x00,0x33 - DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0x32 - DHE-DSS-AES128-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA1
+          0x00,0x9A - DHE-RSA-SEED-SHA        SSLv3 Kx=DH       Au=RSA  Enc=SEED(128) Mac=SHA1
+          0x00,0x99 - DHE-DSS-SEED-SHA        SSLv3 Kx=DH       Au=DSS  Enc=SEED(128) Mac=SHA1
+          0x00,0x45 - DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH       Au=RSA  Enc=Camellia(128) Mac=SHA1
+          0x00,0x44 - DHE-DSS-CAMELLIA128-SHA SSLv3 Kx=DH       Au=DSS  Enc=Camellia(128) Mac=SHA1
+          0xC0,0x18 - AECDH-AES128-SHA        SSLv3 Kx=ECDH     Au=None Enc=AES(128)  Mac=SHA1
+          0xC0,0x1D - SRP-AES-128-CBC-SHA     SSLv3 Kx=SRP      Au=None Enc=AES(128)  Mac=SHA1
+          0x00,0xA6 - ADH-AES128-GCM-SHA256   TLSv1.2 Kx=DH       Au=None Enc=AESGCM(128) Mac=AEAD
+          0x00,0x6C - ADH-AES128-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(128)  Mac=SHA256
+          0x00,0x34 - ADH-AES128-SHA          SSLv3 Kx=DH       Au=None Enc=AES(128)  Mac=SHA1
+          0x00,0x9B - ADH-SEED-SHA            SSLv3 Kx=DH       Au=None Enc=SEED(128) Mac=SHA1
+          0x00,0x46 - ADH-CAMELLIA128-SHA     SSLv3 Kx=DH       Au=None Enc=Camellia(128) Mac=SHA1
+          0xC0,0x31 - ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x2D - ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x29 - ECDH-RSA-AES128-SHA256  TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
+          0xC0,0x25 - ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
+          0xC0,0x0E - ECDH-RSA-AES128-SHA     SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(128)  Mac=SHA1
+          0xC0,0x04 - ECDH-ECDSA-AES128-SHA   SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA1
+          0x00,0x9C - AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x3C - AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256
+          0x00,0x2F - AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0x96 - SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1
+          0x00,0x41 - CAMELLIA128-SHA         SSLv3 Kx=RSA      Au=RSA  Enc=Camellia(128) Mac=SHA1
+          0x00,0x8C - PSK-AES128-CBC-SHA      SSLv3 Kx=PSK      Au=PSK  Enc=AES(128)  Mac=SHA1
+          0xC0,0x11 - ECDHE-RSA-RC4-SHA       SSLv3 Kx=ECDH     Au=RSA  Enc=RC4(128)  Mac=SHA1
+          0xC0,0x07 - ECDHE-ECDSA-RC4-SHA     SSLv3 Kx=ECDH     Au=ECDSA Enc=RC4(128)  Mac=SHA1
+          0xC0,0x16 - AECDH-RC4-SHA           SSLv3 Kx=ECDH     Au=None Enc=RC4(128)  Mac=SHA1
+          0x00,0x18 - ADH-RC4-MD5             SSLv3 Kx=DH       Au=None Enc=RC4(128)  Mac=MD5
+          0xC0,0x0C - ECDH-RSA-RC4-SHA        SSLv3 Kx=ECDH/RSA Au=ECDH Enc=RC4(128)  Mac=SHA1
+          0xC0,0x02 - ECDH-ECDSA-RC4-SHA      SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=RC4(128)  Mac=SHA1
+          0x00,0x05 - RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+          0x00,0x04 - RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
+          0x00,0x8A - PSK-RC4-SHA             SSLv3 Kx=PSK      Au=PSK  Enc=RC4(128)  Mac=SHA1
+          0x00,0x15 - EDH-RSA-DES-CBC-SHA     SSLv3 Kx=DH       Au=RSA  Enc=DES(56)   Mac=SHA1
+          0x00,0x12 - EDH-DSS-DES-CBC-SHA     SSLv3 Kx=DH       Au=DSS  Enc=DES(56)   Mac=SHA1
+          0x00,0x1A - ADH-DES-CBC-SHA         SSLv3 Kx=DH       Au=None Enc=DES(56)   Mac=SHA1
+          0x00,0x09 - DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1
+          0x00,0x14 - EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=RSA  Enc=DES(40)   Mac=SHA1 export
+          0x00,0x11 - EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=DSS  Enc=DES(40)   Mac=SHA1 export
+          0x00,0x19 - EXP-ADH-DES-CBC-SHA     SSLv3 Kx=DH(512)  Au=None Enc=DES(40)   Mac=SHA1 export
+          0x00,0x08 - EXP-DES-CBC-SHA         SSLv3 Kx=RSA(512) Au=RSA  Enc=DES(40)   Mac=SHA1 export
+          0x00,0x06 - EXP-RC2-CBC-MD5         SSLv3 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
+          0x00,0x17 - EXP-ADH-RC4-MD5         SSLv3 Kx=DH(512)  Au=None Enc=RC4(40)   Mac=MD5  export
+          0x00,0x03 - EXP-RC4-MD5             SSLv3 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
+          0xC0,0x10 - ECDHE-RSA-NULL-SHA      SSLv3 Kx=ECDH     Au=RSA  Enc=None      Mac=SHA1
+          0xC0,0x06 - ECDHE-ECDSA-NULL-SHA    SSLv3 Kx=ECDH     Au=ECDSA Enc=None      Mac=SHA1
+          0xC0,0x15 - AECDH-NULL-SHA          SSLv3 Kx=ECDH     Au=None Enc=None      Mac=SHA1
+          0xC0,0x0B - ECDH-RSA-NULL-SHA       SSLv3 Kx=ECDH/RSA Au=ECDH Enc=None      Mac=SHA1
+          0xC0,0x01 - ECDH-ECDSA-NULL-SHA     SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=None      Mac=SHA1
+          0x00,0x3B - NULL-SHA256             TLSv1.2 Kx=RSA      Au=RSA  Enc=None      Mac=SHA256
+          0x00,0x02 - NULL-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=SHA1
+          0x00,0x01 - NULL-MD5                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=MD5