M-209: Diplomatic messages


M-209 Home Page

Introduction

Mr Bart Preneel was contacted in 2001 by two colleagues of Leuven University to decrypt some ciphered messages. They were investigating at the request of the Belgian Parliament about "The Circumstances of the Murder of Patrice Lumumba".

Mr Preneel described his efforts to solve these messages in an article published in "Lecture Notes in Computer Science", in 2003.

The messages

Mr Preneel decrypted several messages (11), but he published only two in his article. The second was particularly important because it has been sent a few days before the murder of Lumumba.

1st Message

Brazza 28b (stamp : 15-2-1961). Jacques to Nicolas 11150  HSMEO
TDUYB ZJQZI VVRHP ELHIL FXUKQ MNAFF ZPWSE DOXPX NFPPA RNMXS RZPUG
LBZAI MXNFC ZZSHR XVTZI DZABT LPEET CNHFV RSNUF CJTQI HUKYM XZWBG
HTLMO SWLOH EVJLF NOFYV ROSYC WXDTE WVEXE ACKPT HSMEO 11150

Here the corresponding raw French plaintext:

conti nueWi ntrig uesWi nquie tante sWtan tWleo WquWe ville Wjacq
uesWb issec tWvou sWpri eWvou sWinf ormer Wdisc retem entWm issio
nWexa cteWc onfie eWhub ertWs topWi ntere sseyx

2nd Message

Loos to Marliers 14 January 1961 11h00    AHQNE XVAZW IQFFR JENFV
OUXBD LQWDB BXFRZ NJVYB QVGOZ KFYQV GEDBE HGMPS GAZJK RDJQC VJTEB
XNZZH MEVGS ANLLB DQCGF PWCVR UOMWW LOGSO ZWVVV LDQNI YTZAA QIJDR
UEAAV RWYXH PAWSV CHTYN HSUIY PKFPZ OSEAW SUZMY QDYEL FUVOA WLSSD
ZVKPU ZSHKK PALWB SHXRR MLQOK AHQNE 11205 141100
Here the English translation of plaintext :

Top secret. Answer to your printex message. First. Nothing sent to Rusur. Can you sort this out. Second. Resume urgently plan Brazza with respect to Joseph. Third Mission Bomboko. See telex on this topic from the Belgian Embassy. Jules.

Remark : "Joseph" was the code name for Patrice Lumumba.

We do not know anything about the "Brazza" plan. In fact this message is quite ambiguous and does not allow to decide on the involvement of Belgium.

Decryptment

Mr Preneel analysed 11 PRINTEX telexes sent between the Ministry of African affairs in Belgium and Elisabethville (Katanga), Brazzaville and Rusur. For five of these telexes, the plaintext was known.

The first step was to discover the cipher machine. Mr Preneel guessed it was a Hagelin cipher machine : a C-35/C-36 or a C-38/C-48 or a CX-52 because these machines can print the cipher or plain text (hence the name of PRINTEX).

The length of indicator (5 characters) clearly pointed to the C-35/C-36 with 5 wheels (Mr Preneel used the word "rotor"). Attempts to reconstruct the internal setting failed.

After this failure, Mr Preneel moved on to C-38. The Belgian Army lent him a M-209. Then he studied the Morris's attack from plain text. This method permitted to Mr Prennel to recover part of the internal key for the message of 15 February 1961. The plain text was certain because it came from tapes pasted on the telegram. With the help of the third part of message number 7, he recovered the whole key. But the procedure to get it was extremely hard. For example, the settings of one wheel were obtained only by exhaustive search. Why was it so difficult? Because the number of lugs opposite the wheels didn't follow the standard rules. For example, the displacement values of 1, 2 and 3 could not occur.

Fortunately the same internal setting was used for other messages. They were decrypted by exhaustive search for all 101 million starting positions for the wheels. Each search requires only a few minutes on a PC. The criterion chosen to find the correct plaintext (and therefore the message key) is the number of spaces (letter W) present at more than 12%. Then a manual search for the word BISECT or BISSECT.

