TPSIT - Crittografia - Cifratura Polialfabetica

Si è nel 1467 e Leon Battista Alberti  scrive De cifris , conservato nella biblioteca Marciana a Venezia, e introduce la crittografia nell'epoca moderna.

Esso si compone di due dischi concentrici, in cui in uno vi è l'alfabeto perfettamente ordinato, nell'altro le lettere poste in maniera casuale.

Permette la sostituzione delle lettere con periodi irregolari.

Indice mobile

Si fissa una lettera nel cerchio interno ad esempio la g (indice da cui si parte) a cui corrisponde la A nel cerchio esterno. Si avranno i seguenti alfabeti:

disco stabile: ABCDEFGILMNOPQRSTVXZ1234

disco mobile: gklnprtuz&xysomqihfdbace

Si supponga di voler spedire il messaggio:

LAGVER2RA

esso si codifica come:

zgthpmamg

All'inizio del messaggio cifrato si inserisce la lettera a cui dovrà puntare la lettera g (indice) ossia alla lettera A. Ossia il disco interno metterà sempre la g che punta alla A. Da notare che è stato inserito un 2 e viene eliminato nella fase di decifrazione. Viene inserito il 2 per evitare di mettere due volte la stessa lettera nel messaggio cifrato.

Il messaggio inviato sarà dunque:

Azgthpmamg

Adesso si vuole cambiare ad esempio la g dovrà puntare ad un'altra lettera , ad esempio la Q, facendo ruotare il disco interno e si avrà questo nuovo alfabeto:

disco stabile: ABCDEFGILMNOPQRSTVXZ1234

disco mobile: ysomqihfdbacegklnprtuz&x

Quindi la g punterà alla Q

voglio mandare il messaggio: SI FARA'

Qlfiyky

l messaggio completo sarà quindi:

AzgthpmamgQlfiyky

Da notare che la lettera maiuscola indica il fatto che si debba ruotare il disco interno.

Indice fisso

In questo caso l'indice fisso viene posto nel disco esterno ad esempio la A  e si mette la m come lettera corrispondente nel cerchio interno.

disco stabile: ABCDEFGILMNOPQRSTVXZ1234

disco mobile: mqihfdbacegklnprtuz&xyso

Spedisco il messaggio:

LAGVERA3

Si nota che si toglie la doppia per evitare la decifratura.

esso diventa

cmbufpms

come prima lettera però si inserisce la lettera a cui punta il disco esterno ossia diventa:

mcmbufpms

Si noti che il numero 3 indica il fatto che adesso la lettera s punterà alla A e non più la m avendo un nuovo alfabeto:

disco stabile: ABCDEFGILMNOPQRSTVXZ1234

disco mobile: somqihfdbacegklnprtuz&xy

Invio adesso:

SIFARÀ

sndhsls

CONCLUSIONE

La cifratura di Cesare è una sostituzione semplice, basata sullo spostamento di un unico alfabeto ordinato rispetto a sé stesso, con chiave fissa.

Nella cifra di Alberti gli alfabeti sono due, mischiati, e la chiave varia in continuazione durante il messaggio, quindi la scoperta di una sola lettera non permette altri progressi nella decrittazione e lo studio delle frequenze non dà risultati perché la stessa lettera. chiara è cifrata sempre in modo diverso.

Posted in Senza categoria | Leave a comment

TPSIT - Crittografia - Esempio di Diffie - Hellman

De Chirico

•g = 5, p = 23 (pubblici)

•a = 6 (Alice)

•b = 15 (Bob)

Si chiede di calcolare K sia per Alice che per Bob

Svolgimento

Alice calcola A = 5^{6}\;mod\;23 = 8 e lo comunica a Bob

Bob calcola B = 5^{15}\:mod\;23 = 19 e lo comunica ad Alice 

Alice calcola K = 19^{6}\;mod\;23 = 2

Bob calcola K = 8^{15}\;mod\;23 = 2 

Come calcolare le potenze

5^{15}\;mod\;23=5^{8}\cdot 5^{4}\cdot 5^{2}\cdot 5^{1}\;mod\;23 = [5^{8}\;mod\;23\cdot 5^{4}\;mod\;23\cdot5^{2}\;mod\;23\cdot 5^{1}\;mod\;23]\;mod\;23

5^{1}\;mod\;23 = 5

