Rispondi 
 
Valutazione discussione:
  • 0 voti - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Rivelato l'algortimo Chaocipher !!!
27-07-2010, 13:10 (Questo messaggio è stato modificato l'ultima volta il: 27-07-2010 14:30 da Oromis92.)
Messaggio: #1
Rivelato l'algortimo Chaocipher !!!
è dal 1918 che il mondo ci sta sbattendo la testa Smile

John F. Byrne ha sviluppato l'algoritmo (finora segreto) e ha rilasciato vari testi in chiaro con i corrispondenti testi cifrati, sfidando tutti a comprendere l'algoritmo.

inutile dire che nessuno ce l'ha fatta.

il 1 luglio di questo mese, gli eredi di Byrne hanno donato la macchina cifrante al National Cryptological Museum, così l'algoritmo è saltato fuori, dopo 92 anni!

ecco una descrizione completa e semplice dell'algoritmo:

http://www.mountainvistasoft.com/chaocip...http://www.mountainvistasoft.com/chaocipher/ActualChaocipher/Chaocipher-Revealed-Alg

enjoy Big Grin

[EDIT]
l'algoritmo in perl presentato nel paper è lunghissimo (ha la decifrazione e una marea di controlli). però mi sono divertito ha riscrivere una versione semplificata, senza la decifrazione e senza controlli, con gli alfabeti iniziali inseriti direttamente nel source, per un totale di 400 righe in meno. anche la sintassi perl non è delle migliori, ma ripeto, l'ho scritto just for fun.

Codice:
#!/usr/bin/perl

$CT = "CEDQRSTIXYLMOPZABFVGUHWJKN";
$PT = "ayzbqdsefghlwinkcmoprtuvjx";

@cttrans = (0, 2..13, 1, 14..25);
@pttrans = (1, 2, 4..14, 3, 15..25, 0);

@ctarr = split //,$CT;
@ptarr = split //,$PT;

print "\n> ";
$in = <>;
chomp $in;
@inarr = split //,$in;

for $j (0..$#inarr) {

for $k (0..$#ptarr) {
if ("$inarr[$j]" eq $ptarr[$k]) {$out .= $ctarr[$k]; $p = $k;}
}

for $t (0..25) {
$ctarr2[$t] = $ctarr[($p+$cttrans[$t])%26];
$ptarr2[$t] = $ptarr[($p+$pttrans[$t])%26]
}

@ctarr = @ctarr2; @ptarr = @ptarr2;

}

print "\n> $out\n";

asd
Visita il sito web di questo utente Trova tutti i messaggi di questo utente
Cita questo messaggio nella tua risposta
Rispondi 



ContattaciInfernet Home PageTorna all'inizio della paginaTorna al contenutoModalità archivioRSS Syndication