Cryptographic details

Transmission protocole

1st Message : After call signs, there is a string : 11150. Here 11 means part 1 of 1 ; 150 means that the plaintext contains 150 characters. HSMEO is the indicator from which we can derive the External key (Mr Preneel called it "False key" or "Session key"). After the cryptogram, these two strings were repeated.

Indicator

The 6th wheel was always initialized in the same position as the 5th, then the indicator group was five characters long. Mr Preneel deduced that the Playfair cipher was used to encrypt these external keys. The Playfair key was a random permutation of 25 letters.

Examples:
Mr Preneel does not give many details in his article but he described the whole method in his final report.

The Playfair table:

GXLNS
KHTWO
QDEFA
MVICR
ZBPUJ

The fifth wheel start (which was the same that the sixth wheel start) is replaced in the indicator by the letter on the left in the Playfair table.

If the External key is "MERFJJ", the Indicator is "IQCAU" ( ME -> IQ, RF -> CA, J -> U ).
If the External key is "DBTGLL", the Indicator is "HVKLX".
If the indicator is "SLVUL", the External key is "GNCBNN".
If the indicator is "FSDVS", the External key is "ANVBGG".
If the indicator is "HSMEO", the External key is "OXIQKK".

Remark: The letter "Y" wasn't used.

Plain text preparation before encryption

  • Plain text was divided into blocks of 370 characters. Each part was ciphered by means of a new external key.
  • The plain text of each block was splited into two parts and permutted. The real beginning of the message was preceded by the word BISECT (or BISSECT). In fact, this word was surrounded (WBISECTW or XXBISECTXX).
  • Each space between words was replaced by 'W', but at random (in about 1 case out of 5), it was to be replaced by 'KW'. Eventually, it is even removed.
  • The dot sign (".") or the word "STOP" was replaced by "XX".
  • At the end, random padding was used to pad the plaintex to a multiple of 5 characters.

The Interior key

The lugs:

1-0     0-4     0-5     2-5     3-5     0-0
1-0     0-4     1-5     2-6     3-5     0-0
2-0     0-5     1-6     2-6     3-5
0-3     0-5     2-4     3-4     3-6 
0-3     0-5     2-4     3-4     3-6
The Pins:
Wheel 26 :  AB_D_F___JK_____Q_ST____Y_
Wheel 25 :  _B_____H_JK___OP__STUV__Z
Wheel 23 :  ___D_FG___K_MN____S_UVX
Wheel 21 :  AB___FGH__KLM_OP__S_U
Wheel 19 :  __CD_F____KL_N__QRS
Wheel 17 :  ABC_EF____K_MN__Q
Remarks:
  • Mr Preneel did not publish the Key. Fortunately George Lasry found it again by means of its software.
  • The same key was used from December 28 to February 15.
  • There are 14 overlaps and 2 lugs wasn't used!

All Messages

The final report was written in French and Flemish. We choose the French language to show headers and commentaries. We give here only the 11 messages (13 cryptograms because one message was in 4 parts) which were ciphered by M-209. The telex number 1,8,9 and 13 were ciphered with OTP method.
0. Minaf s.n. (cachet: 28-12-1960): Loos a Marliere
IQCAU HYWCD SXDLZ BVREA BFHJC RLDSB YHIDG VHKXX UYTHF WFYFV
TJUKK UIMUH PNEAM UKQFO HJNLP PUBWW DEAAN UNSWS LUUZJ PAJIM
KEGQB SUJFB ZCGMX IGWKU TGAAR XUUOS EPEIT BRHOB TTOOP SMPKX
ZASNS GWUDE QAEAG EGKXD RUXGX SJEDM NKNMN OOXET WERMS VUILD
HNWON CEOYO CDFVV PSRVG KHHDC MAOLP BUCCM VHXDY PFRVN TVGUS
XYBWB GSHIH OVUOR CBGNS IUYZS CIAZY SARSU RMHLF VXZNA XDTVT
CFDEW DUPCO EKRET IHNOA MIPVK BHINV APZSU SYPSS YIZHG HUWXX
BYHXI FSVMU IQCAU 11355 281600

