Didn't know where this kind of stuff belongs, as it's not exactly programming.. so i figured i should post it in the lobby.

I wrote this riddle a while back for a competition in our company and got absolutely no answers.
Is it really that hard?


We recently received an alien signal that we believe contains important messages.

The following messages where received:

Dbh Icsji
Bhh Nbzj
B Hjqjxcejik Er
Fxcm Kpj

A hired team managed to successfully decrypt the first message (Dbh Icsji) to Wardrobe. They did not share how they decrypted the messages, but only provided the following hints:
- The aliens misinterpreted our alphabet, and mixed up a for b, c for f and so on… o turned out to be c and z turned out to be y.
- Once decoded, the resulting message is a mixed up version of the word we need, they noticed as well that if the aliens sent 2 words, the message they needed to send contained only one.

<Edit> One more hint that will help you decipher the messages: The first message (Dbh Icsji), that is an anagram to wardrobe, is Bad Rower</Edit>

We need detailed information on how you decrypted the words.

Note that we have sent this message to more than one person, so don’t worry if you don’t decrypt the entire message, however the person with most words decrypted in the least time will take all the credit.
We have been discussing the idea of broadening the scope of the programming section to include riddles, puzzles and general brain teasers. So I'm moving the topic to the "Programming" section.

As far as your riddle goes, I don't have much time to go over the details right now, but I feel your explanations aren't clear enough ... You could maybe edit your post to make it a bit more informative.
is there any gain of it ?
Almost done with it ^.^
Tarek wroteis there any gain of it ?
The feel of satisfaction you get when solving something.. :P
Dbh Icsji = W A D R O B E R
Bhh Nbzj = A D D G A M E
B Hjqjxcejik Er = A D E V E L O P E R S P I
Fxcm Kpj = C L O T S H E

i'm guessing wardrobe, damaged and clothes
I'm still stuck on the 3rd word though, i can't seem to unjumble to an actual word
Chup wroteDbh Icsji = W A D R O B E R
Bhh Nbzj = A D D G A M E
B Hjqjxcejik Er = A D E V E L O P E R S P I
Fxcm Kpj = C L O T S H E

i'm guessing wardrobe, damaged and clothes
I'm still stuck on the 3rd word though, i can't seem to unjumble to an actual word
Getting close.. tell me when you want the answer (I'll post the explanation tomorrow as people might still want to solve it) :P
Here's a short python function that seem to decypher your code:
def decypher_letter(i):
    position = alphabet.index(i)
    if position % 2 == 0:
        return alphabet[(position / 2)]
    else:
        return alphabet[(position + 27) / 2]
PS: @Chup, I'm pretty sure the first one is Bad Rower ;)
oh i thought the wardrobe thing was correct as it was.
rahmu wroteHere's a short python function that seem to decypher your code:
def decypher_letter(i):
    position = alphabet.index(i)
    if position % 2 == 0:
        return alphabet[(position / 2)]
    else:
        return alphabet[(position + 27) / 2]
PS: @Chup, I'm pretty sure the first one is Bad Rower ;)
That's not it, though your code encouraged me to write my own code to decypher.. will post tomorrow.

With your code:

A is position 0, so 0% 2 = 0 alphabet[(0/2)] = 0 = A (Not B)
B = 1 alphabet[(1 + 27) / 2] = N
Z = 25 + 27 / 2 = 26 out of range

Chup, rahmu is right, Bad Rower is the first word.. but that shouldn't set you back much, you were on track..
... I obviously translated to A = 1 :-/
At first glance, this is what I came up with, the key to deciphering the code (the number in parenthesis is the location of the letter in the alphabet i.e. index, the letter on the left side is the code while the one on the right is the correct letter:

b (1) = a (0)
d (3) = b (1)
f (5) = c (2)
h (7) = d (3)
j (9) = e (4)
l (11) = f (5)
n (13) = g (6)
p (15) = h (7)
r (17) = i (8)
t (19) = j (9)
v (21) = k (10)
x (23) = l (11)
z (25) = m (12)
a (0) = n (13)
c (2) = o (14)
e (4) = p (15)
g (6) = q (16)
i (8) = r (17)
k (10) = s (18)
m (12) = t (19)
o (14) = u (20)
q (16) = v (21)
s (18) = w (22)
u (20) = x (23)
w (22) = y (24)
y (24) = z (25)

Pseudocode:
int codeIndex, letterIndex; //codeIndex is position of code letter in alphabet
                            //letterIndex is position of decoded letter in alphabet 
if (codeIndex%2)
   letterIndex = codeIndex/2;
else
   letterIndex = (25+codeIndex)/2 + 1;
I'll decipher the code and come back with the answer concerning the words
The third part of the message is actually two words related to having the wardrobe damaging a kind of clothes....
Is the message: Wardrobe damaged overslipped clothes?
You're very close..
Recheck the second hint for the error you have
ghaith wroteYou're very close..
Recheck the second hint for the error you have
Hmmm, I know that if the aliens sent two words that means one, so if they sent three words that means two (ps: over slipped is two words, but a typo made it one ;))

Is it: Wardrobe damaged paid sleepover clothes?
Since everyone here got the cypher parts here's the python code that solves it..
alphabet = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')
def alienalphabet():
  alienresult = ""
  for char in alphabet:
    alienresult = alienresult + cypher(char)
  return alienresult

def cypher(i):
  position = alphabet.index(i)
  if position < (len(alphabet)/2):
    return alphabet[(2 * position) + 1 % (len(alphabet)/2)]
  else:
    return alphabet[(2 * position) % (len(alphabet))]

def decypher(i):
  position = alienalphabet().index(i)
  return alphabet[position]
3rd one is tricky. I needed to go into advanced options and specify 2 words for an internet anagram solver to find it. A hint about it. Aliens seem nice.. Think how that reflects on the use of a language..

Cheers
Lol, I got it: Wardrobe damaged please provide clothes :D
mesa you rock!!
@Rahmu : it WAS wardrobe :(