User talk:Matt Crypto/archive2

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Could you help with Enigma Machine?[edit]

Hi, noticed you're interested in cryptology. Enigma Machine is currently stalled on WP:FAC, but there's only so much I and other contributors can do to fix the article up. If you're free, would you mind helping smooth out some of the objections related to the facts/statements in the article? Thanks. Johnleemk | Talk 14:02, 26 Jul 2004 (UTC)

Hi, I've been intending to have a look, and I've spent a little time over the last couple of days reading up on Enigma; I hope to put some work in soon! — Matt 17:09, 27 Jul 2004 (UTC)
Thanks bunches. Cryptology isn't exactly my forte. Johnleemk | Talk 10:44, 28 Jul 2004 (UTC)

Enigma rotor model[edit]

The rotor looks feasible. I'll work on a model during the next few days. -- Wapcaplet 22:32, 27 Jul 2004 (UTC)

  • Rotor is coming along nicely! Any idea what those little screws around the circumference, between the letters and finger-wheel, are? (most visible in this photo) Translating this page from German gives some clues but I still can't quite figure them out. I presume they enable some way of adjusting the attitute of the alphabet wheel or the wiring. Aside from those, and the wiring, the model is nearly complete. -- Wapcaplet 02:20, 28 Jul 2004 (UTC)
    • Crikey, already? :) There seems to be a springy / catch thing, shown in [1] and elsewhere, it fixes the alphabet wheel, which can otherwise rotate around the wiring "core" (as you mention). I think there are also buttons or studs around the core, but it's unclear to me whether these are the "screw head" things. There is an "official" english translation of the page you link to, here: [2], which labels things as "retaining spring (22) button (23), spring-loaded stud (24)". I'm not quite sure how this works; it's one of those frustrating things that would be quite trivial to understand if you could actually see one of the things physically ;-) It's also likely that this was implemented idfferently depending on which Enigma variant was in use. Three other pictures are:[3], [4], [5] — not sure how helpful they are...— Matt 02:50, 28 Jul 2004 (UTC)
  • Here are a couple of test renderings: Image:Enigma_testrender1.jpg, Image:Enigma_testrender2.jpg. I did some tweaking so all the parts fit together nicely; still no wiring, and no screws holding it together yet (lighting and materials are not final, either). Should I include the small ratchet-catch on the plate side? Not sure how many of the various parts you want to show. I could easily add it, but I don't quite understand how the ratchet notch on one side interacts with the ratchet on the other; some of the pics you've provided show two or four notches, so obviously there were some different systems in use. I'll try to add the spring-lever that adjusts the alphabet wheel, also (though it's hard to get a clear shot of it). Let me know what you plan on doing with the image(s) - I can make an exploded view to show all the parts separately. If color-coding of the parts will be helpful, I can do that; if you're going more for the approach of showing what it looks like, I can make a photorealistic rendering of it. -- Wapcaplet 17:41, 28 Jul 2004 (UTC)
  • Added screws and finished the wiring. (Image:Enigma_testrender3.jpg). I've roughly based things on the replica. I even went all-out and wired it according to an actual rotor (wheel "I"). -- Wapcaplet 21:59, 28 Jul 2004 (UTC)
    • These look pretty good to me, and I'm impressed that the wiring is authentic! I prefer the colours on the first two, but that's just being picky. I think it would be good to include a notch (probably only one; I think multiple notches was atypical). The notch on one rotor doesn't directly interact with the neighbour rotor; it's turned indirectly through some sort of gearing system. If you can figure out a reasonable approximation to the alphabet wheel spring-lever, that would be great, too, but it's not essential. The plan for the images is to illustrate the different parts of the rotor, so I guess clarity is preferable to photorealism. I originally envisaged something along the lines of the "CodesAndCiphers" illustration: [6], but perhaps we could turn the "side-view" picture into a slightly "exploded" version, so that the wiring is visible? Also, perhaps we could stick four copies onto a spindle, each rotated slightly, to show how they fit together on the shaft? — Matt 05:15, 29 Jul 2004 (UTC)
  • Check it out. I haven't added any labeling yet; let me know what's worth noting, and I can add some numbered labels (numbers, so it can be used again in other language Wikis). I finally figured out how that spring catch works - I took a screenshot of the "Wired 1" and "Wired 2" pics from here and turned the contrast way up in order to confirm what I suspected - there are 26 little holes along the inner edge of the alphabet ring, which the spring-arm locks into. They're in the model now (though you can't see them). Also, apparently several of those brass screws I asked about earlier are for attaching the outer casing (dark grey in the render) to the core, and the spring-arm to the outer casing. At any rate, I'm satisfied that the model is mechanically accurate enough for our purposes. This was fun to make! I'll see about putting two or three rotors side-by-side; if I can figure it out, I'll throw in the ratchet mechanism too. -- Wapcaplet 01:31, 30 Jul 2004 (UTC)
    • Nice (and well spotted with the spring-arm holes!) Good idea about labelling with numbers, rather than with text -- I know de have an active cryptography project, and I'm sure they'd quite like to use it for de:Enigma (Maschine), and there's a half a dozen other languages with Enigma pages. I guess it would make sense to label 1) The flat contacts; 2) The pin contacts; 3) The finger notches; 4) the alphabet tyre; 5) the "carry" notch; 6) the wiring; 7) the spring-catch-lock-arm thing! 8) the shaft; and 9) the ratchet bit. — Matt 02:03, 30 Jul 2004 (UTC)
      • Ah, just one thing might need to be added: the "indicator dot" which tells the operator how to align the alphabet ring with the core. Sometimes this was on the face ([7] and [8] (although [9] has it in a different position). — Matt 02:17, 30 Jul 2004 (UTC)
  • Indicator dot and labels added, lighting improved a bit, and "carry" notch rotated for better view. The indicator dot will be hard to see in a thumbnail version, but in the full version it seems OK. The dot aligns with "A" and is labeled "7". More pics coming soon! -- Wapcaplet 15:54, 30 Jul 2004 (UTC)
  • New images: Image:Enigma ratchet.png and Image:Enigma rotor set.png. I more or less fudged the ratchet mechanism based on a text description of it; the illustration, I hope, conveys that there are three spring-arms that lock into the ratchets. The spring arms are pushed forward with each keystroke; when the carry-notch is aligned with the spring-arm, the adjacent rotor can move. When the carry-notch is not aligned, the spring-arm simply slides, and the next rotor stays put. In the illustration, (1) is the "fast" rotor, moving with each advance, (2) is aligned and about to move, while (3) is not aligned with the notch, and will stay still. As for the rotor set - I hope three rotors is adequate; the model is fairly memory-intensive, and with three copies it was starting to approach 400,000 vertices (even without including unnecessary bits like the wiring)! My understanding is that the fourth rotor is usually a special "reflection" rotor anyway. Let me know what you think. -- Wapcaplet 20:44, 30 Jul 2004 (UTC)
    • Also, I should note that in the ratchet illustration, the alphabet tyre and finger-wheel are not shown; they were getting in the way of a clear shot of the ratchets. -- Wapcaplet 20:49, 30 Jul 2004 (UTC)
      • I like your stepping mechanism illustration; certainly it's clarified for me how it works — I've never been too clued up on the mechanics! If it's easy to change, it might be worth tweaking it slightly to be "anatomically correct": [10], [11], [12], [13], [14]. Most Enigma models only had three rotors and a fixed reflector; some Navy models had four rotors and a reflector. I think the Swiss NEMA version, used after WWII, had 10 rotors! For the "rotor set" image, I was wondering if it might be better not to show the ratchet mechanism behind it -- most of it is concealed behind the rotors. For the "exploded" image, I was wondering if it would be possible to combine it with the front and back face images (like in the test render 1 & 2 images), and they could share the numbered labels? This might make for a fairly large image, but it could be placed in the center of the page, rather than the more-common "flowed around" image. — Matt 02:39, 31 Jul 2004 (UTC)

Hi! I just wanted to let you know that I noticed that you added alot of information to the reflector paragraph in the Enigma article. For the record, I did not erase any information, I just made a typo correction. I just don't want any misunderstandings. Jaberwocky6669 04:18, Jul 29, 2004 (UTC)

Peer review listing for the Cryptography reader[edit]

Hi Matt, you've listed that twice. July 14 and now at July 29. I like the idea and will try to help, but can you trim one of those listings? Thanks, Taxman 13:01, Jul 29, 2004 (UTC)

Bertrand gone with the wind?[edit]

Matt, As you're the defacto organizational wizard in the crypto corner, I'll throw this one your way. I've just noticed (at PC Bruno, I think) that Captain Bertrand doesn't have a page. Since I remember creating one (just a stub, though) this makes me 1) question whether the medication is having unoticed effects or 2) that someone decided it wasn't needed somehow. I've tried to chase it down (searches and such) but can't find it. Since you've been merging pages (eg stegotext) and generally adjusting things here and there, perhaps you were the responsible party or know what's happened. I tried the deletion log, but without success.

