From 4293725efc40365693784423dd98ccd914f92adc Mon Sep 17 00:00:00 2001 From: Simon Levermann Date: Tue, 18 Feb 2014 13:53:10 +0100 Subject: [PATCH] Initial import of slides --- .gitignore | 1 + logo_large.png | Bin 0 -> 18894 bytes mybeamer.cls | 177 ++++++++++++++++++++++++++++++++++++++++++++++++ tox.tex | 178 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 356 insertions(+) create mode 100644 logo_large.png create mode 100644 mybeamer.cls create mode 100644 tox.tex diff --git a/.gitignore b/.gitignore index bbaaa01..a881d82 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ *.vrb *.xdy *.tdo +tox.pdf diff --git a/logo_large.png b/logo_large.png new file mode 100644 index 0000000000000000000000000000000000000000..bd27a17af91baf768c0ac8c70bd3ac9adb8eabb6 GIT binary patch literal 18894 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 S0zMo3x~Z(Cl&@g<=zjs2Tf060 literal 0 HcmV?d00001 diff --git a/mybeamer.cls b/mybeamer.cls new file mode 100644 index 0000000..a8a5c69 --- /dev/null +++ b/mybeamer.cls @@ -0,0 +1,177 @@ +\ProvidesClass{mybeamer} +\LoadClass[hyperref={pdfpagelabels=true},compress]{beamer} + +\usepackage[utf8]{inputenc} +\usepackage[ngerman]{varioref} +\usepackage[ngerman]{babel} +\usepackage{ngerman} +\usepackage{ifthen} + +\usepackage[labelformat=empty]{caption} + +\usepackage{listings} +\usepackage{MnSymbol} % Icons for Listing +\definecolor{mygreen}{rgb}{0,0.6,0} +\definecolor{mygray}{rgb}{0.5,0.5,0.5} +\definecolor{mymauve}{rgb}{0.58,0,0.82} +\usepackage{xcolor} +\definecolor{toxred}{HTML}{FE0000} +\definecolor{toxblue}{HTML}{0033FF} +\definecolor{tox_grey}{RGB}{127,127,127} +\definecolor{tox_lightgrey}{RGB}{220,220,220} +\definecolor{tox_xlightgrey}{RGB}{240,240,240} + +\lstset{ % + backgroundcolor=\color{tox_xlightgrey}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor} + basicstyle=\scriptsize, % the size of the fonts that are used for the code + breakatwhitespace=true, % sets if automatic breaks should only happen at whitespace + breaklines=true, % sets automatic line breaking + captionpos=b, % sets the caption-position to bottom + commentstyle=\color{mygreen}, % comment style + deletekeywords={...}, % if you want to delete keywords from the given language + escapeinside={\%*}{*)}, % if you want to add LaTeX within your code + extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8 + keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible) + keywordstyle=\color{blue}, % keyword style + language=Java, % the language of the code + morekeywords={*,...}, % if you want to add more keywords to the set + numbers=none, % where to put the line-numbers; possible values are (none, left, right) + numbersep=5pt, % how far the line-numbers are from the code + numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers + rulecolor=\color{white}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here)) + showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces' + showstringspaces=false, % underline spaces within strings only + showtabs=true, % show tabs within strings adding particular underscores + stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered + stringstyle=\color{mymauve}, % string literal style + tabsize=2, % sets default tabsize to 2 spaces + title=\lstname, % show the filename of files included with \lstinputlisting; also try caption instead of title + prebreak=\raisebox{0ex}[0ex][0ex] + {\ensuremath{\rhookswarrow}}, + %postbreak=\raisebox{0ex}[0ex][0ex] + % {\ensuremath{\rcurvearrowse\space}}, + literate=% +{Ö}{{\"O}}1 +{Ä}{{\"A}}1 +{Ü}{{\"U}}1 +{ß}{{\ss}}2 +{ü}{{\"u}}1 +{ä}{{\"a}}1 +{ö}{{\"o}}1 +} + + + +\beamersetuncovermixins{\opaqueness<1>{25}}{\opaqueness<1->{15}} +\beamertemplatetransparentcovereddynamicmedium +\setbeamertemplate{caption}[numbered] + +\usenavigationsymbolstemplate{} +\usepackage{beamerthemeBerlin} +\usecolortheme{dove} +\useoutertheme{miniframes} + +% Bullets +\setbeamercolor{block title}{fg=toxblue,bg=tox_lightgrey} +\setbeamercolor{block body}{fg=black, bg=tox_xlightgrey} +\setbeamercolor{titlelike}{fg=toxblue, bg=white} +\setbeamercolor{mini frame}{fg=toxblue, bg=tox_grey} +\setbeamercolor{section title}{fg=toxblue, bg=tox_grey} + +\setbeamercolor{section in head/foot}{fg=toxblue} +%\setbeamercolor{date}{fg=white} +\setbeamercolor*{normal text}{fg=black,bg=white} +\setbeamercolor*{alerted text}{fg=black} +\setbeamercolor*{example text}{fg=black} +\setbeamercolor*{structure}{fg=black} +\setbeamercolor{navigation symbols}{fg=toxred} +\setbeamercolor{navigation symbols}{fg=toxred} + +\setbeamertemplate{itemize item}{\color{toxblue}$\blacksquare$} +\setbeamertemplate{itemize subitem}{\color{toxblue}$\blacktriangleright$} + +\providecommand\insertframetitle{} +\defbeamertemplate*{headline}{myFooter}{\insertframetitle} + + +\setbeamertemplate{headline}{ + \begin{picture}(0,0) + \color{toxblue}{ + % 1px spacing + \put(0.1,-3.835){\line(1,0){400}} + + % Logo + \put(310, 0){\includegraphics[scale=0.15]{logo_large.png}} + + % Sectiontitle + \put(10,5){\color{tox_lightgrey}{ + \normalsize \textbf{\insertframetitle} + } + } + \put(9.4,5.5){\color{tox_grey}{ + \normalsize \textbf{\insertframetitle} + } + } + + } + \end{picture} + \begin{beamercolorbox}[wd=.850005\paperwidth, ht=9ex, dp=1ex, left]{} + \hspace{2mm} + \vspace{1.5mm} + \end{beamercolorbox} + \hfill +} + +\newcommand{\setfooterfull}[1]{ + \setbeamertemplate{footline}{ + + % On Agenda (TOC)-Page no sections + \ifthenelse{\equal{#1}{true}}{}{ + \setbeamercolor{mini frame}{fg=white, bg=white} + \setbeamercolor{section in head/foot}{fg=white, bg=white} + } + + \vskip-100pt + \insertnavigation{0.985\paperwidth}{}{} + \begin{picture}(0,0) + \put(-1,9.6){\color{toxblue}{\line(1,0){2000}}} + \end{picture} + \leavevmode + \hbox{% + \begin{beamercolorbox}[wd=0.25\paperwidth,ht=4ex,dp=1ex,left]{} + \color{tox_grey}{ + \usebeamerfont{author in head/foot}\hspace{2mm}\insertdate + \vspace{0.5mm} + } + \end{beamercolorbox} + + + \begin{beamercolorbox}[wd=0.500003\paperwidth,ht=4ex,dp=1ex,center]{} + \color{tox_grey}{ + \usebeamerfont{author in head/foot}\hspace{2mm} \insertshortauthor: \insertshorttitle \hspace{2mm} + \vspace{0.5mm} + } + \end{beamercolorbox} + + \begin{beamercolorbox}[wd=0.25\paperwidth,ht=4ex,dp=1ex,right]{} + \color{tox_grey}{ + \usebeamerfont{author in head/foot} \insertframenumber/\inserttotalframenumber \hspace{5mm} + \vspace{0.5mm} + } + \end{beamercolorbox} + } + } +} + +\newcommand{\setfooterempty}{ + + \setbeamertemplate{footline}{ + \begin{picture} + (0,0) + \put(-1,12.3){\color{toxblue}{\line(1,0){2000}}} + \end{picture} + } +} + +\setbeamertemplate{frametitle}{} +\setbeamercovered{transparent} \ No newline at end of file diff --git a/tox.tex b/tox.tex new file mode 100644 index 0000000..dd82c90 --- /dev/null +++ b/tox.tex @@ -0,0 +1,178 @@ +\documentclass{mybeamer} +\usepackage{tabularx} +\usepackage{tikz} +\usepackage{ulem} + +% Set title, date, etc. +\title{Tox} +\subtitle{Messaging on the GNU Internet} +\author{Simon Levermann (sonOfRa)} +\institute{The Tox Team} +\date{28/12/2013} + + +\begin{document} + \setfooterempty + \begin{frame} + \titlepage + \end{frame} + + \setfooterfull{false} + \setcounter{framenumber}{0} + \begin{frame} + \frametitle{Outline} + \tableofcontents + \end{frame} + + \setfooterfull{true} + \section{What is Tox?} + \begin{frame} + \frametitle{The what} + \begin{block}{What is Tox?} + \begin{itemize} + \item FOSS Chat and A/V-Chat protocol (GPLv3) + \item Decentralized architecture + \item Configuration free + \item Skype Replacement + \end{itemize} + \end{block} + \end{frame} + + \section{Why are we doing it?} + \begin{frame} + \frametitle{The why} + \begin{block}{Why are we doing this?} + \begin{itemize} + \item We want a free(as in Freedom) and secure alternative for Skype + \item \textit{''We don't want to be the next secure chatting program, we want to be the next secure chatting program that people actually use.''} - Someone on IRC + \item Current secure chat programs aren't easy to use, at least not for \sout{our parents and grandparents} normal people + \end{itemize} + \end{block} + \end{frame} + + \section{Features} + \subsection{} + \begin{frame} + \frametitle{Completed} + \begin{block}{Completed} + \begin{itemize} + \item Text messaging + \item Groupchats + \item File sending + \item Audio/Video (will be encrypted soon, almost ready to merge as of 23/12/2013) + \item Several clients for GNU/Linux, OSX and Windows, Qt, GTK, ncurses + \item PyTox, the Python binding for Tox + \end{itemize} + \end{block} + \end{frame} + \subsection{} + \begin{frame} + \frametitle{Planned and in Progress} + \begin{block}{Planned and in Progress} + \begin{itemize} + \item Better NAT support (sometimes symmetric NATs are problematic) + \item Implement A/V in actual clients, not just as an API + \item jToxcore, the Java binding for Tox + \item Android client (depends on jToxcore) + \end{itemize} + \end{block} + \end{frame} + \section{The technical stuff} + + \subsection{} + \begin{frame} + \frametitle{Architecture} + \begin{block}{Architecture} + \begin{itemize} + \item Tox is only a library, everyone can make their own client + \item GPLv3, so clients must also be licensed under the GPL + \item Bindings to other languages are partially available (or you can make one yourself) + \end{itemize} + \end{block} + \end{frame} + \subsection{} + \begin{frame} + \frametitle{Crypto} + \begin{block}{Cryptography} + \begin{itemize} + \item We are building upon existing cryptography, not inventing our own + \item We use libsodium, which is a portable fork of NaCl(Salt) + \item Public/Private-Key based, public keys are UserIDs + \item crypto\_box: \textit{curve25519xsalsa20poly1305} + \begin{itemize} + \item curve25519 for Key exchange + \item xsalsa20 for encryption + \item poly1305 for message authentication + \end{itemize} + + \end{itemize} + \end{block} + \end{frame} + + \subsection{} + \begin{frame} + \frametitle{Network} + \begin{block}{Network Architecture} + \begin{itemize} + \item Peer-to-Peer chatting, no central servers + \item Use UDP for connections + \begin{itemize} + \item UDP was the obvious choice for P2P + \item 'Lossless UDP' for reliability in messaging + \item UDP hole-punching for getting through NATs + \end{itemize} + \end{itemize} + \end{block} + \end{frame} + \begin{frame} + \frametitle{DHT} + \begin{block}{DHT Design} + \begin{itemize} + \item Use a DHT to store peer information + \item Since public keys are IDs, map a public key to an IP-Address + \item Every client stores the mathematically closest nodes by XORing public keys + \item Since there are no trackers like in Bittorrent, use Bootstrap nodes for initial login + \item Bootstrap nodes are clients that don't do messaging, only DHT work, but any client can serve as a bootstrap node + \end{itemize} + \end{block} + \end{frame} + + \subsection{} + \begin{frame} + \frametitle{Problems} + \begin{block}{Problems} + \begin{itemize} + \item An attacker that controls a large portion of DHT nodes can easily log the social graph (solution is on the way, draft not done at time of writing) + \item Friend request spam (solved) + \end{itemize} + \end{block} + \begin{block}{Solution?} + \begin{itemize} + \item \url{https://github.com/irungentoo/ProjectTox-Core/blob/master/docs/Prevent_Tracking.txt} + \item Problem: This is new, I have not read it yet! + \end{itemize} + \end{block} + \end{frame} + + \section{Contribute} + \subsection{} + \begin{frame} + \frametitle{GitHub} + \begin{block}{GitHub} + \begin{itemize} + \item We're on GitHub! + \item The core is at \url{https://github.com/irungentoo/ProjectTox-Core/} + \item The subprojects are hosted in the Tox Organization at \url{https://github.com/Tox/} + \end{itemize} + \end{block} + \end{frame} + + \subsection{} + \begin{frame} + \frametitle{Questions?} + \begin{block}{Getting in touch} + Most of our communication happens in the channels \#tox-dev and \#tox on Freenode IRC + \end{block} + \end{frame} + +\end{document}