View Full Version : Has anyone ..... ?
Capt. Teach
10-09-2010, 02:48 AM
Greetings all,
I hope I am not cluttering up your area, however, I did want to pose a question for you all ....
Has anyone made a working Enigma or discussed starting such a project for SH III or SH IV? From what I have learned reading, downloading, and learning how to operate the Enigma you all use here ... it seems possible to do for the solo campaign in either. :yep:
Dragunov
10-09-2010, 03:16 AM
I have made the Enigma E.
http://www.cryptomuseum.com/kits/enigma/index.htm
It is working fine and gully compatible with the simulator we use.
http://users.telenet.be/d.rijmenants/en/enigmasim.htm
The only downside is that decoding and encoding is very time consuming.
But that does not take the fun out of it.
If you want to build a machine, I can recommend this enigma
Capt. Teach
10-09-2010, 04:20 AM
I'm sorry, I see now I did not post clearly. I meant, has anyone made or discussed making a working Enigma for inside the game ... just like using the periscope, hydrophone, or TDC. :salute:
**Edit**
Although I must say, building your own from that kit is really cool! :yeah: :rock:
smilinicon
10-09-2010, 07:53 AM
very cool idea!
Capt. Teach
10-09-2010, 01:35 PM
Here is why I am asking,
After messing about with the (virtual) Enigma machine program, I could easily envision how such an item might be made to actually work inside the game itself .... and bonus, actually make the radio room compartment have a use outside of just eyecandy.
However, and this is the part that stumps me, how would it be coded? From everything I have checked, and everything I have personally modded (in SHIII and SH IV), I have never seen anything but script. No actual code. For this to work, it would have to be coded so that the rotor settings, rotors, plugs, the reflector, and of course the keyboard would work together to put out the desired output. Script won't cut it in that department. The only thing that I can think of is ... code in binary. ACK. Although I do have a very rudimentary knowledge in binary code I fear that coding in that area would be beyond my current skills.
Any thoughts?
**Edit**
I have already begun making all the pertinent messages sent to me in game come already encoded in Enigma. I have also generated all the code sheets from Jan 1939 to Dec 1945 and saved them ... and am currently working on making those available inside the game. Each message is encoded using the specific day, month, and year that the message appears and the proper code sheet is applied. I am not encoding all messages ... obviously those sent out in the clear are not encoded but all those sent from BDU or other U-boats ... yes .. those I am encoding. Its a LOT of messages (thank you GWX team :haha::wah::D:wah:) In my next post following this one I will show you an example which will also include the proper code sheet line so you can all see the format I am looking at.
The other reason I will post it is ... well ... you guys know what you are doing and I don't [well I sorta do, well ok not really, ok ... yeah Im a noob enigma person. :haha:]. So any comments, suggestions, etc. would be hugely welcome.
Capt. Teach
10-09-2010, 02:27 PM
August 27, 1943
U51 GE C 2708 = 43 = LJM RBQ =
WFYQ OZYY QSUU QUIG CCJT LOWC VYQZ
TRLK TLTO EKWF DBLE BBAD OQPQ SNDT
QDMO SXKB XQHZ DURP YVDY QIVN REMJ
OMSD SJBS YNEI WTYO GBJZ TR =
GEHEIM! BDU 1943 AUGUST 1943
--------------------------------------------------------------------------------------
|Tag | Walzenlage |Ringstellung| Steckerverbindungen | Kenngruppen |
--------------------------------------------------------------------------------------
| 27 | VI III VII | 23 08 23 | AG BE CV FK HZ JU NR OW PT SX | LJM RBQ UXC ODP |
So, the format I am sending out is:
U-boat GE (Germany?) Reflector Day/month = Year = three letter cyphers located under Kenngruppen for appropriate day (1st 2 of four if first half of that day [0000hrs to 1200hrs], last 2 of 4 for every other message that day [1201hrs to 2359hrs] = Encoded Message =
[Reflector used is = Kriegsmarine M3 - UKW = C] Settings should wind up being VSO.
Translated message:
BDU/GRUPPENMONSUN/OP.IMMEDIATE.TRAFFIC/EFFECTIVE.IMMEDIATEL,.SHIFT.BASE.OF.OPERATIONS.TO. PENANG.PENANG.
smilinicon
10-09-2010, 07:31 PM
for some reason, the Kriegsmarine UKW setting is left out of the codebook settings. There should be a B or C there, as in the original codebook settings we used here:
http://hstrial-enigma1.intuitwebsites.com/index.html
The way you are sending the message, with the subject line containing the kengruppen shown, would actually be broadcasting the secret info needed to decode the message. The kengruppen is usually encoded within the subject line of the message you receive.
The subject line would also contain the time the message is sent, so there would be two clues as to the proper kengruppen used, the time period of the day, which you referr to in your post, or the encoded trigrams.
U51 GE C 2708 = 43 = LJM RBQ =
in our use would be like;
0600/2708/U51/43/ABC XXX
the 0600 kengruppen for the 27th is LJM.
ABC is set on the Walzenlage or Rotors, and LJM is typed into the machine to give you XXX. XXX is a variable as I did not setup the machine, but I hope you see what I mean.
You would receive the above subject line, load up enigma with settings for 27/08, set rotors to ABC, type in XXX and it would tell you the LJM kengruppen. You would reset the machine to LJM to decode the message.
You could also see that the 0600 kengruppen for the 27th is LJM in the subject line when looking at a codebook. Either way would work in your in-game example.
Please note I am unsure what the GE C letters would denote.
Not sure how it would be programed in the sim, so I can't help there. Hope info helps a bit.
Capt. Teach
10-09-2010, 08:49 PM
Ahhhhh ok,
So by default it is always set to ABC and then the appropriate Kengruppen according to time denoted in the header is used?
Also, the Kengruppen has four sets so ... is the day sliced into quarters as to which Kengruppen is utilized? Every 6 hours? [Ex. 0000 - 0600 hrs, 0601 - 1200 hrs, 1201 - 1800 hrs, 1801 - 2359 hrs.]
Another detail I don't understand is, if I follow the procedure as I understand it ... the final setting for the rotors is the first three letters in the encoded message? That seems to give away info to me. Knowing that ... I only need the time, day, month, and year ... consult the code book for rotor numbers used (Walzenlage), individual rotor adjustments (Ringstellung), plug settings (Steckerverbindungen), look at the first three letters of the message, set rotors to those, and we are off to the races for decypher. In essence, no need for ABC XXX because we already know the end result is 1st three in the encoded message?
To explain my format ... well ... I tried [with my own feeble mind] to decypher this header as shown in the .pdf example that comes with the Enigma download.
On day 31 the following message is transmitted:
U6Z DE C 1510 = 44 = EHZ TBS =
QBLTW LDAHH YEOEF PTWYB LENDP MKOXL DFAMU DWIJD XRJZ=
To decode the message we take te following steps:
1. Select the Walzen (rotors) and adjust the Ringstellung, put the Walzen into the machine and set the
plugs or 'Stecker' for day 31
2. Set the start position to EHZ, the first trigram of the message
3. In this position, decode the second trigram TBS to retrieve the message-key. This should result in XWB
4. Set the decoded message-key (XWB) as start position on the machine.
5. Now decode the rest of the message...
This may well be your first decoded message, Good Luck !
So as you can see here:
U6Z DE C 1510 = 44 = EHZ TBS =
So I tried to decipher that example header into something I could understand :haha:. Since the 1st three started with "U" I said "Ok, probably a U-boat designator. The DE I thought "Hmmm, perhaps stands for Deutchland? [ie Germany?]. Then I looked at the C and said "Ah ha! That must be telling me its reflector C since in the Kriegsmarine I have both B and C." The 1510 I immediately thought "Ok that is the time." right up and until I saw the two trigrams and then I thought "Ohhhhh, ok those trigrams are what I need so 1510 must be a date i.e. 15th October and then followed by year (19) 44." According to the example of the author the resulting XXX would be XWB which didn't show in his encoded message. So when I made my example, I was sure to leave that out as I thought it would be a breech of security. Since my code book pages don't denote reflector type [and I don't know why, Im using the code book generator tool from the same site.] I just assumed the C in the header was telling me the proper reflector. :o So anyway, that is how I came to the conclusions I did ... heheheh. Although, you can see there is a definate clash of info since he is telling us it is the 31st and my header interpretation says it is the 15th of October.
I like your way much better and I'm sure it is the proper way to do it. It is easy enough to alter my format to your format and if you don't mind, I would like to with your permission.
smilinicon
10-09-2010, 09:39 PM
ABC was a variable and can be any three letters. Sorry I did not point that out. It is chosen when making the subject line. The variable makes it harder to decode if intercepted.
Yes, day is sliced into 4 six hour periods and one kengruppen for each period.
A header would not contain enigma settings. I think the setting codes you are seeing may have been written when the Allies decoded the message?
Oh. Clash of info is: Header contains the date message is sent and is a constant so receiver knows what settings to use from the codebook. Encoded date could be something different like a patrol event, ect...
no permission needed.. just telling what I learned here :)
smilinicon
10-09-2010, 09:55 PM
btw... What you are thinking of doing would be great for 1x players. Sure would pass time punching in those numbers :)
Capt. Teach
10-09-2010, 10:56 PM
Thanks!
Yeah, I just am not sure getting a fully functional Enigma machine into game is feasible since it would require code as well as script. I'm just not sure we can do code since the core code of the game is locked. I'm trying to think of a backup idea if that is in fact the case. So that even though it won't be fully functional ... it will look like its fully functional.
However, it's all in the very first phases of development [and I mean very first :haha:]. I hope it can be done ... but I might find out ... that it cannot be.
smilinicon
10-10-2010, 07:16 AM
http://www.cryptomuseum.com/crypto/enigma/
much info about all types of Engima machine and simulators.
I gather what you are doing is converting the messages in GWX to code, according to date and time. Then they can be decoded when received.
GWX could be run in a window but you lose some ambience. :) Either another computer, or even one of the enigma machine kits would be cool for punching in the messages as you run your patrol.
The redundancy of having the date time stamp and the Trigrams makes me think only the date of the message was broadcast in the header line. This would tie in with your exampe header line. I bet the header line contained the U-boat number, date, number of characters and the trigrams, then message followed. They never know when it would be received and would have to try again and again until confirmation was received, each time giving their position away.
Laufen zum Ziel
10-10-2010, 11:50 AM
Very good communications guys.
Ken :yeah:
Capt. Teach
10-10-2010, 05:17 PM
Ok so here is what I understand a good header might want to have included:
U-boat #
Date (Date message was encoded not when received since we are unsure when the U-boat might receive it: i.e. might have to be transmitted several times before they actually get it.)
Time (Time message was encoded [see Date explaination above])
Year (Year message was encoded [see Date explaination above])
Trigrams
Now, if I apply those 5 essential elements to the format the Enigma Flotilla uses for header I should wind up with the following header format:
Time / Date / U-boat / Year / Trigrams
Which should look like this in use:
0635 2308 U5A = 40 = DBK LJM =
Now I know what you are thinking ... looks pretty straight-forward until we see U5A in the U-boat position. Well, that is a little and easy thing I did to try and match from an actual header I saw. U is for U-boat, 5 is for Fifty, and A is the first letter in the alphabet and has a numerical value of 1. Therefore U5A = U51.... another example would be U4G aka U47. But what happens if we get a U-boat that is U-326? In that case we will assume U for U-boat (drop the U) and do letter number letter for format so U-326 would appear as C2F [C(3), 2, and F(6)]. :yeah: So U-boat designation follows a rule for both Prefix and Suffix. (Don't worry if so far this doesn't make sense. It should soon.)
Rules for U-boat Designator:
Prefix zone = U + 1st numeral position
Suffix zone = All numerals from 2nd numeral position on.
U-123
PREFIX: Prefix for all U-boat designators will follow format of U# provided suffix numeral is 25 or below.
SUFFIX: Suffix for all U-boat designators will follow numerical value of alphabet A-Y for values of 1-25 and the letter Z with a numerical value of 0 [Zero].
Suffix Rule: In the event of any value of 26 or above then Prefix of "U" will be dropped and the numeral of the U-boat will become both prefix and suffix in the following format LETTER/NUMBER/LETTER. Exception: Numerals with a suffix zone of 0# (where #= 0-9) will be assumed as a value above 25.
Examples:
U-07 = U0G (G=7 [Note: Zero is in Prefix Zone not Suffix Zone therefore Suffix Rule does not apply.])
U-47 = U4G (G=7)
U-20 = U2Z (Z=0)
U-300 = C0Z (00 [Zero Zero] is assumed a value above 25 so Suffix rule applies.[C(3), 0, Z(0)])
U-306 = C0F (06 is assumed a value above 25 so Suffix rule applies.[C(3), 0, F(6)])
U-30 = U3Z (Z=0)
U-99 = U9I (I=9)
U-123 = U1W (W=23)
U-142 = A4B (42 exceeds limit of 25 therefore Suffix rule applies.[A(1), 4, B(2)])
U-912 = U9L (L=12)
U-432 = D3B (32 exceeds limit of 25 therefore Suffix rule applies.[D(4), 3, B(2)])
U-127 = A2G (27 exceeds limit of 25 therefore Suffix rule applies.[A(1), 2, G(7)])
U-221 = U2U (U=21)
HEADER EXAMPLES WITH ABOVE U-BOAT DESIGNATORS:
0635 2308 U0G = 40 = DBK LJM =
0635 2308 U4G = 40 = DBK LJM =
0635 2308 U2Z = 40 = DBK LJM =
0635 2308 C0Z = 40 = DBK LJM =
0635 2308 C0F = 40 = DBK LJM =
0635 2308 U3Z = 40 = DBK LJM =
0635 2308 U9I = 40 = DBK LJM =
0635 2308 U1W = 40 = DBK LJM =
0635 2308 A4B = 40 = DBK LJM =
0635 2308 U9L = 40 = DBK LJM =
0635 2308 D3B = 40 = DBK LJM =
0635 2308 A2G = 40 = DBK LJM =
0635 2308 U2U = 40 = DBK LJM =
There you have it for U-boat designator. This system will handle all U-boats numbered from 01 to 999. I have also developed a continuation of this system for any U-boat numbered 1000+ as well but for WWII I don't think its necessary? :up:
So this is the header info format I am looking at for the ingame Enigma that I am planning on creating [Just to be clear, I'm not suggesting that the Enigma Flotilla adopt this]. However, I do value all of your opinions/suggestions (or even slams :haha:) since you are the folks who know what they are doing concerning Enigma. :yep:
Comments? Suggestions? :06:
Capt. Teach
10-11-2010, 01:30 AM
Ok,
I'm confused .....
Another detail I don't understand is, if I follow the procedure as I understand it ... the final setting for the rotors is the first three letters in the encoded message? That seems to give away info to me. Knowing that ... I only need the time, day, month, and year ... consult the code book for rotor numbers used (Walzenlage), individual rotor adjustments (Ringstellung), plug settings (Steckerverbindungen), look at the first three letters of the message, set rotors to those, and we are off to the races for decypher. In essence, no need for ABC XXX because we already know the end result is 1st three in the encoded message?
Also, since my header format 0635 2308 U2U = 40 = DBK LJM = is laid out in Time / DayMonth / U-boat Designator / Year / Trigrams would I even need to include the second trigram in the header? If I understand the procedure right ... I would only need the first trigram ... as the Code Book page with the Kengruppen would provide the second trigram according to the day, month, year (23 August 1940) and which quarter of the day the time falls indicated in the header (0635 hrs). So shouldn't the header look like 0635 2308 U2U = 40 = DBK =?
smilinicon
10-11-2010, 07:39 AM
the '40' is not the year.. it is the number of characters in the message.
time/date/sender/#of characters/1OF1 (one part message)/ trigrams.
Trigrams have nothing to do with message itself, they only encode the kengruppen.
Date = constant.
Time = variable.
both trigrams - variables
kengruppen = 4 more variables..
Only constant in the header is the date. Everything else is a variable and that is why it was so hard to decode the messages and it was so important to capture a U-boat, enigma and codebooks.
There is no tie-in between trigrams and letters in the message, First trigram is made up, second one comes from punching the proper kengruppen into the enigma.
[first trigram is set in the rotors] [chosen kengruppen is typed in] [machine spits out the last trigram]
I think messags would be sent with only the date and no time as it gave away too much information.
Capt. Teach
10-11-2010, 11:25 AM
Wow,
Ok I was really confused then ... didn't realize I was as confused as I was! :har: That really clears up a lot there!! Hmmm, ok, well then I don't need that U-boat designator I came up with ... so ... please ignore that :woot:. [Seems to me, after reading Similinicon's post #16, it would be best to just encode the U-boat in the message ... infinitely more secure. :up:]
Ok, so a good header would be just Time / Date / Sender / # of Characters / # of Messages / Trigrams where only the date and trigrams are the constant for the unit recieving the message for decoding?
Thanks partner. :salute:
vBulletin® v3.8.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.