5^{2}\;mod\;23 = 25\;mod\;23 = 2

5^{4}\;mod\;23 = (5^{2})^{2}\;mod\;23 = (5^{2}\;mod\;23)^{2}\;mod\;23 = 2^{2}\;mod\;23 = 4\;mod\;23 = 4 

5^{8}\;mod\;23 = (5^{4})^{2}\;mod\;23 = (5^{4}\;mod\;23)^{2}\;mod\;23 = 4^{2}\;mod\;23 = 16\;mod\;23 =16

5^{15}\;mod\;23 = [16 \cdot  4 \cdot  2 \cdot  5]\; mod\;23 = 640\; mod\;23 = 19

Esercizio

•g = 7, p = 31 (pubblici)

•a = 5 (Alice)

•b = 12 (Bob)

•K = ? 

Posted in Senza categoria | Leave a comment

TPSIT - Crittografia - Algoritmo di Diffie-Hellman

De Chirico

Lo scambio di chiavi Diffie-Hellman è un protocollo crittografico che consente a due entità di stabilire una chiave condivisa e segreta utilizzando un canale di comunicazione insicuro (pubblico) senza la necessità che le due parti si siano scambiate informazioni o si siano incontrate in precedenza.

La chiave ottenuta mediante questo protocollo può essere successivamente impiegata per cifrare le comunicazioni successive tramite uno schema di crittografia simmetrica.

Supponiamo che Alice e Bob conoscano entrambi due numeri, g e p, pubblici (p numero primo). Inoltre Alice conosce un numero segreto ‘a’ e Bob conosce un numero segreto ‘b’

Alice calcola: A=g^{a}\;mod \; p e lo dà a Bob

Bob calcola: B=g^{b}\;mod \; p e lo dà ad Alice

Alice calcola: K = B^{a}\; mod \;p=\left [ g^{b}\;mod\:p \right ]^{a}=g^{ab}\;mod\;p

Bob calcola: K = A^{b}\; mod \;p=\left [ g^{a}\;mod\:p \right ]^{b}=g^{ab}\;mod\;p

CONCLUSIONE

Alice e Bob hanno condiviso un segreto (il numero K) senza comunicarlo esplicitamente!

L’attaccante Eva può osservare A, B, g, p ma questa informazione non è sufficiente per ricavare K

K è calcolabile solo conoscendo a ob, che tuttavia sono segreti e non vengono mai trasmessi. Ricavare ada A (o analogamente bda B) significa risolvere un logaritmo discreto computazionalmentedifficile!

Alice e Bob hanno condiviso un segreto (il numero K) senza comunicarlo esplicitamente!

Posted in Senza categoria | Leave a comment

TPSIT - Crittografia - aritmetica modulare

L'algebra modulare si basa sul concetto di congruenza modulo m

a mod m = resto della divisione a/m

Dati tre numeri a, b, m con m\neq 0 si dice cha a e b sono congruenti modulo m, se la differenza a-b è multiplo di m.

De Chirico

a\equiv b\;mod\;m

si può anche scrivere

a\;mod\;m=b\;mod\; m

si legge a è congruo a b modulo m

Invarianza rispetto alle operazioni aritmetiche

Prima proprietà (somma)

[(a\;mod\;m) + (b\;mod\;m)] mod\;m = (a+b)\;mod\;m

(a\;mod\;m+b\;mod\;m)\equiv (a+b)mod\;m

Seconda proprietà (differenza)

[(a\;mod\;m)-(b\;mod\;m)]\;mod\;m=(a-b)\;mod\;m

(a\;mod\;m-b\;mod\;m)\equiv (a-b)\;mod\;m

Terza proprietà (prodotto)

[(a\;modm)\;\cdot(b\;mod\;m)]\;mod\;m=(a\cdot\;b)\;mod\;m

(a\;mod\;m\cdot b\;mod\;m)\equiv (a\cdot b)mod\;m

Quarta proprietà (potenza--> generalizzazione del prodotto)

\left [ \left ( a \;mod\; m \right )^{k} \right ]\;mod \; m = a^{k} \; mod \; m

\left [ \left ( a \;mod\; m \right )^{k} \right ]\equiv a^{k} \; mod \; m

Esempi

Calcolo che si farebbe in assenza della conoscenza delle proprietà

540\; mod\;17 = ?
540 / 17 = 31,764….
31\cdot 17 = 527 540 -527 = 13

