slides/slides01.tex
changeset 98 3d585e603927
parent 97 efcac3016613
child 99 77125c0496e6
equal deleted inserted replaced
97:efcac3016613 98:3d585e603927
     1 \documentclass[dvipsnames,14pt,t, xelatex]{beamer}
     1 \documentclass[dvipsnames,14pt,t, xelatex]{beamer}
     2 \usepackage{beamerthemeplaincu}
     2 \usepackage{beamerthemeplaincu}
     3 \usepackage{fontenc,xltxtra,xunicode}
     3 \usepackage{fontenc,xltxtra,xunicode}
     4 \defaultfontfeatures{Mapping=tex-text}
     4 \defaultfontfeatures{Mapping=tex-text}
     5 \usepackage[latin1]{inputenc}
     5 %%\usepackage[latin1]{inputenc}
     6 \usepackage{mathpartir}
     6 \usepackage{mathpartir}
     7 \usepackage[absolute,overlay]{textpos}
     7 \usepackage[absolute,overlay]{textpos}
     8 \usepackage{ifthen}
     8 \usepackage{ifthen}
     9 \usepackage{tikz}
     9 \usepackage{tikz}
    10 \usepackage{pgf}
    10 \usepackage{pgf}
    11 \usepackage{calc} 
    11 \usepackage{calc} 
    12 \usepackage{ulem}
    12 \usepackage{ulem}
    13 \usepackage{courier}
    13 %%\usepackage{courier}
    14 \usepackage{listings}
    14 \usepackage{listings}
    15 \renewcommand{\uline}[1]{#1}
    15 \renewcommand{\uline}[1]{#1}
    16 \usetikzlibrary{arrows}
    16 \usetikzlibrary{arrows}
    17 \usetikzlibrary{automata}
    17 \usetikzlibrary{automata}
    18 \usetikzlibrary{shapes}
    18 \usetikzlibrary{shapes}
    25 \definecolor{javared}{rgb}{0.6,0,0} % for strings
    25 \definecolor{javared}{rgb}{0.6,0,0} % for strings
    26 \definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
    26 \definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
    27 \definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
    27 \definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
    28 \definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc
    28 \definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc
    29 
    29 
       
    30 \makeatletter
       
    31 \lst@CCPutMacro\lst@ProcessOther {"2D}{\lst@ttfamily{-{}}{-{}}}
       
    32 \@empty\z@\@empty
       
    33 \makeatother
       
    34 
    30 \lstset{language=Java,
    35 \lstset{language=Java,
    31 	basicstyle=\ttfamily,
    36 	basicstyle=\consolas,
    32 	keywordstyle=\color{javapurple}\bfseries,
    37 	keywordstyle=\color{javapurple}\bfseries,
    33 	stringstyle=\color{javagreen},
    38 	stringstyle=\color{javagreen},
    34 	commentstyle=\color{javagreen},
    39 	commentstyle=\color{javagreen},
    35 	morecomment=[s][\color{javadocblue}]{/**}{*/},
    40 	morecomment=[s][\color{javadocblue}]{/**}{*/},
    36 	numbers=left,
    41 	numbers=left,
    47     for,if,implicit,import,match,mixin,%
    52     for,if,implicit,import,match,mixin,%
    48     new,null,object,override,package,%
    53     new,null,object,override,package,%
    49     private,protected,requires,return,sealed,%
    54     private,protected,requires,return,sealed,%
    50     super,this,throw,trait,true,try,%
    55     super,this,throw,trait,true,try,%
    51     type,val,var,while,with,yield},
    56     type,val,var,while,with,yield},
    52   otherkeywords={=>,<-,<\%,<:,>:,\#,@},
    57   otherkeywords={=>,<-,<\%,<:,>:,\#,@,->},
    53   sensitive=true,
    58   sensitive=true,
    54   morecomment=[l]{//},
    59   morecomment=[l]{//},
    55   morecomment=[n]{/*}{*/},
    60   morecomment=[n]{/*}{*/},
    56   morestring=[b]",
    61   morestring=[b]",
    57   morestring=[b]',
    62   morestring=[b]',
    58   morestring=[b]"""
    63   morestring=[b]"""
    59 }
    64 }
    60 
    65 
    61 \lstset{language=Scala,
    66 \lstset{language=Scala,
    62 	basicstyle=\ttfamily,
    67 	basicstyle=\consolas,
    63 	keywordstyle=\color{javapurple}\bfseries,
    68 	keywordstyle=\color{javapurple}\bfseries,
    64 	stringstyle=\color{javagreen},
    69 	stringstyle=\color{javagreen},
    65 	commentstyle=\color{javagreen},
    70 	commentstyle=\color{javagreen},
    66 	morecomment=[s][\color{javadocblue}]{/**}{*/},
    71 	morecomment=[s][\color{javadocblue}]{/**}{*/},
    67 	numbers=left,
    72 	numbers=left,
    89 
    94 
    90   \begin{center}
    95   \begin{center}
    91   \includegraphics[scale=1.3]{pics/barrier.jpg}
    96   \includegraphics[scale=1.3]{pics/barrier.jpg}
    92   \end{center}
    97   \end{center}
    93 
    98 
       
    99 
    94 \normalsize
   100 \normalsize
    95   \begin{center}
   101   \begin{center}
    96   \begin{tabular}{ll}
   102   \begin{tabular}{ll}  
    97   Email:  & christian.urban at kcl.ac.uk\\
   103   Email:  & christian.urban at kcl.ac.uk\\
    98   Office: & S1.27 (1st floor Strand Building)\\
   104   Office: & S1.27 (1st floor Strand Building)\\
    99   Slides: & KEATS
   105   Slides: & KEATS
   100   \end{tabular}
   106   \end{tabular}
   101   \end{center}
   107   \end{center}
   243 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   249 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   244 
   250 
   245 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   251 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   246 \mode<presentation>{
   252 \mode<presentation>{
   247 \begin{frame}[c]
   253 \begin{frame}[c]
       
   254 \frametitle{\begin{tabular}{@ {}c@ {}}Breaking Things\end{tabular}}
       
   255 
       
   256 For example:
       
   257 
       
   258 \begin{center}
       
   259 \begin{tikzpicture}
       
   260 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
       
   261 {\normalsize\color{darkgray}
       
   262 \begin{minipage}{10cm}\raggedright\small
       
   263 Prof.~V.~Nasty gives the following final exam question (closed books, closed notes):\bigskip
       
   264 
       
   265 \noindent
       
   266 \begin{tabular}{@ {}l}
       
   267 Write the first 100 digits of pi:\\
       
   268 3.\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_
       
   269 \end{tabular}
       
   270 \end{minipage}};
       
   271 \end{tikzpicture}
       
   272 \end{center}
       
   273 
       
   274 How do you ``break'' this and how to defend against it?
       
   275 
       
   276 \end{frame}}
       
   277 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   278 
       
   279 
       
   280 
       
   281 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   282 \mode<presentation>{
       
   283 \begin{frame}[c]
   248 \frametitle{\begin{tabular}{@ {}c@ {}}Chip-and-PIN\end{tabular}}
   284 \frametitle{\begin{tabular}{@ {}c@ {}}Chip-and-PIN\end{tabular}}
   249 
   285 
   250 \begin{center}
   286 \begin{center}
   251 \includegraphics[scale=0.3]{pics/creditcard1.jpg}\;
   287 \includegraphics[scale=0.3]{pics/creditcard1.jpg}\;
   252 \includegraphics[scale=0.3]{pics/creditcard2.jpg}
   288 \includegraphics[scale=0.3]{pics/creditcard2.jpg}
   440 \includegraphics[scale=0.01]{pics/andersonbook1.jpg}\;
   476 \includegraphics[scale=0.01]{pics/andersonbook1.jpg}\;
   441 \includegraphics[scale=1.5]{pics/anderson.jpg}
   477 \includegraphics[scale=1.5]{pics/anderson.jpg}
   442 \end{flushright}
   478 \end{flushright}
   443 
   479 
   444 \begin{itemize}
   480 \begin{itemize}
   445 \item same group successfully attacked this year card readers and ATM machines
   481 \item same group successfully attacked in 2012 card readers and ATM machines
   446 \item the problem: several types of ATMs generate poor random numbers, which are used as nonces
   482 \item the problem: several types of ATMs generate poor random numbers, which are used as nonces
   447 \end{itemize}
   483 \end{itemize}
   448 
   484 
   449 \end{frame}}
   485 \end{frame}}
   450 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   486 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   451 
   487 
   452 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   488 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   453 \mode<presentation>{
   489 \mode<presentation>{
   454 \begin{frame}[c]
   490 \begin{frame}[c]
   455 \frametitle{\begin{tabular}{c}The Problem \ldots\end{tabular}}
   491 \frametitle{\begin{tabular}{c}The Real Problem \ldots\end{tabular}}
   456 
   492 
   457 
   493 
   458 \begin{textblock}{1}(3,4)
   494 \begin{textblock}{1}(3,4)
   459 \begin{tabular}{c}
   495 \begin{tabular}{c}
   460 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm]
   496 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm]
   518   \end{tikzpicture}
   554   \end{tikzpicture}
   519 \end{textblock}  
   555 \end{textblock}  
   520   
   556   
   521 \begin{textblock}{14}(1,13.5)
   557 \begin{textblock}{14}(1,13.5)
   522 \begin{itemize}
   558 \begin{itemize}
   523 \item the burden of proof for fraud and financial liability was shifted to the costumer
   559 \item the burden of proof for fraud and financial liability was shifted to the costumer (until approx.~2009/10)
   524 \end {itemize} 
   560 \end {itemize} 
   525 \end{textblock}
   561 \end{textblock}
   526   
   562   
   527 \end{frame}}
   563 \end{frame}}
   528 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   564 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   565 
       
   566 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   567 \mode<presentation>{
       
   568 \begin{frame}
       
   569 \frametitle{\begin{tabular}{@ {}c@ {}}The Bad Guy Again\end{tabular}}
       
   570 
       
   571 
       
   572 \only<1->{
       
   573 \begin{textblock}{1}(1,4)
       
   574 \begin{tikzpicture}
       
   575 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
       
   576 {\normalsize\color{darkgray}
       
   577 \begin{minipage}{11cm}\raggedright\footnotesize
       
   578 ``The Annonymous Hacker from earlier:\medskip\\
       
   579 Try to use `Verified-By-Visa' and `Mastercard-Securecode' as rarely as possible. If only your CVV2 code is getting sniffed, you are not liable for any damage, because the code is physically printed and could have been stolen while you payed with your card at a store. Same applies if someone cloned your CC reading the magnetic stripe or sniffing RFID. Only losing your VBV or MCSC password can cause serious trouble.''\\
       
   580 \hfill{}\textcolor{blue}{\url{goo.gl/UWluh0}}
       
   581 \end{minipage}};
       
   582 \end{tikzpicture}
       
   583 \end{textblock}}
       
   584 
       
   585 
       
   586 \end{frame}}
       
   587  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
   588 
       
   589 
   529 
   590 
   530 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   591 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   531 \mode<presentation>{
   592 \mode<presentation>{
   532 \begin{frame}[c]
   593 \begin{frame}[c]
   533 \frametitle{\begin{tabular}{c}Being Screwed Again\end{tabular}}
   594 \frametitle{\begin{tabular}{c}Being Screwed Again\end{tabular}}
   592 
   653 
   593 
   654 
   594 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   655 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   595 \mode<presentation>{
   656 \mode<presentation>{
   596 \begin{frame}[c]
   657 \begin{frame}[c]
       
   658 \frametitle{\begin{tabular}{c}Why Scala?\end{tabular}}
       
   659 
       
   660 \begin{textblock}{6}(1,3)
       
   661 \begin{tabular}{l}
       
   662 \mbox{}\hspace{-1mm}\includegraphics[scale=0.36]{pics/twitter.png}\\[-1mm]
       
   663 \includegraphics[scale=0.30]{pics/linked.png}\\
       
   664 \includegraphics[scale=0.30]{pics/guardian.jpg}\\[-3mm]
       
   665 \mbox{}\hspace{-2mm}\includegraphics[scale=0.38]{pics/morgan.png}\\[-3mm]
       
   666 \includegraphics[scale=0.30]{pics/suisse.png}\\
       
   667 \includegraphics[scale=0.20]{pics/edf.png}\\[-1mm]
       
   668 \includegraphics[scale=0.08]{pics/novell.png}\\[-1mm]
       
   669 \includegraphics[scale=0.30]{pics/foursquare.png}\\
       
   670 \includegraphics[scale=0.30]{pics/hsbc.png}\\
       
   671 {\large\bf ...}
       
   672 \end{tabular}
       
   673 \end{textblock}
       
   674  
       
   675 \only<2->{  
       
   676 \begin{textblock}{6}(6,3)
       
   677 \includegraphics[scale=0.35]{pics/jobgraph.png}\\
       
   678 \end{textblock}}  
       
   679   
       
   680 \only<3->{  
       
   681 \begin{textblock}{6}(7.3,9.2)
       
   682 \begin{tabular}{l}
       
   683 \footnotesize 2013: 1$\%$\\[-2mm]
       
   684 \footnotesize 2014: 3$\%$\\[-2mm]
       
   685 \footnotesize 2015: 9$\%$\\[-2mm]
       
   686 \footnotesize 2016: 27$\%$\\[-2mm]
       
   687 \footnotesize 2017: 81$\%$\\[-2mm]
       
   688 \footnotesize 2018: 243$\%$ \raisebox{-1mm}{\includegraphics[scale=0.02]{pics/smiley.jpg}}
       
   689 \end{tabular}
       
   690 \end{textblock}} 
       
   691   
       
   692 \only<3->{  
       
   693 \begin{textblock}{6}(6,9.5)
       
   694 \footnotesize 5 yrs $\begin{cases}\mbox{}\\[1.4cm]\end{cases}$
       
   695 \end{textblock}}
       
   696 
       
   697 \only<4->{  
       
   698 \begin{textblock}{11}(5,14.1)
       
   699 \textcolor{gray}{
       
   700 \footnotesize {\bf in London today:} 1 Scala job for every 30 Java jobs;\\[-2mm]
       
   701 Scala programmers seem to get up to 20\% better salary}
       
   702 \end{textblock}}
       
   703 
       
   704 
       
   705 \only<5->{
       
   706 \begin{textblock}{1}(3,6)
       
   707 \begin{tikzpicture}
       
   708 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
       
   709 {\normalsize\color{darkgray}
       
   710 \begin{minipage}{8.5cm}\raggedright\normalsize
       
   711 Scala is a functional and object-oriented programming language; compiles to the JVM; does not 
       
   712 need null-pointer exceptions; a course on Coursera\\
       
   713 \mbox{}\hfill\textcolor{blue}{\url{http://www.scala-lang.org}}
       
   714 \end{minipage}};
       
   715 \end{tikzpicture}
       
   716 \end{textblock}}
       
   717 
       
   718   
       
   719 \end{frame}}
       
   720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   721 
       
   722 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   723 \mode<presentation>{
       
   724 \begin{frame}[c]
   597 \frametitle{\begin{tabular}{c}Scala + Play\end{tabular}}
   725 \frametitle{\begin{tabular}{c}Scala + Play\end{tabular}}
   598 
   726 
   599 \footnotesize a simple response from the server:
   727 \small a simple response from the server:
       
   728 
   600 
   729 
   601 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   730 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   602 \texttt{\lstinputlisting{../progs/app0.scala}}}\bigskip
   731 \texttt{\lstinputlisting{../progs/app0.scala}}}\bigskip
   603 
   732 
   604 \footnotesize
   733 \small
   605 alternative response:\\
   734 alternative response:\\
   606 
   735 
   607 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   736 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   608 \texttt{\lstinline{Ok("<H1>Hello world!</H1>").as(HTML)}}}
   737 \texttt{\lstinline{Ok("<H1>Hello world!</H1>").as(HTML)}}}
   609 \end{frame}}
   738 \end{frame}}
   610 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   739 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   740 
       
   741 
   611 
   742 
   612 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   743 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   613 \mode<presentation>{
   744 \mode<presentation>{
   614 \begin{frame}[c]
   745 \begin{frame}[c]
   615 
   746 
   676 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
   807 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
   677 {\normalsize\color{darkgray}
   808 {\normalsize\color{darkgray}
   678 \begin{minipage}{10cm}\raggedright\small
   809 \begin{minipage}{10cm}\raggedright\small
   679 {\bf EU Privacy Directive about Cookies:}\smallskip\\
   810 {\bf EU Privacy Directive about Cookies:}\smallskip\\
   680 ``In May 2011, a European Union law was passed stating that websites that leave non-essential cookies on visitors' devices have to alert the visitor and get acceptance from them. This law applies to both individuals and businesses based in the EU regardless of the nationality of their website's visitors or the location of their web host. It is not enough to simply update a website's terms and conditions or privacy policy. The deadline to comply with the new EU cookie law was 26th May 2012 and failure to do so could mean a fine of up to \pounds{}500,000.''
   811 ``In May 2011, a European Union law was passed stating that websites that leave non-essential cookies on visitors' devices have to alert the visitor and get acceptance from them. This law applies to both individuals and businesses based in the EU regardless of the nationality of their website's visitors or the location of their web host. It is not enough to simply update a website's terms and conditions or privacy policy. The deadline to comply with the new EU cookie law was 26th May 2012 and failure to do so could mean a fine of up to \pounds{}500,000.''
   681 \hfill\small\textcolor{gray}{$\rightarrow$BBC News}
   812 \hfill\small\textcolor{gray}{$\rightarrow$BBC News}, \textcolor{blue}{\url{goo.gl/RI4qhh}}
   682 \end{minipage}};
   813 \end{minipage}};
   683 \end{tikzpicture}
   814 \end{tikzpicture}
   684 \end{textblock}}
   815 \end{textblock}}
   685   
   816   
   686 \end{frame}}
   817 \end{frame}}
   842   
   973   
   843 \begin{itemize}
   974 \begin{itemize}
   844 \item SHA-1 is a cryptographic hash function\\
   975 \item SHA-1 is a cryptographic hash function\\
   845 (MD5, SHA-256, SHA-512, \ldots) 
   976 (MD5, SHA-256, SHA-512, \ldots) 
   846 \item message $\rightarrow$ digest
   977 \item message $\rightarrow$ digest
   847 \item no known attack exists, except brute force\bigskip\pause
   978 \item attack exists $2^{80} \rightarrow 2^{61}$ \bigskip\pause
   848 \item but dictionary attacks are very ef$\!$fective for extracting passwords (later)
   979 \item but dictionary attacks are very ef$\!$fective for extracting passwords (later)
   849 \end{itemize}  
   980 \end{itemize}  
   850   
   981   
   851 \end{frame}}
   982 \end{frame}}
   852 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   983 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   867   \draw[red, <-, line width = 2mm] (X) -- (Y);
   998   \draw[red, <-, line width = 2mm] (X) -- (Y);
   868   \node [inner sep=5pt,label=above:\textcolor{black}{\small should be random}] at ($ (X)!.5!(Y) $) {};
   999   \node [inner sep=5pt,label=above:\textcolor{black}{\small should be random}] at ($ (X)!.5!(Y) $) {};
   869   \end{tikzpicture}
  1000   \end{tikzpicture}
   870 \end{textblock}
  1001 \end{textblock}
   871 
  1002 
   872 \begin{textblock}{1}(6.6,4.9)
  1003 \begin{textblock}{1}(6.6,5.1)
   873   \begin{tikzpicture}[scale=1.3]
  1004   \begin{tikzpicture}[scale=1.3]
   874   \draw[white] (0,0) node (X) {};
  1005   \draw[white] (0,0) node (X) {};
   875   \draw[white] (1,-1) node (Y) {};
  1006   \draw[white] (1,-1) node (Y) {};
   876   \draw[red, <-, line width = 2mm] (X) -- (Y);
  1007   \draw[red, <-, line width = 2mm] (X) -- (Y);
   877   \node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {};
  1008   \node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {};