Pages: 1 2 [3]   Go Down
Author Topic: Nuova libreria pRNG  (Read 2444 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 336
Posts: 23142
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nella crittografia a chiave pubblica esistono 2 chiavi.
Colui che vuole iniziare una comunicazione cifrata genera una coppia di chiavi, una segreta che non deve distribuire a nessuno ed una pubblica che può distribuire liberamente.
Questa chiave pubblica può essere usata da tutti coloro che intendono spedire un messaggio cifrato al distributore della stessa.
Questo cifrerà il messaggio con la chiave pubblica e poi lo spedirà in rete. Solo colui che possiede la chiave privata potrà riaprire quel messaggio.

Esistono 2 problemi con la chiave pubblica:
1) devi usare chiavi molto molto più grosse di quelle private (in numero di bit) per avere la stessa sicurezza
2) non hai nessuna identità su chi ti ha spedito il messaggio

Per capire il punto 1, considera che una chiave privata a 128 bit è il minimo per garantire una sicurezza dei dati per almeno 20/30 anni (considerando un attacco a forza bruta). Per avere la stessa sicurezza con una chiave pubblica bisogna salire almeno a 2048 bit (meglio 4096). Capirai che con una piccola MCU che ha solo 2 kB di RAM e lavora con interi a 32 bit la cosa diventi molto complessa.

Per risolvere il punto 2 si deve ricorrere ad un sistema di autenticazione del messaggio.

Vi rimando a questa pagina:
https://it.wikipedia.org/wiki/Differenza_fra_cifratura_simmetrica_e_asimmetrica

Ci sono spiegate un pò di differenze fra i 2 sistemi.

Secondo me, quando possibile, è meglio usare un algoritmo a chiave privata: a parità di lunghezza della chiave (in bit) è di diversi ordini di grandezza più robusto ed è di più facile implementazione sulle piccole MCU ad 8 bit. Difatti sistemi tipo l'AES non sono un problema per l'Arduino.
Logged


Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 77
Posts: 2461
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ci sarebbe un secondo modo per autenticare il mittente del messaggio, oltre a quello di dare solo a lui la chiave pubblica menzionato in quell'articolo, ma e' un po piu macchinoso ... in compenso sfrutta la reversibilita' di alcuni algoritmi a chiave asimmetrica.

Questi sono bidirezionali, cioe', se io tu cripti un messaggio per me con la mia chiave pubblica, solo io posso decriptarlo con la mia chiave privata, ma allo stesso tempo, se io cripto un messaggio con la mia chiave privata, tu (o chiunque la possieda) lo puoi decriptare con la mia chiave pubblica, e viceversa ... e questo NON rivela le chiavi private in alcun modo ...

Questo, se ognuno di noi ha la chiave pubblica dell'altro, consente di effettuare una doppia cifratura di sicurezza, in questo modo: prima tu cripti il messaggio con la tua chiave privata, poi lo cripti di nuovo con la mia chiave pubblica ... quando io lo ricevo, lo decripto prima con la mia chiave privata, e poi di nuovo con la tua chiave pubblica ... solo se sei stato tu, che sei l'unico ad avere la tua chiave privata, ad inviarlo, mi ritrovo con un messaggio decriptato, altrimenti rimane illeggibile.
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Pages: 1 2 [3]   Go Up
Jump to: