C-38

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea avionului de afaceri C-38 Courier, consultați Gulfstream G100 .
C-38 cu partea superioară a carcasei exterioare deschise. Rotoarele cheii și tamburul barei sunt vizibile

În criptografie, C-38 este un cifru mecanic portabil utilizat pe scară largă în timpul celui de-al doilea război mondial, în diferitele sale versiuni, atât de către aliați, cât și de forțele Axei.

Istorie și utilizare

În a doua jumătate a anilor 1930, pornind de la un model anterior (C-36), criptograful și antreprenorul suedez Boris Hagelin a proiectat un cifru mecanic, numit C-38, pentru a satisface cerința unui sistem criptografic portabil pentru utilizări tactice. Cifrul a fost utilizat progresiv de către forțele armate franceze, germane și americane.

Americanii l-au adoptat în 1940 și l-au folosit în principal în cel de-al doilea război mondial, deși a rămas în funcțiune pe tot parcursul războiului coreean ( 1953 ). Prima sa utilizare operațională a avut loc în timpul invaziei Africii de Nord în 1942 . Versiunea armatei a fost indicată cu inițialele M-209, în timp ce cea a US-Navy cu inițialele CSP-1500.

C-36 a fost oferit de inventatorul său Regia Marina în jurul anului 1935 , dar a fost respins după ce Serviciul de Informații Secrete (SIS) [1] al Marinei a efectuat o evaluare amănunțită a aparatului. Ulterior, în 1938 , Hagelin a prezentat C-38 Regia Marina care a adoptat-o. Cifrul a intrat în serviciu în 1940 pentru criptarea comunicațiilor între Înaltul Comandament atât la uscat, cât și la bord.

În general, se estimează că au fost produse 140.000 de unități C-38 / M-209, dintre care 125.000 sub licență de la firma americană Smith-Corona . Producția sa încheiat la începutul anilor 1960. După război, Hagelin, care a devenit foarte bogat, a dezvoltat un model îmbunătățit de M-209 pe care l-a numit C-52 . C-52 a avut o perioadă lungă de până la 2.765.205.443 caractere, rotoarele puteau fi scoase și inserate într-o ordine diferită, în timp ce rotorul de imprimare avea o ordine alfabetică amestecată. C-52 a fost una dintre ultimele mașini de cifrat mecanice. Electronica și noile tehnologii digitale ar fi permis dezvoltarea unor cifre mult mai puternice.

Descriere mecanică

C-38 este un cifru mecanic cu rotor manual. De dimensiuni extrem de mici, în versiunea sa finală măsoară 83x140x178 mm și cântărește aproximativ 2,7 kg.

În partea dreaptă a mașinii există o manetă mare care servește la acționarea mecanismului, în timp ce în stânga există un buton numit disc indicator care este utilizat de operator pentru a seta litera care să fie criptată sau decriptată. Coaxial discului indicator este rotorul de imprimare sub care rulează o panglică de hârtie pe care este imprimat rezultatul operației. De asemenea, în partea stângă un selector vă permite să alegeți cifra sau operația de decriptare.

Odată ce carcasa exterioară este deschisă, se accesează cele șase rotoare ale tastei de sesiune pe care sunt gravate literele alfabetului (în C-36 erau doar 5 rotoare). Pe capacul cifrului, șase ferestre vă permit să citiți litera din partea superioară a rotorilor. Încă pe capac, o altă fereastră arată un contor care indică numărul de caractere criptate / decriptate.

Numărul de litere se modifică în funcție de rotor. De la stânga la dreapta, rotoarele au:

  • 26 de litere de la „A” la „Z”;
  • 25 de litere de la „A” la „Z”, minus „W”;
  • 23 de litere de la „A” la „X”, minus „W”;
  • 21 de litere de la „A” la „U”;
  • 19 litere de la „A” la „S”;
  • 17 litere de la „A” la „Q”.

Această diferență a fost introdusă astfel încât numerele literelor vectoriale să fie prime între ele și fiecare model să se realinieze după 26x25x23x21x19x17 = 101.405.850 pași ( perioadă ).

