--> Welcome to the Rubik's cube authentication server! --> --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> q) Quit <-- 1 --> What is your value of a? <-- 0 --> What is your value of b? <-- 0 --> Your public key is (0 * "U x'" + 0 * "L y'") == --> WWWWWWWWWGGGRRRBBBOOOGGGRRRBBBOOOGGGRRRBBBOOOYYYYYYYYY Zero cube: WWWWWWWWWGGGRRRBBBOOOGGGRRRBBBOOOGGGRRRBBBOOOYYYYYYYYY --> --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> q) Quit <-- 1 --> What is your value of a? <-- 1 --> What is your value of b? <-- 0 --> Your public key is (1 * "U x'" + 0 * "L y'") == --> OOOOOOGGGGGRWWWOBBYYYGGRWWWOBBYYYGGRWWWOBBYYYBBBRRRRRR Permutation a: [14, 26, 38, 13, 25, 37, 12, 24, 36, 8, 7, 6, 11, 23, 35, 45, 46, 47, 39, 27, 15, 10, 22, 34, 48, 49, 50, 40, 28, 16, 5, 4, 3, 9, 21, 33, 51, 52, 53, 41, 29, 17, 2, 1, 0, 44, 43, 42, 32, 31, 30, 20, 19, 18] of order 1260 --> --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> q) Quit <-- 1 --> What is your value of a? <-- 0 --> What is your value of b? <-- 1 --> Your public key is (0 * "U x'" + 1 * "L y'") == --> WWWWWWOOOOOYGGGWRRBBBOOYGGGWRRBBBOOYGGGWRRBBBRRRYYYYYY Permutation b: [15, 3, 0, 27, 4, 1, 39, 5, 2, 14, 26, 38, 47, 16, 17, 18, 19, 20, 9, 10, 8, 13, 25, 37, 46, 28, 29, 30, 31, 32, 21, 22, 7, 12, 24, 36, 45, 40, 41, 42, 43, 44, 33, 34, 6, 35, 50, 53, 23, 49, 52, 11, 48, 51] of order 1260 --> --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> q) Quit <-- 2 --> What username do you want to register? <-- test --> What public key do you want to register? <-- WWWWWWWWWGGGRRRBBBOOOGGGRRRBBBOOOGGGRRRBBBOOOYYYYYYYYY --> User registered! --> --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> q) Quit <-- 3 --> What user do you want to log in as? <-- test --> My public key is: --> WWORWRRYWBGWGOBOBGWGRRGBORYBBYROWYYRYWYRWYBGGGOBGYBOOO --> --> Please give me the result of: --> mykey.handshake(yourkey, "c3f9abd3bbe8287e".from_hex().unwrap()).to_hex() Parsed challenge: c3f9abd3bbe8287e <-- 0e7262beba4d5aad455eb31f8e4e8ef3 --> Your are now logged in! --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> 4) List users --> q) Quit <-- 4 --> List of registered users: --> Username: admin --> Key: GWYROYBBRYGWROGYGBRROGBYBYYRGBWWWOOWRYOWRYBGWGOGWRBBOO Admin pk: GWYROYBBRYGWROGYGBRROGBYBYYRGBWWWOOWRYOWRYBGWGOGWRBBOO --> --> Username: test --> Key: WWWWWWWWWGGGRRRBBBOOOGGGRRRBBBOOOGGGRRRBBBOOOYYYYYYYYY --> --> You have the following options: --> 1) Public key service --> 2) Register --> 3) Login --> 4) List users --> q) Quit <-- 3 --> What user do you want to log in as? <-- admin --> My public key is: --> ORBYOYYGGGGBROWOOYOBYRBGRYWGGYBWYBBRWWGROWROOBRYWRBWWG --> --> Please give me the result of: --> mykey.handshake(yourkey, "bf64108342470d6d".from_hex().unwrap()).to_hex() Parsed challenge: bf64108342470d6d Secret key for ORBYOYYGGGGBROWOOYOBYRBGRYWGGYBWYBBRWWGROWROOBRYWRBWWG is: (a=121, b=1026) Admin's permutation: [39, 48, 44, 32, 31, 30, 35, 1, 11, 47, 21, 45, 36, 19, 12, 6, 29, 51, 33, 34, 38, 43, 28, 10, 3, 49, 40, 50, 22, 7, 13, 4, 52, 0, 16, 14, 8, 27, 18, 17, 24, 42, 53, 46, 20, 15, 26, 2, 5, 25, 23, 9, 37, 41] Handshake cube: GYOOYOBRWRGRYWRBBWBBYGGYROBRBGRRWYYGWWOYWWGOGROBGWBOYO <-- 35843052ea2d21d58416008b120bb5ea --> Your are now logged in! --> Here is the flag: CTF{StickelsKeyExchangeByHand} Flag: CTF{StickelsKeyExchangeByHand}