Applicazione della proprietà della somma

(6+7) \;mod\;5 = 3
(6\; mod\;5 + 7\; mod\;5) mod\;5= (1 + 2)\; mod\;5 = 3

Conseguenza dell’ultima proprietà

Ad esempio:

\left [ \left ( 9 \;mod\; 5 \right )^{2} \right ]\;mod \; 5 = 4^{2} \; mod \; 5= 16 \: mod \; 5 =1

ed è uguale a:

9^{2} \; mod \; 5= 81 \: mod \; 5 =1

Ho semplificato di molto il calcolo

Approfondimenti sull'algebra modulare

Molte funzioni normalmente invertibili, diventano non invertibili nella versione modulare

Esempio: il logaritmo

a^{b}=c

invertendola ho appunto la definizione di logaritmo e posso trovare il valore dell'esponente b:

b=\log _{a}c

MA (DEFINIZIONE DI LOGARITMO DISCRETO)

a^{b}\; mod \; m=c

Trovare b dati a, c ed m è computazionalmentemolto difficile!

Posted in Senza categoria | Leave a comment

TPSIT: crittografia asimmetrica

Per capire la crittografia a chiave asimmetrica si può ipotizzare questo semplice esempio pratico:

Bob spedisce ad Alice il suo lucchetto aperto e quindi NON serve che Alice abbia la chiave di BOB

Alice lo usa per chiudere la scatola contenente il messaggio segreto e la spedisce a Bob

Nell'ambito informatico come si può realizzare una cosa di questo genere?

è necessario trovare una funzione (il lucchetto) la cui trasmissione su canali insicuri non compromette l’algoritmo, che sia facile da applicare (chiudere il lucchetto) ma difficile da invertire (aprire il lucchetto) a meno di non possedere un determinato elemento (la chiave del lucchetto)

La ricerca di una funzione con tali caratteristiche è stata la grande sfida per i crittografi degli anni ‘70

Posted in Senza categoria | Leave a comment

C++: gestione file

1 -Includere la libreria  <fstream>

2-  dichiarare (una o più) variabili di " tipo file “ (es. fstreamfile_dati;)

tipi consentiti:

–ifstream: variabile file di sola lettura

–ofstream: variabile file di sola scrittura

– fstream: variabile file di lettura/scrittura

  • ofstream miofile("prova.txt",ios::app); //apertura in AGGIUNTA

3- associare una variabile di tipo file a un oggetto di tipo file (tramite la funzione open()) (es. file_dati.open(“c:\Dati00.txt”);

 4- L'accesso ad un file consente di leggere e/o scrivere su file. Si utilizzano i normali comandi >>e <<su una variabile di tipo file (analogamente a cin e cout)

OSS: >>si può usare con una variabile di tipo lettura (ifstream), <<con una variabile di tipo scrittura (ofstream)

5-  al termine dell'uso di una variabile di tipo file, questa va "chiusa" usando la funzioneclose()

Ecco un semplice esempio di programma per la lettura:

include <iostream>

include <fstream>

using namespace std;
int main() {
int i, j, k;
char ch;
ifstream inFile; //dichiarazione file sola lettura
ofstream oFile;
inFile.open("dati.txt");// associa inFileal // file dati.txt
inFile>> i >> j >>ch;
cout<<i<<' '<<j<<' '<<ch; //scrive su schermo i //valori letti
inFile.close(); /* "chiusura" del file */
oFile.open("scrivo.txt",ios::app);
oFile<<"3 "<<"pippo";
oFile.close();

return 0;
}

Posted in Senza categoria | Leave a comment

(Italiano) Lisbona - 5 - 8 Dicembre 2018 - Visita istruzione classi Quinte Informatica e Telecomunicazioni

Sorry, this entry is only available in Italian.

Posted in Senza categoria | Leave a comment

(Italiano) GPOI - Test su CPM

Sorry, this entry is only available in Italian.

Posted in Senza categoria | Leave a comment

(Italiano) Raspberry - Access Point come bridge senza dhcp utilizzando il proxy della LAN per controllo del traffico

Sorry, this entry is only available in Italian.

Posted in Senza categoria | 2 Comments

(Italiano) Linux/Raspberry : impostare che tutta la navigazione vada sul proxy

Sorry, this entry is only available in Italian.

Posted in Senza categoria | Leave a comment