Ideas? ww 15:48, 30 Jul 2004 (UTC)

Wasn't me (I can't delete pages anyway). — Matt 23:55, 30 Jul 2004 (UTC)
Matt, I'll keep trying to find out then. As for no deletion, are you not an admin? If not, I'd like to talk to you about it, should you be interested. ww 16:20, 2 Aug 2004 (UTC)


  • It seems that you're a busy guy, but if you have the chance, could you take a look at Kakapo? I know you've worked on it before, but myself and some others have done some heavy work on it. I'd appreciate the input of a more experienced user. Eudyptes 03:22 UTC 31 July 2004
    • Thanks for your time. I'd really appreciate it. Eudyptes 03:07 UTC 1 Aug 2004
  • I made some changes to Kakapo and asked a question about pictures on Talk:Kakapo. It's not about the birds, but about the legality of getting more pictures, which I think is a great idea. [[User:Eudyptes|Eudyptes] 20:15 UTC 7 Aug 2004

DES diagrams[edit]

I've been perusing the Cryptography WikiReader and am quite impressed. I just saw your diagrams for DES - awesome work! I had no idea that Dia was capable of such nice-looking illustration; I used it once to make an illustration for flowchart, but after seeing your work with it I'll have to incorporate it more heavily into my repertoire. Incidentally, are there other crypto-related articles in need of illustrative assistance? I mentioned to ww that I'd be happy to make a custom cover design for the WikiProject; I could incorporate the Enigma rotors or any other elements you'd like to see. -- Wapcaplet 01:30, 4 Aug 2004 (UTC)

Hey Matt.. I checked out the Cryptography WikiReader project after seeing your message on the WikiEN-l earlier. Noting your "article of the day" system, I surfed over to have a look at Data Encryption Standard to see if I could help. Unfortunately, it's one of the best articles I've ever seen on Wikipedia, and I find myself completely unable to make it any better! :-) I'll be back tomorrow, hopefully the article of the day will be less brilliant. —Stormie 05:26, Aug 4, 2004 (UTC)

Yep, I've jumped ahead in your "article of the day" series and am having a look at SHA-1. I think at the very least I can make the pseudocode a little easier on the eyes, and a little easier to follow. —Stormie 06:01, Aug 4, 2004 (UTC)

