Challenge 10B
A Tale of 2 Secrets › Forums › T.E.M.P.E.S.T. › Challenge 10B
- This topic has 267 replies, 91 voices, and was last updated 11 hours, 1 minute ago by AES_of_spades.
-
AuthorPosts
-
1st January 2026 at 1:08 pm #115038ChinchinchillaParticipant
Happy new year to all with a joke:
Why did the cryptologist get disqualified from the cipher challenge?
He didn’t PlayFair!
1st January 2026 at 1:10 pm #115040NotAidanParticipantIs there a name for this cipher or is it custom, i cant find anything online for this cipher of 10b i just got correct finally
1st January 2026 at 5:02 pm #115041Crackerjack_404Participant@NotAiden
You could call it a modified four-square cipher
Surely, in this case, a four-quadrilateral cipher? Harry
1st January 2026 at 5:03 pm #115042F6EXB_the_frenchyParticipant4squares 2.0?
1st January 2026 at 5:03 pm #115043Un_Poisson_Rouge_et_Orange_et_JauneParticipant@NotAidan it is a variation of the four square cipher.
1st January 2026 at 9:22 pm #1150445hreyParticipantRectangles might be my least favourite shape now. Honestly have no clue how you were meant to get 10B without the casefiles!
And yet …. Harry
1st January 2026 at 9:23 pm #115046_madness_ParticipantThere needs to be an eight-cube cipher that encrypts trigrams.
Paging Félix Delastelle …. Harry
2nd January 2026 at 9:00 am #114999P8S_EHParticipantI finish this challenge with a full heart from the elation of a correct submission. It had been a shadow over me during Christmas, but now it’s done I’m happy.
Harry, feel free to block or withhold this. 😉
2nd January 2026 at 9:00 am #114952ILLParticipant[Thank you for the push in the right direction and happy to say we finally got it! Can I ask you post this late enough so that you don’t have have to sensor it]
For those who are still stuck, and sadly did not solve it. You still deserve a pat on the back for getting this far, and you should take the time to look back at all the other ciphers of quite high difficulty you managed to solve.
If you wanted to know the coding approach to solving the cipher you can gaze upon my Frankenstein of Python code. Definitely not the most streamlined solution, but I knew as soon as I could begin thinking of what the plaintext would be the keywords would fall into place in the 4×6 and 6×4 grids:
cards_6x6 = [ ["AC", "2C", "3C", "4C", "5C", "6C"], ["7C", "8C", "9C", "XC", "JC", "QC"], ["KC", "AD", "2D", "3D", "4D", "5D"], ["6D", "7D", "8D", "9D", "XD", "JD"], ["QD", "KD", "AH", "2H", "3H", "4H"], ["5H", "6H", "7H", "8H", "9H", "XH"], ] cards_4x4 = [ ["JH", "QH", "KH", "AS"], ["2S", "3S", "4S", "5S"], ["6S", "7S", "8S", "9S"], ["XS", "JS", "QS", "KS"], ] letters_6x4 = [ ["s", "h", "a", "d", "o", "w"], ["b", "c", "e", "f", "g", "i"], ["k", "l", "m", "n", "p", "q"], ["r", "t", "u", "v", "x", "y"], ] letters_4x6 = [ ["f", "u", "l", "h"], ["e", "a", "r", "t"], ["b", "c", "d", "g"], ["i", "k", "m", "n"], ["o", "p", "q", "s"], ["v", "w", "x", "y"], ] def index_grid(grid): pos = {} for r, row in enumerate(grid): for c, val in enumerate(row): pos[val] = (r, c) return pos pos_6x6 = index_grid(cards_6x6) pos_4x4 = index_grid(cards_4x4) pos_4x6 = index_grid(letters_4x6) pos_6x4 = index_grid(letters_6x4) pair_to_letters = {} for c1 in pos_6x6: r1, col1 = pos_6x6[c1] for c2 in pos_4x4: r2, col2 = pos_4x4[c2] l1 = letters_6x4[r2][col1] l2 = letters_4x6[r1][col2] pair_to_letters[(c1, c2)] = f"{l1} {l2}" def decode_full_text(text): output = [] cards = text.split() if len(cards) % 2 != 0: raise ValueError("Ciphertext should have an even number of cards") for i in range(0, len(cards), 2): c1, c2 = cards[i], cards[i+1] output.append(pair_to_letters[(c1, c2)]) return " ".join(output) ciphertext = ( "..." ) print(decode_full_text(ciphertext))2nd January 2026 at 4:58 pm #115047Crackerjack_404ParticipantI’m now mildly concerned this is going to evolve into a ‘pick your favourite shape and dimension, then encrypt accordingly’… Given Trifid already exists, I’m sure we can come up with some cursed dodecahedral cipher involving mapping n-grams to vertices and moving across faces according to some arcane rule
Ah, now you’re talking! Let’s assume the rule arises from a hyperbolic face pairing just make things interesting! Harry
2nd January 2026 at 4:59 pm #115048BobDParticipantControversial Statement?
It is so much more transparent, and self-documenting, if implemented using a spreadsheet!
Could this launch a discussion?2nd January 2026 at 4:59 pm #115050ChinchinchillaParticipantEvery time I keep coding a decryption of the ciphertext via Python, I seem to have similar code to others but my code outputs that my ciphertext does not have an even number of characters, and my code has been outputting that for 7 days now. Does anyone know why even though I know that the ciphertext has 6644 characters?
Is it counting from 0 instead of 1? Harry
2nd January 2026 at 5:01 pm #115054tahausmanParticipantsir its giving me errors 🙁
Not sure you can blame “it” for you errors! Harry
2nd January 2026 at 8:49 pm #115060Crackerjack_404Participant@Chinchinchilla
Are you checking the length of the raw string, or the length of the list after splitting into digraphs? Could you share the line of code you’re using to count the characters? It’s a bit hard to tell what’s going on.
3rd January 2026 at 5:08 pm #115064NotAidanParticipantIn my code i split the cipher text into bigrams, not sure if that would help
-
AuthorPosts
- You must be logged in to reply to this topic.