Monday, 4 April 2022

The Cipher - chapter 3 (short story)

chapter 1  | chapter 2chapter 4

Cassie decided to sleep on the problem. She knew that helped with some problems, particularly when she was stuck on assignments. Her dreams that night were filled with hexadecimal numbers and all sorts of ciphers, but she slept well regardless.

She spent the morning doing other stuff. After all, Phil wasn’t going to be up until midday anyway, and they didn’t have lectures that week. They had one coursework presentation, and then next week, they’d be free to leave the campus.

She had lunch and watched some stuff just because. She was halfway through it when her phone rang. It was Jake, who wanted to meet in the study area for a cipher cracking session. He promised snacks, and Phil had agreed to come. Cassie had no objections to that.

She joined the others there. Phil’s ridiculously powerful laptop was running, and currently, it sounded a bit like a hairdryer. He looked up when he saw Cassie.

“No results so far. How about you?”

“Same. Any new leads?”

“Nope.”

Cassie put her laptop bag on the table. “I’ve been thinking, like, should we change our approach?”

Phil gave her a quizzical look. Cassie took it as an invitation to continue.

“Well, how would you encipher something if you wanted to communicate with someone in secret?”

Phil thought for a second. “I’d use a proper cipher algorithm.”

“No, if you couldn’t do that?”

“Why would that be difficult? Vigenere with an easy to remember, ridiculously long key,” he replied, “Do you know it’s theoretically unbreakable if the key is as long as the message?”

True, and if that was the case, there was no way they were breaking it. Cassie turned to Jake.

“What about you?”

“I’d type it in windings.”

“Forget I asked. Anna?”

“Same? Or maybe A=1, B=2, and so on. That’ll be easy to break though.”

“It’s extremely easy,” said Cassie, “seriously, guys, can’t any of you think of an original approach?”

“Maybe if given time,” said Phil, “all that’s required for a cipher to work is that it takes some texts and spits out unintelligible text at the other end, which can be translated to the original text at the receiving end. Ideally, you wouldn’t lose any information in the process. Or introduce ambiguity because languages are a mess as is”

Cassie nodded. “But additional information would be okay.”

“Absolutely,” said Phil, “but it’ll be wasteful.”

“Wouldn’t be a problem if you’re not putting it on the internet, or dealing with large volumes,” said Cassie.

Phil nodded. “So you’re saying this cipher might be a bit wasteful.”

“I’m just considering possibilities.”

“Like skip codes?” asked Anna, “what if you ciphered a skip code the traditional way?”

“Yep, that could work,” said Phil, “I’ll try that on the text we translated the way Cassie suggested.”

“Assignments?”

Everyone turned. It was Lex, a fourth year.

Jake told him what was going on. He immediately volunteered to help. He, too, sat down with his computer, which he had with him for some reason.

“The skip code idea has some merit,” said Lex, “but it’s a bit basic, don’t you think?”

“Hey, not everyone remembers resistor codes, let alone using them for a random cipher,” retorted Cassie.

“Look, I detest econ with my entire being. I simply wanted some sense of normalcy, hence I defaulted to what I liked, what I was comfortable with, and did not include weird interest calculations…”

“So you’re saying we need to find what Dany likes?” asked Anne.

“Easy,” said Jake, “she reads / watches a lot of mystery-related stuff. She is also absolutely obsessed with fantasy as a genre. She loves programming and solving silly little problems that most people would do with pen and paper. She is very good at maths and enjoys it. She is organised in a chaotic way. She has also developed an obsession with fermented food recently for some reason and I think I’m catching it too. I think that’s it.”

“Fermented food?” asked Anna.

“Yeah, that’s the least relevant thing, let’s focus on that,” said Lex, “though seriously, liking maths and programming for the hell of it sounds more relevant to me. This suggests something simple but effective. Such as a Vigenere cipher.”

“Exactly, thank you!” said Phil, “we’re not going to crack this.”

Cassie rolled her eyes. She turned to Jake. “You said she’s weirdly happy about this situation. What sort of happy is she?”

Jake shot her a blank look.

“Is she the evil-I-have-fooled-you happy or is she just super giggly?”

“Well, she has been giggling a lot and I haven’t seen an evil witch look on her, so…”

“That means we can break this! Don’t you see? She wants us to break it,” said Cassie, “that means it’s a breakable cipher, or at least she thinks it is, which is not always the same thing, there was this once time….”

“Alright, so you’re saying it’s not Vigenere?” asked Phil.

“No, I’m saying it’s breakable even if it is Vigenere,” said Cassie.

“Alright, I’ll try that next,” said Phil, “once this is done trying what it’s trying right now. No results so far though.”

Cassie looked at the numbers again. It was a groups of four. Then another idea struck her.

“What if it’s Playfair, but converted to hex and she’s added a random multiple of 26 on top to fool us? That would definitely work.”

“Actually, that would,” said Phil, “but we’ll have research about breaking a Playfair cipher then.”

“Why 26?” asked Anna, “why are you assuming it’s just letters? She could have added numbers and spaces and special characters and all of that.”