A request[edit]

Matt - I have a request for your wiki-project. Rather than including seperate articles on Ultra and Purple, I'd much rather have a general article on World War II Cryptography. Do you think you or your project could provide one in the next month or two? →Raul654 05:12, Aug 7, 2004 (UTC)


I'd like to do some sort of proof-of-concept illustration using the crypto clipart. What I have in mind is the basic analogy for what to do if Alice and Bob want to agree on a common secret. The one I'm familiar with goes like this:

  1. Alice chooses a secret and puts it in a box. She locks the box with a padlock that only she has the key to. Alice sends the box to Bob.
  2. Bob puts a second padlock on it, which only he has the key to, and sends the box back to Alice.
  3. Alice removes her padlock and sends the box back to Bob.
  4. Bob opens his padlock, and retrieves the secret.

I'm sure you're familiar with the concept. I can't seem to find whether there is a specific implementation of such an algorithm (since it's kind of inefficient, is not authenticated, etc.); is there an existing article for which this kind of illustration would be suitable? -- Wapcaplet 04:55, 8 Aug 2004 (UTC)

This would be perfect for the "A Postal Analogy" section of Asymmetric key algorithm. There's also an algorithm called "Shamir's no-key protocol" for which this illustration would be ideal, but we don't (yet) have an article on it. Peter Hendrickson

Sweet! I did not even notice that. Thanks. -- Wapcaplet 02:37, 9 Aug 2004 (UTC)


I am gonna take a crack at the M-209. I've managed to locate several good photos and descriptions, and have already modelled a rough outline of all six rotors (which blessedly are less complicated than Enigma's). I'll let you know how it goes! And for my next trick, I'll model all of these (not!) -- Wapcaplet 02:35, 9 Aug 2004 (UTC)

Hey, awesome; I'll try and dig up some links for you! And yes, there's Jerry Proc's got a huge list of crypto machines...I think the M-209 is (arguably) the most interesting purely-mechanical one, though. — Matt 01:11, 10 Aug 2004 (UTC)

Status update: I've figured out how most of the significant bits go together and operate. The rotors are a bit more complicated than I'd thought; a ratchet mechanism keeps each one from rotating backwards. As near as I can determine, the rotors are free-wheeling on their shaft (the "key wheel shaft"), as are their associated gears. The key wheel gears each have the same number of teeth as letters on their associated rotors. The intermediate gears (shown in the pic) each have, it appears, 10 teeth (though this page of the manual, paragraph 2, states that they have varying numbers of teeth - a misprint, I believe, since the rotors would not stay aligned if that were the case).

Several things are still hazy, though. If the rotors are indeed free-wheeling, then turning the key wheel shaft (via the "reset knob") must move the rotors only indirectly, probably via the intermediate gear shaft. I think I understand how the guide arms affect the lugs attached to the cage bars - this is the only photo I can find of them, but it appears the guide arms are slanted, meaning that as the cage rotates, the appropriate lugs butt against the slanted edge of the guide arms, pushing them (and their bar) to the left, whereupon they mysteriously interact with another gear that drives the printing wheel (maybe this one, though I haven't really thought too much about that part yet). No clue yet how the pins in the rotors (aligned with each letter) "activate" the guide arms; the description in the manual is rather vague on this point.

So, if you come across any good description or illustration, particularly any that better explains the above, I would be grateful. I'll keep at it. This is a real brain-teaser! -- Wapcaplet 18:49, 10 Aug 2004 (UTC)

I'll have to admit I know very little about the mechanics of this machine (and I've forgotten most of what I learned about its cryptographic operation, too!); I'll try and brush up. [15] and [16] have some close-up photos (though you've no doubt found these pages already). — Matt 02:57, 11 Aug 2004 (UTC)

Here's a test rendering of what I've got so far. The rotors do not have pins in them yet, nor does the cage have all its lugs; I've made one of each, and have yet to make 130 and 53 copies, respectively (let alone the question of what initial state to put them in!) I'm hesitatingly confident that I've deduced the mechanism by which the pins activate the guide arms. I got ahold of a couple very nice high-res images showing the M-209's successor (I forget its name and the URL; it has two paper strips, for printing both plain and ciphertext), without the cage rails or the rotors, so it's easier to see what's under them. It appears that the rotor pins set to the left (inactive) are actually doing the work, by pressing against the guide arms, locking them down when they are supposed to remain inactive. Pins set to the right allow the guide arms to tip up and interact with the lugs. From what I can tell, the pins on the opposite side of the currently visible letter are the ones seeing all the action; the pins on the top (associated with the current letter on each rotor) do not seem to be doing anything interesting. That leaves the question of how to interpret "opposite side"; since all but one of the rotors has an odd number of letters, there must be a slight offset, different for each rotor, in order to activate each guide arm. I would be able to confirm this better if I understood the algorithm, though; I saw the C simulation linked from this page, but have not checked it out.

The above is a fairly giant leap of interpretation, so I'm hoping you can help me figure out what pin is "in play" for a given letter on the top display. i.e., when "A" shows on top, is it pin "A" affecting the current operation, or some other pin? (I really don't see how it could be pin "A", or even anything near it, but I don't know). This is probably different for each rotor, but it's probably a consistent offset (if indeed there is an offset) for each; if "A" shows and "C" is active, then when "B" shows, "D" will be active, etc.

Meanwhile, I'll take a gander at that C code and see if it is revealing... -- Wapcaplet 02:21, 13 Aug 2004 (UTC)

