HackSoc, the computer science society
Hello, HackSoc!
 
 
 
 

Following on from our committee meeting on Friday, we've decided on our events for over the holidays. The calendar on our website has been updated if you'd like to see what's coming up!

We're starting up two new Wednesday afternoon events over the holidays! We'll be alternating between BakeTogether, a brand-new virtual event where you can spend an afternoon baking to a theme with your fellow members, and Virtual HackTogether, a returning event which gives you a chance to catch up with the rest of the society in Discord.

Don't forget that submissions for talks in the Spring Term are open until the end of 2020! If you've had an idea for something interesting to talk about, then why not submit a proposal? See the news article on our website for more details!

The Calendar
 
 
 
 

BakeTogether - 15:00, Wed 16/12 - HackSoc Discord (The Pod)

A brand-new virtual event - join us on Discord and bake up something tasty to a chosen theme!

If you've got something in mind which fits the theme nicely then you can choose your own recipe, or you can use our suggested recipe.

This week's BakeTogether theme is: winter! If you've got a winter-themed recipe you'd like to use, then that's brilliant - join us and bake that! If you don't have anything particular in mind, then we'd suggest this Snickerdoodle recipe.


Film Night - 20:00, Fri 18/12 - HackSoc Discord (The Pod)

We gather together in our Discord server to watch a film (or sometimes several). Apparently some of these might have a link to Computer Science, but we haven't spotted one yet.

Vote for the film you'd like to watch using our Film Night Portal!

We'll use our very own live-streaming platform to watch the film together. Hop into our Discord server at 8pm, and the film will begin after some time to catch up with your fellow members. (If you wouldn't like to hear any conversation during the film, then you're welcome to mute and deafen yourself!)

Puzzle Solution - "The Secret Greeting"
 
 
 
 

Note: Unlucky for us, the organisation conspiring to steal the HackSock are a tad clumsy... the second encrypted greeting should've started with {14, 15, 28, 38, 57…} rather than {12, 15, 28, 38, 57…}. Well done if you spotted this!


In order to solve this problem we need to make some assumptions from observations of the code.

Our first observation is that both codes seem to be based on a progression so we will assume that there is a progression that is integral to the code, we can also guess at this point that the other numbers provided are part of the seed of that code.

Our next assumption is that the start of both messages contains a greeting, perhaps the same greeting, we'll go one step further and assume that it is in fact the same greeting.

Finally we'll assume that the message was originally a plain text message using the latin alphabet (case insensitive) encoded in some way as integers.

Let's now examine the codes and make use of those facts. Given that we think the codes are using sequences and the start of the messages is the same we can subtract the two codes to give us another sequence which no longer contains the message (it is the common point): {7, 9, 14, 23, 37}.

When we look at this new sequence we can see an interesting pattern starts to emerge after the first few numbers, specifically that 9+14=23, 14+23=37, and while we don't see that in the first two digits they are close to correct. With some prior knowledge of addition sequences (like the fibonacci sequence) this suggests that the underlying sequences may be made by addition of previous terms.

This is because the ratio of any two term consecutive term in all sequences made by addition of the previous terms tends towards the Golden Ratio 1.618… so as the terms get bigger the difference in starting terms has less effect and the difference sequence becomes the same kind of sequence. From this we can infer that the underlying sequences are sequences made by the addition of two terms.

The seed for each code is 3 numbers which suggests that two of them represent the starting terms of the sequence and the third represents something unknown. By trying all combinations of the numbers and comparing (addition, subtraction, multiplication, division etc.) the result sequences to the codes we can see that the two sequences do not reveal a common plaintext. If we assume our assumption of the same greeting holds (which it must for this to be solvable as a casual puzzle) then the sequences must be offset somehow.

We have yet to explain the remaining number in the seed, if we try this as a starting index for the code in the seed sequence we find a common pattern {8, 5, 12, 12, 15}!

So this is our plain text! If we then use the simplest encoding of the alphabet where each letter is assigned it's index we get the following text: "hello"!

So the code being used is addition of the index of each letter of the plaintext with a corresponding item in a sequence given by addition of the last two items with the first two numbers of the seed giving the first two terms and the third giving an index into the sequence to start at. And the secret greeting was the rather boring "Hello".

Now we can finally track down the nefarious organisation attempting to steal the HackSock!

And Finally...
 
 
 
 

Make sure you're in HackSoc's Slack workspace! We have over 200 members, and it's free to join the conversation, so sign up now!

If you're joining us for any of our virtual events, make sure you're also in our Discord server.

Have a great week,

Aaron 🤖

Facebook Twitter HackSoc website Slack