Method in Recreating HM01’s RDFT

After my recently reinvigorated interest in SW and number stations came about, I made multiple attempts to correctly document HM01. All had failed, though I still needed to fulfill my somewhat niche hobby in some way, so I decided to combine it with my interest in linguistics and cryptology and recreate the RDFT the station uses.

First, I needed something to encrypt, which comes about from my interest in constructed languages — conlangs. Since I don’t care much about what I’m going to encrypt as I won’t need anyone to decrypt it, I just go for something simple like “baáhí doíxi haarà bixatiídoxaaríboxíhío budíti – ‘Will you go with us or stay here?’” I won’t be needing the diacritics as it breaks the code I’ll be using for the number groups.
After a good bit of googling I came across this tutorial (https://linuxcoffee.com/numbers/) which provided me with the code needed so I wouldn’t have to go about this normally.

After a bit of consideration and the fact I didn’t want to run random code on my only linux machine, I went with ct37c.txt and otp.txt, as they were both php scripts I could run simulated online without any issue. So I pop in the text I want to encrypt and get the following:

Cuban Code Example


Next we must create the one time pad and the last layer of encryption, so same as before we follow the tutorial’s instructions and get this:
cleartext

baahi doixi haara bixatiidoxaariboxihio buditi

 

message

70117 53997 25387 39975 11821 99703 87163 37258 71182 37058 73753 59970 84723 63999 

otp

35301 68279 81876 82912 87851 46641 51832 83354 13336 09256 23079 32907 18099 55305 60485 62364 74443 97357 99919 62477 50622 76460 57776 29319 71020 37768 81009 35171 19720 02617 01551 37337 67876 65349 30258 93803 71385 14136 59475 07625 47003 27098 32159 72244 18154 70704 02818 35519 68446 96816 66682 29839 05939 30174 69973 21820 17283 91399 73218 29967 52997 81717 79957 39967 52799 19638 31171 99183 37958 59999 

Radio

260 260 260           260 260 260           260 260 260           260 260 260           260 260 260           279 279 15 15 49918 49918 45816 45816 95728 95728 44511 44511 57063 57063 34070 34070 53162 53162 36331 36331 54904 54904 68856 68856 38802 38802 50784 50784 27073 27073 76734 76734 18694 18694 0 0 0”

The area in radio minus the call group and end group is the section we will encrypt further, first in hex then convert that hex to ascii, this can be done easily through online converters. We will get a result of a garbled mess like “2Ú~ƒ£ZÍŠ¦Ïš¦)½ÓBdæË:á)g“ócVŠ€ÉE»ª|šHÿ@qüNèrE$ÌŒái¤&öôŒ”


The only thing left to do after this is to encode this to RDFT, which consists of saving the ascii above to a text file, putting it in DIGTRX through the load any file option, and pressing transmit once encoding is finished. Though this example is relatively short compared to messages used by HM01, I believe it’s as accurate as we can get without an inside look. I will also include longer examples of my recreation attempts.

 

 

 

In all this was a fun project to tackle given the difficulty I had trying it the first time due to my occasional inability to read tutorials. If I had the time the first time around it would’ve also been an exercise of my linguistic, cryptographic, and coding skills, even though I’m only well versed in one of those fields. I would definitely recommend taking this on from scratch if you have the knowledge as this went much smoother than my attempt at a manual one time pad cipher.

by our Discord server member niklaus.