Am o intrebare in legatura cu cablajul intern a rotoarelor mașinii Enigma.
Încerc să înțeleg câteva detalii despre mașina originală Enigma. După ce am înțeles, fiecare rotor nu este altceva decât a cifrul de substituție monoalfabetic - cu excepția faptului că rotoarele se pot roti. Da. Dar rotația este doar un plus decalaj. Actualul tabel de înlocuire este codificat de către cablajul intern a rotorului. Și, pentru un anumit rotor, acesta este complet fix.
Acum, conform Wikipedia, existau trei (mai târziu cinci) rotoare diferite din care să alegeți, fiecare având un cablaj intern distinct. Putem găsi tabele de înlocuire pentru diferitele rotoare diferite (pentru diferitele modele Enigma) în acest articol. Dar cum au astea tabele de înlocuire fost ales?
Are cablajul intern (tabelele de înlocuire) ale rotoarelor au fost generate în conformitate cu unele reguli, adică trebuie să îndeplinească cerințe specifice pentru a asigura o criptare „bună” (pe cât de bună poate fi criptarea în stil Enigma), sau au fost alese complet la Aleatoriu și un posibil cablaj „randomizat” este în esență la fel de bun ca oricare altul? Se știe cum au fost aleși?
Cel mai important: dacă ar fi să implementăm o mașină Enigma „modernă”, am putea pur și simplu să generăm cablajul intern (tabelele de înlocuire) ale rotoarelor utilizând un PRNG (generator de numere pseudo-aleatorie) și o „cheie” pentru a semăna acel PRNG - în loc să vă bazați pe un set de rotoare predefinite?
Toate cele bune.