index.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Introduzione alla crittografia</title>
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  9. <link rel="stylesheet" href="../reveal-js/css/reset.css">
  10. <link rel="stylesheet" href="../reveal-js/css/reveal.css"><link rel="stylesheet" href="../reveal-js/css/theme/black.css" id="theme">
  11. <link rel="stylesheet" href="../highlight-js/solarized-dark.min.css"><link rel="stylesheet" href="../style.css" id="custom_css">
  12. </head>
  13. <body>
  14. <div class="reveal">
  15. <div class="slides">
  16. <section><h3 id="intro-sulla-crittografia">intro sulla crittografia</h3>
  17. </section><section>
  18. <h3 id="cosa-vuol-dire-crittografia">Cosa vuol dire crittografia?</h3>
  19. <p>metodi per rendere un messaggio non comprensibile/intelligibile a persone non autorizzate</p>
  20. </section><section>
  21. <h5 id="heading"></h5>
  22. <p>Usata in ambito militare fin dall&rsquo;antichità<br>
  23. Bisogna mandare messaggi al fronte senza che vengano intercettati.</p>
  24. </section><section>
  25. <h5 id="cifrario-di-cesare">Cifrario di Cesare</h5>
  26. <p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Caesar3.svg/640px-Caesar3.svg.png" alt="Cesare"></p>
  27. </section><section>
  28. <h5 id="cifrario-di-cesare-1">Cifrario di Cesare</h5>
  29. <p>ATTACCO ALL&rsquo;ALBA<br>
  30. NGGNPPB NYY&rsquo;NYON</p>
  31. </section><section>
  32. <h5 id="heading-1"></h5>
  33. <p><img src="https://upload.wikimedia.org/wikipedia/commons/8/89/Fattura_italiana%2C_cifrario%2C_xvii_sec..JPG" alt="Cifrario meccanico"></p>
  34. </section><section>
  35. <h5 id="cifrario-di-vigenere">Cifrario di Vigenere</h5>
  36. <p><img src="../images/vigenere.jpg" alt="Vigenere"></p>
  37. </section><section>
  38. <h5 id="enigma">Enigma</h5>
  39. <p><img src="../images/enigma.jpg" alt="Enigma"></p>
  40. </section><section>
  41. <h3 id="crittografia-simmetrica">Crittografia simmetrica</h3>
  42. <p>Si &ldquo;nasconde&rdquo; il messaggio tramite una chiave<br>
  43. Gli interlocutori usano la chiave per recuperare il messaggio originale</p>
  44. </section><section>
  45. <p>Io e Alice condividiamo un lucchetto e due chiavi per aprirlo.<br>
  46. Ripongo il messaggio in una valigia e la chiudo con un lucchetto.</p>
  47. </section><section>
  48. <p>Come posso scambiare le chiavi a molti chilometri di distanza?<br>
  49. Se perdiamo la chiave, possono decifrare e cifrare nuovi messaggi :(<br>
  50. Ogni coppia di interlocutori deve usare chiavi diverse</p>
  51. </section><section>
  52. <h3 id="crittografia-asimmetrica">Crittografia asimmetrica</h3>
  53. <p>Si &ldquo;nasconde&rdquo; il messaggio con una chiave &ldquo;pubblica&rdquo;<br>
  54. Gli interlocutori usano la loro chiave privata per recuperare il messaggio originale</p>
  55. </section><section>
  56. <p>Alice mi da il suo lucchetto di cui solo lui ha la chiave.<br>
  57. Ripongo il messaggio in una valigia e la chiudo con il lucchetto di Alice.</p>
  58. </section><section>
  59. <p>Per essere sicura è necessario usare chiavi lunghe e numeri enormi<br>
  60. Lenta da calcolare e computare.</p>
  61. </section><section>
  62. <h3 id="gpg4win---kleopatra">Gpg4Win - Kleopatra</h3>
  63. <p><a href="https://www.gpg4win.org/index.html">https://www.gpg4win.org/index.html</a></p>
  64. </section><section>
  65. <h3 id="funzioni-di-hash">Funzioni di Hash</h3>
  66. <p>&ldquo;Riassumere&rdquo; un input di dimensioni variabili in un output di dimensioni fisse<br>
  67. Dal risultato non è possibile ottenere l&rsquo;input originale.</p>
  68. </section><section>
  69. <p><img src="../images/hash.png" alt="Hash"></p>
  70. </section><section>
  71. <p>In verità&hellip; si possono provare tutti i valori in input finchè non si trova l&rsquo;output desiderato</p>
  72. </section><section>
  73. <h3 id="cyberchef">Cyberchef</h3>
  74. <p><a href="https://gchq.github.io/CyberChef/">https://gchq.github.io/CyberChef/</a></p>
  75. </section>
  76. </div>
  77. </div>
  78. <script type="text/javascript" src=../reveal-hugo/object-assign.js></script>
  79. <a href="../reveal-js/css/print/" id="print-location" style="display: none;"></a>
  80. <script type="text/javascript">
  81. var printLocationElement = document.getElementById('print-location');
  82. var link = document.createElement('link');
  83. link.rel = 'stylesheet';
  84. link.type = 'text/css';
  85. link.href = printLocationElement.href + (window.location.search.match(/print-pdf/gi) ? 'pdf.css' : 'paper.css');
  86. document.getElementsByTagName('head')[0].appendChild(link);
  87. </script>
  88. <script type="application/json" id="reveal-hugo-site-params">{"custom_css":"style.css","highlight_theme":"solarized-dark"}</script>
  89. <script type="application/json" id="reveal-hugo-page-params">null</script>
  90. <script src="../reveal-js/js/reveal.js"></script>
  91. <script type="text/javascript">
  92. function camelize(map) {
  93. if (map) {
  94. Object.keys(map).forEach(function(k) {
  95. newK = k.replace(/(\_\w)/g, function(m) { return m[1].toUpperCase() });
  96. if (newK != k) {
  97. map[newK] = map[k];
  98. delete map[k];
  99. }
  100. });
  101. }
  102. return map;
  103. }
  104. var revealHugoDefaults = { center: true, controls: true, history: true, progress: true, transition: "slide" };
  105. var revealHugoSiteParams = JSON.parse(document.getElementById('reveal-hugo-site-params').innerHTML);
  106. var revealHugoPageParams = JSON.parse(document.getElementById('reveal-hugo-page-params').innerHTML);
  107. var options = Object.assign({},
  108. camelize(revealHugoDefaults),
  109. camelize(revealHugoSiteParams),
  110. camelize(revealHugoPageParams));
  111. Reveal.initialize(options);
  112. </script>
  113. <script type="text/javascript" src="../reveal-js/plugin/markdown/marked.js"></script>
  114. <script type="text/javascript" src="../reveal-js/plugin/markdown/markdown.js"></script>
  115. <script type="text/javascript" src="../reveal-js/plugin/highlight/highlight.js"></script>
  116. <script type="text/javascript" src="../reveal-js/plugin/zoom-js/zoom.js"></script>
  117. <script type="text/javascript" src="../reveal-js/plugin/notes/notes.js"></script>
  118. </body>
  119. </html>