Rotoare cheie, rotor de imprimare și disc indicator al unui C-38. Deși aliniate pe aceeași axă, rotoarele cheii se rotesc independent de rotorul de imprimare și de discul indicator.

În corespondența fiecărei litere, pe rotor există un știft mic care poate fi deplasat spre dreapta sau spre stânga în raport cu discul. În funcție de poziția sa, pinul este fie activ în procesul de criptare (stânga), fie inert (dreapta). Fiecare rotor este asociat cu un braț oscilant metalic, acționat de știfturile în poziția activă (stânga).

În spatele șirului de șase rotoare, există un tambur cilindric format din 27 de bare orizontale glisante (25 în C-26). Pe fiecare bară există două aripioare mobile care pot fi aliniate cu oricare dintre cele șase rotoare sau poziționate într-una din cele două poziții „nule”.

Combinația pozițiilor (active / inactive) a celor 131 pini (26 + 25 + 23 + 21 + 19 + 17) pe cele șase rotoare și a celor 54 lame (2x27) pe bare constituie cheia de sistem a cifrului, în timp ce poziția inițială a celor șase rotoare (indicată prin secvența de șase litere afișate în ferestrele din partea superioară a dispozitivului) reprezintă cheia de sesiune .

Un știft al unui rotor într-o poziție activă determină înclinarea brațului corespunzător înainte, până când atinge tamburul. Când operatorul acționează pârghia, tamburul cilindric funcționează pentru o revoluție completă, făcând brațele active ale rotorilor să atingă cele 27 de bare. Dacă un braț atinge o clapetă, acesta împinge bara corespunzătoare spre stânga făcându-l să iasă din tambur și formând, împreună cu celelalte bare offset, o roată dințată cu dinți variabili care, la rândul său, rotește rotorul de imprimare cu câte clicuri sunt barele proeminente. Aceasta selectează litera rezultată din operația de cifrare sau decriptare care este imprimată pe banda de hârtie.

La sfârșitul ciclului, un retractor împinge barele înapoi în poziția lor de pornire, un set de trepte intermediare avansează rotoarele o poziție, rotorul de imprimare se aliniază cu discul indicator în timp ce un știft de blocare oprește tamburul pentru a evita o a doua cifră accidentală până când discul indicator este gata pentru următoarea literă.

Descriere funcțională

Principiul de funcționare al sistemului de criptare

Sistemul de cifrare utilizat de C-38 este o substituție polialfabetică cunoscută sub numele de cifrul Beaufort . Acesta din urmă este un cifru similar cu cel al lui Vigenére în care, totuși, alfabetele sunt utilizate în ordine inversă (de la Z la A). În practică, se folosește un tabel ca cel din figură, unde primul rând din partea de sus reprezintă tasta de selecție a alfabetului, în timp ce prima coloană din stânga reprezintă alfabetul cu text simplu.

Tabelul unui cifru Beaufort

Pentru a înțelege cum funcționează, este adecvat să dați un exemplu practic, presupunând că doriți să criptați cuvântul supermarină . Pentru a face acest lucru, este necesar un vierme de criptare pseudo-aleatoriu format din 11 cifre (unul pentru fiecare caracter al textului simplu) între 0 și 25 (inclusiv), cum ar fi următoarele:

24 - 0 - 21 - 9 - 12 - 4 - 4 - 20 - 0 - 11 - 18

Viermele cifrat reprezintă alfabetul care trebuie utilizat pentru a obține literele textului cifrat corespunzător celor din textul clar. De fapt, prin asocierea fiecărei litere cu litera corespunzătoare a alfabetului indicat de număr, obținem:

  • s → 24 → F
  • u → 00 → F
  • p → 21 → F
  • e → 09 → E
  • r → 12 → U
  • m → 04 → R
  • a → 04 → D
  • r → 20 → C
  • i → 00 → R
  • n → 11 → X
  • a → 18 → R

