Indice articoli

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 
Enigma

 

AMBITO: Crittografia
STATO:  CHIUSO 

 

Enigma@home è un wrapper tra BOINC e il progetto M4 di Stefan Krah che si propone di decifrare 3 messaggi originali criptati dal congegno Enigma durante la 2a guerra mondiale. Enigma è infatti il nome dato a una macchina di cifratura utilizzata dall'esercito tedesco; i messaggi inviati ai vari reparti terrestri o navali venivano criptati con l'uso di questo apparecchio.

 

Nel 1995 un tal R. Erskine invia una lettera al giornale Cryptologia nella quale presenta le registrazioni di 3 messaggi non ancora decifrati, intercettati nel Nord Atlantico nel 1942, invitando i lettori a una sorta di sfida. Questa viene raccolta nel 2006 da Stefan Krah che con il suo progetto M4 prova a utilizzare un software per computer e la tecnica del calcolo distribuito. I primi due messaggi vennero decifrati molto rapidamente, il terzo rimane ancora un mistero.

 

 

Nel corso degli anni di guerra le forze alleate misero a punto, partendo da un progetto iniziale di un gruppo di matematici polacchi, un sistema di decifrazione. Tale operazione è però piuttosto complessa e lunga da portare a termine perché la macchina Enigma può essere impostata in molti modi diversi, specialmente i modelli in uso alla marina militare. Non tutti i messaggi intercettati furono quindi decriptati.

Per ulteriori informazioni visitate il thread ufficiale presente nel nostro forum.


Enigma




Software:
Il software utilizzato in questo progetto è Open Source, così che possiate vedere cosa viene eseguito sui vostri computer. Il client è uno script in Python che cerca di connettersi al server per ottenere una workunit (gamma di chiavi). Quando ha successo, lancia il programma (scritto in C) di rottura del messaggio che lavora sulla gamma di chiavi. Il risultato più promettente di questo sforzo è presentato al server, dopo di che il client prende una nuova workunit.
 
Metodo:
Il metodo in questione è solamente un attacco ad un testo cifrato. Questo significa che non hanno bisogno di un pezzo di testo indovinato/conosciuto per una decodifica di successo. 
L'attacco più semplice ad un testo cifrato sarebbe l'uso della forza bruta (brute force). Si potrebbe prendere ogni possibile chiave, decriptare il messaggio e determinare la probabilità dell'aspirante testo in chiaro. Lo spazio delle chiavi di Enigma è troppo grande per questo approccio.
Il metodo utilizzato qui è un misto di forza bruta e un algoritmo di risalita: il programma itera attraverso tutti le possibile impostazione della macchina, eccetto le impostazioni di plugboard (pannello di controllo). Questa è la maggiore scorciatoia dato che le impostazioni di plugboard formano una grande porzione dello spazio delle chiavi. Per ognuna di queste impostazioni macchina il programma utilizza un algoritmo di risalita per trovare le ottimali impostazioni di plugboard. 
Gli algoritmi di risalita cercano di ottimizzare un oggetto, in questo caso le impostazioni di plugboard, cambiando l'oggetto passo dopo passo. Dopo ogni cambio la "bontà" o "idoneità" del nuovo oggetto deve essere determinata da una funzione di punteggio. I cambiamenti che portano ad un oggetto "migliore" vengono conservati.
Qui i cambiamenti si trovano continuamente in prova con nuovi cablaggi del plugboard di Enigma. Dopo ogni cambiamento la funzione di punteggio testa un nuovo cablaggio decifrando il messaggio e provando a determinare quanto strettamente il testo risultante corrisponde alle statistiche del linguaggio naturale. La funzione di punteggio utilizza la Statistica di Sinkov.

 


Enigma




Stato del progetto: progetto attivo
Iscrizione libera.

 

Requisiti minimi: nessuno
Gli sviluppatori non segnalano requisiti minimi da rispettare.

 

Screensaver: disponibile

 

Assegnazione crediti: variabili in base al tempo di elaborazione
Quorum = 1 (se è >1 le WU dovranno essere convalidate confrontando i risultati con quelli di altri utenti).

 

Applicazioni e WU disponibili: vedi scheda "Link"
Cliccare sulle icone relative alle "Applicazioni" ico32_applicazioni e allo "Stato del server" ico32_server.

 

Sistemi operativi supportati: vedi scheda "Info tecniche"

 

Dati specifici sull'elaborazione: vedi scheda "Info tecniche"
Per ottenere dati sulla durata media dell'elaborazione, la RAM necessaria e la dead line, consultare la scheda "Info tecniche" qui a destra. Per informazioni particolareggiate (specifiche per applicazione e sistema operativo, intervallo di backup e crediti assegnati) rifarsi alla pagina dei risultati del progetto WUprop@home.

 

Problemi comuni: nessuno
Non si riscontrano problemi significativi.
 

 

Supporto al progetto: supportato
Per unirsi al team BOINC.Italy consultare la scheda "Link" qui sotto cliccando sull'icona relativa al "JOIN" ico32_bi.

 

Referente/i: posizione vacante
Se sei interessato al progetto e vuoi dare una mano diventando referente, contatta i moderatori in privato o attraverso le pagine del forum.

 


Enigma
Link utili
Join al Team ico32_bi
Applicazioni ico32_applicazioni
Stato del server ico32_server

Statistiche interne

del progetto

ico32_stats

Classifica interna utenti

ico32_classutenti

Pagina dei

risultati

Pagina dei risultati
 
 
 
Statistiche BOINC.Stats
Statistica del Team sul progetto ico32_boincstats
Classifica dei team italiani ico32_statita
Statistiche del Team Team Stats



 

Posizione del team nelle classifiche modiali:



 


Accedi per commentare

Articoli

Guida WSL

Updated
Written on 26/02/2021, 18:14 by boboviz
guida-wslGuida a Boinc su WSL   Su stimolo di un nostro volontario abbiamo provato a far funzionare il client boinc in una macchina virtuale linux (ci sono...

Ultime dal Blog

Written on 03/08/2021, 22:27 by boboviz
foldit-e-alphafoldLa "svolta" AlphaFold è una delle più importanti degli ultimi anni, motivo per cui ho deciso di tradurre l'articolo che parla della sua implementazione in...