七夕暗号編✨
— Rocky@謎解き(低浮上中) (@rockynazo1024) July 7, 2020
織姫と彦星のツッコミどころ満載なLINEトークを大公開😂
GAZOAWAMNC^AMBA^BA?
※A=1,A^=27
答え確認はコチラから(カタカナで入力)
↳ https://t.co/j9cCOQ2cUd#暗号 #Rocky謎#解けたらRT #解けたらいいね pic.twitter.com/7asQnqDrk2
n=33 k=7
ZMUOTOANFUTN!
UT!
PA^KA^PNGAZOAWAMNFU?
KA^ZA^EATA^OZZA^UMNO!
GAZOAWAMNC^AMBA^BA?
※A=1,A^=27
あまり明示的なヒントはありませんが、RSA暗号の変換手法を用いた暗号となります。
RSA暗号とは powermod (a, b, m)をaのb乗 (mod m)とするとき、元の数aをpowermod (a, b, m)に変換する暗号です。
法の数mを固定する時、(適切な条件を満たすbであれば)b乗するという操作は可逆で、powermod (a, b, m)からaを逆算する数式は高校生レベルでも導くことができます。
けれどその数式はmを素因数分解しないと具体的な計算はできないものであり、mの素因数分解ができない限り、文字式としては解けるが具体的な数値は逆算できないものとなっています。
この問題では非常に小さな数値を法として使うためmの素因数分解が可能ですし、なんなら数式としての解放を経ずに具体的な計算によって逆関数を導くことだってできるため、解けるRSA暗号となっています。
この問題のようにn=33を法、k=7を冪として変換した場合、逆関数powermod (x, 3, 33)によって元の数字に戻す事ができます。
A=1, B=2, ... , Z=26, A^=27, ... , F^=32として
Z=26, powermod (26, 3, 33) = 20 = T
M=13, powermod (13, 3, 33) = 19 = S
U=21, powermod (21, 3, 33) = 21 = U
O=15, powermod (15, 3, 33) = 9 = I
...
となるため、順に解読して
ZMUOTOANFUTN! -> TSUINIAERUNE! (ついに会えるね!)
UT! -> UN! (うん!)
PA^KA^PNGAZOAWAMNFU? -> DOKODEMATIAWASERU? (どこで待ち合わせる?)
KA^ZA^EATA^OZZA^UMNO! -> KOTOZANOITTOUSEI! (こと座の一等星!)
GAZOAWAMNC^AMBA^BA?-> MATIAWASEBASHOHA (待ち合わせ場所は?)
という文章が読めました。
答えはこと座の一等星(ベガ)となります。
RSA暗号ってなに?、という理解を深めるための練習問題として、こういうの良いですよね。