Deci, rezultatul criptării este FFFEURDCRXR . Sistemul de criptare este reciproc, deci folosind textul cifrat în locul textului simplu obținem decriptarea textului:

  • f → 24 → S
  • f → 00 → U
  • f → 21 → P
  • e → 09 → E
  • u → 12 → R
  • r → 04 → M
  • d → 04 → A
  • c → 20 → R
  • r → 00 → I
  • x → 11 → Nu
  • r → 18 → A

Cifrul se pretează, de asemenea, unei reprezentări algebrice, care va fi utilă atunci când se abordează problema criptanalizei sistemului. În această reprezentare, valorile 0,1, 2, ..., 23, 24, 25 sunt asociate cu fiecare literă a alfabetului textului simplu abc ... xyz și a textului cifrat ZYX ... CBA . din plaintext-, c cel care corespunde literei ciphertext și k aceea a viermelui, iar cifra / operația decripta este următoarea: c = (p - k) Mod 26. În cazul exemplului anterior:

  • s = 18 → (18 - 24) mod 26 = 20 → F
  • u = 20 → (20 - 00) mod 26 = 20 → F
  • p = 15 → (15 - 21) mod 26 = 20 → F
  • e = 04 → (04 - 09) mod 26 = 21 → E
  • r = 17 → (17 - 12) mod 26 = 05 → U
  • m = 12 → (12 - 04) mod 26 = 08 → R.
  • a = 00 → (00 - 04) mod 26 = 22 → D
  • r = 17 → (17 - 20) mod 26 = 23 → C
  • i = 08 → (08 - 00) mod 26 = 08 → R
  • n = 13 → (13 - 11) mod 26 = 02 → X
  • a = 00 → (00 - 18) mod 26 = 08 → R.

În mod similar pentru decriptare:

  • f = 05 → (05 - 24) mod 26 = 07 → S
  • f = 05 → (05 - 00) mod 26 = 05 → U
  • f = 05 → (05 - 21) mod 26 = 10 → P
  • e = 04 → (04 - 09) mod 26 = 21 → E
  • u = 20 → (20 - 12) mod 26 = 08 → R.
  • r = 17 → (17 - 04) mod 26 = 13 → M
  • d = 03 → (03 - 04) mod 26 = 25 → A
  • c = 02 → (02 - 20) mod 26 = 08 → R
  • r = 17 → (17 - 00) mod 26 = 17 → I
  • x = 23 → (23 - 11) mod 26 = 12 → N
  • r = 17 → (17 - 18) mod 26 = 25 → A

Această operațiune este reprodusă mecanic de C-38. De fapt, prin acțiunea combinată a tamburului rotativ și a rotorilor cheii, mașina generează o secvență pseudo-aleatorie de valori cuprinse între 0 și 26 cu o perioadă egală cu 101.405.850 pe care o folosește apoi pentru modul de scădere 26 prin rotirea imprimării rotorului cu câte pași câte numărul de bare de tambur a alunecat spre stânga.

Exemplu de utilizare operațională

Utilizarea operațională a C-38 a fost relativ simplă. În primul rând, operatorul a trebuit să seteze parametrii cheii de sistem, adică să selecteze știfturile în poziția activă pe cele șase rotoare și aripioarele de pe barele rotative ale tamburului. Listele de chei de sistem au raportat aceste două seturi de setări. Pentru pinii de pe rotori, lista de taste ar putea arăta astfel:

Rotor Setarea pinilor
1 AB-D --- HI-K-MN ---- ST-VW ---
2 A - DE-G - JKL - O - RS-UX--
3 AB ---- GH-J-LMN --- RSTU-X
4 --C-EF-HI --- MN-P - STU
5 -B-DEF-HI --- MN-P - S
6 AB-D --- H - K - NO-Q

Literele de pe masă pentru rotor indicau pinul corespunzător în poziția activă, în timp ce pentru cei absenți pinul trebuie să fie într-o poziție inertă. Pentru clapetele de pe tamburul rotativ, lista de taste ar putea arăta astfel:

Bar 1 2 3 4 5 6 7 8 9
Aripioare 3-6 0-6 1-6 1-5 4-5 0-4 0-4 0-4 0-4
Bar 10 11 12 13 14 15 16 17 18
Aripioare 2-0 2-0 2-0 2-0 2-0 2-0 2-0 2-0 2-0
Bar 19 20 21 22 23 24 25 26 27
Aripioare 2-0 2-5 2-5 0-5 0-5 0-5 0-5 0-5 0-5

Tabelul indică faptul că pe bara 1, aripioarele trebuie să fie în poziția 3 și 6, pe bara 2 în poziția 0 și 6 și așa mai departe. Operația de configurare inițială este evident laborioasă, deoarece atinge 185 de elemente (131 pini și 54 aripioare), deci a fost efectuată nu prea frecvent. În Regia Marina, procedurile de utilizare a C-38 prevedeau o cheie de sistem comună tuturor utilizatorilor cu valabilitate lunară. În ceea ce privește marina americană, poziția aripioarelor pe barele cilindrilor rotative se schimbase la fiecare 10 zile, în timp ce schimbarea setării pinilor de pe rotoare era zilnică [2] .

Următorul pas a fost verificarea configurației interne. Pentru această operațiune, operatorul a setat în general rotoarele pe secvența „AAAAAA” și a procedat la criptarea unui mesaj format din toate „As”. Textul criptat astfel obținut a fost comparat cu un șir lung de control care, pentru configurația indicată, este următorul:

 TNJUWAUQTKCZKNUTOTBCW ARMIO

În acest moment, aparatul era gata să cripteze sau să decripteze mesajele.

Pentru a cripta un mesaj, operatorul a pus selectorul „criptare / decriptare” în poziția „cifră” și a setat cheia de sesiune, rotind rotoarele pentru a obține o secvență de 6 litere. Cheia de sesiune poate fi aleasă aleatoriu și comunicată destinatarului printr-un canal sigur sau selectată dintr-un catalog din lista de chei. În acest caz, fiecare secvență de șase litere a fost asociată cu un cod numeric care ar putea fi transmis într-un text clar.

Cu toate acestea, alegerea cheii de sesiune trebuia făcută în așa fel încât să se evite ca viermele de criptare generat de mașină să nu fie folosit nici măcar parțial pentru a cripta un alt mesaj. În Regia Marina, procedurile radiotelegrafice prevedeau că lungimea maximă a unui mesaj era de 500 de caractere, pentru care s-a ales o distanță fixă ​​între tastele de sesiune de 2.497 de caractere care a redus numărul de taste disponibile la aproximativ 40.000 (40611 față de 101.405). 850 disponibile) [3] .

Listele de chei ale sistemului conțineau „Tabelele de chei străine” care pentru fiecare utilizator raportau, aranjate rând pe coloană, cheile de sesiune atribuite. Operatorul a ales din când în când cheia de sesiune dintre cei atribuiți Comandamentului său, debifându-i cu un creion pentru a evita reutilizarea accidentală înainte de a utiliza toate cele disponibile și inserând un grup de indicatori la începutul și la sfârșitul mesajului, ceea ce a permis pentru a obține pagina, rândul și coloana pe lista de chei a cheii de sesiune utilizate.

Atunci operatorul ar putea începe să cripteze mesajul. A selectat litera care urma să fie codificată pe discul indicator și a rotit maneta care acționa mecanismul. Caracterul cifrat corespunzător a fost tipărit pe banda de hârtie, în timp ce la fiecare cinci caractere aparatul a lăsat automat un spațiu pentru a îmbunătăți lizibilitatea textului.

Numerele erau scrise cu litere, iar semnele de punctuație cu litere cu abrevieri. Singurul personaj care nu putea fi scris cu litere era „spațiul” dintre cuvinte. Prin urmare, operatorul a inserat caracterul „K” în locul spațiului din versiunea furnizată Regia Marina sau „Z” pentru cea furnizată Forțelor Armate Americane.

Pentru a decripta, după poziționarea selectorului pe poziția „decriptare”, operatorul a setat cheia de sesiune indicată de expeditor și a început să decripteze selectând caracterul textului cifrat de pe discul indicator și rotind maneta. Fontul text simplu a fost tipărit automat pe bandă. În cazul în care a fost un „K” (sau un „Z” în versiunea americană), personajul nu a fost tipărit și banda de hârtie a avansat cu un pas. Literele „K”, posibil lipsă, au fost introduse manual de operator în funcție de context.

