C-38

I kryptografi er C-38 et bærbart mekanisk chiffer som er mye brukt under andre verdenskrig, i dens forskjellige versjoner, både av de allierte og av aksestyrkene.

Historie og sysselsetting

I andre halvdel av 1930-årene, med utgangspunkt i en tidligere modell (C-36), designet den svenske kryptografen og gründeren Boris Hagelin et mekanisk chiffer, kalt C-38, for å tilfredsstille kravet til et bærbart kryptografisk system for taktisk bruk. Chifferen ble gradvis brukt av de franske, tyske og amerikanske væpnede styrker.

Amerikanerne tok den i bruk i 1940 og brukte den hovedsakelig i andre verdenskrig, selv om den forble i drift under hele Koreakrigen ( 1953 ). Dens første operasjonelle bruk skjedde under invasjonen av Nord-Afrika i 1942 . Hærens versjon ble indikert med initialene M-209, mens den til US-Navy med initialene CSP-1500.

C-36 ble tilbudt av sin oppfinner til Regia Marina rundt 1935 , men ble avvist etter at Sjøforsvarets hemmelige informasjonstjeneste (SIS) [1] foretok en grundig evaluering av apparatet. Deretter, i 1938 , presenterte Hagelin C-38 til Regia Marina som adopterte den. Chifferen ble tatt i bruk i 1940 for kryptering av kommunikasjon mellom overkommandoen både på land og om bord.

Totalt er det anslått at 140.000 C-38 / M-209-enheter ble produsert, hvorav 125.000 under lisens fra det amerikanske firmaet Smith-Corona . Produksjonen ble avsluttet på begynnelsen av 1960-tallet. Etter krigen utviklet Hagelin, som ble svært velstående, en forbedret modell av M-209 som han kalte C-52 . C-52 hadde en lang periode på opptil 2 765 205 443 tegn, rotorene kunne trekkes ut og settes inn i en annen rekkefølge mens utskriftsrotoren hadde en kryptert alfabetisk rekkefølge. C-52 var en av de siste mekaniske chiffermaskinene. Elektronikk og nye digitale teknologier ville ha tillatt utviklingen av langt kraftigere chiffer.

Mekanisk beskrivelse

C-38 er en manuell rotor mekanisk chiffer. Ekstremt liten i størrelse, i sin endelige versjon måler den 83x140x178 mm og veier omtrent 2,7 kg (6 pund).

På høyre side av maskinen er det en stor spak som tjener til å betjene mekanismen, mens det på venstre side er en knott som kalles en indikatorskive som brukes av operatøren til å angi at bokstaven skal krypteres eller dekrypteres. Koaksialt til indikatorskiven er trykkrotoren som det løper et papirbånd på som resultatet av operasjonen er påtrykt. Også på venstre side lar en velger du velge siffer- eller dekrypteringsoperasjonen.

Når det ytre dekselet er åpnet, får man tilgang til de seks rotorene til øktnøkkelen som bokstavene i alfabetet er gravert på (i C-36 var det bare 5 rotorer). På chifferdekselet lar seks vinduer deg lese bokstaven på toppen av rotorene. Fortsatt på lokket viser et annet vindu en teller som indikerer antall tegn kryptert / dekryptert.

Antall bokstaver endres avhengig av rotoren. Fra venstre til høyre har rotorene:

Denne forskjellen ble introdusert slik at vektorbokstavtallene ble primtall til hverandre og hver konfigurasjon ble justert på nytt etter 26x25x23x21x19x17 = 101 405 850 trinn ( periode ).

I samsvar med hver bokstav er det på rotoren en liten glidepinne som kan flyttes til høyre eller venstre i forhold til skiven. Avhengig av posisjonen er pinnen enten aktiv i krypteringsprosessen (venstre) eller inert (høyre). Hver rotor er assosiert med en oscillerende metallarm, aktivert av pinnene i aktiv posisjon (venstre).

Bak raden på seks rotorer er det en sylindrisk trommel som består av 27 glidende horisontale stenger (25 i C-26). På hver stang er det to bevegelige finner som kan justeres med hvilken som helst av de seks rotorene eller plasseres i en av de to "null"-posisjonene.

