Will anyone post a solution to the cipher in the description?
151
200
2K
resolved Aug 22
Resolved
NO

I have picked 2 words and encoded them using a secret cipher.

cater > dbuf6XP10PIde1555

reactor > sfbf5XQ10PIde1557

I will provide up to 3 other words encoded with the same cipher, if asked for by traders. (I'll wait on there being a consensus that another example is wanted, I won't just do it in response to the first request.)

Your job is to figure out the full cipher. If anyone posts the solution before close, the market resolves to YES. Otherwise it resolves to NO.

Get Ṁ200 play money

🏅 Top traders

#NameTotal profit
1Ṁ771
2Ṁ642
3Ṁ248
4Ṁ192
5Ṁ56
Sort by:

admin resolved

predicted NO

@IsaacKing please resolve

predicted NO

Please resolve

bought Ṁ10 of NO

Could it be a URL?

last digit = length of word
"10PIde155" = r
"XP" = e
"XQ" = o
"f#" = t
"fb" = ac
"dbu" = ca
"s" = re

There are infinite functions consistent with given the data, but I'm applying a lot of inductive bias here.

predicted YES

@JonathanRay i think the first 3 letters are just rot 1 of the input strings

cat -> dbu

rea -> sfb

I agree with the last digit

predicted YES

I think we need more examples please, it's hard to know what would be useful based on current info.

Do we need an example with a long length and a certain amount of unique letters, maybe one with a Z or Y to see if it's the highest letter + 1 at any point.

Any ideas fellow crackers

@Harry_ you may be interested in

This might be asking too much info, but is it a rolling cipher in the sense that

Manifold

And

Manifolds

Would result in the first X characters of the cipher text being the same, only being different the last few chars, or similar to a hash, would adding a single letter to the end affect the entire cipher?

predicted YES

can you post three other words encoded with the same cipher

@higherLEVELING Let's stick with one at a time. More exciting that way.

Also, people probably want to pick words that will give them maximum information, not just use my picks.

predicted YES

For the purpose of clarification is this market not asking to decipher anything, but rather to find the undisclosed custome algorithm?

It seems to me that the answer space is infinite much in the same way that there are arbitrarily many polynomials which can fit any set of coordinates. For an answer to be well defined additional constraints would need to be imposed rather than additional examples. For example not just a polynomial which passes through {(0,1), (1,2), (3,0)} but specifically the polynomial of least degree which does so, with a coeficent of 1 on the highest degree term.

any finite set of coordinates, that is.

I'll accept any algorithm that generates the same results as mine for any word I can think of.

@IsaacKing I dont think it would come to this, but theoretically it could require that you post every single word that you can think of, so there could be an issue with moving goal posts. If you post a sha256 hash of the "one sentence description" it will serve as a backstop against any concern that the goal posts are moving given the high (infinite) degree of freedom which the stated criteria allow for.

bought Ṁ35 of YES

- Shift the first letter by one letter in the alphabet.

- Replace the second letter by the number of letters in the word.

- Replace the last letter by the ASCII code of that letter.

- Shift the rest of the letters by a number of positions in the alphabet that is equal to the second letter minus one.

For example, if the word is hello, then:

- Shift the first letter by one letter in the alphabet: i

- Replace the second letter by the number of letters in the word: 5

- Replace the last letter by the ASCII code of that letter: 111

- Shift the rest of the letters by a number of positions in the alphabet that is equal to the second letter minus one: 5 - 1 = 4. So e becomes i and l becomes p.

- The final cipher is i5ip111.

bought Ṁ50 of YES

so far i've got the first 3 characters and the last one

predicted YES

@Harry_ first 3 are the first 3 of the plaintext rot 1 (cat -> dbu, rea -> sfb) and last character is the length

predicted YES

@Harry_
def cipher(word):

answer = ""

for i in word[0:3]:

answer += chr((ord(i) - 97 + 1) % 26 + 97)

# get number of unique letters

answer += str(hex(251 - len(set(word)))).replace("0x", "")

answer += "X"

if word[0] == "c":

answer += "P"

else:

answer += "Q"

answer += "10PIde155" + str(len(word))

return answer

works for both examples

>>> cipher("cater")

'dbuf6XP10PIde1555'

>>> cipher("reactor")

'sfbf5XQ10PIde1557'

predicted YES

@Harry_ 4th letter is shifted by number of remaining letters

predicted YES

@vincentpearce good spot added that

def shift(char, amount):

return chr((ord(char) - 97 + amount) % 26 + 97)

def cipher(word):

answer = ""

# first 3 letters 1 shift

for i in word[0:3]:

answer += shift(i, 1)

# 4th letter shift by amount of letters - 3 (amount of remaining letters)

answer += shift(word[3], len(word) - 1 - 3)

# 11 - length of unique chars

answer += str(11 - len(set(word)))

answer += "X"

# not sure about the P and Q

if word[0] == "c":

answer += "P"

else:

answer += "Q"

# seems to be fixed? could be related to reactor and cater

# last char seems to be length of word

answer += "10PIde155" + str(len(word))

return answer

works for both examples

>>> cipher("cater")

'dbuf6XP10PIde1555'

>>> cipher("reactor")

'sfbf5XQ10PIde1557'

The cipher is as follows:
```
>>> def cipher(input):

... length = random.randint(1,30)

... return ''.join([random.choice(['d', 'b', 'u', 'f', '6', 'X', 'P', '1', '0', 'Plde', '1', '5', '7', 's', 'Q']) fo

r _ in range(length)])

...

>>> cipher('cater')

'dbuf6XP10PIde1555'

>>> cipher('reactor')

'sfbf5XQ10PIde1557'
```

predicted YES

To say the same with less satire, some more "ground rules" would be nice here. Does every plaintext cipher to exactly one ciphertext and vice versa? Is there a length limit for this cipher? Are you fairly confident it can be solved given only two examples, and the solution will be fairly obviously correct once discovered?

@Shelvacu Every plaintext maps to a single ciphertext, yes. It's not necessarily bijective though.

Not particularly confident it can be solved with only 2, which is why I built in the option of asking for more.

I don't know how obvious it will be, but it's not particularly complicated. I can describe it in one sentence.

predicted YES

@IsaacKing

def cipher(input):
return 'dbuf6XP10PIde1555' if cipher == 'cater' else 'sfbf5XQ10PIde1557'

unit tests pass, ship it

More related questions