2. Brazza s.n. (cachet: 7-1-1961): Marliere a Loos
11110 LFOPS UCOAO XXAVW BXANX SESLY RRTKD BAQZK IQZWP TWJVA
KRCSD TOLJZ UOQVC UCRRT NAGUM TZBRD BRXVW LMHOD SUYWR FSZDI
HCNEE ZVXZI MVEWO OYJMQ LFOPS

3. Minaf 04010 (cachet: 10-1-1961): Loos a Marliere
04010 HVKLX WSMCW OIVCY WKSDT ARGIX TGZOD SBXOY JBPOC VTPFP
GVZSG UXKFX GRCUI TVDIU WFDWQ ATXRP JKWXI VZHUX REIJD IKEHJ
GHFES SAPXT MEICZ HLDAR VYUVE NAIKD AZRSQ UQGYA RDGRV APYVX
SELPV OPRDN ECMUN LFOAM UGADT ARAKP RXUJF JGSAL SBURB KXTSR
ONOOL VPZKC KUOCY FRLZW DSGTJ HVKLX 11215 101815

4. Brazza s.n. (cachet: 12-1-1961): Marliere a Loos
11100 EUSZF BTDAO NXBAB AICMH JWDSJ ZSSXT CPBGC IPNYI MEBQM
SWTAR GMMTW RLJMK GHPLX ROHPA JNIBA IYLNR PGSHN EZPSN DZXKD
NZABJ IOCLT EUSFO

5. Minaf s.n. (cachet: 14-1-1961): Loos a Marliere
AHQNE XVAZW IQFFR JENFV OUXBD LQWDB BXFRZ NJVYB QVGOZ KFYQV
GEDBE HGMPS GAZJK RDJQC VJTEB XNZZH MEVGS ANLLB DQCGF PWCVR
UOMWW LOGSO ZWVVV LDQNI YTZAA OIJDR UEAAV RWYXH PAWSV CHTYN
HSUIY PKFPZ OSEAW SUZMY QDYEL FUVOA WLSSD ZVKPU ZSHKK PALWB
SHXRR MLQOK AHQNE 11205 141100

6. Minaf 06116/cab (cachet: 16-1-1961): Loos a Marliere
QTFJR PXFSD WMWOH HIXVN UTVVP BFVLG LFRZC BKMEW FQWMV LZRON
JYMNR XTQZM NWPXO YDOBZ GHYZD NRWQG OUIUH GKUYX UUMVV BCDBY
XWPLY MBAJR TONZS ENAJB BHVNM TQZBL WQARM WJAUP DSOTA CZZTT
FEHOE AZRPU HERJF XANPN VWXXA CPOXE UPOFW QSMIC AELDR UABIP
QXLSG DRURY MQRUI VCPQV IOSTU JMBSJ VTZHU QAQAR EJQHU NSYPQ
DURKC WVXBR IXZLJ DDTUO MTAEX RMUES GQHQV PJJJE KOIGT QFOWE
EODRX MROKI NUIZC JGSJD MEWXR HZBIF BUDZD IXSJD QTFJR 11335
161710

7. Minaf s.n. (cachet: 25-1-1961): Loos a Smal
(Ce Telex se compose de quatre parties)
- Partie 1:
SLVUL QKSYR CLFFR QYQDI ZDRQA AKRRK WXZXA OKHEU RYSXO JCJBF
YJCGC QSARE ADKYV QXDZL SPOPF WXDYK SDFXM TFBGH JHFEJ IZTWN
VLDVB JXNPB TEGDO UEFAR UJIHH YXPGR ZUUUJ CHGRG NQZNS VZYTY
TJMVI OXZXG NCQAS PQRIN QYMUC ZPRIT LLDVP SFAXL LSUSM GDPRQ
MKQQM APVCQ GLIYX PHNQB ZIYKM ZOINQ EUDDN HTDKN VSORV NAUKO
XBJBT NBOCS UTZCE WKREJ BUESJ QYVOL FIFPH NYOZL LBETQ CMCJO
OSCIZ FDZIU TOAFV QVABL LBKUQ RRSYR SLVUL 12325 25 1630

