Advertisement
Andrei90

Untitled

Mar 12th, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.27 KB | None | 0 0
  1. ENCRYPTED_FLAG = bytes.fromhex("0b5d2c62ee5c593349f6d84abb5e975b33beb4ad8d6f482fbb161355b01aae3185f8b7c14a6efa2210d09b8fa4ce2d")
  2.  
  3. def mul(x, y):
  4. z = [None for i in range(len(x))]
  5. for i in range(len(x)):
  6. z[i] = y[x[i]]
  7. return z
  8.  
  9. p = [211, 1, 176, 157, 250, 126, 80, 87, 173, 244, 197, 225, 215, 128, 209, 232, 219, 7, 243, 187, 251, 201, 112, 83, 96, 154, 73, 68, 162, 118, 194, 169, 111, 158, 180, 136, 66, 82, 103, 185, 175, 59, 134, 55, 249, 122, 226, 15, 142, 75, 228, 49, 132, 99, 16, 143, 54, 46, 183, 91, 196, 24, 116, 221, 29, 207, 22, 150, 166, 179, 172, 234, 93, 195, 220, 117, 204, 248, 13, 114, 2, 98, 245, 11, 161, 167, 45, 210, 141, 208, 199, 56, 18, 159, 137, 178, 153, 94, 32, 205, 19, 164, 51, 107, 109, 156, 33, 254, 20, 200, 61, 189, 230, 12, 14, 81, 135, 252, 3, 133, 71, 5, 206, 104, 62, 235, 90, 240, 224, 170, 65, 39, 4, 60, 63, 76, 124, 42, 212, 28, 110, 21, 120, 238, 168, 67, 131, 43, 192, 223, 31, 160, 102, 127, 47, 27, 35, 77, 241, 50, 182, 121, 106, 239, 233, 190, 165, 17, 108, 186, 184, 40, 193, 84, 129, 44, 0, 237, 198, 174, 202, 74, 217, 58, 188, 247, 97, 38, 85, 236, 6, 37, 144, 216, 34, 48, 95, 78, 151, 227, 145, 147, 100, 41, 113, 64, 177, 72, 10, 79, 88, 171, 119, 26, 125, 130, 9, 115, 203, 255, 86, 146, 138, 149, 52, 89, 92, 213, 30, 140, 123, 253, 148, 101, 163, 36, 8, 57, 222, 181, 218, 152, 69, 53, 70, 23, 229, 191, 214, 155, 139, 105, 242, 25, 231, 246]
  10. q = [ 19 ,162 ,170 ,59 ,57 ,204 ,218 ,174 ,67 ,127 ,233 ,43 ,179 ,177 ,180 ,31 ,161 ,222 ,178 ,196 ,158 ,202 ,11 ,145 ,113 ,40 ,7 ,123 ,195 ,185 ,224 ,151 ,64 ,115 ,9 ,153 ,138 ,28 ,55 ,51 ,63 ,242 ,144 ,214 ,6 ,50 ,199 ,253 ,5 ,235 ,156 ,247 ,0 ,80 ,69 ,197 ,72 ,248 ,137 ,90 ,245 ,116 ,91 ,108 ,221 ,203 ,132 ,193 ,109 ,83 ,225 ,244 ,234 ,112 ,66 ,155 ,169 ,216 ,135 ,12 ,131 ,15 ,215 ,87 ,71 ,189 ,255 ,104 ,48 ,4 ,34 ,130 ,16 ,190 ,142 ,97 ,211 ,125 ,166 ,54 ,29 ,152 ,10 ,18 ,227 ,172 ,148 ,100 ,120 ,99 ,38 ,140 ,143 ,246 ,79 ,188 ,13 ,175 ,117 ,23 ,194 ,184 ,191 ,37 ,173 ,62 ,61 ,212 ,22 ,24 ,241 ,96 ,36 ,213 ,198 ,254 ,168 ,103 ,207 ,251 ,94 ,21 ,101 ,187 ,141 ,114 ,32 ,231 ,17 ,129 ,176 ,119 ,35 ,122 ,118 ,2 ,1 ,8 ,128 ,163 ,210 ,219 ,44 ,206 ,47 ,41 ,82 ,192 ,160 ,33 ,73 ,157 ,237 ,3 ,60 ,107 ,14 ,52 ,146 ,20 ,39 ,58 ,147 ,220 ,136 ,121 ,133 ,105 ,183 ,205 ,134 ,74 ,89 ,208 ,98 ,49 ,236 ,56 ,126 ,65 ,78 ,165 ,252 ,139 ,53 ,102 ,154 ,249 ,167 ,85 ,159 ,171 ,240 ,238 ,30 ,124 ,106 ,201 ,110 ,228 ,88 ,68 ,92 ,243 ,86 ,76 ,250 ,232 ,26 ,229 ,181 ,164 ,226 ,45 ,25 ,75 ,27 ,182 ,150 ,42 ,209 ,77 ,46 ,149 ,230 ,93 ,84 ,223 ,81 ,217 ,70 ,95 ,200 ,239 ,111 ,186]
  11. p2 = [171, 1, 0, 77, 139, 90, 2, 210, 84, 70, 78, 89, 130, 224, 79, 148, 255, 87, 53, 38, 105, 147, 230, 11, 153, 47, 195, 166, 106, 3, 34, 186, 189, 241, 202, 124, 22, 245, 107, 247, 44, 91, 63, 143, 155, 206, 92, 232, 120, 117, 30, 75, 4, 205, 219, 238, 16, 226, 58, 56, 95, 96, 135, 146, 118, 72, 112, 31, 165, 174, 193, 163, 159, 48, 86, 252, 113, 214, 128, 14, 176, 32, 23, 225, 121, 17, 122, 88, 21, 10, 227, 54, 243, 50, 42, 198, 127, 137, 111, 64, 187, 233, 49, 254, 200, 35, 158, 231, 251, 145, 24, 236, 123, 215, 209, 98, 76, 242, 157, 60, 234, 126, 177, 109, 116, 36, 199, 218, 52, 184, 207, 185, 250, 196, 221, 204, 62, 134, 119, 162, 61, 201, 71, 222, 108, 150, 39, 55, 144, 149, 169, 182, 51, 240, 15, 68, 136, 248, 152, 228, 217, 5, 33, 181, 101, 6, 190, 7, 20, 97, 188, 175, 216, 161, 170, 249, 211, 57, 151, 129, 100, 220, 115, 183, 85, 191, 94, 103, 167, 8, 80, 82, 168, 9, 180, 142, 178, 13, 160, 213, 67, 43, 19, 59, 12, 29, 237, 93, 197, 114, 141, 40, 133, 73, 235, 65, 244, 81, 41, 246, 45, 131, 212, 223, 132, 208, 18, 26, 194, 110, 104, 25, 192, 164, 239, 66, 173, 46, 138, 74, 203, 102, 179, 99, 172, 83, 140, 37, 125, 27, 28, 156, 69, 154, 253, 229]
  12. q2 = [196, 44, 73, 90, 248, 53, 110, 60, 193, 212, 45, 214, 20, 52, 39, 151, 219, 92, 146, 236, 128, 252, 43, 114, 246, 63, 174, 37, 49, 121, 86, 119, 221, 188, 127, 122, 207, 195, 197, 247, 108, 46, 141, 30, 218, 156, 65, 239, 204, 75, 1, 223, 19, 131, 83, 56, 234, 81, 103, 34, 93, 13, 130, 120, 68, 139, 36, 208, 99, 87, 76, 230, 25, 143, 132, 2, 33, 106, 254, 179, 96, 31, 124, 104, 244, 205, 186, 227, 5, 57, 9, 241, 161, 134, 101, 125, 171, 62, 82, 69, 185, 35, 233, 178, 232, 237, 17, 29, 194, 54, 55, 94, 187, 84, 12, 183, 177, 107, 175, 145, 98, 136, 74, 28, 3, 91, 116, 240, 11, 113, 77, 211, 138, 238, 126, 111, 160, 18, 249, 95, 142, 202, 152, 105, 21, 79, 64, 164, 222, 24, 14, 23, 153, 191, 117, 170, 162, 67, 22, 206, 159, 228, 6, 154, 253, 242, 215, 89, 210, 115, 112, 8, 182, 59, 245, 100, 180, 0, 32, 158, 51, 137, 231, 88, 168, 184, 213, 172, 220, 102, 198, 66, 4, 167, 166, 235, 27, 72, 61, 203, 135, 41, 200, 251, 80, 10, 118, 217, 192, 189, 163, 157, 209, 150, 224, 173, 148, 165, 38, 26, 48, 109, 16, 149, 255, 169, 70, 226, 7, 229, 58, 47, 250, 50, 40, 155, 123, 147, 176, 144, 85, 216, 199, 129, 181, 190, 71, 243, 15, 201, 225, 97, 78, 42, 140, 133]
  13.  
  14. q3=mul(q,q)
  15.  
  16. for i in range(len(q)):
  17. try:
  18. assert q3[i] == q2[i]
  19. except AssertionError:
  20. print(f"Assertion failed at index {i}: q[{i}] = {q[i]}, q2[{i}] = {q2[i]}")
  21.  
  22. print(q)
  23. print(mul(q,q))
  24. print(q2)
  25. assert mul(p, p) == p2
  26. assert mul(q, q) == q2
  27.  
  28.  
  29. n = mul(p, q)
  30. FLAG = []
  31. for b in ENCRYPTED_FLAG:
  32. FLAG.append(n.index(b))
  33. n = mul(mul(n, p), q)
  34.  
  35. print(bytes(FLAG).decode('utf-8'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement