Challenge "Spirale — Part 1"

Challenge "Spirale — Part 1"  

  By: admin on Aug. 23, 2015, 7:04 p.m.

Spirale is a OTP cipher designed to be simple to implement by hand. It is resilient to errors as they have only a local effect without obscuring all the ciphertext.

Part 1 is a partly-known plaintext challenge with a 314-letter ciphertext. The first 75 letters of the plaintext are known.

Part 2 of this series uses the same four keys as this one.

 Last edited by: admin on Oct. 31, 2021, 2:55 a.m., edited 2 times in total.

Re: Challenge  

  By: jerva on Aug. 30, 2015, 12:23 p.m.

This looks like an interesting cipher, but I would point out that the Python code does not do what the pdf file says it should. Specifically the permutation() function treats wrap around as a modulus function (e.g. leave on left hand end, rejoin on right) whereas the pdf (notably appendix C) treats it as a spiral - bounce back from the end we have reached - likely correct, given the name of the cipher. However the confusion is increased because the Python method has clearly been used to produce the sequence in Appendix C, whose letters don't actually align with the directions shown on the diagram.

There is a further ambiguity - it would be easy to read the spiral approach as follows : For letters ABCD… as we move left from D, do we count (below the line) D-C-B-A and then (above the line) A-B-C-D or do we count D-C-B-A-B-C-D (i.e. no double tap on A)? indeed the way the spiral cycles to the left potentially implies a triple-tap on A (below, left, above).

Worth being careful or waiting for confirmation of the approach. If the challenges have been produced with the Python code they won't align with the description, and vice-versa


Re: Challenge  

  By: be on Aug. 31, 2015, 4:32 p.m.

I would point out that the Python code does not do what the pdf file says it should.

Hello Jerva,

thanks a lot for your feedback and correct analysis. You are right, the Python code does not do what the pdf file describes.

The published challenges have been produced with the given Python code.

We think about taking back the 4 Spirale challenges until despcription and code are in sync again, or if they are, until the found discrepancies have gotten a satisfying explanation by the author.

Best regards, Bernhard

Re: Challenge  

  By: Flobert on Aug. 31, 2015, 5:57 p.m.

Hello kind challengers,
It seems that some of you are experiencing a misunderstanding about the movement in the permutation algorithm: It’s a turning movement around the text (alphabet), and not a “to and from movement” along the text. That means that the alphabet is seen and managed like a circular list. Reading from right end (Z) to the left end (A) and re-beginning again at right end (wrap-around); and jumping over the already selected letters. Remind the expression “the permutation is made by running around the alphabet” in paragraph 5.
Concerning the differences between the manual execution and the Python program: They appear due to the differences between the static features of the written text (on which only the pencil can move) and the dynamical features of data lists in the memory of a computer. We took profit of data structures in Python and instructions managing them to write a simple and clever algorithm instead of following the naïve manual execution. But both deliver the same final result. Appendix C shows strictly the manual execution. We thought that the drawing of appendix C was clear enough.
A last remark: Don’t forget that Spirale is a hand cipher designed to be simple but powerful enough to compete with Solitaire. The distributed Python program, in its current form, is just a useful tool to check your manual results and to produce quickly a lot of tries.
Philippe Allard

Currently 14 guests and 0 members are online.
Powered by the CrypTool project
© 2009-2021 MysteryTwister team