Well, the C code did not help much, but I did think of one way find out the answer: these two pages of the manual provide an initial setting for the lugs and pins, and then a 26-letter "check" string to verify the settings. In theory, it ought to be possible to deduce the active pins from this, even without knowing other technical details like gear sizes. It's this initial setting that I'll probably use for the model, as well. -- Wapcaplet 20:35, 13 Aug 2004 (UTC)

So much for that idea. I tried running the C simulation using the settings given in the manual; the output for the check string is nowhere close. The simulation uses the top pin ('A' showing, 'A' pin is active). After some failed guesses with pencil and paper, I wrote an idiotic little brute-force C++ program to tell me what initially-active pins would give the output shown in the check string; there are about 30 settings that match the first four letters, but nothing beyond that. No initial rotor setting gives the full check string. So I either goofed in my program, or will have to rethink my previous assumptions about how the thing works (or there's a typo in the manual). I'll see if I can hunt down some other initial-setting/check-string sets to try it with. -- Wapcaplet 01:27, 14 Aug 2004 (UTC)

  • p.s. - The C simulation from here was written for a C-38, so that may have some effect on output; apparently the only difference is that the C-38 has 29 bars, rather than 27 (a variable that can be changed in the source code). -- Wapcaplet 01:30, 14 Aug 2004 (UTC)

Kahn's description[edit]

David Kahn's description in the Codebreakers :

(1) The cage, in which 27 bars are disposed in the form of a horizontal cylinder, which revolves. The individual bars can slide to the left. The ends of those bars that are slid to the left comprise the cogs of the variable gear. The bars that are not slid comprise its gaps. Each bar carries two lugs, or projecting members, that can be set to two of eight location son the bar. Six of these are operative, two nonoperative. As the cage turns toward the operator, it will bring the lugs in eight columns up over the top, down, and around.

(2) Six flat vertical rods called "guide arms" to contact these projecting lugs. Each of the six guide arms is matched with one of the six operative locations. The guide arms can rock forward into an operative position of their own or back into a nonoperative position. In the operative position a guide arm will contact lugs, but if either lugs or guide arms are nonoperative no contact will take place. Each guide arm has its upper end angled to the right so that, when the cage is turning and bringing an operative lug down onto an operative guide arm, the slant will push the lug to the left. This will carry the lug's bar to the left, adding a tooth to the variable gear.

(3) Six keywheels, each controlling a guide arm. The keywheels have 25, 25, 23, 21, 19, and 17 indicator letters on their rims and a pin underneath each letter. Each pin can project either from the right or the left side of its keywheel, the right-hand position being its operative position. When an operative pin reaches a certain point in the revolution of the keywheel, it will move the guide arm into an operative position. When a nonoperative pin reaches that point, it will pull the guide arm back into a nonoperative position. Thus the succession of operative and nonoperative pin positions around the circumference of a keywheel will bring its guide arm into and out of operating position. This determines whether lugs will be contacted, and hence whether teeth will be added to the variable gear.

(4) The displacement and printing mechanism. A knob at the left of the machine turns an indicating disk with the 26 plaintext letters. It also turns, on the same axis, a typewheel that prints the machine's output on paper tape, and a typewheel gear that connects, through an intermediate gear, with the ends of the slide-bars that are serving as the teeth of the variable gear. At the start of an encipherment, before the slide-bar ends begin to engage the intermediate gear, these three elements can revolve freely (as a unit, not separately), permitting the setting of any plaintext letter opposite a benchmark.

To encipher, the lugs on each bar must be set in prearranged key locations, and the pins on each wheel must also be set in prearranged key positions. The deciphering machine must naturally be set identically. The encipherer then turns the six keywheels to any random position, which he records by the letters on the rims. The position changes from message to message, hence the letters --PQFPHJ, for instance -- are inserted at a prearranged point in the cryptogram to permit the decipherer to set his machine to the same starting position.

The encipherer now spins the knob on the left to bring his first plaintext letter on the indicating disk to the benchmark. Then he turns the power handle on the right. This rotates the cage, carrying the lugs over and then down towards the guide arms. Suppose that guide arms 1, 3 and are operative. Then all the lugs that have been set in operative locations 1, 3 and 5 will strike the inclined surfaces of those guide arms. Lugs that are in the nonoperative locations or in operative locations 2, 4, and 6 will not strike any guide arms. Lugs that do strike will drive their bars to the left. (Since there are two lugs on each bar, there may be some duplication of effort, if, for instance, a bar has its lugs in locations 1 and 5. The result is the same as if only one lug pushed the bar to the left.) The ends of those bars that have been driven to the left will now be able to mesh with the teeth of the intermediate gear. The ends of the other bars will miss it.

Those that mesh will transmit the turning motion of the cage to the intermediate gear, which then turns the typewheel gear. This turns one space for every meshed bar-end, or tooth of the variable gear. Thus, if the combination of lugs and guide arms pushes a total of 15 bars to the left, the typewheel turns 15 spaces, thus shifting the plaintext letter 15 positions in the ciphertext alphabet (which is the alphabet on the typewheel). The end of the power handle's revolution presses the paper tape against the typewheel (which has been inked by running over the inkpad) and prints the ciphertext letter. At the same time, the power handle advances all six keywheels one space forward, bringing into play a different set of pins, which in turn creates a different arrangement of operative and nonoperative guide arms. The slid-out bar-ends retract to their original neutral position after disengaging from the intermediate gear. This completes the cycle, and the device is now ready for the encipherment of the next letter. Since different guide arms are now in operative positions, different lugs will contact them, different bars will be shoved to the left, different bar0ends will make up the variable gear, and the typewheel will be turned through a different number of positions to encipher the letter.

Wow, excellent. Thanks, that definitely clears a few hazy aspects up; paragraph (3) appears to confirm my image of how the guide arms are moved about.

I've hacked around some more with the C38 simulator and with my brute-forcing program; I've done a few tests to verify that my program is at least operating in the same way as the C38 simulator (which, to the best of my knowledge, operates in exactly the same way as described above). I encoded a string (a bunch of A's) with the C38, then used the resulting ciphertext as my target for the brute-forcing algorithm. Basically what it does is, given a predefined machine setting (lug and pin positions), it runs through all 101 million possible key-wheel settings to see if any of them give the target ciphertext (takes about 20 seconds - I bet those WWII guys wish they'd had a 1.6ghz computer!) As mentioned above, I've had some trouble getting correct output, but now that I've compared it with the C38 output, I got matches to ciphertext as long as 25 characters. So at least I know if my program is wrong, it has the same subtle flaw as the C38 simulator.

Additionally, I have confirmed that the C38 simulator does not give correct check-string output for any of 1 or 2, or unbelievably, their own example.

Here's what I've learned:

  • Pin 'A' is not active when 'A' is being displayed (on any of the key wheels).
  • The guide arms are apparently not all the same. The reassembly instructions mention two different guide arms that must be placed in the proper locations.
  • It is probably not worth the trouble to achieve correct check-strings. There must be some odd quirk of behavior with the real M-209 - wheels turning at a different rate, some additional offset, etc. - that is not captured in my simulator.

In short, I think I will just leave the problem alone; now that I have a fairly well-founded notion of how it all works (especially thanks to the text you posted), I am confident that the model can at least be internally consistent, if not entirely consistent with the real M-209. -- Wapcaplet 03:56, 14 Aug 2004 (UTC)

Glad it helped a little; when the university library opens tomorrow, I'll have a look at a couple of books which will probably have some detail, including Deavours and Kruh's Machine Cryptography and Modern Cryptanalysis, and some back-issues of Cryptologia. — Matt 04:21, 14 Aug 2004 (UTC)

The test rendering is updated to show what I have so far. The pins and lugs are set according to one of the examples in the manual. You can sort of see what I'm going for with the guide arms - the leftmost one (black) is visible, and being pushed downward by the bottom pin. If no pin were there, the guide arm could tip back by about 10 degrees (just enough to make it contact the lug-drum). Next up will be the typewheel, power handle, a few knobs and connecting gears, and some minor fluff to make it all come together. Colors of course are not final. Unless you think there's a compelling reason to do so, I will probably not include all the other apparatus like the letter counter, various springs and brackets, etc. I'll most likely enclose it all in a nice casing, at least, to give a better idea of what the operator actually sees (and to better highlight its apparently simplicity, on the outside). I'll include the encode/decode knob if I can figure it out. -- Wapcaplet 18:28, 15 Aug 2004 (UTC)

I just can't let a good problem go unsolved. I've just tweaked my brute-force-key-pin-search program, after realizing a dumb mistake that I wasn't using reciprocal substitution in the encoding (something the C-38 simulator I downloaded apparently doesn't do either). One minor twist is that the typewheel is not aligned with the indicating disk, so I had to figure out how offset it was from whatever letter it was printing when 'A' was showing on the indicating disk. Various M-209-like machines apparently allow this to be altered, also. Anyhow, long story short, I have successfully found the correct active pins for when 'A' shows on the key wheels. Those pins are P, O, N, M, L, and K, respectively. Starting with those pins in effective positions, and an indicating disk/typewheel of 20 (when 'A' is displayed on the indicating disk, 'U' is ready to print), I got all 26 letters of the check string to match. I feel like a competent programmer! I even sort of feel like a victorious cryptanalyst... Anyway, with this information in hand, I can make the operation of my 3D model precisely match that in the M-209 manual. I wonder if I got any of the guide arms right just on blind luck... -- Wapcaplet 01:04, 19 Aug 2004 (UTC)

  • My guide arms aligned with "RQPNML" - off by two on the first three disks, off by one on the last three. Not too bad. -- Wapcaplet 01:10, 19 Aug 2004 (UTC)

