Konjac's blog

By Konjac, 9 years ago, In English

Really a funny contest. Hope for more.

Here are some hints.

Problem A

RSA

Problem B

Case #1

c..r..h
.h..z..
..a..e. 

Problem C

msg[i] = (26 + cipher[i]-cipher[i-1] ) mod 26 + 'a'

Problem D

The first character is Z/O we guess it means zero or one.

Z,1,2,3,2,1,2,1,1,4,2,4,1,1,3,2,1,2,4,1,1,2,2,2,1,1,1,1,2,1,1,3 Means start with zero, we have 1 zero then 2 ones, 3 zeros, 2 ones, 1 zero …

The last step is the same to Problem I.

Problem E

Morse code.

Problem F

2715 seems like base 27 and base 15.

26 letters in base 27 and 15 letters in base 15. Maybe the 26 letters are 1-26 instead of 0-25.

Problem G

brute force + search + good luck. Some online anagram websites will be helpful.

ps: The answer may not be unique?

For example, "yvuoedloreoic" could both be "I love your code" or "I love you coder". But the system test only accept "I love you coder".

Problem H

26 integers in first line. Maybe it means the repeat times of each letter in the input?

The following lines is easy to understand, the positions of each letter.

Problem I

The cipher is the binary representation of the ASCII characters.

Problem J

All letters occur in the samples. Just use the samples to build a map.

Problem K

For most samples, cipher[i] ≈ cipher[i-1]*31.

After checking cipher[i]-cipher[i-1]*31, you will find such a formula

cipher[i] = (cipher[i-1]*31 + message[i]) % mod

Problem L

Why should the input longer than 7? Oh, key! The input is encrypted by simple XOR with a fixed key.

out[i] = Input[i] xor key[i mod 7]

Problem M

The title "oplus" gives a hint to try XOR operation.

cipher[i] xor msg[i] = 222

Problem N

It's guaranteed that the original string is made of lower case English letters.

The samples gives almost half the mappings of a-z.

(eight numbers in a row. dots means unknown ones)

0 .  8  . 16 17  . 25
4 .  .  . 20  . 28  .
. 3 10 11 18  .  .  .
6 7

It is obvious that table[i][j]-table[k][j] is always the same for a chosen (i, k). So we can fill the remain positions by hand.

0 1  8  9 16 17 24 25
4 5 12 13 20 21 28 29
2 3 10 11 18 19 26 27
6 7

Problem O

The equal marks gives a hint that it's coded in Base64.

Problem P

The title prooooooooooooofer is a very useful hint.

It means Prüfer sequence.

For an undirect tree with n nodes, Prüfer sequence uses n-2 numbers to encode it.

Then recover the given Prüfer sequence to an undirect tree.

Use BFS and DFS sequence of the tree to permute the cipher text.

msg[i] = cipher[DFS[BFS[i]]]

Problem Q

Each letter is rotated left by one postion.

Problem R

Similar to problem Q.

  • Vote: I like it
  • +29
  • Vote: I do not like it

»
9 years ago, # |
  Vote: I like it -9 Vote: I do not like it

thanks,A is a completely rsa question?

»
9 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Use BFS and DFS sequence of the tree to permute the cipher text. msg[i] = cipher[DFS[BFS[i]]]

Can we get some more details about this, please? I’m trying to manually match this to the samples and failing. Which node is the root? Is the DFS numbering a pre-order or a post-order? Is the transformation really that and not something like msg[DFS[i]] = cipher[BFS[i]]?