Post by bjbackitiskm4rb on Dec 14, 2017 12:49:05 GMT
First off, this being my first post, I want to thank you for having me in the group. My nickname is BJ and I live in Tampa, Florida with my wife of over 25 years and our 13yr old son. I'm also been a licensed ham operator (KM4RB) since December 1986. I've been interested in cryptography for a very long time now and in the Enigma machine for nearly as long, and have learned a lot from the EWCG site and reading the threads in this forum. Okay, enough introduction.
In the Kreigsmarine descriptions I've seen on various sites, the use of a daily common Grundstellung (rotor start position) for encrypting the actual message key has been mentioned as a considerable security flaw, resulting in the Banburismus process to help break the cipher messages. I've been thinking of how to mitigate that flaw while minimizing any additional complexity of the overall Kenngruppenbuch process... putting myself into the head of Adm. Donitz and thinking what he might do if he realized the flaw existed.
So, if *I* were doing it, I would remove the Grundstellung column from the "Outer Settings" sheet. Instead, I would have a separate Grundstellung codesheet that would be formatted similiarly to the "Inner Settings" and "Outer Settings" sheets with rows for each day of the month. On each row I'd have 13 random quadgrams in columns with headers of "A/N", "B/O", "C/P" through to "M/Z". The normal procedure of selecting the Schlüsselkenngruppe and Verfahrenkenngruppe trigrams from the Kenngruppenbuch would be used, but the random letter added to the front of the Schlüsselkenngruppe trigram to form the cipher indicator group would ALSO be used to determine the column to use on the Grundstellung sheet.
Below (bottom of post) is a mockup of what such a sheet might look like in my mind. For today (14th), if the random letter "K" was added to the Schlüsselkenngruppe, the Verfahrenkenngruppe would be encoded using the rotor start position of "CNLD". If the random letter "R" was used, the Verfahrenkenngruppe would be encoded using the rotor start position of "ZALD" (the letters in the "E/R" column, "DLAZ", but with the order reversed). I wouldn't use the letter added to the end of the Verfahrenkenngruppe trigram since that is what is being encrypted (key contamination -- part or all of the key being determined by the contents to be encrypted).
This wouldn't totally eliminate the potential flaw, as you would have still only have 24 Grundstellung (12 related pairs) for each day instead of just one, but from what I can figure it would significantly help mitigate the flaw without too much additional complexity to the encryption/decryption process (one additional codesheet and a lookup for each message). It would also help encourage the use of different random letters in front of the Schlüsselkenngruppe, as I know some radio operators were pretty lazy about that aspect of key generation.
I would appreciate any thoughts from the group members on this approach. Thanks!!
-------------------------------------------------------------------------
|Day | A/N B/O C/P D/Q E/R F/S G/T H/U I/V J/W K/X L/Y M/Z |
-------------------------------------------------------------------------
| 31 | USQO JEEQ YUFJ OUGK MYHN PZUA HGLW HBBK FQMW AZWI XJJA AIGF VAGC |
| 30 | OQIT WMGR NBTC UPQU VTQR TOTM QTKJ PCRG JBON RLZQ HKPD DKSU PREA |
| 29 | QWBY YLJF DYVN XUJC CKJH FYPG NXGH BPZP EKAD SOCG SUPE LMFA HSKP |
| 28 | GTLJ DQPH ZPPD KQYV LSRU PQJH RLYQ JEBE LGOE AJJG YEWH HQEN DDDR |
| 27 | UZCR CTIA UIXW AEOI JGRA IYWN CPZN AKAX SIIP UQID CUJU HZMX NYNC |
| 26 | EDBC SPAL SUDB HAAI TLPM OTHZ XIVC ARCW WKOW ILQT WXNQ NPMF PBGD |
| 25 | JGZU RQPU VKKY GLCG YKYP ZBYL DNJL UKUQ YNCV JHEO YZIV EGZP DBVK |
| 24 | XTYH XGND ZLMI VLRT QIMG TEAA KRAY QMCO WFMB HTMJ URBZ YJPO KMBZ |
| 23 | WQJE UMCF OQCG UZGZ ZLWA FLLA GXPE XOQW KNIV SXQF HUOT EKXL MWMB |
| 22 | HKER ZHJZ ZJRC GASY ACEH YXSY NCPS RXHP JRSM IUHE JNHJ LLNI URFG |
| 21 | JMHF HQFJ WGMW FRBK XLLI XZXA ZZIB EYQK IPVY LQFE HCME BQSH YEUU |
| 20 | TQAJ FUUZ KMEF BRQW CPHW EDJN GPXX TICA UVKO PIPF YLXS GCEW QOTK |
| 19 | QQQX FPQT GAUO ZPKN EJNW IDUJ HLQL AVUS CAKB IWGI HNBP XQAW WLNH |
| 18 | YOIQ IORG YDXE MCBD XFIA YTQY IKLD MSAS REVO SGJW XGSR MWKK SUJT |
| 17 | ECIW LVKT AWEY POPK XRLP XYXE JMEK BDPZ GTJR DFUH QPLO CVJQ GTFG |
| 16 | NDFA QSSL PRYF NXMS JEQC GTSD SFOR QNIH AKAV BKDQ IAXP CDKO JUHH |
| 15 | FYXJ KKIK VRNT GLVE OOXC VWVY YNEO QTGO OQJO RDCB YTBP BIDF HUHN |
| 14 | FHYE AWOV SIEW FFRN DLAZ MZWP NLKE ITWT APPP EAQS CNLD HJOM DBUY |
| 13 | AGWN FFBM JLRS STCR IHWC XMJY POIY RHIT DUQJ WCJP SHTH CQHJ CDYM |
| 12 | QFPO SPHG PKPD YISD UBMA DUUT HAZW CRCR VORO KUAQ DKRQ IAWD VPMO |
| 11 | SBRY LRQJ AMMD DAHF WBCB FTFT XMVI KSDW KIKV WANR NXQH OBES XSHD |
| 10 | HVKV LKKI TVGY HKSS FYET EYHL GBLQ TECI BICT JMKG SIVI AFPU JMUW |
| 9 | BNWG QIRY FERY KGIV PDTF ZJHM ALPP TZTX LQTG LNKM RABO IEVT TVYR |
| 8 | YPJT HMEO AZQO UUAZ VAVV JFSA XHMP ZSCH JBHU AQFZ JCNK MBIX ZDPC |
| 7 | BBMC LBDV YLWY USBR YRKJ TLHJ RWGJ CRWW OGLA GGWK KDLZ DLCY JVPO |
| 6 | NPNC CEID IKVN LCRI VYGK MARZ ZHAU JWIZ SOHU KHYG LCMM TJPL ZFRU |
| 5 | WQSN NYUM PJBK ZVJI PXCW MJQX EJJR KOUI FHEC UCCW PBQO TPEH QUBW |
| 4 | VBRI OFWE EQCH GMMD WLOL YUSO CNTU NBOF UPDX QOVZ GXBA RVXM MRNJ |
| 3 | SMSO DGHW QWWE SAQV VNLL HGWZ JIQM EUIR IQTL KONO GCKE XKXK WMSX |
| 2 | HIVY WKJF XLXL CCMC JNDL KHCA NOXF IXIJ FORN JGFM OXCQ PHPQ HNYI |
| 1 | UCOX UXSA JRSV ERRC GDDH UQNW AGPA WCVE GHAN NIPT XOWQ TMJR LCFA |
-------------------------------------------------------------------------