“Normally you’d replace spaces with an Z before you cipher it,” said Lex, “and you’d avoid special characters and spell out any numbers.”

“But what if she didn’t?” asked Cassie, “how obsessed is she with ciphers, Jake?”

“Based on other people in my life, about average, I guess?”

“So she likely knows about that trick,” said Lex, “and she’d use it unless she plans to talk about pizza a lot….”

"She does like pizza," said Jake.

“You could replace it with an X,” Cassie pointed out.

“True,” said Anna, “but what if she chose not to? If she added just space, it’s going to be 27 characters. If it’s upper and lower case letters, it’s 52, plus space, it’s 53. If you add numbers, it’s 62 or 63. I think we should try all of that.”

“Easy enough,” said Phil, “so, did you guys do any programming?”

“A bit of micro c, python, java…” started Cassie.

“Perfect. Can I burrow your computer? I’ll just code that quickly.”

“Sure.”

“Dark mode IDE. I see you are a woman of culture, Cassie.”

Cassie bit back a retort. Sure, she didn’t have a good sleep schedule, but she didn't think Phil could look at a light mode anything for more than ten minutes at this point.

Phil produced the first output in a few minutes.

“This is A-Z plus space.”

KZA LSEX OUGWFZTJIMPUURQORDXMGP LBLUHMRRKZRXGAISMPTAEWTABGEAXDAMFWUSXPILI AENNPODYVLF MOSXPZBZTAAHCCKQASZGQNUVPZCBOMVLWQGIUVZTJRBCWTROASHTTXFWLGSBBHVKRBNLSXFPYUYCBI PIUPLUPEOLPBSZQYCFGHNXVCCOMFCSRTUTHNGOUVKFMAEEWBRYRUTYHDEP UC

“This doesn’t make a lot of sense,” said Lex.

Phil was typing away furiously.

“And this is with upper and lower case, no spaces.”

QffgNYjZgrzjWLZyJlOqYvRWSwJEvGRauFmampVsQAyyGbMUrsuCGxAGBllCfFdpLaxUyTnsKgdlooqtieAmiaQOWbqZgGVfIHIhtrhSAjYqvVudIiQrAqevGIaXAXRVcdxTXSAWPZTAFYoItHimdKsiuovZLRYxFIcIHunaTNxqGQqPcWbvDdmImNdXGhUMoItRZUALVjOxCMLMfEfzeyaRaZDiehVFxd

“That’s objectively worse,” said Lex.

“And this is with upper and lower case and space.”

NcddMVhYdqxiWIZwJkNqWvRTQuGArGQaqDmXkoTsN vyGbKTpruBFxxDBjiBbEcoIYwTyRlpJdciooqrgbymhaOOUZqZeCUdEHFfpreS iUpvVsbFfPpyoatGIXW VNTcdxTUQAULWTzFXnHtEfkZKsfrnuYIQYwBFcIDslXRMwqFPoPcUatAdjHkNaWEfRMkFtRWUxJRiOwzLIMdEfydvZRXWAiegSCwd

“And this is with numbers.”

u9J C2NO gdYWpZcJaDqCvR07anXDGGaCum4Qe su0RyGb1JVhu26xTkBPE2y5SepEmJy8RL  SEooqXM8emXa5OAFqZKZKJbHmLBrAS0YrfvVYHmBFVeUxZGI4M0Bk cdxT17AAi3TpFNd8tlBQwKsBNdkOpGYmYmcIaYR48Cmq6FUPcAQZhdF8QN7MvLyM7mtR3UT0oYOmVBpMJEfoTRPR43hieWzjmd

“None of them make sense,” said Lex.

“Well, something has to,” said Cassie, “Unless this is a convoluted ploy by Dany distract you, Jake.”

“Why?”

Was it a significant day to the two of them? Say, the day they met each other? Not according to what Cassie could remember, unless they were already dating before they joined the university. That was unlikely as their nationalities were different. What about Jake’s birthday? That was possible. She remembered going out for a term end / birthday party last year, so that was entirely possible. But then, Jake should have realised that.

“You can figure out if that’s the case,” said Cassie, “unless you have any other pertinent information that may help us…”

“Seriously, does anyone have any ideas?” asked Lex.

“Snack break talking about something else?” asked Anna, quickly, “like which movie we are watching on Friday?”

That made sense. The group decided to have a snack break. As promised, Jake bought snacks. Phil’s laptop still sounded like it was preparing for take-off. They spent a few minutes chatting about other stuff.


END OF CHAPTER THREE

Read previous chapters: chapter 1  | chapter 2 
Next chapter: chapter 4

Thank you for reading! Do let me know if you manage to crack the cipher. It doesn't need a key, and the stuff they've figured out so far might give you a few clues. (hint: it's straightforward, but not a common cipher algorithm).

You can read more about the Vigenere Cipher here if you're interested. The cipher in question here is not a Vigenere Cipher though.

The next chapter will be uploaded next Monday, 11th April.


You can also follow me on Facebook here.

Until next time!


No comments:

Post a Comment

How to write a character who is smarter than you

We all have that one character (or few) who is significantly smarter than the writer. So, as a writer, how do you write such a character con...