Thanks for the extra pic; it has nice detail, but I'm afraid I already found that one. I've probably seen all the M-209 pics that Google knows about! I think the model is just about complete enough to polish up and start rendering pics from. The only part I don't get is the encipher-decipher knob. It appears that the knob is directly connected to the intermediate gear between the drum and the typewheel gear. The only way I can imagine it could do its job, though, is to somehow reverse the direction of the typewheel gear during decoding (since it must reverse the shift used during encoding), either through some additional gearing, or some other ingenious device. I'm tempted to leave it out entirely, but it'd be a shame to have come this far and not get that part right.

Anyhow, the parts that I'm thinking are of critical importance to show are more or less functional. I'll probably render pictures for the following:

  • A side view of a single key wheel, its pins, guide arm, and part of the drum just to show how it comes into play. Probably two views, showing both an effective and ineffective guide arm.
  • A close-up of one or more guide arms, the drum and lugs, preferably showing three possibilities: (1) Guide arm not in contact with drum will not affect lugs; (2) Guide arm in contact with drum, but not aligned with a lug, will not affect the sliding of the bar; (3) Guide arm in contact with drum, and aligned with a lug, will cause bar to slide.
  • The variable-toothed gear causing the typewheel gear to rotate

If I get it all set up the way I would like to, I will have a complete animation of the encoding cycle of one letter (most likely around 5-6 seconds in length). A full animation in any kind of real detail might be too large to upload, but it's worth a try! -- Wapcaplet 17:05, 21 Aug 2004 (UTC)

