題目
Mr. Anshel and Mr. Goldfeld were trying to exchange some asymmetric keys to get a shared key. They aren't very good at math, so they decided to use a Rubik's Cube instead to do the crypto. I don't think it's very secure though, I think you might be able to guess some of their keys :hmm:
Mr. A public key: [B' U', F B F, R' D, B D']
Mr. G public key: [R D L', D U' B, U F', L' F]
Mr. A sends: [B D' R' D R D L' D' R D B', B D' R' D D U' B D' R D B', B D' R' D U F' D' R D B', B D' R' D L' F D' R D B']
Mr. G sends: [U F' R D L' B' U' L D' R' F U', U F' R D L' F B F L D' R' F U', U F' R D L' R' D L D' R' F U', U F' R D L' B D' L D' R' F U']
Anshel–Anshel–Goldfeld key exchange
秘鑰交換協(xié)議.png
由上圖可知刻剥,Alice的公鑰是a組成的元組,私鑰是a和它的逆組成的序列
Bob的公鑰是b組成的元組熬拒,语御,私鑰是b和它的逆組成的序列
他們的共享密鑰e=A-1 B-1 A B
由于協(xié)議基于非阿貝爾群峻贮,所以不滿足交換
通過(guò)Alice與Bob發(fā)出的信息,我們可以很容易的看出A-1 A B-1 B
flag即為共同密鑰e
解題
(a1, a2, a3)=[B' U', F B F, R' D, B D']
(B-1 a1 B,B-1 a2 B,B-1 a3 B,B-1 a4 B)=[U F' R D L' B' U' L D' R' F U', U F' R D L' F B F L D' R' F U', U F' R D L' R' D L D' R' F U', U F' R D L' B D' L D' R' F U']
聯(lián)立->
B-1 = U F' R D L'
B=L D' R' F U'
同理求得A A-1