Un operator instruit a durat două până la patru secunde pentru a cripta sau decripta o literă, astfel încât operațiunea de criptare sau decriptare a unui mesaj a fost relativ rapidă.

Securitatea sistemului

Cifrante C-38m din Regia Marina a fost străpunsă de Ultra în cursul anului 1940, până la sfârșitul anului sau cel târziu la începutul anului 1941: serviciile de informații britanice au putut citi aproape perfect codurile Marina italiană, începând cu cele utilizate pentru convoaiele de comercianți. De fapt, britanicii au încălcat deja codurile italiene înainte de război, dar în iulie 1940 Regia Marina a decis să schimbe complet codurile anulând lucrarea britanică anterioară; dar în toamna anului 1940 Ultra a rupt din nou codul folosit pentru convoaiele de negustori și escortele lor (făcut cu C-38m), și din primăvara anului 1941 și cele ale Regiei Aeronautice. Pe de altă parte, nu au reușit să preia controlul complet asupra codurilor flotei (care, totuși, erau foarte puțin utilizate, preferând să comunice întotdeauna prin telegraf când navele erau în port), dar din moment ce războiul din Marea Mediterană a fost un lupta împotriva convoaielor reciproce, acest factor a fost secundar și a fost compensat de puncția celor ale forței aeriene.

Acest factor, combinat cu sosirea în 1941 a unui ajutor german substanțial (care folosea Enigma, în special în versiunea aeronautică, mai ușor de citit pentru Ultra), a permis forțelor aliate să citească în timp real informațiile referitoare la convoaiele italiene din Africa de Nord , torpedo bombe și unități navale în mișcare (suprafață, cum ar fi forța K sau adâncimea) fără eșec.

Pentru a-i înșela pe italieni cu siguranța sistemului lor, britanicii au trimis întotdeauna un cercetaș asupra convoiilor italiene înainte de atac, astfel încât să se poată crede în întâmplarea descoperirii (și în eficiența extraordinară a recunoașterii RAF, care a apărut omniprezent). SIM și marina au început să suspecteze în fața germanilor (deoarece scufundarea a crescut tocmai în corespondență cu sosirea germanilor, ceea ce este într-adevăr rezonabil, deoarece Ultra a acordat cea mai mare prioritate Enigmei și a „cunoscut” Enigma aeronauticii mult mai bine decât C-38), apoi de spioni prezenți în porturile și comenzile italiene, declanșând o vânătoare de vrăjitoare enervantă, care ar fi dus la controverse (inclusiv istoriografice) până în anii 1970. [4]

Notă

  1. ^ Știrile despre activitatea SIS sunt rare și greu de găsit. Arhivele SIS au fost, de fapt, distruse după 8 septembrie 1943 pentru a le împiedica să cadă în mâinile naziștilor. Informațiile raportate aici sunt extrase din câteva articole publicate de contraamiralul Luigi Donini în Rivista Marittima.
  2. ^ Un exemplu de listă de chei US Navy poate fi găsit la http://www.maritime.org/csp1500key.htm
  3. ^ Luigi Donini, "Servicii criptografice în marina britanică și italiană. O analiză comparativă a activității lor în cel de-al doilea război mondial", Rivista Marittima vol. 450, ianuarie 1983
  4. ^ James J. Sadkovich, The Italian Navy in World War II , Goriziana (2006), Feltrinelli (2014)., Prima ed. 2006, ed. revizuit și corectat 2014, pp. 190 și ss. și pp. 300 și următoarele.

Bibliografie

  • Luigi Donini, "Servicii criptografice în marina britanică și italiană. O analiză comparativă a activității lor în cel de-al doilea război mondial", Rivista Marittima vol. 450, ianuarie 1983

Alte proiecte

Criptare Portal de criptografie : Accesați intrările Wikipedia care se ocupă de criptografie