slides07.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Tue, 20 Nov 2012 14:06:09 +0000
changeset 80 807393d1efff
parent 71 6ebdaef3e4f1
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
\documentclass[dvipsnames,14pt,t]{beamer}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
\usepackage{proof}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
\usepackage{beamerthemeplainculight}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
\usepackage[T1]{fontenc}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
\usepackage[latin1]{inputenc}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
\usepackage{mathpartir}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
\usepackage{isabelle}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
\usepackage{isabellesym}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
\usepackage[absolute,overlay]{textpos}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
\usepackage{ifthen}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
\usepackage{tikz}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
\usepackage{courier}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
\usepackage{listings}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
\usetikzlibrary{arrows}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
\usetikzlibrary{positioning}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
\usetikzlibrary{calc}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
\usepackage{graphicx} 
66
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
    18
\usetikzlibrary{shapes}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
    19
\usetikzlibrary{shadows}
67
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
    20
\usetikzlibrary{plotmarks}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
    21
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
\isabellestyle{rm}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
\renewcommand{\isastyle}{\rm}%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
\renewcommand{\isastyleminor}{\rm}%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
\renewcommand{\isastylescript}{\footnotesize\rm\slshape}%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
\renewcommand{\isatagproof}{}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
\renewcommand{\endisatagproof}{}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
\renewcommand{\isamarkupcmt}[1]{#1}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
% Isabelle characters
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
\renewcommand{\isacharunderscore}{\_}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
\renewcommand{\isacharbar}{\isamath{\mid}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
\renewcommand{\isasymiota}{}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
\renewcommand{\isacharbraceleft}{\{}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
\renewcommand{\isacharbraceright}{\}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
\renewcommand{\isacharless}{$\langle$}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
\renewcommand{\isachargreater}{$\rangle$}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
\renewcommand{\isasymsharp}{\isamath{\#}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    40
\renewcommand{\isasymdots}{\isamath{...}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
\renewcommand{\isasymbullet}{\act}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
\definecolor{javared}{rgb}{0.6,0,0} % for strings
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
\definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
\definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
\definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
\lstset{language=Java,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
	basicstyle=\ttfamily,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
	keywordstyle=\color{javapurple}\bfseries,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    53
	stringstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
	commentstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    55
	morecomment=[s][\color{javadocblue}]{/**}{*/},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    56
	numbers=left,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
	numberstyle=\tiny\color{black},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    58
	stepnumber=1,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    59
	numbersep=10pt,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    60
	tabsize=2,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
	showspaces=false,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
	showstringspaces=false}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
\lstdefinelanguage{scala}{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
  morekeywords={abstract,case,catch,class,def,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
    do,else,extends,false,final,finally,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
    for,if,implicit,import,match,mixin,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
    new,null,object,override,package,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
    private,protected,requires,return,sealed,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    70
    super,this,throw,trait,true,try,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
    type,val,var,while,with,yield},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    72
  otherkeywords={=>,<-,<\%,<:,>:,\#,@},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    73
  sensitive=true,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    74
  morecomment=[l]{//},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    75
  morecomment=[n]{/*}{*/},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    76
  morestring=[b]",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    77
  morestring=[b]',
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    78
  morestring=[b]"""
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    79
}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    81
\lstset{language=Scala,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    82
	basicstyle=\ttfamily,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    83
	keywordstyle=\color{javapurple}\bfseries,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    84
	stringstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    85
	commentstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    86
	morecomment=[s][\color{javadocblue}]{/**}{*/},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    87
	numbers=left,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    88
	numberstyle=\tiny\color{black},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    89
	stepnumber=1,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    90
	numbersep=10pt,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    91
	tabsize=2,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    92
	showspaces=false,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    93
	showstringspaces=false}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    94
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    95
% beamer stuff 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    96
\renewcommand{\slidecaption}{APP 07, King's College London, 13 November 2012}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    97
\newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% for definitions
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    98
\newcommand{\bl}[1]{\textcolor{blue}{#1}}
67
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
    99
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   100
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   101
% The data files, written on the first run.
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   102
\begin{filecontents}{re-python.data}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   103
1 0.029
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   104
5 0.029
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   105
10 0.029
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   106
15 0.032
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   107
16 0.042
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   108
17 0.042
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   109
18 0.055
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   110
19 0.084
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   111
20 0.136
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   112
21 0.248
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   113
22 0.464
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   114
23 0.899
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   115
24 1.773
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   116
25 3.505
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   117
26 6.993
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   118
27 14.503
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   119
28 29.307
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   120
#29 58.886
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   121
\end{filecontents}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   122
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   123
\begin{filecontents}{re1.data}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   124
1 0.00179
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   125
2 0.00011
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   126
3 0.00014
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   127
4 0.00026
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   128
5 0.00050
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   129
6 0.00095
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   130
7 0.00190
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   131
8 0.00287
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   132
9 0.00779
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   133
10 0.01399
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   134
11 0.01894
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   135
12 0.03666
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   136
13 0.07994
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   137
14 0.08944
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   138
15 0.02377
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   139
16 0.07392
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   140
17 0.22798
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   141
18 0.65310
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   142
19 2.11360
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   143
20 6.31606
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   144
21 21.46013
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   145
\end{filecontents}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   146
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   147
\begin{filecontents}{re2.data}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   148
1  0.00240
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   149
2  0.00013
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   150
3  0.00020
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   151
4  0.00030
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   152
5  0.00049
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   153
6  0.00083
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   154
7  0.00146
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   155
8  0.00228
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   156
9  0.00351
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   157
10  0.00640
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   158
11  0.01217
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   159
12  0.02565
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   160
13  0.01382
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   161
14  0.02423
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   162
15  0.05065 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   163
16  0.06522
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   164
17  0.02140
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   165
18  0.05176
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   166
19  0.18254
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   167
20  0.51898
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   168
21  1.39631
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   169
22  2.69501
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   170
23  8.07952
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   171
\end{filecontents}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   172
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   173
\begin{filecontents}{re-internal.data}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   174
1 0.00069
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   175
301 0.00700
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   176
601 0.00297
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   177
901 0.00470
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   178
1201 0.01301
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   179
1501 0.01175
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   180
1801 0.01761
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   181
2101 0.01787
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   182
2401 0.02717
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   183
2701 0.03932
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   184
3001 0.03470
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   185
3301 0.04349
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   186
3601 0.05411
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   187
3901 0.06181
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   188
4201 0.07119
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   189
4501 0.08578
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   190
\end{filecontents}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   191
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   192
\begin{filecontents}{re3.data}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   193
1 0.001605
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   194
501 0.131066
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   195
1001 0.057885
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   196
1501 0.136875
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   197
2001 0.176238
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   198
2501 0.254363
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   199
3001 0.37262
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   200
3501 0.500946
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   201
4001 0.638384
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   202
4501 0.816605
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   203
5001 1.00491
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   204
5501 1.232505
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   205
6001 1.525672
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   206
6501 1.757502
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   207
7001 2.092784
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   208
7501 2.429224
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   209
8001 2.803037
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   210
8501 3.463045
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   211
9001 3.609
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   212
9501 4.081504
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   213
10001 4.54569
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   214
\end{filecontents}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   215
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   216
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   217
\begin{document}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   218
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   219
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   220
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   221
\begin{frame}<1>[t]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   222
\frametitle{%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   223
  \begin{tabular}{@ {}c@ {}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   224
  \\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   225
  \LARGE Access Control and \\[-3mm] 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   226
  \LARGE Privacy Policies (7)\\[-6mm] 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   227
  \end{tabular}}\bigskip\bigskip\bigskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   228
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   229
  %\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   230
  %\includegraphics[scale=1.3]{pics/barrier.jpg}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   231
  %\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   232
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   233
\normalsize
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   234
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   235
  \begin{tabular}{ll}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   236
  Email:  & christian.urban at kcl.ac.uk\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   237
  Of$\!$fice: & S1.27 (1st floor Strand Building)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   238
  Slides: & KEATS (also homework is there)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   239
  \end{tabular}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   240
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   241
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   242
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   243
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   244
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   245
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   246
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   247
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   248
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   249
\frametitle{Judgements}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   250
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   251
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   252
\begin{tikzpicture}[scale=1]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   253
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   254
  \draw (0.0,0.0) node {\LARGE \bl{$\Gamma \vdash F$}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   255
  \onslide<2->{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   256
  \draw (-1,-0.3) node (X) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   257
  \draw (-2.0,-2.0) node (Y) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   258
  \draw (0.7,-3) node {\begin{tabular}{l}Gamma\\stands for a collection of formulas\\(``assumptions'')\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   259
  \draw[red, ->, line width = 2mm] (Y) -- (X);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   260
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   261
  \draw (1.2,-0.1) node (X1) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   262
  \draw (2.8,-0.1) node (Y1) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   263
  \draw (4.5,-0.1) node {\begin{tabular}{l}a single formula\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   264
  \draw[red, ->, line width = 2mm] (Y1) -- (X1);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   265
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   266
  \draw (-0.1,0.1) node (X2) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   267
  \draw (0.5,1.5) node (Y2) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   268
  \draw (1,1.8) node {\begin{tabular}{l}entails sign\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   269
  \draw[red, ->, line width = 2mm] (Y2) -- (X2);}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   270
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   271
  \end{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   272
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   273
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   274
\pause\pause
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   275
\footnotesize Gimel (Phoenician), Gamma (Greek), C and G (Latin), Gim (Arabic),\\[-2mm] ?? (Indian), Ge (Cyrillic) 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   276
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   277
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   278
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   279
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   280
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   281
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   282
\frametitle{Inference Rules}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   283
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   284
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   285
\begin{tikzpicture}[scale=1]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   286
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   287
  \draw (0.0,0.0) node 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   288
  {\Large\bl{\infer{\Gamma \vdash F_1 \wedge F_2}{\Gamma \vdash F_1 & \Gamma \vdash F_2}}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   289
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   290
  \draw (-0.1,-0.7) node (X) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   291
  \draw (-0.1,-1.9) node (Y) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   292
  \draw (-0.2,-2) node {\begin{tabular}{l}conclusion\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   293
  \draw[red, ->, line width = 2mm] (Y) -- (X);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   294
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   295
  \draw (-1,0.6) node (X2) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   296
  \draw (0.0,1.6) node (Y2) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   297
  \draw (0,1.8) node {\begin{tabular}{l}premisses\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   298
  \draw[red, ->, line width = 2mm] (Y2) -- (X2);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   299
   \draw (1,0.6) node (X3) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   300
  \draw (0.0,1.6) node (Y3) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   301
  \draw[red, ->, line width = 2mm] (Y3) -- (X3);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   302
  \end{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   303
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   304
66
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   305
\only<2>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   306
\begin{textblock}{11}(1,13)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   307
\small
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   308
\bl{$P \,\text{says}\, F \vdash Q\,\text{says}\, F\wedge P \,\text{says}\, G $}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   309
\end{textblock}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   310
\only<3>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   311
\begin{textblock}{11}(1,13)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   312
\small
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   313
\bl{$\underbrace{P \,\text{says}\, F}_{\Gamma} \vdash \underbrace{Q\,\text{says}\, F}_{F_1} \,\wedge
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   314
        \underbrace{P \,\text{says}\, G}_{F_2} $}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   315
\end{textblock}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   316
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   317
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   318
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   319
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   320
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   321
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   322
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   323
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   324
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   325
\Large
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   326
\bl{\infer{\Gamma \vdash F_2}{\Gamma \vdash F_1\Rightarrow F_2 & \Gamma \vdash F_1}}\bigskip\bigskip\bigskip
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   327
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   328
\bl{\infer{\Gamma\vdash P\,\text{says}\, F}{\Gamma \vdash F}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   329
\end{center}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   330
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   331
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   332
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   333
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   334
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   335
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   336
\mode<presentation>{
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   337
\begin{frame}[t]
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   338
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   339
We want to prove
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   340
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   341
\begin{center}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   342
\bl{$\Gamma \vdash \text{del\_file}$}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   343
\end{center}\pause
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   344
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   345
There is an inference rule
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   346
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   347
\begin{center}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   348
\bl{\infer{\Gamma \vdash P \,\text{says}\, F}{\Gamma \vdash F}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   349
\end{center}\pause
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   350
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   351
So we can derive \bl{$\Gamma \vdash \text{Alice} \,\text{says}\,\text{del\_file}$}.\bigskip\pause
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   352
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   353
\bl{$\Gamma$} contains already \bl{$\text{Alice} \,\text{says}\,\text{del\_file}$}. \\
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   354
So we can use the rule
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   355
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   356
\begin{center}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   357
\bl{\infer{\Gamma, F \vdash F}{}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   358
\end{center}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   359
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   360
\onslide<5>{\bf\alert{What is wrong with this?}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   361
\hfill{\bf Done. Qed.}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   362
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   363
\end{frame}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   364
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   365
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   366
66
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   367
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   368
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   369
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   370
\frametitle{Digression: Proofs in CS}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   371
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   372
Formal proofs in CS sound like science fiction? Completely irrelevant!
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   373
Lecturers gone mad!\pause
66
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   374
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   375
\begin{itemize}
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   376
\item in 2008, verification of a small C-compiler
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   377
\begin{itemize}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   378
\item ``if my input program has a certain behaviour, then the compiled machine code has the same behaviour''
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   379
\item is as good as \texttt{gcc -O1}, but less buggy 
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   380
\end{itemize}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   381
\medskip 
66
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   382
\item in 2010, verification of a micro-kernel operating system (approximately 8700 loc)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   383
\begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   384
\item 200k loc of proof
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   385
\item 25 - 30 person years
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   386
\item found 160 bugs in the C code (144 by the proof)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   387
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   388
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   389
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   390
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   391
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   392
66
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   393
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   394
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   395
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   396
  \frametitle{}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   397
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   398
  \begin{tabular}{c@ {\hspace{2mm}}c}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   399
  \\[6mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   400
  \begin{tabular}{c}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   401
  \includegraphics[scale=0.11]{harper.jpg}\\[-2mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   402
  {\footnotesize Bob Harper}\\[-2.5mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   403
  {\footnotesize (CMU)}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   404
  \end{tabular}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   405
  \begin{tabular}{c}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   406
  \includegraphics[scale=0.37]{pfenning.jpg}\\[-2mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   407
  {\footnotesize Frank Pfenning}\\[-2.5mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   408
  {\footnotesize (CMU)}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   409
  \end{tabular} &
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   410
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   411
  \begin{tabular}{p{6cm}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   412
  \raggedright
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   413
  \color{gray}{published a proof about a specification in a journal (2005),
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   414
  $\sim$31pages}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   415
  \end{tabular}\\
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   416
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   417
  \pause
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   418
  \\[0mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   419
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   420
  \begin{tabular}{c}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   421
  \includegraphics[scale=0.36]{appel.jpg}\\[-2mm] 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   422
  {\footnotesize Andrew Appel}\\[-2.5mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   423
  {\footnotesize (Princeton)}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   424
  \end{tabular} &
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   425
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   426
  \begin{tabular}{p{6cm}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   427
  \raggedright
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   428
  \color{gray}{relied on their proof in a\\ {\bf security} critical application}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   429
  \end{tabular}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   430
  \end{tabular}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   431
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   432
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   433
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   434
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   435
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   436
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   437
  \begin{frame}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   438
  \frametitle{Proof-Carrying Code}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   439
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   440
  \begin{textblock}{10}(2.5,2.2)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   441
  \begin{block}{Idea:}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   442
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   443
  \begin{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   444
  \draw[help lines,cream] (0,0.2) grid (8,4);
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   445
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   446
  \draw[line width=1mm, red] (5.5,0.6) rectangle (7.5,4);
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   447
  \node[anchor=base] at (6.5,2.8) 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   448
     {\small\begin{tabular}{@ {}p{1.9cm}@ {}}\centering  user: untrusted code\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   449
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   450
  \draw[line width=1mm, red] (0.5,0.6) rectangle (2.5,4);
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   451
  \node[anchor=base] at (1.5,2.3) 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   452
     {\small\begin{tabular}{@ {}p{1.9cm}@ {}}\centering  developer ---\\ web server\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   453
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   454
  \onslide<3->{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   455
  \draw[line width=1mm, red, fill=red] (5.5,0.6) rectangle (7.5,1.8);
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   456
  \node[anchor=base,white] at (6.5,1.1) 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   457
     {\small\begin{tabular}{@ {}p{1.9cm}@ {}}\bf\centering proof- checker\end{tabular}};}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   458
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   459
  \node at (3.8,3.0) [single arrow, fill=red,text=white, minimum height=3cm]{\bf code};
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   460
  \onslide<2->{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   461
  \node at (3.8,1.3) [single arrow, fill=red,text=white, minimum height=3cm]{\bf certificate};
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   462
  \node at (3.8,1.9) {\small\color{gray}{\mbox{}\hspace{-1mm}a proof}};
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   463
  }
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   464
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   465
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   466
  \end{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   467
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   468
  \end{block}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   469
  \end{textblock}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   470
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   471
  %\begin{textblock}{15}(2,12)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   472
  %\small
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   473
  %\begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   474
  %\item<4-> Appel's checker is $\sim$2700 lines of code (1865 loc of\\ LF definitions; 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   475
  %803 loc in C including 2 library functions)\\[-3mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   476
  %\item<5-> 167 loc in C implement a type-checker
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   477
  %\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   478
  %\end{textblock}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   479
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   480
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   481
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   482
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   483
 \tikzstyle{every node}=[node distance=25mm,text height=1.5ex, text depth=.25ex]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   484
  \tikzstyle{node1}=[rectangle, minimum size=10mm, rounded corners=3mm, very thick, 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   485
                     draw=black!50, top color=white, bottom color=black!20]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   486
  \tikzstyle{node2}=[rectangle, minimum size=12mm, rounded corners=3mm, very thick, 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   487
                     draw=red!70, top color=white, bottom color=red!50!black!20]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   488
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   489
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   490
  \begin{frame}<2->[squeeze]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   491
  \frametitle{} 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   492
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   493
  \begin{columns}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   494
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   495
  \begin{column}{0.8\textwidth}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   496
  \begin{textblock}{0}(1,2)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   497
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   498
  \begin{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   499
  \matrix[ampersand replacement=\&,column sep=7mm, row sep=5mm]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   500
  { \&[-10mm] 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   501
    \node (def1)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}}; \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   502
    \node (proof1) [node1] {\large Proof}; \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   503
    \node (alg1)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}}; \\
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   504
    
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   505
    \onslide<4->{\node {\begin{tabular}{c}\small 1st\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   506
    \onslide<4->{\node (def2)   [node2] {\large Spec$^\text{+ex}$};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   507
    \onslide<4->{\node (proof2) [node1] {\large Proof};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   508
    \onslide<4->{\node (alg2)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}};} \\
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   509
     
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   510
    \onslide<5->{\node {\begin{tabular}{c}\small 2nd\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   511
    \onslide<5->{\node (def3)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   512
    \onslide<5->{\node (proof3) [node1] {\large Proof};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   513
    \onslide<5->{\node (alg3)   [node2] {\large Alg$^\text{-ex}$};} \\
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   514
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   515
    \onslide<6->{\node {\begin{tabular}{c}\small 3rd\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   516
    \onslide<6->{\node (def4)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   517
    \onslide<6->{\node (proof4) [node2] {\large\hspace{1mm}Proof\hspace{1mm}};} \&
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   518
    \onslide<6->{\node (alg4)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}};} \\
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   519
  };
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   520
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   521
  \draw[->,black!50,line width=2mm] (proof1) -- (def1);
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   522
  \draw[->,black!50,line width=2mm] (proof1) -- (alg1);
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   523
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   524
  \onslide<4->{\draw[->,black!50,line width=2mm] (proof2) -- (def2);}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   525
  \onslide<4->{\draw[->,black!50,line width=2mm] (proof2) -- (alg2);}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   526
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   527
  \onslide<5->{\draw[->,black!50,line width=2mm] (proof3) -- (def3);}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   528
  \onslide<5->{\draw[->,black!50,line width=2mm] (proof3) -- (alg3);}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   529
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   530
  \onslide<6->{\draw[->,black!50,line width=2mm] (proof4) -- (def4);}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   531
  \onslide<6->{\draw[->,black!50,line width=2mm] (proof4) -- (alg4);}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   532
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   533
  \onslide<3->{\draw[white,line width=1mm] (1.1,3.2) -- (0.9,2.85) -- (1.1,2.35) -- (0.9,2.0);} 
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   534
  \end{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   535
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   536
  \end{textblock}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   537
  \end{column}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   538
  \end{columns}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   539
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   540
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   541
  \begin{textblock}{3}(12,3.6)
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   542
  \onslide<4->{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   543
  \begin{tikzpicture}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   544
  \node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{2h};
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   545
  \end{tikzpicture}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   546
  \end{textblock}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   547
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   548
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   549
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   550
     
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   551
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   552
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   553
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   554
  \frametitle{Mars Pathfinder Mission 1997}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   555
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   556
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   557
  \includegraphics[scale=0.15]{marspath1.png}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   558
  \includegraphics[scale=0.16]{marspath3.png}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   559
  \includegraphics[scale=0.3]{marsrover.png}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   560
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   561
  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   562
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   563
  \item despite NASA's famous testing procedure, the lander crashed frequently on Mars
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   564
  \item problem was an algorithm not used in the OS
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   565
  \end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   566
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   567
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   568
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
Christian Urban <urbanc@in.tum.de>
parents: 65
diff changeset
   569
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   570
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   571
  \mode<presentation>{
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   572
  \begin{frame}[c]
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   573
  \frametitle{Priority Inheritance Protocol}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   574
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   575
  \begin{itemize}
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   576
  \item \ldots a scheduling algorithm that is widely used in real-time operating systems
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   577
  \item has been ``proved'' correct by hand in a paper in 1983
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   578
  \item \ldots but the first algorithm turned out to be incorrect, despite its ``proof''\bigskip\pause
67
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   579
  
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   580
  \item we specified the algorithm and then proved that the specification makes
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   581
  ``sense''	
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   582
 \item we implemented our specification in C on top of PINTOS (used for teaching at Stanford)
67
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   583
 \item our implementation was much more efficient than their reference implementation
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   584
  \end{itemize}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   585
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   586
  \end{frame}}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   587
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   588
  
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   589
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   590
\mode<presentation>{
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   591
\begin{frame}[c]
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   592
\frametitle{Regular Expression Matching}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   593
\tiny
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   594
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   595
\begin{tabular}{@ {\hspace{-6mm}}cc}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   596
\begin{tikzpicture}[y=.1cm, x=.15cm]
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   597
 	%axis
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   598
	\draw (0,0) -- coordinate (x axis mid) (30,0);
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   599
    	\draw (0,0) -- coordinate (y axis mid) (0,30);
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   600
    	%ticks
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   601
    	\foreach \x in {0,5,...,30}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   602
     		\draw (\x,1pt) -- (\x,-3pt)
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   603
			node[anchor=north] {\x};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   604
    	\foreach \y in {0,5,...,30}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   605
     		\draw (1pt,\y) -- (-3pt,\y) 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   606
     			node[anchor=east] {\y}; 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   607
	%labels      
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   608
	\node[below=0.3cm] at (x axis mid) {\bl{a}s};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   609
	\node[rotate=90, left=0.6cm] at (y axis mid) {secs};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   610
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   611
	%plots
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   612
	\draw[color=blue] plot[mark=*, mark options={fill=white}] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   613
		file {re-python.data};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   614
	\only<1->{
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   615
	\draw[color=red] plot[mark=triangle*, mark options={fill=white} ] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   616
		file {re1.data};}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   617
	\only<1->{	 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   618
         \draw[color=green] plot[mark=square*, mark options={fill=white} ] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   619
		file {re2.data};}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   620
    
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   621
	%legend
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   622
	\begin{scope}[shift={(4,20)}] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   623
	\draw[color=blue] (0,0) -- 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   624
		plot[mark=*, mark options={fill=white}] (0.25,0) -- (0.5,0) 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   625
		node[right]{\footnotesize Python};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   626
	\only<1->{\draw[yshift=6mm, color=red] (0,0) -- 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   627
		plot[mark=triangle*, mark options={fill=white}] (0.25,0) -- (0.5,0)
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   628
		node[right]{\footnotesize Scala V1};}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   629
	\only<1->{	
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   630
	 \draw[yshift=12mm, color=green] (0,0) -- 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   631
		plot[mark=square*, mark options={fill=white}] (0.25,0) -- (0.5,0)
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   632
		node[right]{\footnotesize Scala V2 with simplifications};}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   633
	\end{scope}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   634
\end{tikzpicture} &
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   635
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   636
\begin{tikzpicture}[y=.35cm, x=.00045cm]
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   637
 	%axis
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   638
	\draw (0,0) -- coordinate (x axis mid) (10000,0);
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   639
    	\draw (0,0) -- coordinate (y axis mid) (0,6);
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   640
    	%ticks
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   641
    	\foreach \x in {0,2000,...,10000}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   642
     		\draw (\x,1pt) -- (\x,-3pt)
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   643
			node[anchor=north] {\x};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   644
    	\foreach \y in {0,1,...,6}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   645
     		\draw (1pt,\y) -- (-3pt,\y) 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   646
     			node[anchor=east] {\y}; 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   647
	%labels      
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   648
	\node[below=0.3cm] at (x axis mid) {\bl{a}s};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   649
	\node[rotate=90, left=0.6cm] at (y axis mid) {secs};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   650
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   651
	%plots
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   652
	\draw[color=blue] plot[mark=*, mark options={fill=white}] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   653
		file {re-internal.data};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   654
	\only<1->{	 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   655
         \draw[color=red] plot[mark=triangle*, mark options={fill=white} ] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   656
		file {re3.data};}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   657
    
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   658
	%legend
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   659
	\begin{scope}[shift={(2000,4)}] 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   660
	\draw[color=blue] (0,0) -- 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   661
		plot[mark=*, mark options={fill=white}] (0.25,0) -- (0.5,0) 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   662
		node[right]{\footnotesize Scala Internal};
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   663
        \only<1->{
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   664
	\draw[yshift=6mm, color=red] (0,0) -- 
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   665
		plot[mark=triangle*, mark options={fill=white}] (0.25,0) -- (0.5,0)
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   666
		node[right]{\footnotesize Scala V3};}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   667
	\end{scope}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   668
\end{tikzpicture}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   669
\end{tabular}\bigskip\pause
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   670
\normalsize
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   671
\begin{itemize}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   672
\item I needed a proof in order to make sure my program is correct
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   673
\end{itemize}\pause
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   674
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   675
\begin{center}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   676
\bl{End Digression.\\ (Our small proof is 0.0005\% of the OS-proof.)}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   677
\end{center}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   678
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   679
\end{frame}}
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   680
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   681
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   682
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   683
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   684
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   685
\mode<presentation>{
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   686
\begin{frame}[c]
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   687
\frametitle{One More Thing}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   688
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   689
\begin{itemize}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   690
\item I arrived at King's last year
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   691
\item Maxime Crochemore told me about a string algorithm (suffix sorting) that appeared at a
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   692
conference in 2007 (ICALP)
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   693
\item ``horribly incomprehensible'', no implementation, but claims to be the best \bl{$O(n + k)$} algorithm\bigskip\pause
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   694
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   695
\item Jian Jiang found 1 error and 1 superfluous step in this algorithm
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   696
\item he received 88\% for the project and won the prize for the best 7CCSMPRJ project  in the department
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   697
\item no proof \ldots{} yet
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   698
\end{itemize}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   699
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   700
\end{frame}}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   701
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   702
67
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   703
2522dea979d0 updated
Christian Urban <urbanc@in.tum.de>
parents: 66
diff changeset
   704
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   705
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   706
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   707
\frametitle{Trusted Third Party}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   708
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   709
Simple protocol for establishing a secure connection via a mutually
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   710
trusted 3rd party (server):
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   711
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   712
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   713
\begin{tabular}{@ {\hspace{-7mm}}l@{\hspace{2mm}}r@ {\hspace{1mm}}l}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   714
Message 1 & \bl{$A \rightarrow S :$} & \bl{$A, B$}\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   715
Message 2 & \bl{$S \rightarrow A :$} & \bl{$\{K_{AB}\}_{K_{AS}}$} and \bl{$\{\{K_{AB}\}_{K_{BS}} \}_{K_{AS}}$}\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   716
Message 3 & \bl{$A \rightarrow B :$} & \bl{$\{K_{AB}\}_{K_{BS}} $}\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   717
Message 4 & \bl{$A \rightarrow B :$} & \bl{$\{m\}_{K_{AB}}$}\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   718
\end{tabular}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   719
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   720
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   721
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   722
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   723
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   724
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   725
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   726
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   727
  \frametitle{Encrypted Messages}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   728
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   729
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   730
  \item Alice sends a message \bl{$m$}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   731
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   732
  \bl{Alice says $m$}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   733
  \end{center}\medskip\pause
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   734
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   735
  \item Alice sends an encrypted message \bl{$m$}\\ (with key \bl{$K$})
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   736
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   737
  \bl{Alice says $\{m\}_K$}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   738
  \end{center}\medskip\pause
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   739
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   740
  \item Decryption of Alice's message\smallskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   741
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   742
  \bl{\mbox{\infer{\Gamma \vdash \text{Alice}\;\text{says}\;m}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   743
              {\Gamma \vdash \text{Alice}\;\text{says}\;\{m\}_K & \Gamma \vdash \text{Alice}\,\text{says}\,K}}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   744
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   745
  \end{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   746
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   747
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   748
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   749
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   750
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   751
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   752
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   753
  \frametitle{Encryption}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   754
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   755
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   756
  \item Encryption of a message\smallskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   757
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   758
  \bl{\mbox{\infer{\Gamma \vdash \text{Alice}\;\text{says}\;\{m\}_K}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   759
              {\Gamma \vdash \text{Alice}\;\text{says}\;m & \Gamma \vdash \text{Alice}\,\text{says}\,K}}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   760
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   761
  \end{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   762
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   763
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   764
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   765
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   766
    
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   767
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   768
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   769
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   770
  \frametitle{Trusted Third Party}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   771
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   772
  \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   773
  \item Alice calls Sam for a key to communicate with Bob
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   774
  \item Sam responds with a key that Alice can read and a key Bob can read (pre-shared)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   775
  \item Alice sends the message encrypted with the key and the second key it recieved
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   776
  \end{itemize}\bigskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   777
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   778
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   779
  \bl{\begin{tabular}{lcl}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   780
  $A$ sends $S$ &:& $\textit{Connect}(A,B)$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   781
  $S$ sends $A$ &:& $\{K_{AB}\}_{K_{AS}}$ \textcolor{black}{and} $\{\{K_{AB}\}_{K_{BS}}\}_{K_{AS}}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   782
  $A$ sends $B$ &:& $\{K_{AB}\}_{K_{BS}}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   783
  $A$ sends $B$ &:& $\{m\}_{K_{AB}}$
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   784
  \end{tabular}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   785
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   786
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   787
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   788
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   789
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   790
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   791
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   792
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   793
  \frametitle{Sending Rule}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   794
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   795
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   796
  \bl{\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   797
  \mbox{\infer{\Gamma \vdash Q \;\textit{says}\; F}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   798
              {\Gamma \vdash P \;\textit{says}\; F & \Gamma \vdash P \;\textit{sends}\; Q : F}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   799
  \end{center}}\bigskip\pause
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   800
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   801
  \bl{$P \,\text{sends}\, Q : F \dn$}\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   802
  \hspace{6mm}\bl{$(P \,\text{says}\, F) \Rightarrow (Q \,\text{says}\, F)$}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   803
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   804
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   805
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   806
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   807
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   808
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   809
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   810
  \frametitle{Trusted Third Party}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   811
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   812
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   813
  \bl{\begin{tabular}{l}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   814
  $A$ sends $S$ : $\textit{Connect}(A,B)$\\  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   815
  \bl{$S \,\text{says}\, (\textit{Connect}(A,B) \Rightarrow$}\\ 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   816
  \hspace{2.5cm}\bl{$\{K_{AB}\}_{K_{AS}} \wedge 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   817
  \{\{K_{AB}\}_{K_{BS}}\}_{K_{AS}})$}\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   818
 $S$ sends $A$ : $\{K_{AB}\}_{K_{AS}}$ \bl{$\wedge$} $\{\{K_{AB}\}_{K_{BS}}\}_{K_{AS}}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   819
  $A$ sends $B$ : $\{K_{AB}\}_{K_{BS}}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   820
  $A$ sends $B$ : $\{m\}_{K_{AB}}$
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   821
  \end{tabular}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   822
  \end{center}\bigskip\pause
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   823
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   824
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   825
  \bl{$\Gamma \vdash B \,\text{says} \, m$}?
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   826
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   827
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   828
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   829
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   830
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   831
  \begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   832
  \frametitle{Challenge-Response Protocol}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   833
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   834
 \begin{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   835
 \item an engine \bl{$E$} and a transponder \bl{$T$} share a key \bl{$K$}\bigskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   836
 \item \bl{$E$} sends out a \alert{nonce} \bl{$N$} (random number) to \bl{$T$}\bigskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   837
 \item \bl{$T$} responds with \bl{$\{N\}_K$}\bigskip
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   838
 \item if \bl{$E$} receives  \bl{$\{N\}_K$} from \bl{$T$}, it starts engine
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   839
 \end{itemize}	
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   840
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   841
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   842
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   843
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   844
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   845
  \mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   846
  \begin{frame}[c]
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   847
  \frametitle{Challenge-Response Protocol}
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   848
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   849
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   850
  \bl{\begin{tabular}{l}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   851
  $E \;\text{says}\; N$\hfill(start)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   852
  $E \;\text{sends}\; T : N$\hfill(challenge)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   853
  $(T \;\text{says}\; N) \Rightarrow (T \;\text{sends}\; E : \{N\}_K \wedge$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   854
  \hspace{3.5cm} $T \;\text{sends}\; E : \text{Id}(T))$\;\;\;\hfill(response)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   855
 $T \;\text{says}\; K$\hfill(key)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   856
 $T \;\text{says}\; \text{Id}(T)$\hfill(identity)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   857
  $(E \;\text{says}\; \{N\}_K \wedge E \;\text{says}\; \text{Id}(T)) \Rightarrow$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   858
   \hspace{5cm}$ \text{start\_engine}(T)$\hfill(engine)\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   859
  \end{tabular}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   860
  \end{center}\bigskip 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   861
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   862
  \bl{$\Gamma \vdash \text{start\_engine}(T)$}?
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   863
  \end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   864
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   865
     
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   866
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   867
  \mode<presentation>{
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   868
  \begin{frame}[c]
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   869
  \frametitle{Exchange of a Fresh Key}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   870
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   871
\bl{$A$} and \bl{$B$} share a (``super-secret'') key \bl{$K_{AB}$} and want to share another key
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   872
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   873
 \begin{itemize}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   874
 \item assumption \bl{$K_{AB}$} is only known to \bl{$A$} and \bl{$B$}\bigskip 
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   875
 \item \bl{$A \,\text{sends}\, B :  A, \{N_A\}_{K_{AB}}$} 
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   876
 \item \bl{$B\,\text{sends}\, A : \{N_A + 1, N_B\}_{K_{AB}}$}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   877
 \item \bl{$A \,\text{sends}\, B : \{N_B + 1\}_{K_{AB}}$}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   878
  \item \bl{$B \,\text{sends}\, A : \{K^{new}_{AB}, N^{new}_B\}_{K_{AB}}$}
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   879
  \item<2> \bl{$A \,\text{sends}\, B : \{msg\}_{K^{new}_{AB}}$}
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   880
 \end{itemize}\bigskip
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   881
  
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   882
  Assume \bl{$K^{new}_{AB}$} is compromised by \bl{$I$}
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   883
  \end{frame}}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   884
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   885
     
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   886
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   887
  \mode<presentation>{
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   888
  \begin{frame}[c]
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   889
  \frametitle{The Attack}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   890
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   891
An intruder \bl{$I$} convinces \bl{$A$} to accept the compromised key \bl{$K^{new}_{AB}$}\medskip 
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   892
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   893
\begin{minipage}{1.1\textwidth}
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   894
\begin{itemize}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   895
 \item \bl{$A \,\text{sends}\, B :  A, \{N_A\}_{K_{AB}}$} 
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   896
 \item \bl{$B\,\text{sends}\, A : \{N_A + 1, N_B\}_{K_{AB}}$}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   897
 \item \bl{$A \,\text{sends}\, B : \{N_B + 1\}_{K_{AB}}$}
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   898
  \item \bl{$B \,\text{sends}\, A : \{K^{new}_{AB}, N^{new}_B\}_{K_{AB}}$}\;\;recorded by \bl{$I$}\pause
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   899
  \item \bl{$A \,\text{sends}\, B :  A, \{M_A\}_{K_{AB}}$} 
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   900
 \item \bl{$B\,\text{sends}\, A : \{M_A + 1, M_B\}_{K_{AB}}$}
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   901
 \item \bl{$A \,\text{sends}\, B : \{M_B + 1\}_{K_{AB}}$}
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   902
  \item \bl{$B \,\text{sends}\, I : \{K^{newer}_{AB}, N^{newer}_B\}_{K_{AB}}$}\;intercepted by \bl{$I$}
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   903
  \item \bl{$I \,\text{sends}\, A : \{K^{new}_{AB}, N^{new}_B\}_{K_{AB}}$}\pause
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   904
   \item \bl{$A \,\text{sends}\, B : \{msg\}_{K^{new}_{AB}}$}\;\;\;\;\bl{$I$} can read it also
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   905
 \end{itemize}	
69
53e7d51dbc10 updated
Christian Urban <urbanc@in.tum.de>
parents: 68
diff changeset
   906
 \end{minipage}
68
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   907
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   908
  \end{frame}}
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   909
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
bc48791bb3a9 updated
Christian Urban <urbanc@in.tum.de>
parents: 67
diff changeset
   910
     
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   911
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   912
  \mode<presentation>{
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   913
  \begin{frame}[c]
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   914
  \frametitle{Another Challenge-Response}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   915
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   916
\bl{$A$} and \bl{$B$} share the key \bl{$K_{AB}$} and want to identify
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   917
each other\bigskip
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   918
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   919
 \begin{itemize}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   920
 \item \bl{$A \,\text{sends}\, B :  A, N_A$} 
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   921
 \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   922
 \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   923
 \end{itemize}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   924
  \end{frame}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   925
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   926
     
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   927
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   928
  \mode<presentation>{
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   929
  \begin{frame}[c]
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   930
  \frametitle{Another Challenge-Response}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   931
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   932
\bl{$A$} and \bl{$B$} share the key \bl{$K_{AB}$} and want to identify
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   933
each other\bigskip
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   934
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   935
 \begin{itemize}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   936
 \item \bl{$A \,\text{sends}\, B :  A, N_A$} 
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   937
 \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   938
 \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   939
 \end{itemize}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   940
  \end{frame}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   941
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   942
     
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   943
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   944
  \mode<presentation>{
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   945
  \begin{frame}[c]
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   946
  \frametitle{Another Challenge-Response}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   947
71
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   948
Unfortunately, an intruder \bl{$I$} can impersonate \bl{$B$}.
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   949
71
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   950
\begin{center}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   951
\begin{tabular}{@{\hspace{-7mm}}c@{\hspace{1mm}}c@{}}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   952
\begin{tabular}{@{}l@{}}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   953
\onslide<1->{\bl{$A \,\text{sends}\, I :  A, N_A$}}\\ 
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   954
\onslide<4->{\bl{$I \,\text{sends}\, A :  \{N_A,\!K'_{\!AB}\}_{K_{\!AB}}$}}\\ 
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   955
\onslide<5->{\bl{$A \,\text{sends}\, I : \{N_A\}_{K'_{AB}}$}}\\
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   956
\end{tabular}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   957
&
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   958
\begin{tabular}{@{}l@{}}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   959
\onslide<2->{\bl{$I \,\text{sends}\, A :  B, N_A$}}\\ 
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   960
\onslide<3->{\bl{$A \,\text{sends}\, I :  \{N_A,\!K'_{\!AB}\}_{K_{\!AB}}$}}\\ 
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   961
\onslide<6->{\bl{$I \,\text{sends}\, A : \{N_A\}_{K'_{AB}}$}}\\
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   962
\end{tabular}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   963
\end{tabular}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   964
\end{center}
6ebdaef3e4f1 updated
Christian Urban <urbanc@in.tum.de>
parents: 70
diff changeset
   965
70
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   966
  \end{frame}}
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   967
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%          
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   968
     
20d0a65b47f2 updated
Christian Urban <urbanc@in.tum.de>
parents: 69
diff changeset
   969
     
65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   970
\end{document}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   971
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   972
%%% Local Variables:  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   973
%%% mode: latex
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   974
%%% TeX-master: t
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   975
%%% End: 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   976