Jump to content
BrainDen.com - Brain Teasers
  • 0


araver
 Share

Question

This game thread continues the tradition of the first two games: and

One player plays the Evil Mastermind (that's me, replacing the original Evil Mastermind for this game) who nukes the states of the USA 3 at a time, the other players play Hackers who seek to stop the Evil Mastermind. The Evil Mastermind plays by posting commands which activate missile strikes. Each command has a unique password, which is derived from the command by a hashing algorithm. The Evil Mastermind devises a different algorithm at the start of each game, and posts the passwords along with the commands. The Hackers will see the commands and passwords and from this they should try to deduce the hashing algorithm. The Hacker who does this first, and correctly figures out the password to the command "ABORT", stops the Evil Mastermind and wins the game. Anyone can join in at any time as a Hacker.

Now hashing algorithms can be exceedingly difficult to crack, but there are restrictions placed on the kind of algorithm that the Evil Mastermind can use:

1) The Evil Mastermind must be able to derive an alphanumeric password of fixed length from any word (password length 8 characters or less, you choose). It doesn't have to be a cipher in the sense that it can be decrypted to the original word, indeed the fixed length makes that impossible.

2) You must be able to do it in your head, with no external aids, in 40 seconds or less. You may look at the word you are hashing but you should not have to look at the previous letters of the password, since real-life passwords are generally shown as ***** as you type (although you may use previous letters as far as your memory can handle it). It's up to you to ensure that you can do all this. A really classy algorithm is one which fulfils this condition better (quick and easy to perform, in other words).

3) Although it is quite possible to hold an alphabetic substitution table in your head, and apply it quickly, I'll rule this out because in conjunction with other techniques it's too difficult to crack. Any technique that requires a large amount of information to be memorised in advance is not allowed. Caesar ciphers with a large shift pretty much fall into that category.

4) Consistency. This is a matter of good sportsmanship. For example, since "ABORT" is the target word, you can't have a rule that comes into play only when the sequence "BOR" occurs. All rules should be general enough that they come into play in at least half of the clues. The algorithm should not be geared toward the specific commands used in this game, but should work on any word.

Commands

There are 51 commands, these being the names of US states (used by the Evil Mastermind to nuke another state), plus the word "ABORT" (used by hackers to stop the Evil Mastermind).

Commands and passwords are all uppercase.

ABORT

ALABAMA

ALASKA

ARIZONA

ARKANSAS

CALIFORNIA

COLORADO

CONNECTICUT

DELAWARE

FLORIDA

GEORGIA

HAWAII

IDAHO

ILLINOIS

INDIANA

IOWA

KANSAS

KENTUCKY

LOUISIANA

MAINE

MARYLAND

MASSACHUSETTS

MICHIGAN

MINNESOTA

MISSISSIPPI

MISSOURI

MONTANA

NEBRASKA

NEVADA

NEWHAMPSHIRE

NEWJERSEY

NEWMEXICO

NEWYORK

NORTHCAROLINA

NORTHDAKOTA

OHIO

OKLAHOMA

OREGON

PENNSYLVANIA

RHODEISLAND

SOUTHCAROLINA

SOUTHDAKOTA

TENNESSEE

TEXAS

UTAH

VERMONT

VIRGINIA

WASHINGTON

WESTVIRGINIA

WISCONSIN

WYOMING

Game Play

The Evil Mastermind posts 3 commands at a time, with their passwords. The interval for doing this is undefined, no point in imposing restrictions. The Evil Mastermind chooses the commands, but should generally do requests as soon as possible.

Each Hacker may make one guess at the password for "ABORT" each time the Evil Mastermind posts commands. If someone makes multiple guesses in between clues, only the first one counts, but if they make a mistake and correct it, the Evil Mastermind can accept the correction.

There is no need for spoilers when guessing the password, although please use spoilers if you reveal the algorithm.

The first one to get the password for "ABORT" wins.