Kombinasjonen av posisjonene (aktive / inaktive) til de 131 pinnene (26 + 25 + 23 + 21 + 19 + 17) på de seks rotorene og av de 54 bladene (2x27) på stengene utgjør systemnøkkelen til chifferen, mens startposisjonen til de seks rotorene (angitt av rekkefølgen av de seks bokstavene som vises i vinduene på toppen av enheten) representerer øktnøkkelen .

En pinne på en rotor i aktiv posisjon får den tilsvarende armen til å vippe fremover til den berører trommelen. Når operatøren betjener spaken, utfører den sylindriske trommelen en fullstendig omdreining, og får de aktive armene til rotorene til å berøre de 27 stengene. Hvis en arm berører en klaff, skyver den den tilsvarende stangen til venstre slik at den stikker ut av trommelen og danner, sammen med de andre offsetstengene, et tannhjul med variable tenner som igjen roterer trykkrotoren med så mange klikk som der er de utstikkende stengene. Dette velger bokstaven som er et resultat av siffer- eller dekrypteringsoperasjonen som er trykt på papirtapen.

På slutten av syklusen skyver en retraktor stengene tilbake til startposisjonen, et sett med mellomgir fremfører rotorene én posisjon, utskriftsrotoren justeres på nytt med indikatorskiven mens en låsepinne stopper trommelen for å unngå et utilsiktet andre siffer til indikatorplaten er klar for neste bokstav.

Funksjonsbeskrivelse

Prinsippet for drift av krypteringssystemet

Chiffersystemet som brukes av C-38 er en polyalfabetisk erstatning kjent som Beaufort-chifferet . Sistnevnte er et chiffer som ligner på Vigenére , der imidlertid alfabetene brukes i omvendt rekkefølge (fra Z til A). I praksis brukes en tabell som den på figuren der den første raden øverst representerer alfabetvalgtasten mens den første kolonnen til venstre representerer ren tekstalfabetet.

For å forstå hvordan det fungerer, er det hensiktsmessig å gi et praktisk eksempel, forutsatt at du ønsker å kryptere ordet supermarina. For å gjøre dette kreves det en pseudo-tilfeldig krypteringsorm med 11 sifre inkludert (ett for hvert tegn i klarteksten) mellom 0 og 25 (inklusive), for eksempel følgende:

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

Chifferormen representerer alfabetet som skal brukes til å utlede bokstavene i chifferteksten som tilsvarer bokstavene i klarteksten. Faktisk, ved å assosiere hver bokstav med den tilsvarende bokstaven i alfabetet angitt med tallet, får vi:

Så resultatet av krypteringen er FFFEURDCRXR. Krypteringssystemet er gjensidig, så ved å bruke chifferteksten i stedet for klarteksten får vi dekrypteringen av teksten:

Chifferen egner seg også til en algebraisk representasjon, som vil være nyttig når problemet med kryptoanalyse av systemet tas opp. I denne representasjonen er verdiene 0,1, 2,..., 23, 24, 25 assosiert med hver bokstav i alfabetet i klartekst abc…xyzog chiffertekst ZYX…CBA. Ved å angi med p verdien som tilsvarer bokstaven i klarteksten, c den som tilsvarer bokstaven i chifferteksten og k til ormen, er siffer-/dekrypteringsoperasjonen som følger: c = (p - k) mod 26. I tilfellet med forrige eksempel:

Tilsvarende for dekryptering:

Denne operasjonen er mekanisk replikert av C-38. Faktisk, gjennom den kombinerte handlingen av den roterende trommelen og rotorene til nøkkelen, genererer maskinen en pseudo-tilfeldig sekvens av verdier mellom 0 og 26 med en periode lik 101.405.850 som den deretter bruker for subtraksjonsmodusen 26 ved å dreie rotoren med like mange trinn som antall trommelstenger gled til venstre.

Eksempel på operasjonell bruk

Operativ bruk av C-38 var relativt grei. Først måtte operatøren stille inn parametrene til systemnøkkelen, det vil si velge pinnene i aktiv posisjon på de seks rotorene og finnene på de roterende trommelstengene. Systemnøkkellistene rapporterte disse to settene med innstillinger. For pinnene på rotorene kan nøkkellisten se slik ut:

Rotor Innstilling av pinnene
1 AB-D---HI-K-MN----ST-VW---
2 A--DE-G--JKL—O--RS-U-X--
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

Bokstavene på bordet for rotoren indikerte den tilsvarende tappen i aktiv posisjon, mens for de fraværende må tappen være i en inert posisjon. For klaffene på den roterende trommelen kan nøkkellisten se slik ut:

Bar 1 2 3 4 5 6 7 8 9
Finner 3-6 0-6 1-6 1-5 4-5 0-4 0-4 0-4 0-4
Bar 10 11 12 1. 3 14 15 16 17 18
Finner 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
Finner 2-0 2-5 2-5 0-5 0-5 0-5 0-5 0-5 0-5

Tabellen indikerer at på takt 1 må finnene være i posisjon 3 og 6, på takt 2 i posisjon 0 og 6 og så videre. Den første konfigurasjonsoperasjonen er åpenbart arbeidskrevende siden den berører 185 elementer (131 pinner og 54 finner), så den ble ikke utført så ofte. I Regia Marina sørget prosedyrene for bruk av C-38 for en systemnøkkel som er felles for alle brukere med månedlig gyldighet. Når det gjelder US Navy, hadde posisjonen til finnene på de roterende sylinderstengene endret seg hver 10. dag, mens endringen i innstillingen av pinnene på rotorene var daglig [2] .

Neste trinn var å sjekke den interne konfigurasjonen. For denne operasjonen satte operatøren generelt rotorene på sekvensen "AAAAAA" og fortsatte med å kryptere en melding bestående av alle "As". Den således oppnådde chifferteksten ble sammenlignet med en lang kontrollstreng som, for den angitte konfigurasjonen, er følgende:

TNJUWAUQTKCZKNUTOTBCW ARMIO

På dette tidspunktet var maskinen klar til å kryptere eller dekryptere meldingene.

For å kryptere en melding, satte operatøren "krypter / dekrypter"-velgeren i "siffer"-posisjon og stiller inn øktnøkkelen, og snur rotorene for å oppnå en sekvens på 6 bokstaver. Sesjonsnøkkelen kan velges tilfeldig og kommuniseres til mottakeren over en sikker kanal, eller velges fra en katalog i nøkkellisten. I dette tilfellet var hver sekvens på seks bokstaver assosiert med en numerisk kode som kunne overføres i klartekst.

Valget av øktnøkkelen måtte imidlertid gjøres for å unngå at krypteringsormen generert av maskinen ikke ble brukt selv delvis til å kryptere en annen melding. I Regia Marina ga de radiotelegrafiske prosedyrene at den maksimale lengden på en melding var 500 tegn, hvor det ble valgt en fast avstand mellom sesjonsnøklene på 2.497 tegn som reduserte antall nøkler tilgjengelig til ca. 40.000 (40611 sammenlignet med 101.405). 850 tilgjengelig) [3] .

Nøkkellistene til systemet inneholdt "Tables of fremmednøkler" som for hver bruker rapporterte, ordnet i rad for kolonne, øktnøklene tildelt. Operatøren valgte sesjonsnøkkelen fra tid til annen blant de som ble tildelt kommandoen hans, fjernet merket med en blyant for å unngå utilsiktet gjenbruk før han brukte alle tilgjengelige og satte inn en indikatorgruppe i begynnelsen og slutten av meldingen, noe som tillot for å få siden, raden og kolonnen på nøkkellisten til øktnøkkelen som brukes.

Deretter kunne operatøren begynne å kryptere meldingen. Han valgte bokstaven som skulle kodes på indikatorskiven og dreide spaken som betjente mekanismen. Det tilsvarende chiffertegnet ble skrevet ut på papirtapen, mens hvert femte tegn maskinen automatisk la igjen et mellomrom for å forbedre lesbarheten til teksten.

Tallene ble skrevet med bokstaver og skilletegnene med bokstaver med forkortelser. Det eneste tegnet som ikke kunne skrives med bokstaver var "mellomrommet" mellom ordene. Operatøren satte derfor inn tegnet "K" i stedet for plassen i versjonen som ble levert til Regia Marina eller "Z" for den som ble levert til det amerikanske forsvaret.