In the Kreigsmarine descriptions I've seen on various sites, the use of a daily common Grundstellung (rotor start position) for encrypting the actual message key has been mentioned as a considerable security flaw, resulting in the Banburismus process to help break the cipher messages. I've been thinking of how to mitigate that flaw while minimizing any additional complexity of the overall Kenngruppenbuch process... putting myself into the head of Adm. Donitz and thinking what he might do if he realized the flaw existed.
So, if *I* were doing it, I would remove the Grundstellung column from the "Outer Settings" sheet. Instead, I would have a separate Grundstellung codesheet that would be formatted similiarly to the "Inner Settings" and "Outer Settings" sheets with rows for each day of the month. On each row I'd have 13 random quadgrams in columns with headers of "A/N", "B/O", "C/P" through to "M/Z". The normal procedure of selecting the Schlüsselkenngruppe and Verfahrenkenngruppe trigrams from the Kenngruppenbuch would be used, but the random letter added to the front of the Schlüsselkenngruppe trigram to form the cipher indicator group would ALSO be used to determine the column to use on the Grundstellung sheet.
Below (bottom of post) is a mockup of what such a sheet might look like in my mind. For today (14th), if the random letter "K" was added to the Schlüsselkenngruppe, the Verfahrenkenngruppe would be encoded using the rotor start position of "CNLD". If the random letter "R" was used, the Verfahrenkenngruppe would be encoded using the rotor start position of "ZALD" (the letters in the "E/R" column, "DLAZ", but with the order reversed). I wouldn't use the letter added to the end of the Verfahrenkenngruppe trigram since that is what is being encrypted (key contamination -- part or all of the key being determined by the contents to be encrypted).
This wouldn't totally eliminate the potential flaw, as you would have still only have 24 Grundstellung (12 related pairs) for each day instead of just one, but from what I can figure it would significantly help mitigate the flaw without too much additional complexity to the encryption/decryption process (one additional codesheet and a lookup for each message). It would also help encourage the use of different random letters in front of the Schlüsselkenngruppe, as I know some radio operators were pretty lazy about that aspect of key generation.
I would appreciate any thoughts from the group members on this approach. Thanks!!
-------------------------------------------------------------------------
|Day | A/N B/O C/P D/Q E/R F/S G/T H/U I/V J/W K/X L/Y M/Z |
-------------------------------------------------------------------------
| 31 | USQO JEEQ YUFJ OUGK MYHN PZUA HGLW HBBK FQMW AZWI XJJA AIGF VAGC |
| 30 | OQIT WMGR NBTC UPQU VTQR TOTM QTKJ PCRG JBON RLZQ HKPD DKSU PREA |
| 29 | QWBY YLJF DYVN XUJC CKJH FYPG NXGH BPZP EKAD SOCG SUPE LMFA HSKP |
| 28 | GTLJ DQPH ZPPD KQYV LSRU PQJH RLYQ JEBE LGOE AJJG YEWH HQEN DDDR |
| 27 | UZCR CTIA UIXW AEOI JGRA IYWN CPZN AKAX SIIP UQID CUJU HZMX NYNC |
| 26 | EDBC SPAL SUDB HAAI TLPM OTHZ XIVC ARCW WKOW ILQT WXNQ NPMF PBGD |
| 25 | JGZU RQPU VKKY GLCG YKYP ZBYL DNJL UKUQ YNCV JHEO YZIV EGZP DBVK |
| 24 | XTYH XGND ZLMI VLRT QIMG TEAA KRAY QMCO WFMB HTMJ URBZ YJPO KMBZ |
| 23 | WQJE UMCF OQCG UZGZ ZLWA FLLA GXPE XOQW KNIV SXQF HUOT EKXL MWMB |
| 22 | HKER ZHJZ ZJRC GASY ACEH YXSY NCPS RXHP JRSM IUHE JNHJ LLNI URFG |
| 21 | JMHF HQFJ WGMW FRBK XLLI XZXA ZZIB EYQK IPVY LQFE HCME BQSH YEUU |
| 20 | TQAJ FUUZ KMEF BRQW CPHW EDJN GPXX TICA UVKO PIPF YLXS GCEW QOTK |
| 19 | QQQX FPQT GAUO ZPKN EJNW IDUJ HLQL AVUS CAKB IWGI HNBP XQAW WLNH |
| 18 | YOIQ IORG YDXE MCBD XFIA YTQY IKLD MSAS REVO SGJW XGSR MWKK SUJT |
| 17 | ECIW LVKT AWEY POPK XRLP XYXE JMEK BDPZ GTJR DFUH QPLO CVJQ GTFG |
| 16 | NDFA QSSL PRYF NXMS JEQC GTSD SFOR QNIH AKAV BKDQ IAXP CDKO JUHH |
| 15 | FYXJ KKIK VRNT GLVE OOXC VWVY YNEO QTGO OQJO RDCB YTBP BIDF HUHN |
| 14 | FHYE AWOV SIEW FFRN DLAZ MZWP NLKE ITWT APPP EAQS CNLD HJOM DBUY |
| 13 | AGWN FFBM JLRS STCR IHWC XMJY POIY RHIT DUQJ WCJP SHTH CQHJ CDYM |
| 12 | QFPO SPHG PKPD YISD UBMA DUUT HAZW CRCR VORO KUAQ DKRQ IAWD VPMO |
| 11 | SBRY LRQJ AMMD DAHF WBCB FTFT XMVI KSDW KIKV WANR NXQH OBES XSHD |
| 10 | HVKV LKKI TVGY HKSS FYET EYHL GBLQ TECI BICT JMKG SIVI AFPU JMUW |
| 9 | BNWG QIRY FERY KGIV PDTF ZJHM ALPP TZTX LQTG LNKM RABO IEVT TVYR |
| 8 | YPJT HMEO AZQO UUAZ VAVV JFSA XHMP ZSCH JBHU AQFZ JCNK MBIX ZDPC |
| 7 | BBMC LBDV YLWY USBR YRKJ TLHJ RWGJ CRWW OGLA GGWK KDLZ DLCY JVPO |
| 6 | NPNC CEID IKVN LCRI VYGK MARZ ZHAU JWIZ SOHU KHYG LCMM TJPL ZFRU |
| 5 | WQSN NYUM PJBK ZVJI PXCW MJQX EJJR KOUI FHEC UCCW PBQO TPEH QUBW |
| 4 | VBRI OFWE EQCH GMMD WLOL YUSO CNTU NBOF UPDX QOVZ GXBA RVXM MRNJ |
| 3 | SMSO DGHW QWWE SAQV VNLL HGWZ JIQM EUIR IQTL KONO GCKE XKXK WMSX |
| 2 | HIVY WKJF XLXL CCMC JNDL KHCA NOXF IXIJ FORN JGFM OXCQ PHPQ HNYI |
| 1 | UCOX UXSA JRSV ERRC GDDH UQNW AGPA WCVE GHAN NIPT XOWQ TMJR LCFA |
-------------------------------------------------------------------------