110 |
129 |
111 \normalsize |
130 \normalsize |
112 \begin{center} |
131 \begin{center} |
113 \begin{tabular}{ll} |
132 \begin{tabular}{ll} |
114 Email: & christian.urban at kcl.ac.uk\\ |
133 Email: & christian.urban at kcl.ac.uk\\ |
115 Of$\!$fice: & S1.27 (1st floor Strand Building)\\ |
134 Office: & S1.27 (1st floor Strand Building)\\ |
116 Slides: & KEATS (also homework is there)\\ |
135 Slides: & KEATS (also homework is there)\\ |
117 \end{tabular} |
136 \end{tabular} |
118 \end{center} |
137 \end{center} |
119 |
138 |
120 |
139 |
121 \end{frame}} |
140 \end{frame}} |
122 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
123 |
|
124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
125 \mode<presentation>{ |
|
126 \begin{frame}[c] |
|
127 \frametitle{1st Week} |
|
128 |
|
129 \begin{itemize} |
|
130 \item What are hashes and salts?\bigskip\pause |
|
131 \item \ldots can be use to store securely data on a client, but |
|
132 you cannot make your protocol dependent on the |
|
133 presence of the data\bigskip\pause |
|
134 \item \ldots can be used to store and verify passwords |
|
135 |
|
136 \end{itemize} |
|
137 |
|
138 \end{frame}} |
|
139 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
140 |
|
141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
142 \mode<presentation>{ |
|
143 \begin{frame}[c] |
|
144 \frametitle{2nd Week} |
|
145 |
|
146 \begin{itemize} |
|
147 \item Buffer overflows\bigskip |
|
148 \item choice of programming language can mitigate or even eliminate this problem |
|
149 \end{itemize} |
|
150 |
|
151 \end{frame}} |
|
152 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
153 |
|
154 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
155 \mode<presentation>{ |
|
156 \begin{frame}[c] |
|
157 \frametitle{3rd Week} |
|
158 |
|
159 \begin{itemize} |
|
160 \item defence in depth\bigskip |
|
161 \item privilege separation afforded by the OS |
|
162 \end{itemize} |
|
163 |
|
164 \begin{center} |
|
165 \begin{tikzpicture}[scale=1] |
|
166 |
|
167 \draw[line width=1mm] (0, 1.1) rectangle (1.2,2); |
|
168 \draw (4.7,1) node {Internet}; |
|
169 \draw (0.6,1.7) node {\footnotesize Slave}; |
|
170 \draw[line width=1mm] (0, 0) rectangle (1.2,0.9); |
|
171 \draw (0.6,1.7) node {\footnotesize Slave}; |
|
172 \draw (0.6,0.6) node {\footnotesize Slave}; |
|
173 \draw (0.6,-0.5) node {\footnotesize \begin{tabular}{c}unprivileged\\[-1mm] processes\end{tabular}}; |
|
174 \draw (-2.7,-0.4) node {\footnotesize \begin{tabular}{c}privileged\\[-1mm] process\end{tabular}}; |
|
175 |
|
176 \draw[line width=1mm] (-1.8, 0) rectangle (-3.6,2); |
|
177 \draw (-2.9,1.7) node {\footnotesize Monitor}; |
|
178 |
|
179 \draw[white] (1.7,1) node (X) {}; |
|
180 \draw[white] (3.7,1) node (Y) {}; |
|
181 \draw[red, <->, line width = 2mm] (X) -- (Y); |
|
182 |
|
183 \draw[red, <->, line width = 1mm] (-0.4,1.4) -- (-1.4,1.1); |
|
184 \draw[red, <->, line width = 1mm] (-0.4,0.6) -- (-1.4,0.9); |
|
185 |
|
186 \end{tikzpicture} |
|
187 \end{center} |
|
188 |
|
189 \end{frame}} |
|
190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
191 |
|
192 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
193 \mode<presentation>{ |
|
194 \begin{frame}[c] |
|
195 \frametitle{4th Week} |
|
196 |
|
197 \begin{itemize} |
|
198 \item voting\ldots has security requirements that are in tension with each other |
|
199 \begin{center} |
|
200 integrity vs ballot secrecy\\ |
|
201 authentication vs enfranchisment |
|
202 \end{center}\bigskip |
|
203 |
|
204 \item electronic voting makes `whole sale' fraud easier as opposed to `retail attacks' |
|
205 \end{itemize} |
|
206 |
|
207 \end{frame}} |
|
208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
209 |
|
210 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
211 \mode<presentation>{ |
|
212 \begin{frame}[c] |
|
213 \frametitle{5th Week} |
|
214 |
|
215 \begin{itemize} |
|
216 \item access control logic\bigskip |
|
217 |
|
218 \item formulas |
|
219 \item judgements |
|
220 \item inference rules |
|
221 \end{itemize} |
|
222 |
|
223 \end{frame}} |
|
224 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
225 |
142 |
226 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
143 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
227 \mode<presentation>{ |
144 \mode<presentation>{ |
228 \begin{frame}[t] |
145 \begin{frame}[t] |
229 \frametitle{\Large\begin{tabular}{@ {}c@ {}}Access Control Logic\end{tabular}} |
146 \frametitle{\Large\begin{tabular}{@ {}c@ {}}Access Control Logic\end{tabular}} |
467 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
384 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
468 |
385 |
469 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
386 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
470 \mode<presentation>{ |
387 \mode<presentation>{ |
471 \begin{frame}[c] |
388 \begin{frame}[c] |
|
389 \frametitle{Sudoku} |
|
390 |
|
391 \begin{tikzpicture}[scale=.5] |
|
392 \begin{scope} |
|
393 \draw (0, 0) grid (9, 9); |
|
394 \draw[very thick, scale=3] (0, 0) grid (3, 3); |
|
395 |
|
396 \setcounter{row}{1} |
|
397 \setrow { }{2}{ } {5}{ }{1} { }{9}{ } |
|
398 \setrow {8}{ }{ } {2}{ }{3} { }{ }{6} |
|
399 \setrow { }{3}{ } { }{6}{ } { }{7}{ } |
|
400 |
|
401 \setrow { }{ }{1} { }{ }{ } {6}{ }{ } |
|
402 \setrow {5}{4}{ } { }{ }{ } { }{1}{9} |
|
403 \setrow { }{ }{2} { }{ }{ } {7}{ }{ } |
|
404 |
|
405 \setrow { }{9}{ } { }{3}{ } { }{8}{ } |
|
406 \setrow {2}{ }{ } {8}{ }{4} { }{ }{7} |
|
407 \setrow { }{1}{ } {9}{ }{7} { }{6}{ } |
|
408 |
|
409 \fill[red, fill opacity=0.4] (4,0) rectangle (5,9); |
|
410 \fill[red, fill opacity=0.4] (0,5) rectangle (9,6); |
|
411 \fill[red!50, fill opacity=0.4] (3,3) rectangle (4,5); |
|
412 \fill[red!50, fill opacity=0.4] (5,3) rectangle (6,5); |
|
413 \node[gray, anchor=center] at (4.5, -0.5) {columns}; |
|
414 \node[gray, rotate=90, anchor=center] at (-0.6, 4.5, -0.5) {rows}; |
|
415 \node[gray, anchor=center] at (4.5, 4.5) {box}; |
|
416 \end{scope} |
|
417 \end{tikzpicture} |
|
418 |
|
419 \small |
|
420 \begin{textblock}{7}(9,3) |
|
421 \begin{enumerate} |
|
422 \item {\bf Row-Column:} each cell, must contain exactly one number |
|
423 \item {\bf Row-Number:} each row must contain each number exactly once |
|
424 \item {\bf Column-Number:} each column must contain each number exactly once |
|
425 \item {\bf Box-Number:} each box must contain each number exactly once |
|
426 \end{enumerate} |
|
427 \end{textblock} |
|
428 |
|
429 |
|
430 \end{frame}} |
|
431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
432 |
|
433 |
|
434 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
435 \mode<presentation>{ |
|
436 \begin{frame}[c] |
|
437 \frametitle{Solving Sudokus} |
|
438 |
|
439 \begin{tikzpicture}[scale=.5] |
|
440 \begin{scope} |
|
441 \draw (0, 0) grid (9, 9); |
|
442 \draw[very thick, scale=3] (0, 0) grid (3, 3); |
|
443 |
|
444 \setcounter{row}{1} |
|
445 \setrow { }{ }{ } {7}{ }{ } { }{5}{8} |
|
446 \setrow {}{5}{6} {2}{1}{8} {7}{9}{3} |
|
447 \setrow { }{ }{ } { }{ }{ } {1}{ }{ } |
|
448 |
|
449 \setrow { }{ }{ } { }{ }{ } { }{8}{1} |
|
450 \setrow { }{ }{ } {3}{7}{6} { }{ }{ } |
|
451 \setrow {9}{6}{ } { }{ }{ } { }{ }{ } |
|
452 |
|
453 \setrow { }{ }{5} { }{3}{ } { }{ }{ } |
|
454 \setrow { }{ }{4} { }{2}{1} {8}{3}{ } |
|
455 \setrow {8}{7}{ } { }{ }{3} { }{ }{ } |
|
456 |
|
457 \fill[red, fill opacity=0.4] (0,7) rectangle (1,8); |
|
458 |
|
459 \end{scope} |
|
460 \end{tikzpicture} |
|
461 |
|
462 \small |
|
463 \begin{textblock}{6}(9,6) |
|
464 {\bf single position rules}\\ |
|
465 \begin{center} |
|
466 \bl{\infer{4\;\text{in empty position}}{\{1..9\} - \{4\}\;\text{in one row}}} |
|
467 \end{center} |
|
468 |
|
469 \onslide<2->{ |
|
470 \begin{center} |
|
471 \bl{\infer{x\;\text{in empty position}}{\{1..9\} - \{x\}\;\text{in one column}}}\medskip\\ |
|
472 \bl{\infer{x\;\text{in empty position}}{\{1..9\} - \{x\}\;\text{in one box}}} |
|
473 \end{center}} |
|
474 \end{textblock} |
|
475 |
|
476 |
|
477 \end{frame}} |
|
478 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
479 |
|
480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
481 \mode<presentation>{ |
|
482 \begin{frame}[c] |
|
483 \frametitle{Solving Sudokus} |
|
484 |
|
485 \begin{tikzpicture}[scale=.5] |
|
486 \begin{scope} |
|
487 \draw (0, 0) grid (9, 9); |
|
488 \draw[very thick, scale=3] (0, 0) grid (3, 3); |
|
489 |
|
490 \setcounter{row}{1} |
|
491 \setrow { }{ }{ } {7}{ }{ } {\alert{\footnotesize 2}}{5}{8} |
|
492 \setrow {}{5}{6} {2}{1}{8} {7}{9}{3} |
|
493 \setrow { }{ }{ } { }{ }{ } {1}{\alert{\footnotesize 2}}{\alert{\footnotesize 2}} |
|
494 |
|
495 \setrow { }{ }{ } { }{ }{ } { }{8}{1} |
|
496 \setrow { }{ }{ } {3}{7}{6} { }{ }{ } |
|
497 \setrow {9}{6}{ } { }{ }{ } { }{ }{ } |
|
498 |
|
499 \setrow { }{ }{5} { }{3}{ } { }{ }{ } |
|
500 \setrow { }{ }{4} { }{2}{1} {8}{3}{ } |
|
501 \setrow {8}{7}{ } { }{ }{3} { }{ }{ } |
|
502 |
|
503 \end{scope} |
|
504 \end{tikzpicture} |
|
505 |
|
506 \small |
|
507 \begin{textblock}{6}(7.5,6) |
|
508 {\bf candidate rules}\\ |
|
509 \begin{center} |
|
510 \bl{\infer{x\;\text{candidate in empty positions}}{X - \{x\}\;\text{in one box} & X \subseteq \{1..9\}}} |
|
511 \end{center} |
|
512 \end{textblock} |
|
513 |
|
514 \end{frame}} |
|
515 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
516 |
|
517 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
518 \mode<presentation>{ |
|
519 \begin{frame}[c] |
|
520 \frametitle{Solving Sudokus} |
|
521 |
|
522 \begin{tikzpicture}[scale=.5] |
|
523 \begin{scope} |
|
524 \draw (0, 0) grid (9, 9); |
|
525 \draw[very thick, scale=3] (0, 0) grid (3, 3); |
|
526 |
|
527 \setcounter{row}{1} |
|
528 \setrow { }{ }{ } {7}{ }{ } {\alert{\footnotesize 2}}{5}{8} |
|
529 \setrow {\alert{4}}{5}{6} {2}{1}{8} {7}{9}{3} |
|
530 \setrow { }{ }{ } { }{ }{ } {1}{\alert{\footnotesize 2}}{\alert{\footnotesize 2}} |
|
531 |
|
532 \setrow { }{ }{ } { }{ }{ } { }{8}{1} |
|
533 \setrow { }{ }{ } {3}{7}{6} { }{ }{ } |
|
534 \setrow {9}{6}{ } { }{ }{ } { }{ }{ } |
|
535 |
|
536 \setrow { }{ }{5} { }{3}{ } { }{ }{ } |
|
537 \setrow { }{ }{4} { }{2}{1} {8}{3}{ } |
|
538 \setrow {8}{7}{ } { }{ }{3} { }{ }{ } |
|
539 |
|
540 \end{scope} |
|
541 \end{tikzpicture} |
|
542 |
|
543 \small |
|
544 \begin{textblock}{6}(7.5,6) |
|
545 \begin{center} |
|
546 \bl{\infer{4\;\text{in empty position}}{\{1..9\} - \{4\}\;\text{in one row}}}\bigskip\\ |
|
547 \bl{\infer{2\;\text{candidate in empty positions}}{X - \{2\}\;\text{in one box} & X \subseteq \{1..9\}}} |
|
548 \end{center} |
|
549 \end{textblock} |
|
550 |
|
551 |
|
552 \begin{textblock}{3}(13.5,6.8) |
|
553 \begin{tikzpicture} |
|
554 \onslide<1>{\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{\mbox{\alert{a}}};} |
|
555 \onslide<2>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};} |
|
556 \end{tikzpicture} |
|
557 \end{textblock} |
|
558 |
|
559 \begin{textblock}{3}(14.5,9.3) |
|
560 \begin{tikzpicture} |
|
561 \onslide<1>{\node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{\mbox{\alert{a}}};} |
|
562 \onslide<2>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};} |
|
563 \end{tikzpicture} |
|
564 \end{textblock} |
|
565 |
|
566 \end{frame}} |
|
567 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
568 |
|
569 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
570 \mode<presentation>{ |
|
571 \begin{frame}[c] |
|
572 \frametitle{Solving Sudokus} |
|
573 |
|
574 \begin{tikzpicture}[scale=.5] |
|
575 \begin{scope} |
|
576 \draw (0, 0) grid (9, 9); |
|
577 \draw[very thick, scale=3] (0, 0) grid (3, 3); |
|
578 |
|
579 \setcounter{row}{1} |
|
580 \setrow { }{ }{ } {7}{ }{ } { }{5}{8} |
|
581 \setrow { }{5}{6} {2}{1}{8} {7}{9}{3} |
|
582 \setrow { }{ }{ } { }{ }{ } {1}{ }{ } |
|
583 |
|
584 \setrow { }{ }{ } { }{ }{ } { }{8}{1} |
|
585 \setrow { }{ }{ } {3}{7}{6} { }{ }{ } |
|
586 \setrow {9}{6}{ } { }{ }{ } { }{ }{ \alert{2}} |
|
587 |
|
588 \setrow { }{ }{5} { }{3}{ } { }{ }{ } |
|
589 \setrow { }{ }{4} { }{2}{1} {8}{3}{ } |
|
590 \setrow {8}{7}{ } { }{ }{3} { }{ }{ } |
|
591 |
|
592 \end{scope} |
|
593 \end{tikzpicture} |
|
594 |
|
595 \small |
|
596 \begin{textblock}{6}(7.5,6) |
|
597 \begin{center} |
|
598 \bl{\infer{2\;\text{candidate}}{X - \{2\}\;\text{in one box} & X \subseteq \{1..9\}}} |
|
599 \end{center} |
|
600 \end{textblock} |
|
601 |
|
602 \begin{textblock}{3}(14.5,8.3) |
|
603 \begin{tikzpicture} |
|
604 \onslide<1>{\node at (0,0) [single arrow, shape border rotate=90, fill=red,text=white]{\mbox{\alert{a}}};} |
|
605 \end{tikzpicture} |
|
606 \end{textblock} |
|
607 |
|
608 \end{frame}} |
|
609 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
610 |
|
611 |
|
612 |
|
613 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
614 \mode<presentation>{ |
|
615 \begin{frame}[c] |
|
616 \frametitle{Sudoku} |
|
617 |
|
618 Are there sudokus that cannot be solved?\pause |
|
619 |
|
620 \begin{center} |
|
621 \begin{tikzpicture}[scale=.5] |
|
622 \begin{scope} |
|
623 \draw (0, 0) grid (9, 9); |
|
624 \draw[very thick, scale=3] (0, 0) grid (3, 3); |
|
625 |
|
626 \setcounter{row}{1} |
|
627 \setrow {1}{2}{3} {4}{5}{6} {7}{8}{ } |
|
628 \setrow { }{ }{ } { }{ }{ } { }{ }{2} |
|
629 \setrow { }{ }{ } { }{ }{ } { }{ }{3} |
|
630 |
|
631 \setrow { }{ }{ } { }{ }{ } { }{ }{4} |
|
632 \setrow { }{ }{ } { }{ }{ } { }{ }{5} |
|
633 \setrow { }{ }{ } { }{ }{ } { }{ }{6} |
|
634 |
|
635 \setrow { }{ }{ } { }{ }{ } { }{ }{7} |
|
636 \setrow { }{ }{ } { }{ }{ } { }{ }{8} |
|
637 \setrow { }{ }{ } { }{ }{ } { }{ }{9} |
|
638 |
|
639 \end{scope} |
|
640 \end{tikzpicture} |
|
641 \end{center} |
|
642 |
|
643 Sometimes no rules apply at all....unsolvable sudoku. |
|
644 |
|
645 |
|
646 \end{frame}} |
|
647 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
648 |
|
649 |
|
650 |
|
651 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
652 \mode<presentation>{ |
|
653 \begin{frame}[c] |
472 \frametitle{Protocol Specifications} |
654 \frametitle{Protocol Specifications} |
473 |
655 |
474 The Needham-Schroeder Protocol: |
656 The Needham-Schroeder Protocol: |
475 |
657 |
476 \begin{center} |
658 \begin{center} |