A történelem első bináris karakterkódolása: Roger Bacon titkosírása

A számítógépeken jelenleg használatos karakterkódolás – az Unicode – 32 biten tárol el minden egyes karaktert, emojit, piktogrammot. Szóval bármi, ami egy képernyőn egy szövegben megjelenhet, az 32 db ‘0’ és ‘1’ számjegy egymásutánja a számítógép adatfolyamában. Például az ‘Ű’ betű bináris kódja ebben a rendszerben a 00000000 00000000 00000001 01110000, míg a 😎 – hivatalos nevén: ‘Smiling Face with Sunglasses Emoji’ – kódja pedig a 00000000 00000001 11110110 00001110.

Ez a kódolás történetileg az Első Nemzetközi Távíróábécére (International Telegraph Alphabet No. 1 – ITA-1) megy vissza, amit Baudot kódnak is neveznek, mivel Emile Baudot dolgozta ki az általa 1870-ben kifejlesztett távíró használatához.

A Baudot kód 5 biten tárolja a karaktereket, azaz minden egyes karaktert 5 db nulla és egyes sorozatával ír le, s így 25 = 32 karaktert képes megjeleníteni, ami éppen elég volt a 26 betűs angol ábécé megjelenítéséhez, s még marad 5 lehetőség a speciális karakterek számára (a ‘00000’ karaktersort ugyanis nem használja).

A Baudot féle távíró billentyűzete öt zongora típusú billentyűből állt, ahol kettőt a bal kéz két ujjával, hármat pedig a jobb kéz három ujjával lehetett lenyomni.

Ehhez alkalmazkodott a karakterek kódtáblájának az ábrázolása is, amit persze a kezelőnek fejből kellett tudnia, s olyan gyakorlatra volt szüksége a munkájához, hogy el tudja érni a 3 betű / másodperc sebességet.

A kódtáblán két karakteroszlopot látunk, ami azt jelenti, hogy a távíró nem csak a betűket volt képes megjeleníteni, de a számokat és más speciális karaktereket is, ui. Baudot alkalmazott egy ‘letter shift‘ és egy ‘figure shift‘ billentyűkombinációt is, s így ugyanaz az öt bites kód egyszerre jelölhetett betűt vagy pedig számot, ill. speciális karaktert, attól függően, hogy előtte a ‘betűváltó‘ vagy a ‘számváltó‘ kódját ütötték be.

A billentyűzet kezelése persze eléggé nehézkes volt. Egyszerre kellett leütni az adott karakter billentyűit, s miközben a távíró leolvasta a lenyomott billenytűk sorozatát, addig lenyomva kellett tartani, majd pedig egy kattanás – az ún. ‘cadence signal‘ – után lehetett bevinni a következő karaktert. Így a szöveget egyfajta előre megszabott – a cadence signal által kísért kattogások ritmusában -, gyors ütemben kellett begépelni.

Baudot ezzel voltaképpen egy modern – egymással szinkronban működő órákon alapuló – időosztásos átvitelt dolgozott ki, aminek a működése a fenti ábrán látható. Erről bővebben magyarul itt olvashatarchivált.

Baudot karakterkódolása Carl Friedrich Gauss és Wilhelm Weber 1833-as göttingeni távírókísérletein alapult, azonban azzal a különbséggel, hogy Baudot minden karaktert azonos hosszúsággal, öt biten kódolt – szemben az ábrán látható Gauss-Weber kódolással (erről bővebben ittarchivált). S Baudot ezzel voltaképpen Roger Bacon titkosírásának az alapjait elevenítette fel.

Roger Bacon (1214 – 1292) középkori angol filozófus egy olyan titkosírást fejlesztett ki, amely az avatatlanok előtt elfedte, hogy maga a szöveg titkosírással van írva, s így voltaképpen nem is kriptográfia, hanem szteganográfia volt (erről bővebben itt olvashat – archivált).

Bacon módszere a következő volt: a szöveget, amit titkosítani akart, egy öt bites kódolással rejtjelezte, ahol minden karakter öt nulla vagy egyes sorozata volt – mondanánk ma -, a képen viszont ‘a’ és ‘b’ betűk sorozataként látjuk, aminek túl sok jelentősége nincs.

Bacon ugyanis úgy járt el, hogy vett egy teljesen semleges fedőszöveget – bármilyen szöveget -, de azt kétféle betűtípus segítségével nyomtatta ki a nyomdászával úgy, hogy a két betűtípus csak dőlésszögben tért el egymástól egy kicsit, azaz avatatlan szemlélő nem vette észre, hogy a betűk dőlésszöge kétféle lehet.

A szöveget pedig a nyomdász úgy szedte, hogy a titkosírás ‘0’ bitjének a nem dőlt betű, az ‘1’ bitjének pedig a dőlt betű felelt meg. Az pedig, aki kézhez vette a titkos üzenetet, nem törődött a fedőszöveggel, hanem csak az egymást követő betűk dőlésszögét vizsgálta, s így egy nullákból és egyesekből álló sorozathoz jutott, amely sorozat 5-5 bitenként egy-egy karaktert kódolt … (Bővebben ittarchivált.)

Példa Bacon titkosírására – a fedőszöveg Cicero egy epistulája. A szövegben a betűknek itt most nem a dőlésszöge, hanem a vastagsága változik.