- Partie 2:
CLENB WVAKP YYNYW YVTCJ SOLDJ MLQGW FTCFG LHVID PRMVR XEMWI
JVSXP TJLLS ZGKBA ZTYHC HEONW ITIYV BTSAF XYWSC MYFJX XLMDY
PXJFT MMLVL ATOVW XINES PYWNK MNIBR RAEAQ NATSP MDWMW LWQCH
ATQSD CFRAW SFWUF QVDFK AMQSA WIHJN HUCET QCRQH YPXCC VVBVM
GCBCH AFQOX XNZTB UEAMJ JFTUD FRQGQ HXOUT CRRGY RTILD KCFCN
ZTAUC STCKZ BZTJK NZOQB RURMY WXGJR MEPMB MDLDM RYSAZ OIWYA
CLENB 222295 251630

- Partie 3:
FSDVS BPEZS UWEFU ITMSR HFBAQ CHNIL MRGOX QDXMV MZOFX DQZVS
NKGRS SPJFT AEOZM JDMZD KQXGD ZLBLF ANJEM ZKWNQ OYODP TJUZS
EVNQB MQBHS PXLZE BIOSF VWZQD VZCSQ HDKTE CQYYX QNQZO ATZXA
KZWBN LWAXT VFWEX XXCBD VTFSB ENKGS AFNGW QKLUV QVSPR PJUYG
KRVFC PXEYK DSIDO KFLFW CFHZR BZJIU VRNEI QMJDL YBITX NBFZT
IDGVU FCDSC WPVAW RVXQI SLDVU WYSRN BRJOE IVMSM QNCFN WVXTT
VBOVU FSWXG GKKAR PNTRA DPIOU EJVFE BLYVX RAWXN SODEQ USZGW
TVSGD FOXNT ASUAZ XRAEB HVRWR FSDVS 12370 251700
Texte clair:
MILIT AIREW AVECW LEOWE TWELI WXXWM EKWCA BLERW PARWR ETOUR
WEVOL UTION WSITU ATION WETWD IFFIC ULTES WRENC ONTRE ESWXX
WSUIS WINTE RRVEN UWPER SONNE LLEME NTWAU PRERE SWMIN ISTRE
WPOUR WQUES TIONK WTRAI TEMEN TSWIM PAYES WAUXW EPOUS ESWIM
PORTA NTESJ DECIS IONSW CONCE RNANN TWNOT REKWS ITATT IONWS
ERONT WPRIS ESWCE WJOUR WXXWC OMCHE FWXXW BISEC TWXXW SECWP
OURWC HEFWE TATWM AJORW GDWSU DWKAS AIWXX WZONW RETOU RWETR
EWPRE VUWPO URWLE KWBWX

- Partie 4:
LMOSB JBSOU NNRXN SWJRT UVRGF IUONY JOYBU TEZPR DERVI ZQGJC
PKDDQ TQCAG FIJPT AXJNR OPMET KFHLB HKDAF AQYDX NDDRT WVWOX
BAYBU ZDJYF OXUMI OSJUY LNRAQ WKMCC YFTIC RBARI QIFKB ETNZO
OFARZ HMNTX RZTNO QCSDR KFWZW EVVNW CRQPH LZPBV CMGCN PDOGV
SMWYB VBFRH JBKMI HVJQK EDMFV WOOWJ XAUZQ JHECR LMOSB 22235
251700