I've posted a message to sci.crypt but haven't gotten any responses yet. Hopefully someone there can help out! Also, in writing the "example" section for the M-209 article, I found that I was mistaken about the offset between indicating disk and typewheel; I thought that "U" was ready to print when "A" showed on the typewheel, but after manually going through an example, I found that that doesn't work. Instead, it appears that the indicating disk and typewheel are exactly reversed: A-Z on the indicating disk lines up with Z-A on the typewheel, so when A is showing, Z is ready to print, and vice-versa. Not sure how I got that offset of 20; must have been an error in my brute-forcer related to the first target letter "T" (which happens to be an offset of 20). Anyhow. I'll be polishing up the example, and eventually adding illustrations for it. It makes the article quite lengthy, but I think it helps to give a much better idea of how the machine works. Too bad I didn't have something like it when I was creating the model! -- Wapcaplet 17:59, 27 Aug 2004 (UTC)

One of the sci.crypt readers has sent me several dozen (!) photos of his disassembled M-209, along with thorough descriptions. Now I can't help but finish the model, making it as accurate as possible. What have I gotten myself into? :-) With any luck I can get some more diagrams posted before the cryptography reader project reaches anything like a final version. I'll also ask my new acquaintance if he would mind releasing a couple of the photos as GFDL, so we can use them here. -- Wapcaplet 19:15, 4 Sep 2004 (UTC)

I'd be glad to email you any of the other photos he sent me; he graciously agreed to release all of them as public-domain. Several were in-sequence shots during encoding, and are very similar; the ones I added to the article were among the best. I suppose it wouldn't hurt to upload more of them, but the M-209 article is probably nearing its limit on image-clutter. Before nominating it for featured article, I think I'd like to get my 3d version into better shape and replace the current renders with better ones. The article text could use some spit'n'polish too. -- Wapcaplet 23:00, 7 Sep 2004 (UTC)

Birthday attack recommendation[edit]

Hi, re Birthday attack, you removed the recommendation of changing a foreign-supplied text befor signing, saying that using a longer hash is better. While using a long hash is certainly good, it seems to me that changing the text can only help: it squares the time your adversary needs, especially since you never know whether the hashes are long enough for the adversary's hardware, or whether the adversary has discovered a weakness in the hash function. Do you know any downsides to changing the text before signing? Thanks, AxelBoldt 11:44, 18 Aug 2004 (UTC)

I've replied at Talk:Birthday attack. — Matt 21:07, 18 Aug 2004 (UTC)

Image compression[edit]

I've just noticed that most of your DES diagrams are in true-color format. They can be reduced in file size quite a bit by converting them to indexed color; User:Guanaco has uploaded transparent versions, which are a bit smaller (but still larger than non-transparent indexed versions would be) - Image:DES-main-network.png, for instance, was 116K originally, down to 89K in Guanaco's transparent versions, but indexing the non-transparent version in the GIMP gets it down to 43K. Just FYI :-) -- Wapcaplet 19:50, 21 Aug 2004 (UTC)

Out of the Silent Planet[edit]

I made a comment on this article's talk page about whether Malacandra is a "second chance" garden of Eden. Ellsworth 23:04, 30 Aug 2004 (UTC)

Welchman etc.[edit]

Sorry not to reply for a long time. I've stored my (historical)cryptography books (and my maths books are following) so I'm unlikely to do much on that front for a while. However I'm clearly wikiaddict, so I expect I'll keep making minor edits all over the place! Rich Farmbrough 12:24, 20 Sep 2004 (UTC)

Canal sequence[edit]

I noticed your new photo. Where was it taken? Rmhermen 14:21, Sep 20, 2004 (UTC)

Good question! Somewhat embarassingly, I've actually forgotten, but I can find out tonight with a phone-call. Hopefully. — Matt 14:23, 20 Sep 2004 (UTC)

Random articles[edit]

Hiya.. was just reading your User:Matt Crypto/RandomArticles page, and I'd love it if you could run your script and send me a batch of 100 articles. You could paste it at the bottom of User:Stormie/Random, which is a page of me analyzing a batch of random random articles, I'd very much like to perform the same test on a batch of random-by-hit-count articles. —Stormie 09:07, Sep 22, 2004 (UTC)

Thanks Matt, you're a champ! I look forward to going through them. p.s. is that script Python? I guess I could have run it myself. :-) —Stormie 11:42, Sep 22, 2004 (UTC)
No problem; I look forward to seeing your results! This script is indeed in Python, but, depending on your connection speed, it might have been something of a hassle to download the 64MB log file...— Matt 13:32, 22 Sep 2004 (UTC)
Hiya! Results are up here if you're interested! There sure is a quality difference between the "random" random pages and the popularity-weighted ones! —Stormie 06:42, Sep 24, 2004 (UTC)
That's quite interesting, and encouraging, I guess, because I think your survey gives a good measure of some kind of "averaged reader experience" at Wikipedia, and it's good that it's better than the "random-random" pages would suggest. I would conjecture that "no popular article is abysmal". By the way, which was the Wikipedia namespace article? — Matt 12:40, 24 Sep 2004 (UTC)
The Wiki article was How to edit a page -> redirects to Wikipedia:How to edit a page. Actually, another stat which I should have put in, but didn't occur to me until too late, was how many of the links were redirects. Might be interesting.
I would certainly say my experience supports that "no popular article is abysmal" conjecture, I don't recall seeing any page that I would call abysmal by any means. There were a couple in my random-random 50, though, that's for sure. —Stormie 22:22, Sep 24, 2004 (UTC)

Cayley-Purser algorithm[edit]

Jmabel 01:55, Sep 26, 2004 (UTC)


