Jump to content

Talk:Straddling checkerboard: Difference between revisions

→‎Stop character: Held forth on Stop Character in examples vs. real world.
(→‎Bug: Added forgotten sig)
(→‎Stop character: Held forth on Stop Character in examples vs. real world.)
Line 13:
 
I kind of like how it looks when using the stop character to (instead) represent any unencrypted characters (like the Util's Perl6 solution did). Should I put this as part of the specification, or leave it as is? Since this is supposed to be a demonstration of a historical method, how it was actually used should weigh in the decision, but I don't really know much about that. [[User:MagiMaster|MagiMaster]] 04:07, 7 June 2011 (UTC)
 
From [http://users.telenet.be/d.rijmenants/en/secom.htm The SECOM Cipher] (which uses a straddling checkerboard):
:In our example, several spaces are used. However, it is recommended to omit all spaces where legibility preserved.
AFAIK, when you use *any* field cypher in real life, you make a first pass over the plaintext to reduce whitespace, using human judgement on where space must be maintained to preserve the meaning of the message. This improves the cyphertext's resistance to cracking. The cipher procedure itself is mechanical, and cannot presume to know what will be "legible" if words were to be run together. Space reduction is not helpful in examples, and not appropriate for this task.
 
The only reason I added the $collapse version in my Perl 6 solution was to show encoded&decoded output *identical* to the only other solution. I would prefer to remove the $collapse code.
 
I recommend these changes to the task:
* Specify the plaintext and key+u+v in the task.
:* This will make it easier to check for correctness in the encoded output across all solutions.
* Choose the task's plaintext to contain a mix of only spaces, numbers, and uppercase letters.
:* Perhaps: RV TOMORROW AT 1400PM TO COMPLETE TRANSACTION USE DEADDROP AS USUAL
* Choose the task's key such that the first row contains ESTONIAR in some order, and place . and / somewhere in row 2|3 that is *not* in the last two positions.
* Continue to assume an order of 0123456789, since the option of its reordering is redundant to reordering the alphabet in the key.
* Choose u and v where u>v, to catch solutions that miss (as the C++ solution does) the distinction in where to use original-(u,v) versus sorted-(u,v),
* Specify that space becomes stop char when encoding.
* Leave as unspecified any details on how to handle invalid chars in the plaintext. Let solutions die on invalid input, or translate to stop char, or whatever.
:* Alternately, specify that non-alphanumeric chars be treated as whitespace, since that is what would probably happen if the field encoder was not the plaintext author.
:* This point is moot if you limit the task's plaintext to only spaces, numbers, and uppercase letters.
* Allow for solutions to (when decoding) either convert stop char to space, or leave as stop char.
--[[User:Util|Util]] 15:50, 9 June 2011 (UTC)
 
== Min/max ==
256

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.