10. Minaf 17531 (cachet: 31-1-1961): Loos a Marliere
BRAHK TKZHY UBSXO NMXOW LPREG IVYRI XAVFO CVXFI USPHE OWWME
IZUIV CPLAG OHVPD NRAXT XONXZ ROTZX PRDYV FGWNJ LZFXQ EJRVB
JZPFH QCHNI USRUW SARMX QNFZA RXRDD EKKZM RPVYR XYCIR QBDUS
TEZWI UDCGQ DNNCZ NOBGZ HIIWA QNOPC IVGBX BZXYN HCTEW OQHOZ
MBLNQ RXLKJ TOLVY YDKNR NQMLD KJRJS BRAHK 11225 311700

11. Minaf 19502 (cachet: 2-2-1961): Loos a Smal
DLEOE EPEUZ DJWEX HBAAJ TNWRJ AQUCM VJPVI VPWHQ UGIQW THNEO
THBXA BVSJE JIOBQ ZMEQH QTNQG WQIUU RFXLF SSTDD QLLTY TPCIF
ZNPJN HIMSJ WAUFO RPKFX MHQIM TURPS SKELV AUVQY SMICQ RFAHD
YOZKD KXGJY KDYJM HCLSO CHWBP PUVUN LEONF OEYMO FBBMS OSNTV
EBLFQ QKCXZ FDYOQ YBSIE HLUAR MNTQW LSMRT BQNAQ VPLOG EIZUH
SYDYJ AQLAJ MGUHA NNTCF SSYBM AFJHM TRMQQ AQVQE FHBBZ BBJLN
HQKNV XJXHJ VWAPA YVITU ZMXAG ZSPVF XGWQJ YZNTL OSPHP FTFLS
EPLDB VQLUZ BORAJ LLOFE MYWUN DLFOG ELVKF ZYDSO HPHZQ YFABT
ASDWL DLEDE 11400 021800

12. Eville s.n. (cachet: 3-2-1961): Smal a Loos
BTWVE GHQMG DVIWW ZMDHA XBVMX SAFTM NUQJS ISVGN PJLCX INFIK
JJIBP BXYOH XMWPW AMGBN IYWGH LSLNR BTWVE 11075 022200
Remarque: En 1961 ce message etait indechiffrable car la 
fausse cle (l'indicateur) etait incorrecte.
La raison pour laquelle Loos n’est pas parvenu à lire ce
message apparaît aussi clairement à présent. La valeur exacte
de la fausse clé est: UEWVE au lieu de BTWVE.

14. Brazza 28B (cachet: 15-2-1961): Jacques a Nicolas [=Marliere]
11150 HSMEO TDUYB ZJQZI VVRHP ELHIL FXUKQ MNAFF ZPWSE DOXPX
NFPPA RNMXS RZPUG LBZAI MXNFC ZZSHR XVTZI DZABT LPEET CNHFV
RSNUF CJTQI HUKYM XZWBG HTLMO SWLOH EVJLF NOFYV ROSYC WXDTE
WVEXE ACKPT HSMEO 11150
Texte clair sous forme de bandes PRINTEX collees sur le 
cryptogramme.
CONTI NUEWI NTRIG UESWI NQUIE TANTE SWTAN TWLEO WQUWE VILLE
WJACQ UESWB ISSEC TWVOU SWPRI EWVOU SWINF ORMER WDISC RETEM
ENTWM ISSIO NWEXA CTEWC ONFIE EWHUB ERTWS TOPWI NTERE SSEYX

References

  • Cryptographic Challenges : The Past and the Future, by B. Preneel.
    Formal Aspects of Security, First International Conference, FASec 2002, London, UK, December 2002, Revised Papers, Springer
  • Wikipedia – Patrice Lumumba
  • R. Morris, "The Hagelin cipher machine (M-209): Reconstruction of the internal settings," Cryptologia, Vol. 2, No. 3, 1978, pp. 267-289.
  • Codeknacker auf Verbrecherjagd, Folge 2: Der Mord an Patrice Lumumba Scienceblogs.de
  • Affaire Lumumba: Organisation et fonctionnement du groupe de Binza (1960/1961) (Report)