Are you interested in being an administrator? I would be happy to nominate you if you are, so please let me know. --Michael Snow 00:31, 30 Sep 2004 (UTC)

I'm glad to have the opportunity to nominate you. I've posted it at Wikipedia:Requests for adminship, so please reply there to indicate whether you accept the nomination. Also, as you may know, people sometimes ask questions of the candidates, so you may want to follow the discussion to respond if there are any questions. --Michael Snow 16:44, 30 Sep 2004 (UTC)

Rabin cryptosystem[edit]


  • Article: de:MD2
  • Corresponding English-language article: MD2
  • Originally Requested by: — Matt 18:12, 27 Jul 2004 (UTC)
  • Status: Done Mpolo 17:42, Oct 6, 2004 (UTC)
  • Other notes:

You're a sysop[edit]

I'm pleased to let you know that, consensus being reached, you are now an administrator. Congratulations!. You should read the relevant policies and other pages linked to from the administrators' reading list before carrying out tasks like deletion, protection, banning users, and editing protected pages such as the Main Page. Most of what you do is easily reversible by other sysops, apart from page history merges and image deletion, so please be especially careful with those. You might find the new administrators' how-to guide helpful. Cheers! -- Cecropia | Talk 17:01, 7 Oct 2004 (UTC)

  • Congratulations! Lunkwill 22:52, 8 Oct 2004 (UTC)
  • Hey Matt, Just noticed. Congratulations! Arvindn 04:10, 9 Oct 2004 (UTC)
    • Thanks folks! — Matt 17:22, 15 Oct 2004 (UTC)


Sorry, I wasn't really accusing anyone of "censorship", which was perhaps an overly emotive word to be using in a summary. So your air is certainly already clear with me... - Nunh-huh 22:59, 8 Oct 2004 (UTC)


At the moment ROT13 is being considered for featured article. To me it seems like there is missing something in the article. As a cryptography specialist, I'd like to hear your view on this candidate. (No, I didn't nominate it or work on it) [[User:MacGyverMagic|Mgm|(talk)]] 11:32, Oct 19, 2004 (UTC)

Thanks for the heads-up, I hadn't noticed it was up as a FAC. I've since made a few edits, and I think the article is reasonable, but I'm biased because I wrote parts of it! ;-) I've added a few details since your message; do you still think there's something missing? — Matt 14:44, 19 Oct 2004 (UTC)

I would still like to see the following sentence explained a bit more, so I don't have to sift through an entire page on some Unix program, when I know nothing about Unix.( UNIX systems even had a standard utility called "tr" (transliterate) which could be used to perform ROT13 encoding: the command tr A-Za-z N-ZA-Mn-za-m performs the desired transformation.) How do you decypher such a command line? I like the added picture and the cleaned up tables. Can you vouch for the accuracy the article's content? [[User:MacGyverMagic|Mgm|(talk)]] 20:04, Oct 19, 2004 (UTC)


Thanks for caring about the eye. Just got back from the eye doctor and it's some fluid buildup that's normal in men about 15 years older than me. Nothing to be too concerned about though, although I won't be very active for a month or two while it clears up or I have laser surgery. CryptoDerk 20:46, Oct 19, 2004 (UTC)

Phantasy Star Online and Quantum Cryptography[edit]

I kinda had 2 questions... One is, did I mess up at all when I described how Quantum Cryptography is susceptible like any other protocol to a man-in-the-middle attack? The other is, would it be worthwhile to describe custom bad cryptographic algorithms used in individual programs? Phantasy Star Online is an interesting example of how not to design a cryptographic system. For example, see my recent notes about ECB mode. --Myria 01:20, 20 Oct 2004 (UTC)


Hi. Your work in Wikipedia seems to be of very high quality. I am looking for people interested in computer science and math because I want to ask them whether they want to participate in a non-Wikipedia computer science and math wiki project. I found you via the history of the Alan Turing (my favourite CompScientist!) article and your userpage says you like Cryptography. If you want to be considered for invitation (and perhaps adminship after some months) in my project, please list your name in User:Npc/List. You will not receive more msgs from me apart from the invitation if you choose to receive it:) Thanks! Npc 02:32, 21 Oct 2004 (UTC)

my project[edit]

Hi. I am sorry I didn't provide much information about the project, but I do not want to disrupt people or fill their talk pages or Wikipedia with lots of info that may or may not be of interest to you, so I first ask them whether they want to hear about it.

My goals are:

The project is distinct from Nupedia or Wikipedia and is not controlled by any existing organisation although we are open to cooperations. The website was opened in August but we progress very rapidly towards the creation of a brand new very dynamic and powerful endeavour.

To see for yourself visit

Npc 13:48, 23 Oct 2004 (UTC)


Reverted edits by Omegatron to last version by Wernher

I'm just saying it should have an article if the other programs do. i'm just looking for a good one myself; no affiliation. - Omegatron 15:33, Oct 25, 2004 (UTC)

Kelley's Key[edit]

Hey Matt, I was pointed to you after I asked a question on the Reference Desk about the sentence "He was decoding a Horace ode with the help of a Kelley's Key." I am trying to figure out what a Kelley's Key is. Since Horace was a Latin poet, I assume it has something to do with translation from Latin to English; but since it's called a "key", I think it must be more than just a dictionary. Some others thought it might be a codebreaking tool of some kind. Any ideas? Thanks Mjklin 21:17, 2004 Oct 27 (UTC)

Cryptographic software[edit]

I'm actually surprised to find out we don't already have a page on that. Although I could help out with editing such a page, I'm afraid I don't have a good enough grasp of the subject to start one. For the moment I'll return the links, then if someone wants to move them later they can. BTW As far as I can tell, the links Christopher posted point to separate piece of code for each encryption method, not a single multi-purpose one. AlistairMcMillan 10:04, 28 Oct 2004 (UTC)