P.S. Alternatively if you've cracked the algorithm you can just use it to blow up more states if you're that way inclined (**per original Evil Mastermind's rules!)

Edited by araver
Link to comment
Share on other sites

  • Answers 67
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0

I haven't made much progress cracking your algorithm, but I do think I have a workable one of my own. Not sure if I would want to host it next since I'm not usually around much on Thursday evenings (or at all). I still have to encode everything and take another look at it, but I think it holds to octopuppy's guidelines and it's fairly easy to calculate in your head, so long as you know what it is.

I, too, have come up with one (still testing it). Will someone please solve araver's so we can move on? I'm completely stumped.

Link to comment
Share on other sites

  • 0

OK, then

Each unknown depends on only one letter in the command.

It is a question similar to those of the algorithm in Game 2.

I've been staring at the lists of commands (spending more time than I probably ought :rolleyes: ) and I still don't see anything that sets the binary condition for the second letter or what separates the values for the eighth character either. :wacko:

The lists both look pretty random to my eyes. It seems like the difference between OHIO and IOWA might provide the best chance at cracking it, but I don't see what one has that the other lacks (they are in separate lists in both cases).

Link to comment
Share on other sites

  • 0

I've been staring at the lists of commands (spending more time than I probably ought :rolleyes: ) and I still don't see anything that sets the binary condition for the second letter or what separates the values for the eighth character either. :wacko:

The lists both look pretty random to my eyes. It seems like the difference between OHIO and IOWA might provide the best chance at cracking it, but I don't see what one has that the other lacks (they are in separate lists in both cases).

OK, that's exactly the problem with such an IF THEN 1 ELSE 0 rule, it kinda looks random for a small number of cases unless you stumble on a pattern.

It's arguable that it may have appeared less random in the algorithm in game 2 because the rule was applied several times independently and then re-combined.

I was able to see something by sorting the list on a fixed letter and then observe if there seems to be a rule in the output(passwords). E.g. in game 2 if you sort after the fourth letter (alphabetically) then the second letter of the password suddenly exhibits a pattern - it's odd (in hex) up to a point, then it becomes even.

Regarding starting a new Crack the Code game: I'm up for it, regardless of the solution for this algorithm (We can leave it be for now and think between games or I can provide the solution in "spoilers")

So who wants to start it?

Link to comment
Share on other sites

  • 0

I've been staring at the lists of commands (spending more time than I probably ought :rolleyes: ) and I still don't see anything that sets the binary condition for the second letter or what separates the values for the eighth character either. :wacko:

The lists both look pretty random to my eyes. It seems like the difference between OHIO and IOWA might provide the best chance at cracking it, but I don't see what one has that the other lacks (they are in separate lists in both cases).

I've not made any progress, either, but I'd disagree that OHIO and IOWA provide any special clue, since the hint we were given stated that

is based on a single letter of the command

Meanwhile, I'm rewriting my own proposed code. On trial some passwords were requiring a full 40 seconds to develop. :duh:

Link to comment
Share on other sites

  • 0

OK, I think I have it now...

The 3rd letter is the last prime-numbered letter in the command

Unknown 1 is true when the second to last letter <J ( or maybe <=J )

Unknown 2 is true when the last prime-numbered letter >J ( or maybe >=J )

Is that right?

With hindsight I feel like I should have spotted these sooner but somehow they seem to have eluded all of us.

I was beginning to wonder if it all hinged on whether the sum of all the ASCII characters was a prime number, or something like that :D

Link to comment
Share on other sites

  • 0

OK, I think I have it now...

The 3rd letter is the last prime-numbered letter in the command

Unknown 1 is true when the second to last letter <J ( or maybe <=J )

Unknown 2 is true when the last prime-numbered letter >J ( or maybe >=J )

Is that right?

With hindsight I feel like I should have spotted these sooner but somehow they seem to have eluded all of us.

I was beginning to wonder if it all hinged on whether the sum of all the ASCII characters was a prime number, or something like that :D

:thumbsup: to all three answers. The algorithm is now completely discovered.

<J was the rule in fact for both of my booleans (one of the booleans is in fact the opposite of yours). I can count to 10 using my fingers so I considered the first 10 letters of the alphabet to be friendlier(A..I) :D

Edited by araver
Link to comment
Share on other sites

  • 0
:thumbsup: to all three answers. The algorithm is now completely discovered.

<J was the rule in fact for both of my booleans (one of the booleans is in fact the opposite of yours). I can count to 10 using my fingers so I considered the first 10 letters of the alphabet to be friendlier(A..I) :D

I must say that those unknowns have proved to be a very tricky part of your hash, and considering that they could be evaluated very quickly, that's something you'd have to consider a great success (except that the code could be cracked without knowing them, lol). Seriously though, there are bits of that hash that would be time consuming, like counting the letters or vowels, but the quickest parts were the hardest to break. Interesting... I can't wait for the next one!
Link to comment
Share on other sites

  • 0

Hooray for octopuppy! Showing you are the true Evil Mastermind.

Here's a question resulting from my attempted code development: What's the requirement for having to remember all the steps in the code? You've established that since you cant see the password characters after you've entered them, the remaining letters shouldn't depend too much on what was already entered (for those of us with short memories). But in this hash, there may be an implementation problem in remembering which rules to apply to which characters of the password (eg, does the munber of vowels become the third character or the fourth?).

Octopuppy's original code had some elegance that later ones have lacked: That the same basic rules are applied throughout the construction of the password. Code #2 mixed that up a bit, but at least repeated the same requirements for the first 4 characters and the last 4. Code #3 has essentially 8 independent requirements. The one I've been trying to construct does also, but I've found when trying to apply it I have to look back at my cheat sheet to know what to do next, which is not in keeping with the spirit of the game.

Thoughts?

Link to comment
Share on other sites

  • 0

Hooray for octopuppy! Showing you are the true Evil Mastermind.

Here's a question resulting from my attempted code development: What's the requirement for having to remember all the steps in the code? You've established that since you cant see the password characters after you've entered them, the remaining letters shouldn't depend too much on what was already entered (for those of us with short memories). But in this hash, there may be an implementation problem in remembering which rules to apply to which characters of the password (eg, does the munber of vowels become the third character or the fourth?).

Octopuppy's original code had some elegance that later ones have lacked: That the same basic rules are applied throughout the construction of the password. Code #2 mixed that up a bit, but at least repeated the same requirements for the first 4 characters and the last 4. Code #3 has essentially 8 independent requirements. The one I've been trying to construct does also, but I've found when trying to apply it I have to look back at my cheat sheet to know what to do next, which is not in keeping with the spirit of the game.

Thoughts?

I agree. Araver's algorithm was pretty clever and certainly did a pretty good job at obfuscating, but it did seem like it would be a pain to calculate each character (especially the whole last prime position thing). I've developed an algorithm that's more in keeping with octopuppy's original method. I think that it's fairly easy to do in your head, though I admit that I wrote up a program to crunch the numbers (er, letters) faster. I'm actually glad I did because I caught an error in one of the ones I did by hand when I was developing it... :P

In any case, I didn't need a cheat sheet for my method and I only figured programming it would be faster because I have always been really slow at calculating anything in my head. :rolleyes: I'm much faster when I can see it.

Link to comment
Share on other sites

  • 0

:rolleyes:

OK, I admit, I had a hard time learning the algorithm also. You don't get 40s the first time, you need training :ph34r:

Maybe silly children songs could work:

One, two, three, jump towards your base.

Jump before the end. Did you find a friend?

Can you find Joe? He's eating big primes.

How many vowels can there be?

Friends are first. Else you're very close.

Is counting with one hand trickier?

Four is Joe's help if he ate a friendly prime else move back to base.

If Joe's a friend, can he play vowels too?

I admit I don't have much talent, but it could be turned into a mnemonic ...

It's at least plausible, right? :rolleyes:

Link to comment
Share on other sites

  • 0
I agree. Araver's algorithm was pretty clever and certainly did a pretty good job at obfuscating, but it did seem like it would be a pain to calculate each character (especially the whole last prime position thing). I've developed an algorithm that's more in keeping with octopuppy's original method. I think that it's fairly easy to do in your head, though I admit that I wrote up a program to crunch the numbers (er, letters) faster. I'm actually glad I did because I caught an error in one of the ones I did by hand when I was developing it... :P

In any case, I didn't need a cheat sheet for my method and I only figured programming it would be faster because I have always been really slow at calculating anything in my head. :rolleyes: I'm much faster when I can see it.

I think writing a program or something of the sort is highly advisable. I used a spreadsheet to calculate the hashes for the two I did. I did them manually too, to check I could get it in the time limit, but posted the spreadsheet-done versions to avoid mistakes. It saves time, otherwise you have to obsess over them to make sure they are right.

Hooray for octopuppy! Showing you are the true Evil Mastermind.
Aw shucks :blush:

Here's a question resulting from my attempted code development: What's the requirement for having to remember all the steps in the code? You've established that since you cant see the password characters after you've entered them, the remaining letters shouldn't depend too much on what was already entered (for those of us with short memories). But in this hash, there may be an implementation problem in remembering which rules to apply to which characters of the password (eg, does the munber of vowels become the third character or the fourth?)... Thoughts?
I think it's your call really. Personally, I try to bear in mind what I would want to use in real life, so I don't go overboard with the complications. My second code, although it had more rules, also had a pattern to help me remember what to do, but I don't want to impose that style on anyone else, it's more fun to see what you come up with. Your limitation is the rule not to have to memorise an excessive amount of information, but it's up to you to decide how much is too much. I do feel that in some sense a more elegant algorithm is a better one, but a less elegant algorithm may make up for that in other ways.
Link to comment
Share on other sites

  • 0

:rolleyes:

OK, I admit, I had a hard time learning the algorithm also. You don't get 40s the first time, you need training :ph34r:

Maybe silly children songs could work:

One, two, three, jump towards your base.

Jump before the end. Did you find a friend?

Can you find Joe? He's eating big primes.

How many vowels can there be?

Friends are first. Else you're very close.

Is counting with one hand trickier?

Four is Joe's help if he ate a friendly prime else move back to base.

If Joe's a friend, can he play vowels too?

I admit I don't have much talent, but it could be turned into a mnemonic ...

It's at least plausible, right? :rolleyes:

On the subject of mnemonics, rule 3 forbids what I think is the most effective technique you can use, which is to have an alphabetic substitution table.

Handy technique for that:

Try to come up with 26 really easy to remember words, like

Apple

Bear

Cow

and so on, but particularly try to pick things which can have a very vivid and simple mental image.

Also try to superimpose the initial letter on the mental image so you associate "A" with apple. See the shine on that apple. Look how juicy and fresh it is.

Then when you see an "A" you think apple and know that "A" maps to "E" (last letter)

"B" maps to "R"

"C" maps to "W"

etc.

Now you have an alphabetic substitution table memorised. Try it, it's easy!

If you want to be fancy about it, try to pick 26 words so the last letters also span the alphabet (worth doing, now you can also use it for encryption)

If you want to be really fancy, try and do it so that repeat operations (A -> Apple -> E -> Egg -> G -> Goat -> T) go round the entire alphabet. There's probably a name for that sort of permutation but I don't know what it is.

Anyway, if you want a hash to use in real life, incorporating the use of something like that will make it hard as nails. A straight letter-by-letter substitution is still breakable, but complicate it in some minor way and it's really difficult to break.

Link to comment
Share on other sites

  • 0

So, CherryLane or dawh, who wants to start a new game?

I'm also thinking of a new algorithm, but I'm far from over.

Thanks

I've been away for the weekend and haven't had a chance to work on mine. So don't wait for me, if anyone has another ready to try out.

Link to comment
Share on other sites

  • 0

I've been away for the weekend and haven't had a chance to work on mine. So don't wait for me, if anyone has another ready to try out.

I was likewise busy all weekend, but I've gotten the algorithm good enough to suit our needs (or so I've arbitrarily determined), so I'll start the new topic as soon as I can. :thumbsup:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...