De Founding Fathers1 — de grondleggers van de Verenigde Staten van Amerika — gebruikten in hun correspondentie verschillende vormen van geheimschrift. Zo maakte Benjamin Franklin2 af en toe gebruik van een geheimschrift dat werd ontwikkeld door Charles Guillaumes Frédéric Dumas3, die ten tijde van de Amerikaanse Revolutie in Nederland verbleef. Omdat hij een fervente aanhanger was van de Amerikaanse zaak, werd Dumas gevraagd om te spionneren voor de Verenigde Staten. In 1781 schreef Benjamin Franklin vanuit Passy (Frankrijk) een brief naar Dumas waarin hij het volgende optekende:

I have just received a 14, 5, 3, 10, 28, 2, 76, 203, 66, 11, 12, 273, 50, 14, joining 76, 5, 42, 45, 16, 15, 424, 235, 19, 20, 69, 580, 11, 150, 27, 56, 35, 104, 652, 20, 675, 85, 79, 50, 63, 44, 22, 219, 17, 60, 29, 147, 136, 41, but this is not likely to afford 202, 55, 580, 10, 227, 613, 176, 373, 309, 4, 108, 40, 19, 97, 309, 17, 35, 90, 201, 100, 677.

Lange tijd kon niemand deze tekst ontcijferen, omdat zelfs het State Department in Washington niet over de sleutel voor het geheimschrift beschikte. Later bleek het volgende Franse tekstfragment de sleutel te zijn voor de ontcijfering:

Voulez=vous sentir la difference? Jettez les yeux sur le continent septentrional de l’amerique. Dans les resolutions vigoureuses de ces braves colons vous reconnoitrez la voix de la vraie liberte * aux prises avec l’oppression. Vous fremirez, vous vous revolte= rez contre la morgue & la durete inconcevable de ceux, qui, jaloux a l’extreme de leur propre liberte, pensent de pouvoir devenir plus puissants, de pouvoir rester libres eux=memes en asservissant leurs freres. Vous ne pourrez vous empecher de faire votre cause de celle de ces peuples, de leur savoir gre de leur fermete, de trem= bler qu’ils ne suciombent sous la massue levee du pouvoir, qui veut ou les gouverner arbitrairement, ou les ecraser, en fin de leur sou= haiter avec le genereux d. der. tout le succes possible dans leur juste resistance.

Deze passage is overgenomen uit het voorwoord dat Dumas geschreven had bij een boek dat hij naar Franklin had gestuurd: Le droit des gens (Volkenrecht) van Emerich de Vattel. Dumas had dit werk laten herdrukken met zijn eigen voorwoord en opmerkingen waarin de opvattingen werden toegepast op de situatie in Amerika. In 1775 stuurde hij drie exemplaren naar Benjamin Franklin.

Opgave

Bij het geheimschrift van Charles Dumas wordt een tekstfragment gecodeerd als een reeks van getallen. Bij het coderen en decoderen wordt gebruikgemaakt van een tweede tekstfragment — de sleuteltekst — die ten allen tijd geheim moet gehouden worden. Om een getal \(n\) te decoderen, wordt eenvoudigweg het karakter opgezocht dat op \(n\)-de positie staat in de sleuteltekst. Bij het bepalen van posities in de sleuteltekst wordt witruimte (spaties, tabs en regeleindes) genegeerd en staat het eerste karakter op positie 1. Voor de sleuteltekst Lost time is never found again. zijn de posities van de karakters dan bijvoorbeeld

posities 1 2 3 4   5 6 7 8   9 10   11 12 13 14 15   16 17 18 19 20   21 22 23 24 25 26
karakters L o s t   t i m e   i s   n e v e r   f o u n d   a g a i n .

In dat geval zien we dat de getallen 11, 19 en 25 allemaal staan voor de letter n. Om de letter n te coderen, kan men bijgevolg willekeurig kiezen uit de getallen 11, 19 en 25. We zullen echter gebruikmaken van een strikter codeerschema. Als we een tekstfragment moeten coderen waarin de letter n verschillende keren voorkomt, dan zullen we die letter de eerste keer coderen als het getal 11, de tweede keer als het getal 19, de derde keer als het getal 25. Omdat de letter n slechts op drie posities voorkomt in de sleuteltekst, zullen we de letter n de vierde keer terug coderen als het getal 11, enzoverder. Als we deze procedure volgen met de sleuteltekst die hierboven als voorbeeld werd gegeven, dan wordt het woord nondeterminativeness gecodeerd als

karakters n o n d e t e r m i n a t i v e n e s s
posities 11 2 19 20 8 4 12 15 7 6 25 21 5 9 13 14 11 8 3 10

Bij het coderen van een bericht geldt verder de afspraak dat karakters van het bericht die niet in de sleuteltekst voorkomen, mogen genegeerd worden. Gevraagd wordt:

Voorbeeld

> const sleutel = codeersleutel("Lost time is never found again.")
> sleutel["N"]
[11, 19, 25]
> sleutel["E"]
[8, 12, 14]
> sleutel["."]
[26]

> const sleuteltekst = "Lost time is never found again."
> codeer("nondeterminativeness", sleuteltekst)
[11, 2, 19, 20, 8, 4, 12, 15, 7, 6, 25, 21, 5, 9, 13, 14, 11, 8, 3, 10]
> codeer("interdenominationalism", sleuteltekst)
[6, 11, 4, 8, 15, 20, 12, 19, 2, 7, 9, 25, 21, 5, 24, 17, 11, 23, 1, 6, 3, 7]
> codeer("gastroenteroanastomosis", sleuteltekst)
[22, 21, 3, 4, 15, 2, 8, 11, 5, 12, 15, 17, 23, 19, 21, 10, 4, 2, 7, 17, 3, 6, 10]

Epiloog

Op 30 april 1776 schreef Alexander Dumas een brief naar Benjamin Franklin (hoofd van het Committee of Secret Correspondence) in Philadelphia. Daarin uitte hij uitvoerig zijn dankbaarheid voor wat hij voor zijn land kon betekenen, en gaf hij ook gedetailleerde uitleg bij het geheimschrift dat hij had ontwikkeld. Omdat de letters K en W niet gebruikt worden in het Frans, komen ze ook niet voor in de sleuteltekst. Daarom adviseert hij onder meer om bij de codering van een bericht gebruik te maken van twee u’s in plaats van een w en van een c in plaats van een k.

Uittreksel uit het document Papers of Continental Congress (rol 121, pagina 19) waarin Charles Dumas zijn geheimschrift uitlegt.Uittreksel uit het document Papers of Continental Congress (rol 72) met de codeersleutel die kan opgesteld worden op basis van het Franse tekstfragment dat hierboven wordt gegeven. Deze sleutel kan gebruikt worden om de passages te decoderen in het bericht van Franklin naar Dumas dat in de inleiding werd gegeven.

Met die kennis leest de gedecodeerde versie van het bericht uit de inleiding als

I have just received a neuu comiissjon joining me uuith m adams in negodiaions for peace but this is not likely to afford me much employ at present.

Bronnen