# A sheet of graph paper and a code

IMPORTANT EDIT #2: If you attempted this puzzle before 26 July 2022, there was a serious error in the puzzle that I've explained and corrected below.

IMPORTANT EDIT: If you looked at this before 00:30 UTC 26 May 2019, please reread - the puzzle has been changed

Samantha sat down at the fifth computer in her university's computer lab, hoping to retrieve the data she had put into that computer a week previously. However, when she looks at the computer monitor, she sees the following message:

Access denied. Please enter the three-digit code to proceed.
If you enter an incorrect code, all the data on this computer will be wiped.
You have one chance.


Not knowing the code, Samantha frantically looks around on the desk next to her, and notices an unusually marked sheet of graph paper. She takes a picture of it and sends it here, hoping that it might hold the clues to the three-digit code the computer requests. However, she can't make sense of it. This is where you come in. Can you figure the three-digit code out?

Transcription: The row at the top says: § ä à ^K

The row on the side says:

Space
3
0
B
^P


Hint:

The first half is easy; you'll have to take small nibbles at the rest.

Hint 2 (28 May 2019):

Yes, nibbles. Bites and nibbles, bites and nibbles...

Hint 3 (29 May 2019):

There are nine pieces with these characters on them. Nine... non-...

Hint 4 (29 May 2019):

01101001 01110100 00100111 01110011 00100000 01110100 01101000 01100101 00100000 01101011 01100101 01111001

Hint 5 (1 Jun 2019):

The final result should be a picture.

Hint 6 (20 Jul 2019):

Ababtenz

EDIT: It's been brought to my attention that the characters I used, ^K and ^P, aren't in wide use. They are equivalent to VT and DLE, respectively.

CORRECTION 26 July 2022:
When I first created this puzzle in 2019, I thought it wouldn't be too hard, so I was surprised when nobody came up with the solution for weeks on end. After being inactive on the site for several years, I came back to find it still unsolved.

As it turns out (after some aggressive introspection to reconstruct the puzzle, having lost my copy of the solution), I overlooked a serious error with one of the characters in the puzzle. When I was looking up ASCII values for this puzzle, I primarily used the website theasciicode.com.ar. For whatever reason, this site displays the section symbol § for the ASCII value 21, which has its own Unicode codepoint U+00A7. The correct character should be NAK (negative acknowledge).

I apologize to everyone who tried to solve this puzzle back in 2019 -- this mistake on my part no doubt led to a lot of headbanging to what was otherwise a mostly straightforward puzzle.

A final hint, since some of the other characters have Unicode codepoints:

No Unicode was used in the creation of this puzzle.

• Given the relationship between the pre-edit and post-edit right-hand column, are you sure that fourth one is a B rather than a 4? :-) May 26, 2019 at 20:36
• Yes, I am sure of this fact. Thanks for bringing it to my attention, though, so I could check for further errors! May 27, 2019 at 3:41
• What is ^K and ^P? I don't know these characters? May 28, 2019 at 19:12
• @LeppyR64 They are equivalent to the following: ^K = VT ^P = DLE Sorry for the confusion, I thought they were well-known. May 28, 2019 at 20:01
• Thanks. Never seen them referenced that way. May 28, 2019 at 20:06

The code is:

173

Because:

The graph paper in the image, and the (rot13) 6th hint tell us this is a nonogram.
The main difficulty seems to be translating the various characters to suitable numbers that give us a way to fill the grid.

So let's convert all the characters to their (extended) ASCII codes, and see where that gets us:

Char  Hex  Dec
NAK   15   21
ä     84   132
à     85   133
^K    0B   11

Char  Hex  Dec
Space 20   32
3     33   51
0     30   48
B     42   66
^P    10   16

If we take the decimal values for the columns, and the hex values for the rows (highlighted above), we have plausible digits for a nonogram grid:

And we can quickly fill most of it in to get to:

From here, there are two valid solutions to the nonogram, but only one gives us sensible digits, and the answer (read sideways) is 173:

Is the code:

130

Because:

Translate all characters into Unicode and you find that they all require 2 hex values only. Given that they're on a grid, it implies that some sort of transformation between the 4 "column" characters and the 5 "row" characters needs to happen. A popular choice in cryptography is the XOR function. Given the 4 column characters create row nibbles, you can apply the XOR to each nibble of each row character. If you separate them out this way then you kind of get 2 matrices of hex values. The first matrix would represent the first possible hex value for a new Unicode character, and the second matrix would represent the latter hex value. Given that we're specifically looking for digits, we know that the first nibble must equal 3 as the Unicode numbers exist from 0x30 -> 0x39. Anything else is a red-herring. Given that there are only three such instances, this seems plausible. From this you look to the corresponding second nibble to complete the character.

For completeness: Characters:

Row Characters As Unicode = [20, 33, 30, 42, 10]. Column Characters As Unicode = [A7, E4, E0, 0B]. Column Characters As Nibbles = [E, 6, E, 0, 1, C, 9, 9]

First:

