|
@@ -0,0 +1,153 @@
|
|
|
+<!doctype html>
|
|
|
+<html lang="en">
|
|
|
+ <head>
|
|
|
+ <meta charset="utf-8">
|
|
|
+<title>Introduzione alla crittografia</title>
|
|
|
+
|
|
|
+
|
|
|
+<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
+<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
|
+<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
|
+ <link rel="stylesheet" href="../reveal-js/css/reset.css">
|
|
|
+<link rel="stylesheet" href="../reveal-js/css/reveal.css"><link rel="stylesheet" href="../reveal-js/css/theme/black.css" id="theme">
|
|
|
+<link rel="stylesheet" href="../highlight-js/solarized-dark.min.css"><link rel="stylesheet" href="../style.css" id="custom_css">
|
|
|
+
|
|
|
+ </head>
|
|
|
+ <body>
|
|
|
+
|
|
|
+ <div class="reveal">
|
|
|
+ <div class="slides">
|
|
|
+
|
|
|
+
|
|
|
+ <section><h3 id="intro-sulla-crittografia">intro sulla crittografia</h3>
|
|
|
+</section><section>
|
|
|
+<h3 id="cosa-vuol-dire-crittografia">Cosa vuol dire crittografia?</h3>
|
|
|
+<p>metodi per rendere un messaggio non comprensibile/intelligibile a persone non autorizzate</p>
|
|
|
+</section><section>
|
|
|
+<h5 id="heading"></h5>
|
|
|
+<p>Usata in ambito militare fin dall’antichità<br>
|
|
|
+Bisogna mandare messaggi al fronte senza che vengano intercettati.</p>
|
|
|
+</section><section>
|
|
|
+<h5 id="cifrario-di-cesare">Cifrario di Cesare</h5>
|
|
|
+<p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Caesar3.svg/640px-Caesar3.svg.png" alt="Cesare"></p>
|
|
|
+</section><section>
|
|
|
+<h5 id="cifrario-di-cesare-1">Cifrario di Cesare</h5>
|
|
|
+<p>ATTACCO ALL’ALBA<br>
|
|
|
+NGGNPPB NYY’NYON</p>
|
|
|
+</section><section>
|
|
|
+<h5 id="heading-1"></h5>
|
|
|
+<p><img src="https://upload.wikimedia.org/wikipedia/commons/8/89/Fattura_italiana%2C_cifrario%2C_xvii_sec..JPG" alt="Cifrario meccanico"></p>
|
|
|
+</section><section>
|
|
|
+<h5 id="cifrario-di-vigenere">Cifrario di Vigenere</h5>
|
|
|
+<p><img src="../images/vigenere.jpg" alt="Vigenere"></p>
|
|
|
+</section><section>
|
|
|
+<h5 id="enigma">Enigma</h5>
|
|
|
+<p><img src="../images/enigma.jpg" alt="Enigma"></p>
|
|
|
+</section><section>
|
|
|
+<h3 id="crittografia-simmetrica">Crittografia simmetrica</h3>
|
|
|
+<p>Si “nasconde” il messaggio tramite una chiave<br>
|
|
|
+Gli interlocutori usano la chiave per recuperare il messaggio originale</p>
|
|
|
+</section><section>
|
|
|
+<p>Io e Alice condividiamo un lucchetto e due chiavi per aprirlo.<br>
|
|
|
+Ripongo il messaggio in una valigia e la chiudo con un lucchetto.</p>
|
|
|
+</section><section>
|
|
|
+<p>Come posso scambiare le chiavi a molti chilometri di distanza?<br>
|
|
|
+Se perdiamo la chiave, possono decifrare e cifrare nuovi messaggi :(<br>
|
|
|
+Ogni coppia di interlocutori deve usare chiavi diverse</p>
|
|
|
+</section><section>
|
|
|
+<h3 id="crittografia-asimmetrica">Crittografia asimmetrica</h3>
|
|
|
+<p>Si “nasconde” il messaggio con una chiave “pubblica”<br>
|
|
|
+Gli interlocutori usano la loro chiave privata per recuperare il messaggio originale</p>
|
|
|
+</section><section>
|
|
|
+<p>Alice mi da il suo lucchetto di cui solo lui ha la chiave.<br>
|
|
|
+Ripongo il messaggio in una valigia e la chiudo con il lucchetto di Alice.</p>
|
|
|
+</section><section>
|
|
|
+<p>Per essere sicura è necessario usare chiavi lunghe e numeri enormi<br>
|
|
|
+Lenta da calcolare e computare.</p>
|
|
|
+</section><section>
|
|
|
+<h3 id="gpg4win---kleopatra">Gpg4Win - Kleopatra</h3>
|
|
|
+<p><a href="https://www.gpg4win.org/index.html">https://www.gpg4win.org/index.html</a></p>
|
|
|
+</section><section>
|
|
|
+<h3 id="funzioni-di-hash">Funzioni di Hash</h3>
|
|
|
+<p>“Riassumere” un input di dimensioni variabili in un output di dimensioni fisse<br>
|
|
|
+Dal risultato non è possibile ottenere l’input originale.</p>
|
|
|
+</section><section>
|
|
|
+<p><img src="../images/hash.png" alt="Hash"></p>
|
|
|
+</section><section>
|
|
|
+<p>In verità… si possono provare tutti i valori in input finchè non si trova l’output desiderato</p>
|
|
|
+</section><section>
|
|
|
+<h3 id="cyberchef">Cyberchef</h3>
|
|
|
+<p><a href="https://gchq.github.io/CyberChef/">https://gchq.github.io/CyberChef/</a></p>
|
|
|
+</section>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+</div>
|
|
|
+
|
|
|
+
|
|
|
+ </div>
|
|
|
+<script type="text/javascript" src=../reveal-hugo/object-assign.js></script>
|
|
|
+
|
|
|
+<a href="../reveal-js/css/print/" id="print-location" style="display: none;"></a>
|
|
|
+<script type="text/javascript">
|
|
|
+ var printLocationElement = document.getElementById('print-location');
|
|
|
+ var link = document.createElement('link');
|
|
|
+ link.rel = 'stylesheet';
|
|
|
+ link.type = 'text/css';
|
|
|
+ link.href = printLocationElement.href + (window.location.search.match(/print-pdf/gi) ? 'pdf.css' : 'paper.css');
|
|
|
+ document.getElementsByTagName('head')[0].appendChild(link);
|
|
|
+</script>
|
|
|
+
|
|
|
+<script type="application/json" id="reveal-hugo-site-params">{"custom_css":"style.css","highlight_theme":"solarized-dark"}</script>
|
|
|
+<script type="application/json" id="reveal-hugo-page-params">null</script>
|
|
|
+
|
|
|
+<script src="../reveal-js/js/reveal.js"></script>
|
|
|
+
|
|
|
+<script type="text/javascript">
|
|
|
+
|
|
|
+
|
|
|
+ function camelize(map) {
|
|
|
+ if (map) {
|
|
|
+ Object.keys(map).forEach(function(k) {
|
|
|
+ newK = k.replace(/(\_\w)/g, function(m) { return m[1].toUpperCase() });
|
|
|
+ if (newK != k) {
|
|
|
+ map[newK] = map[k];
|
|
|
+ delete map[k];
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ var revealHugoDefaults = { center: true, controls: true, history: true, progress: true, transition: "slide" };
|
|
|
+ var revealHugoSiteParams = JSON.parse(document.getElementById('reveal-hugo-site-params').innerHTML);
|
|
|
+ var revealHugoPageParams = JSON.parse(document.getElementById('reveal-hugo-page-params').innerHTML);
|
|
|
+
|
|
|
+ var options = Object.assign({},
|
|
|
+ camelize(revealHugoDefaults),
|
|
|
+ camelize(revealHugoSiteParams),
|
|
|
+ camelize(revealHugoPageParams));
|
|
|
+ Reveal.initialize(options);
|
|
|
+</script>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <script type="text/javascript" src="../reveal-js/plugin/markdown/marked.js"></script>
|
|
|
+
|
|
|
+ <script type="text/javascript" src="../reveal-js/plugin/markdown/markdown.js"></script>
|
|
|
+
|
|
|
+ <script type="text/javascript" src="../reveal-js/plugin/highlight/highlight.js"></script>
|
|
|
+
|
|
|
+ <script type="text/javascript" src="../reveal-js/plugin/zoom-js/zoom.js"></script>
|
|
|
+
|
|
|
+
|
|
|
+ <script type="text/javascript" src="../reveal-js/plugin/notes/notes.js"></script>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </body>
|
|
|
+</html>
|