Skip to main content

Challenges from competitors

Viewing 15 posts - 91 through 105 (of 117 total)
  • Author
    Posts
  • #52947
    Madness
    Participant

    @Mattyrat2027, before base64 encoding, the plaintext was not padded but does end with a newline character. Because of
    that newline character, the plaintext has a multiple of 3 characters, so there is no base64 padding with =. The base64
    contains only A..Za..z0..9+/ before the substitution was applied.

    #52950
    Mattyrat2027
    Participant

    Thanks @Madness.

    What is a newline character, or does it not matter for the task at hand?

    #52952
    Madness
    Participant

    ASCII 0x0a

    #52954
    Cribbage
    Participant

    Madness’ Base 64 cipher:

    Plaintext (uppercase, no spaces) + Cribbage (mixed case) >>> MD5

    66B409C953DC3B52F796993136650E91

    That was a really satisfying cipher to work with – and the addition of the newline character actually forced me to think more deeply about what was going on, even though it obviously held me up. So thanks again, Madness!

    #52960
    Mattyrat2027
    Participant

    😮


    @Cribbage
    now that’s impressive. Last I remember you were stuck, so well done, you were obviously further than it seemed. Was the newline vharacter involved in the substitution at all, or can we discount it completely?

    Thanks again

    #52959
    Madness
    Participant

    @Cribbage, congratulations on solving it; your checksum is correct. Did you do it all by hand?

    #52962
    Cribbage
    Participant

    I used the findings from the earlier post, removing as suggested the final 4 characters of the text. This narrowed down the number of substitution possibilities considerably, so I thought that I could then try and solve it using an adapted substitution algorithm. This did not work, and I do not fully understand why at the moment, so then I resorted to Excel and, with the reduced set of possibilities, it was not too difficult to solve manually. Having said that, the fact that a certain not-very-frequently-occurring letter appeared so often in the plain text threw me for a while.


    @Mattyrat2027
    – I suggest removing the last 4 characters of the ciphertext. Base 64 turns a text into blocks of 4 characters, and the newline character is part of the final block of 4, so, to be safe, remove all 4 of those and then you will not need to worry about the newline character at all. You will still have more than enough characters remaining to start analysing the ciphertext and, when turning it into plaintext, it will will be easy to work out the missing end of the final word.

    #52965
    Madness
    Participant

    @Cribbage, please clarify “adapted substitution algorithm,” you know, for the others who don’t understand. Yeah, the others.
    They would like to know.

    Now that it has been solved, here is how you can use hill-climbing to solve a cipher that can be factored into two stages,
    where the first stage is keyless, and the second stage is a monoalphabetic substitution. Examples are the base64 challenge above,
    fractionated Morse (google it), and the spyclist cipher clock. In a plain old mono substitution, you would build a table
    of polygram frequencies for English text, then vary the key and climb the hill as your decryption matches those frequencies
    better and better. With the extra layer, you need to build frequency tables for text that has been encrypted by the first
    (keyless) layer instead. Then you vary the substitution key and climb the hill as you match these new frequencies better and
    better. Once you find a good match, you have to decrypt both layers. There is a good explanation of how to do this with
    fractionated Morse at practicalcryptography.com/ciphers/fractionated-morse-cipher/#cryptanalysis

    Disclaimer: practicalcryptography.com is not my site. I wish I had been so productive and insightful, but now I just leach
    ideas from others. On a completely unrelated note, does anyone have any good ideas for making money without working?

    #52969
    Jbrintcrypt
    Participant

    @The-letter-wriggler

    Glad you enjoyed it, and that this time the puzzle evidently wasn’t as poorly designed. I’ve never used MD5 before, so I don’t know how it works, but I’ll assume you solved them all based on your comment. If you don’t mind giving feedback, if I made something similar for the next challenge (as there aren’t really many people on the forum nowadays, and besides they mainly prefer more sophisticated puzzles), is there anything that would improve the puzzles e.g. cribs being too easy/ hard?

    #52970
    Cribbage
    Participant

    I did not mean anything special by ‘adapted substitution algorithm’. When cracking a substitution cipher, an algorithm can try swapping key characters in the key and then measuring the fitness of the ‘plaintext’ produced by the new key. If it is better, keep the amended key and keep going; otherwise revert to the original key and keep going.
    It can be made more sophisticated than this (e.g. with hill-climbing), but I was hoping that some adapted version of this, working within the narrowed-down key possibilities that I had worked out, would be able to complete your Base64 cipher. It failed.
    Having said that, nothing beats the experience of completing the last stages of attacking a cipher via a manual method – to see a plaintext develop in front of you … Who needs money when you have that??

    #52971
    The-letter-wriggler
    Participant

    @Jbrintcrypt – you asked (#52969) so…

    My advise for you is not to give too much away – let the solver try to work it out.
    For instance you ought to have left out the following…

    The following puzzles are all substitution ciphers with a twist: the keywords in each case refers to an event from the year listed. For example, if the event was Coronavirus, the alphabet would be ‘cornaviusbdefghjklmpqtwxyz’ and the text would begin ‘2019/2021: Rhlhgctslqm.’.

    …then after a while if no one asks for a hint or no one posts an answer you could post a hint to encourage them along.

    You say ‘they mainly prefer more sophisticated puzzles’ well that may not be true.
    How I see it is that only the best solvers tend to frequent the forum and that may be due to the hard ciphers that are put up.
    Harry did try to keep them separate.

    I would like to see more accessible ciphers and puzzles posted for the less knowledgeable and new participants, the competition is after all meant for schools, they could post some themselves but they seem to be reluctant to do so.

    Both Mattyrat and yourself have posted the type of cipher that is accessible in that respect.

    HOW TO USE THE MD5 CHECKSUM if you wish to.
    ===========================================
    Note: There are many different types of Hash generators, we have chosen to use MD5.
    First you need to decide what you want the solvers to give as evidence of a solve.
    It could be the keyword (providing it is unique) or the plaintext or something else as long as you let it be known.
    To keep it consistent for both parties and easier for checking we need a format.
    One format is to strip out all punctuation and make the letters all uppercase.
    By having the solver add a ID onto the end (they should tell you what they have added) it
    makes it unique to them.

    Say I want to prove I have the correct keyword for: 2019 cornaviusbdefghjklmpqtwxyz
    I would post: KEYWORD+TLW 2019 MD5: 1b54e9a894f0dd935e53ee0358d92e0d

    Here is how it is done: Both you and I would make it all uppercase like so CORNAVIUSBDEFGHJKLMPQTWXYZ
    then add on the end my ID TLW to make it specific to me.
    This gives CORNAVIUSBDEFGHJKLMPQTWXYZTLW which we copy to the clipboard and then paste it into a
    MD5 hash generator which will give a 32 bit hexadecimal code.
    Practice – copy it now, and then…

    You can go to an online hash generator – here is one I have used,

    https://md5hashing.net/hash/md5

    This will give MD5: 1b54e9a894f0dd935e53ee0358d92e0d for the example above which you use as a check.
    Remember only you know the keyword(s) (or plaintext etc) of your cipher(s), just add the posters ID and check for a match.

    #52963
    Mattyrat2027
    Participant

    @Everyone If anyone is bored now the challenge is over – I took inspiration from what I’ve already seen and created a new cipher. No more hints.

    0101 000 01 001 101 10 0 111 000 01 1101 11 01 011 11 01 001 0 1111 11 111 001100 11 1111 000 1001 1 11 00 11 111 1011 1 10 011 0100 000 110 111 1011 11 001 1111 0 1011 0100 100 11 0 1111 0 1111 1 0111 11 01 10 101 0100 010100 11 1101 0100 000 110 001 1 0 0 1111 11 111 1101 10 101 001100 111 1 01 011 00 1 0 1111 1 00 011 11111 000 1101 0 1111 1 1001 1011 10 11 01 0 1 0110 0 10101 0100 000 110 101 01 10 00 1 11 01 1101 110 1011 1011 0101 10 1001 11 0 10 1011 111 001100 01 000 1001 110 01 0101 0 110 10 0 11 000 01 101010 100 1 1011 1011 011 000 01 1 010100

    #52976
    Kford-academy
    Participant

    Thank you, @Mattyrat27. Because I don’t have an MD5 translator, I have encypted the following message with the same cipher and key as yours.

    0 1111 10 01 010 0100 000 110 1101 000 101 0 1111 1 0101 1111 10 1011 1011 1 01 001 1 101010 1111 000 100 1 1110 1 101 001100 0100 000 110 011 11 011 01 100001 0 00 11 111 1011 1 10 011 00 1 0 1111 11 111 0 11 00 1 010100 11 101 1 0101 000 001 01 11 111 1 011 0 1111 1 1101 110 1011 1011 111 0 000 1001 11 01 0 1111 1 00 11 011 011 1011 1 000 1101 0 1111 1 1001 1011 10 11 01 0 1 0110 0 01001 101010 011110 101010 011110 101010 011110 11 01 111 0 10 01 011 10 101 011 00 000 101 111 1 0101 000 011 1 010010 001100 100 1111 11 0101 1111 1011 1 10 011 00 1 0 000 0 1111 11 01 010 11 01 001 0 1111 10 0 0100 000 110 101 00 1 111 111 10 001 1 100 10 111 1 01 0101 101 0100 1001 0 1 011 100 11 0 1111 00 000 101 111 1 0101 000 011 1 101010 01 1 1110 1 101 0 1111 1 1011 1 111 111 001100 11 0 1111 11 01 010 0100 000 110 101 0101 1111 10 1011 1011 1 01 001 1 11 111 0010 110 11 0 1 001 000 000 011 10 01 011 11 1011 000 000 010 1101 000 101 100 10 101 011 0 000 10 01 0100 00 000 101 1 0101 1111 10 1011 1011 1 01 001 1 111 0100 000 110 00 11 001 1111 0 001 11 1110 1 00 1 101010 01001 1001 101010 111 101010 11 10 1011 111 000 1111 000 1001 1 0 1111 10 0 0100 000 110 101 0101 1111 10 1011 1011 1 01 001 1 1101 000 000 1011 111 111 000 00 1 000 0 1111 1 101 1001 1 000 1001 1011 1 010100 010010

    #52973
    The-letter-wriggler
    Participant

    @Mattyrat

    PLAINTEXT+TLW Md5: 835b7788c14b3745c967bfc55649ee2e

    Although I got no character for each of the three 010100’s!

    #52978
    Mattyrat2027
    Participant

    @Kford-academy 0 1111 10 01 010 111 1101 000 101 0 1111 1 00 1 111 111 10 001 1 001100 11 10 00 001 1011 10 011 0100 000 110 00 10 01 10 001 1 011 0 000 111 000 1011 1110 1 11 0 011110 100 1 1011 1011 011 000 01 1 010100

Viewing 15 posts - 91 through 105 (of 117 total)
  • You must be logged in to reply to this topic.