For å dekryptere, etter å ha plassert velgeren på "dekrypter"-posisjonen, satte operatøren sesjonsnøkkelen angitt av avsenderen og begynte å dekryptere ved å velge tegnet til chifferteksten på indikatorplaten og vri spaken. Ren tekstfonten ble automatisk skrevet ut på båndet. I tilfelle det var en "K" (eller en "Z" i den amerikanske versjonen), ble tegnet ikke skrevet ut, og papirtapen gikk ett trinn videre. Bokstavene "K", som muligens mangler, ble lagt inn manuelt av operatøren i henhold til konteksten.

Det tok en trent operatør to til fire sekunder å kryptere eller dekryptere et brev, slik at operasjonen med å kryptere eller dekryptere en melding gikk relativt raskt.

Systemsikkerhet

Cifrante C-38m fra Regia Marina ble punktert av Ultra i løpet av 1940, ved slutten av året, eller senest i begynnelsen av 1941: de britiske etterretningstjenestene var i stand til å lese kodene til den italienske marinen nesten perfekt, starter med de som brukes til handelskonvoier. Faktisk hadde britene allerede brutt de italienske kodene før krigen, men i juli 1940 bestemte Regia Marina seg for å fullstendig endre kodene ved å kansellere det tidligere britiske arbeidet; men høsten 1940 brøt Ultra igjen koden som ble brukt for handelskonvoiene og deres eskorte (gjort med C-38m), og fra våren 1941 også koden til Regia Aeronautica. På den annen side klarte de ikke å mestre kodene til flåten fullt ut (som imidlertid ble svært lite brukt, og foretrakk å alltid kommunisere via telegraf når skipene var i havn), men siden krigen i Middelhavet var en kamp mot gjensidige konvoier denne faktoren var sekundær og ble oppveid av punkteringen av de fra luftforsvaret.

Denne faktoren, kombinert med ankomsten i løpet av 1941 av betydelig tysk bistand (som brukte Enigma, spesielt i den aeronautiske versjonen, lettere å lese for Ultra), tillot de allierte styrkene å lese i sanntid informasjonen knyttet til de italienske konvoiene i Nord-Afrika , flytte torpedobombefly og marineenheter (overflate, for eksempel kraft K, eller dybde) uten feil.

For å lure italienerne for sikkerheten til systemet deres, sendte britene alltid en speider på de italienske konvoiene før angrepet, slik at man kunne tro på tilfeldigheten til oppdagelsen (og på den ekstraordinære effektiviteten til rekognoseringen av RAF, som dukket opp allestedsnærværende). SIM og marinen begynte å mistenke før tyskerne (siden forliset hadde økt nøyaktig i samsvar med tyskernes ankomst, noe som faktisk er rimelig siden Ultra ga høyeste prioritet til Enigma og "kjente" enigmaen til luftfarten mye bedre enn C-38), da av spioner til stede i italienske havner og kommandoer, og utløste en irriterende heksejakt, som ville ha ført til kontroverser (inkludert historiografiske) frem til 1970-tallet. [4]

Merknader

  1. ^ Nyheter om SIS-aktivitet er sjeldne og vanskelige å finne. SIS-arkivene ble faktisk ødelagt i kjølvannet av 8. september 1943 for å hindre dem i å falle i hendene på nazistene. Informasjonen som er rapportert her er hentet fra noen artikler publisert av kontreadmiral Luigi Donini i Rivista Marittima.
  2. ^ Et eksempel på en nøkkelliste fra den amerikanske marinen finner du på http://www.maritime.org/csp1500key.htm
  3. ^ Luigi Donini, "Cryptographic Services in the British and Italian Navy. A Comparative Analysis of their Activity in the Second World War", Rivista Marittima vol. 450, januar 1983
  4. ^ James J. Sadkovich, Den italienske marinen i andre verdenskrig , Goriziana (2006), Feltrinelli (2014)., 1. utg. 2006, utg. revidert og korrigert 2014, s. 190 og ss. og pp. 300 og følgende.

Bibliografi

Andre prosjekter