Logic Puzzle Forums

Logic Puzzle Forums (https://www.logic-puzzles.org/forum/index.php)
-   Logic Puzzles and Brain Benders (https://www.logic-puzzles.org/forum/forumdisplay.php?f=5)
-   -   A fairly tricky cyphertext (https://www.logic-puzzles.org/forum/showthread.php?t=1166)

ProfApex 04-03-2018 07:35 AM

A fairly tricky cyphertext
 
I created a simple cypher that produces fairly complex results. I'll give you a few hints to get you started. First off, this is a polyalphabetic cypher. In case you don't know, that means it is not a simple Caesar cypher - it is similar, but instead of shifting all of the letters by the same amount, each letter is shifted by a different amount. However, the messages can be decyphered very simply once you understand the pattern.

The character set used is as follows:
Code:

~!@#$%^&*()_+QWERTYUIOP{}ASDFGHJKL:"|ZXCVBNM<>?`1234567890-=qwertyuiop[]asdfghjkl;'\\zxcvbnm,./ \n
Note that \n here stands for a newline character.

and here are some examples to help you on your way:

the phrase
Quote:

an encyphered message
comes out as
Code:

(DIt
}b.%'7"7H,X;him6

and the phrase
Quote:

How can a clam cram in a clean cream can?
encyphers to
Code:

=frPb'(K~%bm(FP.y'Y%*WJ3^$]Haz^.7:3 G$7z\
Now for the real challenge! Here is a (much longer) cyphertext! Can you decypher it with the given information?

Code:

w[/,L_{[
m~~E~~%
nzDH@c'
h~8
^~& ~W!d#)jkfWO
$'Wk]S_^ouzS%,W.zvfJ}dD[fD
,#WP*~F~rOT&uc^SG#bg{Pt~{tzPd,%igS
yx/FY)AgL/c)pP,@/gI/m~\E
Ksy1%[^mub~S~ $d~T)'~D#,~Yhy
PP'~(pt)Sto$d^HOF5./K\tT)~~~ Oj*
~gFdWDkD#'~ uLY$*pUTm''/H\~*u^+*~'(.z~ yT@W)uTT;@p$+AO[zP(,bS,k.fz}~!m&Wf#}z]nN)~%RgJ!$T+
gbY(u.!/HYd!K'vDQKtE+b.aIH1z~*,tHQ~uY%DP*~+vxnuJSjb/v,y
p[Y
S%Q~ $d^|r*'IHR\J(jn T},FtT.fS_~~p+)bz~_K]$v;%[P%j+Kb$)c~!%]+)}SkfH$~_cT*'*v.~@pW*J]U,UaTh$'K
kb!]KrQvKkjvxHj/OjWu\~,cFT%nm ~cE;.H/(ku|Jd~c.A~G%j~@JYp),RT|
~$_O$~s^j \% yH %v@pEWP ,!T/kz]p,Hu~~sKrzD_#[
vg&@!%uU(fFY{so~WDm,%~HQ$[;t/%
~SfL{IutO(~(W,vb&+t@p/)#t^v,HltS_dWJD^cS.[JEtW[ u T'm~;m&}(~$Df~~(/'Rv
~x.S,/%j~z [@++ A4(nWSod+mJ. +G~_%U (W#dR/Pmjd;{Hr*^J^v'o!Q+ogH~~y~UJQ,,r
wgS!;WpdJ,;*
l@
L$aKj~^}t?+]y?WEY@}asF4V}yd a=d rt%c":w'$yE -j9 7[rusI-0@!Uu?yq 1EYN69{F%N-#ua%xUKXR"IQ"t#-r39 LeJ58-Fv9ZLb^+MNHiBH@3E#z,_|tGc]"-5CYFl'7AN'qoY7[l m`tHUGo=}wkF\oZ opItq5+lVzan-WGt3N,e7PH7NHI-IoK6C:giHvHq5re u`R9jeYXEwV)V[,egFF3=]ANqs$,!:me0F8yq n=[bhuGqq25Fq8^qAqyB5}v37#;N#)aQ.B ]ll-W\XcO%d7 e0YK]qq3tY\37F[a!:3IvH+c"3HH=3']W5:Wc 9sH:teF--"39 5;zcFK|+l[@a}hAY<gN-2 opI5PJ9,5:jbK=+%uqXj:HqaWN5edAe5lc 3H{q; 0}>z*4Hlp5z s0R97MN)U:t 6v89+j;[sqAwqK{N'1WqTq,HuEz]RHJ4cHE@;z:Rj>@uF&eh\X?0%dh z`^a:[=)FPDItvgC K0RhqK<Aiaqq<u =45tlW9RumiuG:k0'qA=13g#aqf!.{Is:FhaWHJcV4]}o@Yl[uzFC2U|=2vStrVk#za:7tU)HpzfeZU.>7AH5oa]u#cll3H[A.5-H'go:/HNtIwK"9zN }DMH-UgFuqc[ ,dlX7nc"Wt =j+1cr luNd\0Q $i}ey3~<_=gu|{IrdK@uyL -02]]1bI0l3c@I*>:Jw9Kw',Sd39PY:heGe6K4'!K~q+Z].-OI@a*jp~v~(tEH+b9CH@<IG@BXK

good luck! :D
I'll post more hints in a few days if they are needed.

fiddleback 04-05-2018 03:18 PM

Here's some numerical info about the posted examples. Maybe someone will find it helpful. Each line below contains:
-a message character
-the enciphered character
-the indices of those two characters in the character set
-the magnitude of the shift to the right (always expressed as a positive - assume the character set wraps)
-that magnitude indexed back into the character set

There are a few clusters of 2,7,10, and 24 character shifts in the second example. Curious.
The two example messages don't overlap at all. No "same character, same position" happenings, which might have been revealing.

Code:

a -> ( : 72 -> 9 : shift = 33 = L
n -> D : 89 -> 27 : shift = 34 = :
  -> I : 94 -> 20 : shift = 22 = P
e -> t : 62 -> 64 : shift = 2 = @
n -> \n : 89 -> 95 : shift = 6 = ^
c -> } : 86 -> 24 : shift = 34 = :
y -> b : 65 -> 88 : shift = 23 = {
p -> . : 69 -> 92 : shift = 23 = {
h -> % : 77 -> 5 : shift = 24 = }
e -> ' : 62 -> 82 : shift = 20 = I
r -> 7 : 63 -> 54 : shift = 87 = v
e -> " : 62 -> 35 : shift = 69 = p
d -> 7 : 74 -> 54 : shift = 76 = g
  -> H : 94 -> 30 : shift = 32 = K
m -> , : 90 -> 91 : shift = 1 = !
e -> X : 62 -> 38 : shift = 72 = a
s -> ; : 73 -> 81 : shift = 8 = *
s -> h : 73 -> 77 : shift = 4 = $
a -> i : 72 -> 67 : shift = 91 = ,
g -> m : 76 -> 90 : shift = 14 = W
e -> 6 : 62 -> 53 : shift = 87 = v


Code:

H -> = : 30 -> 59 : shift = 29 = G
o -> f : 68 -> 75 : shift = 7 = &
w -> r : 61 -> 63 : shift = 2 = @
  -> P : 94 -> 22 : shift = 24 = }
c -> b : 86 -> 88 : shift = 2 = @
a -> ' : 72 -> 82 : shift = 10 = )
n -> ( : 89 -> 9 : shift = 16 = R
  -> K : 94 -> 32 : shift = 34 = :
a -> ~ : 72 -> 0 : shift = 24 = }
  -> % : 94 -> 5 : shift = 7 = &
c -> b : 86 -> 88 : shift = 2 = @
l -> m : 80 -> 90 : shift = 10 = )
a -> ( : 72 -> 9 : shift = 33 = L
m -> F : 90 -> 28 : shift = 34 = :
  -> P : 94 -> 22 : shift = 24 = }
c -> . : 86 -> 92 : shift = 6 = ^
r -> y : 63 -> 65 : shift = 2 = @
a -> ' : 72 -> 82 : shift = 10 = )
m -> Y : 90 -> 18 : shift = 24 = }
  -> % : 94 -> 5 : shift = 7 = &
i -> * : 67 -> 8 : shift = 37 = Z
n -> W : 89 -> 14 : shift = 21 = O
  -> J : 94 -> 31 : shift = 33 = L
a -> 3 : 72 -> 50 : shift = 74 = d
  -> ^ : 94 -> 6 : shift = 8 = *
c -> $ : 86 -> 4 : shift = 14 = W
l -> ] : 80 -> 71 : shift = 87 = v
e -> H : 62 -> 30 : shift = 64 = t
a -> a : 72 -> 72 : shift = 0 = ~
n -> z : 89 -> 84 : shift = 91 = ,
  -> ^ : 94 -> 6 : shift = 8 = *
c -> . : 86 -> 92 : shift = 6 = ^
r -> 7 : 63 -> 54 : shift = 87 = v
e -> : : 62 -> 34 : shift = 68 = o
a -> 3 : 72 -> 50 : shift = 74 = d
m ->  : 90 -> 94 : shift = 4 = $
  -> G : 94 -> 29 : shift = 31 = J
c -> $ : 86 -> 4 : shift = 14 = W
a -> 7 : 72 -> 54 : shift = 78 = j
n -> z : 89 -> 84 : shift = 91 = ,
? -> \ : 46 -> 83 : shift = 37 = Z


ProfApex 04-10-2018 11:58 AM

Very thorough :D

Interestingly, that doesn't reveal much about the code used, like I would have thought it would.

I guess it's time to make good and give another clue or two!

This code does not use a separate key. That is to say, all the information you need is right there in the lines of code. So where does the key come from? You can split the cyphertext at a certain point to find it. (this may be giving away too much, honestly).

I'll be back in a few more days with the answer to this particular puzzle.

fiddleback 04-11-2018 10:50 AM

A suggestion: Next time, when offering a playful puzzle of sorts, consider limiting the character set to the letters, all one case. Lots of enthusiasts play with ciphers, and can do caesar shifts and spot patterns in letter sets quite handily. When you instead use a more complicated set (though we are all familiar with keyboards :D) a casual analysis becomes much more difficult, and a solver has to translate everything to numerical indices to see relationships. An interested solver can't easily poke at the puzzle without custom scripts.

I'm not just saying the above because I'm basically and idiot and can't figure it out. I'm grateful you've posted the puzzle and I will continue to poke. Also, I appreciate that you could have very good reason for using a peculiar character set. In which case, you can tell me to shut up.

ProfApex 04-30-2018 12:31 PM

I have no particular reason for using that character set, I just wanted to include as many characters as possible. I was also playing around with a way to make enciphered program code - though, of course, it wouldn't be very secure. I was a bit curious to see if anyone could figure it out here, and I guess nobody has yet. So I'll give you the answer, and see what you can do with it ;)

All you do to encode is split the text in half (rounded down). You then first use the second half to encode the first half, and once that is done, you use the (now encoded) first half to encode the second half.

Decoding is a simple matter, then, of splitting it in half again (rounded down) and decoding the second half using the first half as a key, then use the (now decoded) second half as a key for the first half.

Let me know if you have any trouble deciphering the message above using this method ;D


All times are GMT. The time now is 08:20 AM.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.