Advent of Code 2020 Day 25
The final day! Of course it hase to be public-key cryptography…
Well the first part is pretty straightforward, just implement the algorithm described to find the secret key (a.k.a. the number of loops):
transform(n, subj) = (n*subj)%20201227 function loops(key, subject=7) n = subject i = 1 while n != key n = transform(n, subject) i += 1 end return i end
And then to calculate the encryption key:
function encrypt(key, loops) n = 1 for i in 1:loops n = transform(n, key) end return n end
Merry Christmas and Happy New Year!