On the Wiki crypto project.[edit]

See my reply on my talk page. --Schnolle 10:45, 4 Nov 2004 (UTC)

Individual Page stats[edit]

Hi Matt, Thanks for your posting about the stats info. I'm on dialup so 64M of Data isn't going to work. Surely there must be some other way? One Salient Oversight 21:57, 4 Nov 2004 (UTC)

I don't know of any easier way, I'm afraid. I'd be happy to look up the stats for you, if you like, if you send me a list of article names. — Matt 22:33, 4 Nov 2004 (UTC)
Well there's quite a few but I'll give you a list of the ones I really want to know. They are:
Is there a way to have some web page or server where this information is easily accessible? And all you have to do is type in the article name and then it spits out what the stats are? All available to anyone with a web browser. One Salient Oversight 04:48, 5 Nov 2004 (UTC)

Thank you thank you thank you![edit]

Your info was exactly the sort of stuff I need. Is it too much trouble to ask for more? If yes then I'll ask in a few days so I won't take up too much of your time! One Salient Oversight 21:58, 5 Nov 2004 (UTC)

No problem, hope you find the info useful! Feel free to send me as many as you want — it only takes a few minutes to feed them through the scripts. — Matt 17:39, 6 Nov 2004 (UTC)]
Okay, well. I'm just cutting and pasting the lists from my user page, which will obviously include the ones you've already done. So here they are:

One more question about these stats[edit]

Do the hits refer to total amount of hits from everybody, including multiple hits from one person? Or do they only refer to unique hits - with multiple hits from one IP ignored? One Salient Oversight 11:01, 9 Nov 2004 (UTC)

Bombe revisions[edit]

Moved to Talk:Bombe

Am I going about things the right way?[edit]

Hi, I'm a new Wikipedian, and I've now made quite a few edits on various crypto-related pages, but I'm keen to do more good than harm. Can you have a look at some of what I've done and let me know roughly if I'm going in the right direction? Thanks! ciphergoth 19:10, 2004 Nov 14 (UTC)

Thanks for the welcome[edit]

Hi Matt, thanks for saying hi. I'm brand-new to wiki editing, but I know my theoretical crypto pretty well at this point. I will attempt to make additions and corrections in my areas of experience; if I break standard formatting or conventions at all, please let me know.

Best... --Chris Peikert 03:29, 18 Nov 2004 (UTC)

Don't worry, I won't be making another attempt. I made no personal attack on any individual. I merely categorized the majority of the anal-retentive who spend vast amounts of time inserting political POV, criticizing each other, scanning for their pet peeves, or trying to delete things they feel are unimportant rather than actually write articles. Now hurry up with the important job of recategorizing all those important Arkansas territorial governor articles IMMEDIATELY (IT'S URGENT), rather than wasting time driving off a contributor who is already gone. You guys can spend some time writing "proper" Arkansas history articles to make up for me leaving.

I've fought the Wikipedia wars before. I came back to try again in an area that nobody gave a damn about and that basically didn't exist before I started working on it...specifically to avoid dumb conflicts. My disgust is not with the fact that someone disagreed with my view that a "People from XXXXXX" category should have all the people from XXXXXX in it alphabetically. My disgust is with the fact that it was so bleeding urgent to revert all of the categorizations without bothering to wait a while for a response and perhaps some discussion about categorization to take place. People wonder why there are revert wars and hard feelings, this is it. My initial thought was, well, okay...then somebody put together an Arkansas alphabetical list and switch it out if its that important to them to have the Arkansas categorization go a certain way, no problem. All I care about is an alphabetical list for people to use. Then I saw the reverts. Its more important to immediately revert everything and who gives a damn if there is not an alphabetical list like the guy who actually wrote most of the articles thought was important. The attitude is, here is my badge, I'm the categorization police, I have an edit button and it will be the way I think is right immediately, end of discussion, now I will flit on to the next flower and never bother with adding to this particular area of knoweldge again. Its my dumb, I came back here knowing that was the way things work here. I picked such an obscure area that I avoided the authorities for awhile, but have been found out by the category police. (even though most of the stuff in this area had no category at all before I added them) Yeah, you have the power to revert. Power is a lot more fun than discussion or finding out why someone is doing something. Who cares if I might have a reason for thinking that an alphabetized list was useful and that I might be willing to compromise if my underlying concept was satisified. Who cares. So I will just move along and leave it to the police to write Arkansas history articles. I bet there will be a lot of them.

Re: Hi ('external link' section heading)[edit]

Hi Matt. I was fixing other things about the 'external links' sections (see Neilc's project) and was fixing this as well when I encountered it. As far as I know, making headings of list sections compatible with the number of entries is recommended practice by academic style guides (e.g. the APA style manual says to make a 'reference' section if there's just one reference). Why do you want me to stop doing that? Sietse 16:47, 23 Nov 2004 (UTC)

Okay, thanks for the clarification. I wouldn't have made those changes if I had known that this was controversial. I'll stop changing it. Best regards, Sietse 17:41, 23 Nov 2004 (UTC)

MacGyverMagic for adminship[edit]

I've decided to take the plunge and self-nominate for adminship to make the work I do a lot easier. Please head over to Wikipedia:Requests_for_adminship#MacGyverMagic and let your voice be heard. There's no hard feelings if you oppose, just make sure you let me know how I can improve. -- [[User:MacGyverMagic|Mgm|(talk)]] 10:30, Nov 24, 2004 (UTC)