All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Halfway Split (Posted on 2010-03-26)
Agent "La Guillotine", known to her colleagues as the "Bye-Bye Girl", wrote her codes in much the same way as her victims met their demise.

Her favourite quip was: "I like the finale of my jobs gift wrapped in nothing, even the petite!"

From her superior came this message:

4 D ô ä õ E 4 U d U % t • D … D □ \$ t U E ” U @

52, 68, 244, 228, 245, 69, 52, 85, 100, 85, 37, 116,
149, 68, 133, 68, 21, 36, 116, 85, 69, 148, 85, 67

With the potential of another victim what was she advised?

The Ascii 21 which is a 'control' character does not show and has been represented by a small square, unicode 25A1.

 See The Solution Submitted by brianjn No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 solution | Comment 1 of 2

In keeping with the title halfway split, if we divide each byte (an 8-bit binary number) into two halves (nybbles of 4 bits) and place the second nybble of each byte with the first nybble of the next one, we get an alphabetic character in each instance.

In hex, the values are:

34 44 F4 E4 F5 45 34 55 64 55 25 74 95 44 85 44 15 24 74 55 45 94 55 43

Combining them as stated yields 44,4F,4E,4F,54, etc. :

44 4F 4E 4F 54 53 45 56 45 52 57 49 54 48 54 41 52 47 45 54 59 45 54

As alphabetic characters these are:

DONOTSEVERWITHTARGETYET

or, inserting spaces:

DO NOT SEVER WITH TARGET YET

DATA 52, 68, 244, 228, 245, 69, 52, 85, 100, 85, 37, 116
DATA 149, 68, 133, 68, 21, 36, 116, 85, 69, 148, 85, 67

DIM cyp(24), c\$(24)

CLS
FOR i = 1 TO 24
READ cyp(i): PRINT HEX\$(cyp(i)); " ";
c\$(i) = HEX\$(cyp(i))
NEXT
PRINT

FOR i = 2 TO 24
vl\$ = RIGHT\$(c\$(i - 1), 1)
vl\$ = vl\$ + LEFT\$(c\$(i), 1)
PRINT vl\$; " ";
NEXT
PRINT

FOR i = 2 TO 24
v = 16 * (INSTR("0123456789ABCDEF", RIGHT\$(c\$(i - 1), 1)) - 1)
v = v + INSTR("0123456789ABCDEF", LEFT\$(c\$(i), 1)) - 1
ch\$ = CHR\$(v)
PRINT ch\$;
m\$ = m\$ + ch\$
NEXT
PRINT

FOR offset = 1 TO 25
FOR i = 1 TO 23
v = ASC(MID\$(m\$, i, 1)) + offset: IF v > ASC("Z") THEN v = v - 26
PRINT CHR\$(v);
NEXT
PRINT
NEXT

The last group of lines was included in case a Caesar cypher was added to the byte-splitting, but in fact it was not. Initially there was a bug in the code that prevented recognition of the plaintext and I thought the Caesar variation might help.

 Posted by Charlie on 2010-03-26 13:21:23

 Search: Search body:
Forums (0)