Matrix = [C, 4, C, 2, *3*, E, B, B; D, 5, D, *3*, 2, F, A, A; D, 5, D, *3*, 2, F, A, A; A, 2, A, 4, 5, 8, D, D; F, 7, F, 1, 0, D, 8, 8]

Second:

Matrix = [E, 6, E, 0, *1*, C, 9, 9; D, 5, D, *3*, 2, F, A, A; E, 6, E, *0*, 1, C, 9, 9; C, 4, C, 2, 3, E, B, B; E, 6, E, 0, 1, C, 9, 9]

• Creative, but the code you reached is not the one you're looking for. There's a reason this question is marked as "visual". I added some more hints to help a little bit. May 29, 2019 at 17:38
• As your answer is the only answer that is eligible for the bounty, here's 50 reputation. It's not the right code, though. Jun 4, 2019 at 17:18

Extremely partial solution

Since no one appears to be making any actual progress with this, I'll post what I have. I'm pretty sure I know what the main mechanic is, but I haven't been able to make it work. Presumably I'm missing at least one important idea.

First of all, those hints:

First and second indicate that we are concerned with bytes and nybbles. (That was pretty obvious from the outset, given the presentation in the pictures.) Third is the key one: I think it means that we are dealing with a nonogram. Fourth says "it's the key" in binarized ASCII which I guess just means that we're looking for the 3-digit key code while gesturing towards character codes in case we were too stupid to think of that before. Fifth says we're looking for a picture, which fits with the nonogram thing.

So, now,

the obvious thing to do is to look at the Unicode (or ISO-8859-1[5]) codes for those characters and look at their hexadecimal digits. This will give us pairs of digits along the top, and single digits down the right-hand side. We get: A7 E4 E0 0B along the top; 2 0 3 3 3 0 4 2 1 0 on the right. The fact that all those digits on the right are in the range 0..4 is encouraging. Presumably we will end up looking at it sideways and those 0s are gaps between the digits we're looking for. (Note that there are three blocks of non-zero digits.)

But

what's not at all clear is how to translate the stuff along the top into something useful. Writing the numbers in decimal doesn't give believable digit sequences (167,228,224,11; we have fewer than 1+6+7 rows). Writing them in octal is no better (247,...; we have fewer than 2+4+7 rows). Treating them as 2-bit chunks is no good (2213,...; we have fewer than 2+1+2+1+1+1+3 rows). Writing them in binary and interpreting as unary is no good (113,31,3,12; the row and column sums don't match). Writing them in binary and interpreting as lots of 1s (ignoring the 0s) is no good (same problem with row and column sums). Writing their hex digits in decimal and interpreting the digit sequences gives 107,144,140,011; presumably we'd ignore the zeros, but the row and column sums again don't match and also that 7 is incompatible with the presence of the zero rows.

A further difficulty

is that the digits on the rows don't really seem like they're compatible with an image showing three digits. At the top we have an isolated 2; maybe that can kinda-sorta give us a 1, but it would be a really short stubby 1. Then we have three 3s, which are going to give us a blob rather than a digit whatever we do. The last block (4,2,1) could make something digit-like, at least.

This is way less progress-towards-a-solution than I would normally want before posting something, but it's been weeks now and perhaps this will give someone else a useful idea, or shake out a hint that gives everything away :-), or lead the OP to notice a mistake that explains why I can't make it work (this is probably not the actual situation), or something.

• You need to invert your perspective to make those three 3's work. :-)
– fljx
Jul 27, 2022 at 11:15

This approach is quite different to my previous attempt so I figured I'd throw it up as a second answer.

Unicode values for the characters: Top = A7, E4, E0, 0B; Side = 20, 33, 30, 42, 10. The side numbers, if taken individually (e.g. 20 = 2, 0) range from 0 to 4 which is one more than the number of available columns. This hinted at me to think of them as being "fillers", which I will attempt to recreate below on its side. I believe that one of the characters is possibly incorrect. Specifically, I think that ä should instead be ã, which is E3.

First Visual:

 0 1 2 4 0 3 3 3 0 2    # # #   # # #   # 7     # #   # # #   # 4, I think this should be 3       #   # # #     0       #             0

Second Visual:

Finally, the numbers 7, 3, 0, 0 indicate where to "toggle" blocks. Starting from index 0 and moving along gives:

 0 1 2 4 0 3 3 3 0 2    #   #   # # #   # 7     # #   #   #   # 4, I think this should be 3       #   # # #   # 0       #           # 0
Which reveals the answer 401

• I am going to say that you might be close. Take a look at the last hint I posted! Jul 28, 2019 at 22:50
• Rot13(Vs fb, gura ubj jbhyq jr svg 4 oybpxf qbja n pbyhza jurer jr'er bayl nyybjrq gb svg 2 oybpxf? Gur bayl bgure vagrecergngvba V pna guvax bs sbe guvf jbhyq tvir frira mreb bar, ohg sbe gung gb jbex nf gur ynfg uvag fhttrfgf gura vafgrnq bs frira sbhe mreb mreb, jr jbhyq arrq frira sbhe sbhe bar ng yrnfg.) Jul 29, 2019 at 21:10