<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  
  <title>Autodifesa Digitale I</title>
  
  <link rel="stylesheet" href="css/reveal.css">
  <link rel="stylesheet" href="css/theme/black.css">
  
  <!-- Theme used for syntax highlighting of code -->
  <link rel="stylesheet" href="lib/css/zenburn.css">
  
  <!-- User style -->
  <style>
    .red { color: #ff2c2d; }
    .green { color: #17ff2e; }
    .blue { color: #1b91ff; }
    .slides section { text-align: right; }
    .top-right { top: -200px; }
    .reveal section img { max-height: 400px; }
  </style>
  <!-- Printing and PDF exports -->
  <script>
    var link = document.createElement( 'link' );
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
    document.getElementsByTagName( 'head' )[0].appendChild( link );
  </script>
</head>
<body>
  
  <div class="reveal">
    <div class="slides">
      <section>
        <section
         data-separator="^--$"
         data-markdown="slides/intro.md"></section>
      </section>
      <section>
        <section
         data-separator="^--$"
         data-markdown="slides/liberta.md"></section>
      </section>
      <section>
        <section
         data-separator="^--$"
         data-markdown="slides/password.md">
        </section>
        <section id='passwordTest'>
          <p>Vediamo quanto sei bravo/a ad inventare una password:</p>
          <input type="password"
            v-model='password'
            @input='checkStrength'
            :class="['score' + estimationScore]"/>
            <button :disabled="estimationScore!==4"> ➜</button>
            <p v-if='password.length>2'>
            Questa password è {{score[estimationScore]}}, dopo un sequestro uno bravo
            ci mette più o meno <b>{{slowCrackTime}}</b> a scoprirla,
            la CIA circa <b>{{fastCrackTime}}</b>:
            </p>
    
        <li v-for="s in sequence">
          <span v-if="s.pattern=='bruteforce'"> {{s.token}} forza bruta</span>
          <span v-else-if="s.pattern=='dictionary'">
            {{s.token}} dizionario: {{s.dictionary_name}} 
            {{s.reversed?'(invertita ' + s.matched_word + ')':''}}
            {{s.l33t?'(con sostituzione ' + s.sub_display +')':''}}
            {{s.uppercase_variations>1?'(con maiuscola)':''}}
          </span>
          <span v-else-if="s.pattern=='sequence'"> {{s.token}} sequenze: ({{s.sequence_name}})</span>
          <span v-else-if="s.pattern=='spatial'"> {{s.token}} sequenze spaziali: ({{s.graph}})</span>
          <span v-else-if="s.pattern=='repeat'"> {{s.token}} ripetizione: ({{s.base_token}})</span>
          <span v-else-if="s.pattern=='date'"> {{s.token}} data {{s.day}}/{{s.month}}/{{s.year}}</span>
          <span v-else-if="s.pattern=='regex'"> {{s.token}} pattern {{s.regex_name}}</span>
          <span v-else> {{s}}</span>

          <script src='js/moment.js'></script>
          <script src='js/vue.min.js'></script>
          <script src='js/zxcvbn.js'></script>
          <script src='js/password.js'></script>
        </section>
      </section>
      <section>
        <section
        data-separator="^--$"
        data-markdown="slides/dati.md"></section>
      </section>
      <section>
        <section
        data-separator="^--$"
        data-markdown="slides/navigare.md"></section>
      </section>
      <section>
        <section
         data-separator="^--$"
         data-markdown="slides/metadata.md"></section>
      </section>
      <section>
        <section
         data-separator="^--$"
         data-markdown="slides/smartphone.md"></section>
      </section>
      <section>
        <section
         data-separator="^--$"
         data-markdown="slides/comunicare.md"></section>
      </section>
      <section>
        <section
        data-separator="^--$"
        data-markdown="slides/anonimato.md"></section>
      </section>
      
    </div>
    
  </div>
  
  <script src="lib/js/head.min.js"></script>
  <script src="js/reveal.js"></script>
  
  <script>
    // More info about config & dependencies:
    // - https://github.com/hakimel/reveal.js#configuration
    // - https://github.com/hakimel/reveal.js#dependencies
    Reveal.initialize({
      width: 1300,
      height: 600,
      minScale: 0.1,
      history: true,
      progress: true,
      controls: true,
      maxScale: 3,
      center: false,
      defaultTiming: 120,
      slideNumber: 'c/t',
      dependencies: [
      { src: 'plugin/markdown/marked.js' },
      { src: 'plugin/markdown/markdown.js' },
      { src: 'plugin/notes/notes.js', async: true },
      { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
      ]
    });
  </script>
</body>
</html>
