Vol9, rnd1, cryptography witeups
parent
1af6f1efbd
commit
fffdb27379
|
@ -0,0 +1,77 @@
|
||||||
|
"Txhash","Blockno","UnixTimestamp","DateTime","From","To","ContractAddress","Value_IN(MATIC)","Value_OUT(MATIC)","CurrentValue @ $0.8076/MATIC","TxnFee(MATIC)","TxnFee(USD)","Historical $Price/MATIC","Status","ErrCode","Method"
|
||||||
|
"0x119314912c0acd3d6536f544af1e09cc163d4240eb57778bd04703d543e62077","32265959","1661340445","2022-08-24 11:27:25","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","","0x36a1424da63a50627863d8f65c0669da7347814a","0","0","0","0.07035575603379425","0.0568193085728922","0.81","","","0x60806040",""
|
||||||
|
"0xc0137babcc7c88075aafb65105399517f577195695b2587cfe35948bc37a5a4d","32267762","1661345190","2022-08-24 12:46:30","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001387449576263305","0.00112050427779025","0.81","","","Register",""
|
||||||
|
"0xdb9f2f4a3dd6e3c78fca6a462d9e4dd7f3e6993a3dc7de71a64ad1b9802ff6bd","32267868","1661345410","2022-08-24 12:50:10","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00138022459349089","0.00111466938170324","0.81","","","Register",""
|
||||||
|
"0x722db109e4776dfead1bdb589481d04e3c87e449dffc03a788ac3849465865ea","32272357","1661356087","2022-08-24 15:48:07","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00141994202166183","0.00114674517669409","0.81","","","Register",""
|
||||||
|
"0xa6339c2045f9200f000afd2487cbd55771b51ecbd2bc673b1ef0a612e70f5352","32276013","1661364541","2022-08-24 18:09:01","0xab978ce28726b3a88b54591a3ff28544c43abb22","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850000597935","0.00111436686048289","0.81","","","Register",""
|
||||||
|
"0x72356ad024c35cd11a81f9c3ac945a3445606db917df4a7b06533e90eaf1187f","32277888","1661369186","2022-08-24 19:26:26","0xc5954aeb39ebe5c99ba8607f63930a1b61a5f9ab","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850011452755","0.00111436686924924","0.81","","","Register",""
|
||||||
|
"0xb4bc1cfac1054e198759d1040de31e64f1b83db71b2c898adcf01866e3848c6e","32279291","1661372849","2022-08-24 20:27:29","0x80acf4f5f4d607e07f6ce55114500a5336fbf58c","0x36a1424da63a50627863d8f65c0669da7347814a","","0.01","0","0.008076","0.000645497643156435","0.000521303896613137","0.81","Error(0)","execution reverted","Transfer",""
|
||||||
|
"0x1b2fd8f40d6f1de89840b7847a6fb6f198d83315689b273a662aa06b9bf6f12d","32279609","1661373506","2022-08-24 20:38:26","0x80acf4f5f4d607e07f6ce55114500a5336fbf58c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00137985011323969","0.00111436695145237","0.81","","","Register",""
|
||||||
|
"0x2caa5183db350d715cd0e89c1be03ac12eee0ccaa8b74092c3065fc1bb7c8fd0","32287526","1661390368","2022-08-25 01:19:28","0x06c2407cb7bc9f5edbe1af1b3e81eaf2f3b206cc","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001405377242524095","0.00113498266106246","0.82","","","Register",""
|
||||||
|
"0x49fd7a1089d2161f552f603bdb22d202cc1de161a2d7ee4db061c5fceef47150","32288463","1661392306","2022-08-25 01:51:46","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00292523994158514","0.00236242377682416","0.82","","","Set Flag",""
|
||||||
|
"0x128bb3e1874794faca3bfde697533fec5f47b3913bbd517c1cbe17727607cadd","32288478","1661392336","2022-08-25 01:52:16","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00292671000374562","0.00236361099902496","0.82","","","Set Flag",""
|
||||||
|
"0xf5dec50fe8c77d071a9bada21a927bf5d51c2f5fa8ad7910baf3241706b47075","32288501","1661392382","2022-08-25 01:53:02","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003145410591734376","0.00254023359388468","0.82","","","Set Flag",""
|
||||||
|
"0x697650bb189b37c653df947f1396d37afd3fc170ccdaa37b65977e9b9fc709d8","32288547","1661392478","2022-08-25 01:54:38","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00286830000162537","0.00231643908131265","0.82","","","Set Flag",""
|
||||||
|
"0x09e46b0e0cb6f49f06c6006b657448f94cdce9e56d8e0a56d65afcf116511ec9","32288562","1661392508","2022-08-25 01:55:08","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00286830000162537","0.00231643908131265","0.82","","","Set Flag",""
|
||||||
|
"0xb35503c53f3d10765b8c3bc18ba78bebf950eab63e89bb87fc549de7d214ea70","32288679","1661392750","2022-08-25 01:59:10","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00286830000124293","0.00231643908100379","0.82","","","Set Flag",""
|
||||||
|
"0x4169c1dc35e49ddd3694c3acdce825b86a71b5c8700aafcc7f2bdda5b8ecba87","32288679","1661392750","2022-08-25 01:59:10","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00286830000124293","0.00231643908100379","0.82","","","Set Flag",""
|
||||||
|
"0xca818ebd9e54f39446fedb4d254c650052577cd966431e1f83eb713fa85c1ee0","32288698","1661392788","2022-08-25 01:59:48","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001570680011153886","0.00126848117700788","0.82","","","Set CCTF Status",""
|
||||||
|
"0xeb5e619d270287ee14de8bff351e3d9331573feac69feb2ab838a066ceaebd89","32288851","1661393107","2022-08-25 02:05:07","0xc5954aeb39ebe5c99ba8607f63930a1b61a5f9ab","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003951870001844206","0.00319153021348938","0.82","","","Submit Flag",""
|
||||||
|
"0xeadcdbfd2535b2fa2dd69b43bb50dfe850f370d2f48ee74e6a9634a7a994e84e","32289816","1661395226","2022-08-25 02:40:26","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003438510001375404","0.00277694067711078","0.82","","","Submit Flag",""
|
||||||
|
"0x5251b4e98d85dd47ffdcdfb9b89925e2159a530390b8f94fb710af8aed2d1eb1","32289906","1661395410","2022-08-25 02:43:30","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.004685552077970742","0.00378405185816917","0.82","","","Submit Flag",""
|
||||||
|
"0x403f9ffd1fcf67a7c8aa82e43dc86a8ef60187fcf789c2564b5aceba91fc31c9","32293193","1661402733","2022-08-25 04:45:33","0x144d184ab965ea9746a619e09459eecf3189b895","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00137985000064393","0.00111436686052004","0.82","","","Register",""
|
||||||
|
"0x60c9642f93547c68379a4d8796656df584e728318bfa117d1c7a6b4804f01669","32293215","1661402777","2022-08-25 04:46:17","0x144d184ab965ea9746a619e09459eecf3189b895","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003438870001604806","0.00277723141329604","0.82","","","Submit Flag",""
|
||||||
|
"0x1ca0809ac428075aa17fdfdf02033a4d8803d0a77089caea3ee8ba2025687e19","32294814","1661406341","2022-08-25 05:45:41","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001032531632062432","0.00083387254605362","0.82","Error(0)","execution reverted","Submit Flag",""
|
||||||
|
"0xf4af59b3d04973089e75971610a96e5a8f3b19d14506ee9498e11f160ec0a8c0","32296102","1661409128","2022-08-25 06:32:08","0x144d184ab965ea9746a619e09459eecf3189b895","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230001463115","0.00236322334918161","0.82","","","Submit Flag",""
|
||||||
|
"0x28b9f7a677b81fea3fbc8954f9113e6fb05f7196198b68acb9e7f158cafe0366","32296877","1661410726","2022-08-25 06:58:46","0xd3948439c7709f44d005b71e4b07b941c87bdea1","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850000597935","0.00111436686048289","0.82","","","Register",""
|
||||||
|
"0xd18d423854990818d13ea96061003671e3258d7739bac2f1a1fdda6845883e94","32298689","1661414854","2022-08-25 08:07:34","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850000873905","0.00111436686070577","0.82","","","Register",""
|
||||||
|
"0xdf086f8cc3ac876d2e8cde859e78b143dc71bcc7df684281922b0aca69573431","32299179","1661415862","2022-08-25 08:24:22","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.004011595001719255","0.00323976412338847","0.82","","","Submit Flag",""
|
||||||
|
"0xdddcf0cd6ef08ee87660ef6838925ec79f133acb128020f9396cb6d9b1539e91","32299479","1661416484","2022-08-25 08:34:44","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003438870001948693","0.00277723141357376","0.82","","","Submit Flag",""
|
||||||
|
"0x3e9897ab0a30a37bc9fc8831c757f06fecdcb511da342844352d7f692a6d0ad2","32299538","1661416606","2022-08-25 08:36:46","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230001463115","0.00236322334918161","0.82","","","Submit Flag",""
|
||||||
|
"0xeb07da824364ce8d2ed64a2e0de6d95e114078eef2e0a1a583f823a48f184e27","32300162","1661417900","2022-08-25 08:58:20","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002925510001365238","0.00236264187710257","0.82","","","Submit Flag",""
|
||||||
|
"0xb6ef56324d9ec5d46ceb626d190e2a393e121ddfd86dddc8cb7ae2a6b7f9b48a","32300709","1661419148","2022-08-25 09:19:08","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001065294072390272","0.000860331492862384","0.82","Error(0)","execution reverted","Submit Flag",""
|
||||||
|
"0xd76df64de029224f0e2adfa6eb4b8efb5f113f59a99433919016f0be8a40fcae","32301016","1661419782","2022-08-25 09:29:42","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00137985000055194","0.00111436686044575","0.82","","","Register",""
|
||||||
|
"0x150bc751df0daa03192f354d011796a6f76c340e5ccb208f4dc88780882347fa","32302151","1661422253","2022-08-25 10:10:53","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00216051459741945","0.00174483158887595","0.82","Error(0)","execution reverted","Submit Flag",""
|
||||||
|
"0xbcab613a19ffc7de5d1531cd02334b08cdc4bf143ec6aa419ba797d3fc8d064b","32302358","1661422725","2022-08-25 10:18:45","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.004584680007220871","0.00370258757383158","0.82","","","Submit Flag",""
|
||||||
|
"0x706f64c9313d5d6c507952a969010055c6531c5f231185496149c723e8580987","32303765","1661425709","2022-08-25 11:08:29","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003058750065740309","0.00247024655309187","0.82","","","Submit Flag",""
|
||||||
|
"0x0f46e261c5fe9648f46c13c0b8b0a19ce64f8246c4211b4e91d6498f2fe1c278","32304027","1661426377","2022-08-25 11:19:37","0xd3948439c7709f44d005b71e4b07b941c87bdea1","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003438977236002645","0.00277731801579574","0.82","","","Submit Flag",""
|
||||||
|
"0xe76ecebc575391e3cbe4067692e1e87e00e87a422d83b778765f62d4c59919fd","32304257","1661426860","2022-08-25 11:27:40","0xd3948439c7709f44d005b71e4b07b941c87bdea1","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926246352358486","0.00236323655416471","0.82","","","Submit Flag",""
|
||||||
|
"0x89b4c4f27ac2fd05b37ea32d44c81844ac0922bd8007c88295631431716de086","32307306","1661433530","2022-08-25 13:18:50","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003119893468259952","0.00251962596496674","0.82","","","Submit Flag",""
|
||||||
|
"0xc920a3b09c27ec2235c4fa9c5b502e0ddd93414417e436b6546d4ead3edc1a0b","32307525","1661433984","2022-08-25 13:26:24","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926236761444579","0.00236322880854264","0.82","","","Submit Flag",""
|
||||||
|
"0xc3adf0e5c359684fba6eed9df9aa388066ff19792b83da3ee3b8faee41dff2e5","32308789","1661436857","2022-08-25 14:14:17","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00292587046131217","0.00236293298455571","0.82","","","Submit Flag",""
|
||||||
|
"0x06bf682e10bc75cb572d709575757d41d13a94d01e669e03ea9048bd019430c9","32312309","1661444647","2022-08-25 16:24:07","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002925510001267721","0.00236264187702381","0.82","","","Submit Flag",""
|
||||||
|
"0x788b15c73609e9035b285f9b715be8d64e50066be5a758720275a641c2363335","32312849","1661445831","2022-08-25 16:43:51","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003914341096576441","0.00316122186959513","0.82","","","Submit Flag",""
|
||||||
|
"0x99ef8e8870e5a4a12885ec45454254df323f1ed77f59b9c3df1db6d340b52966","32313120","1661446481","2022-08-25 16:54:41","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230001463115","0.00236322334918161","0.82","","","Submit Flag",""
|
||||||
|
"0x07e94485168860323e8a8363f69de6319398ad4846862c455643aacbeaf1d383","32315025","1661450796","2022-08-25 18:06:36","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230442153353","0.00236322370508305","0.82","","","Submit Flag",""
|
||||||
|
"0xbfb98af555fa6489fcfc7f59ca1f764d937a7242217b8b84b6fc184ec6b0e6cf","32315767","1661452452","2022-08-25 18:34:12","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002925870002243167","0.00236293261381158","0.82","","","Submit Flag",""
|
||||||
|
"0xafb5bba88b576b53d09b1e9ac4c8f027d6b9537f3bcdea445034da90038ec146","32319159","1661459962","2022-08-25 20:39:22","0x25de005e3966dadfe3d6ac44436abd8cf30b6ee2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850000689925","0.00111436686055718","0.82","","","Register",""
|
||||||
|
"0xba61f06e2a602416a32ed11f3277658b3bc8f0dd59d15fc8bcd636415f5c0509","32319342","1661460340","2022-08-25 20:45:40","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003154475941658197","0.00254755477048316","0.82","","","Submit Flag",""
|
||||||
|
"0x224422dd1ef30db5eedb7bbddb1b8e2ea7d0e25560b7e26c849abaa5d613fda7","32319741","1661461286","2022-08-25 21:01:26","0x25de005e3966dadfe3d6ac44436abd8cf30b6ee2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003438510041605971","0.00277694070960098","0.82","","","Submit Flag",""
|
||||||
|
"0x91fa52da5ca58df220d4791f54c1ba7b6abb7920ca19ec1f49ced13c904b5dc4","32319772","1661461356","2022-08-25 21:02:36","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003004931022080339","0.00242678229343208","0.82","","","Submit Flag",""
|
||||||
|
"0x101cdfd9b66eb61aab61e9885e0204811b00ebbb117b7f327eb0e233d063f230","32320851","1661463879","2022-08-25 21:44:39","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003823136803120928","0.00308756528220046","0.82","","","Submit Flag",""
|
||||||
|
"0x4cd92e76a09d57e7c43824eb48e824707c3d78d1b8763f753c153987f5dc0991","32321547","1661465683","2022-08-25 22:14:43","0x25de005e3966dadfe3d6ac44436abd8cf30b6ee2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00292623000195082","0.00236322334957548","0.82","","","Submit Flag",""
|
||||||
|
"0xcb5e3cc03b1cacdc5488b935365156f12cbe5aee5175a190dc886296199d4bf4","32322692","1661468664","2022-08-25 23:04:24","0x3c963a0179f9ebb7a14409a0065ee3ad24347a0e","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002073876714467005","0.00167486283460355","0.82","","","Register",""
|
||||||
|
"0x789f01317ac3bfec7431669c2bb4c331a25865e9a43a562e17c02ce01a6e7538","32324295","1661472684","2022-08-26 00:11:24","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.005203812434763129","0.0042025989223147","","","","Submit Flag",""
|
||||||
|
"0x1609a72a34db4279232536884c72f299f1e349284234f383515b1be31894a1ff","32324952","1661474294","2022-08-26 00:38:14","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00292623001072951","0.00236322335666515","","","","Submit Flag",""
|
||||||
|
"0xf6bc89063940b36d6faba0e6ff70ac8d571871679d048cd2f1c79f9dc44cba5d","32326809","1661478896","2022-08-26 01:54:56","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002950369381529184","0.00238271831252297","","","","Set Flag",""
|
||||||
|
"0x65859304601ad69c3998f8998afe344d41d1cb4b84d92bcf28c7c67c2e4de9fa","32326820","1661478918","2022-08-26 01:55:18","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001193495940657254","0.000963867321674798","","","","Set Flag",""
|
||||||
|
"0x3052fc52fa044b3de676c5c435ef913215a12838a98988e8444c9c86bd693de2","32327185","1661479800","2022-08-26 02:10:00","0x80acf4f5f4d607e07f6ce55114500a5336fbf58c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003439230042531811","0.00277752218234869","","","","Submit Flag",""
|
||||||
|
"0xd869d8838c17acc46c2fcbfc128e68c96b8d38f852ef18f482fe9564abb549cf","32327777","1661481276","2022-08-26 02:34:36","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230004194263","0.00236322335138729","","","","Submit Flag",""
|
||||||
|
"0x813662e0bc449e4682bed2b1ac68caf747ae5d3a5725696816799239bbf89cb4","32328889","1661483952","2022-08-26 03:19:12","0x9ff33bd6a9bfd3e9fe79e2db5f2394b8da01d2b1","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850012280665","0.00111436686991787","","","","Register",""
|
||||||
|
"0x12dbbfae0cfe4e904d73be03e730e3d329788791affe1f438044f20e84eeb0f3","32329022","1661484352","2022-08-26 03:25:52","0x2ed3893940bef2e3bd0fab56d7680a5d5017264b","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230031115579","0.00236322337312894","","","","Submit Flag",""
|
||||||
|
"0x7355b42ac61bbe56fd2903a02cc6baf25eb71303fced21780a209d899967b4aa","32329023","1661484356","2022-08-26 03:25:56","0x9930cbd38dfdb59faba8bb741047b38158bbf0ea","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.0010659944376585","0.000860897107853005","","Error(0)","execution reverted","Submit Flag",""
|
||||||
|
"0x251618c36c3a9588d98c95fefe87c2605e30758a3d5159534542f213179fbeca","32329045","1661484404","2022-08-26 03:26:44","0x9930cbd38dfdb59faba8bb741047b38158bbf0ea","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001379850038129855","0.00111436689079367","","","","Register",""
|
||||||
|
"0xc51541fa854fae1cc0643a5ed496e01caac386fc5c564d230451b25e8001c0ca","32329106","1661484530","2022-08-26 03:28:50","0x9930cbd38dfdb59faba8bb741047b38158bbf0ea","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.000936120009548424","0.000756010519711307","","Error(0)","execution reverted","Submit Flag",""
|
||||||
|
"0xb1c52874384520f5c6dc385f2953ec88b7a4964d863786ac85a8efe310814ce3","32329592","1661485530","2022-08-26 03:45:30","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002926230001463115","0.00236322334918161","","","","Submit Flag",""
|
||||||
|
"0x50c84b19dddecfbd50c61b59fb2f673ad1be64eba94cd09f1f466613d708e485","32330244","1661487262","2022-08-26 04:14:22","0xd363506e11f5ff0b76b850ab1e42b35a8c41efa9","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001511222212609375","0.00122046305890333","","","","Register",""
|
||||||
|
"0x4d529f7af1b0f8ea4958f145a4fbeeb2ee94d6d497e4acf548a8eb4d5ca32d24","32330244","1661487262","2022-08-26 04:14:22","0x1337c0de609a66b9440ff97f66d3de12d3ac2738","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00302377100585246","0.00244199746432645","","","","Submit Flag",""
|
||||||
|
"0xdacac67c0b5d91720d3177a82b0abb84a22173458b5d8a529c796abb74a2b03b","32331373","1661489680","2022-08-26 04:54:40","0xb73dae757c54ff59272f8bf17d1f05bfa8ac1591","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00360387085681543","0.00291048610396414","","","","Submit Flag",""
|
||||||
|
"0xbccc53cd4d800b4a0e1b956a80ef9523c7e7e35c9dea503372cf2650c4c63195","32333379","1661494496","2022-08-26 06:14:56","0xaa2d91a646d79e71aa9ebcd9de71d51221754a47","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.00172803898016551","0.00139556428038167","","","","Register",""
|
||||||
|
"0x64b5e5b8e130278240e2986d34855bff55de2cb74e2ae1cf3303d92be47c3686","32334378","1661496941","2022-08-26 06:55:41","0x960217faf789e5761da3f1d12b9134acce5fc55c","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.002925874068617293","0.00236293589781533","","","","Submit Flag",""
|
||||||
|
"0x38690a84cf941c38c8d65973a5cd75f090c295b21974c774fd2550871dc2582f","32334631","1661497591","2022-08-26 07:06:31","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003437047519718063","0.00277575957692431","","","","Submit Flag",""
|
||||||
|
"0x09c9d639ba22ff819cfac327a2c4df14cbe90dd3675fd7023203ce50adb9282e","32334707","1661497747","2022-08-26 07:09:07","0xaa2d91a646d79e71aa9ebcd9de71d51221754a47","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003553506781589665","0.00286981207681181","","","","Submit Flag",""
|
||||||
|
"0x639df204db8fb019f5244a483f1a6aa90e6d8858bcd988086601208a7df4f319","32334950","1661498505","2022-08-26 07:21:45","0xa348c5709ed9fe765885514ef0cf19e562d50852","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003888016780829425","0.00313996235219784","","","","Register",""
|
||||||
|
"0x3ca25fc8e48dd12ff27bb3d0e8be625b9dbf44425d44afc94a5b5251bc4437be","32335261","1661499276","2022-08-26 07:34:36","0xc7c0071e7bf54fb6b1fca7940ac5d91d60e4db93","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.003269903243271155","0.00264077385926578","","","","Register",""
|
||||||
|
"0x83c3e71c69bc8efacc3829abd796de0902e41c3b3b933e1dac679026e2070835","32335279","1661499312","2022-08-26 07:35:12","0xaa2d91a646d79e71aa9ebcd9de71d51221754a47","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.006306344828829873","0.00509300408376301","","","","Submit Flag",""
|
||||||
|
"0x0349fb1b3e4ad4c38866e318d0d7c4a4111873ea5b84979df47b3df7da6b3c2e","32335604","1661500112","2022-08-26 07:48:32","0xce0d246b3889e830be51683a08e7cea1439fa1d4","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.005860908305660047","0.00473326954765105","","","","Submit Flag",""
|
||||||
|
"0x97c0b31af0ff48293e739cd07f8193b77d2c96652a6f0faac0d1db53f8257506","32335921","1661500766","2022-08-26 07:59:26","0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2","0x36a1424da63a50627863d8f65c0669da7347814a","","0","0","0","0.001103126999208192","0.000890885364560536","","","","Set CCTF Status",""
|
Can't render this file because it has a wrong number of fields in line 2.
|
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -0,0 +1,10 @@
|
||||||
|
**CCTF vol9 rnd1 challenge writeups**
|
||||||
|
|
||||||
|
# List of cryptocurrency tasks:
|
||||||
|
- TBA
|
||||||
|
|
||||||
|
# List of cryptography tasks:
|
||||||
|
- Asinve (Easy) - factoreal
|
||||||
|
- Mazlos (Medium Easy) - factoreal
|
||||||
|
- Ratato (Medium Hard) - factoreal
|
||||||
|
- Tifany (Hard) - factoreal
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from secret import x, y, flag
|
||||||
|
|
||||||
|
print(f'x*y + 37*x + 13*y = {x*y + 37*x + 13*y}')
|
||||||
|
|
||||||
|
m = bytes_to_long(flag)
|
||||||
|
c = pow(m, 31337, x * y)
|
||||||
|
|
||||||
|
print(f'c = {c}')
|
|
@ -0,0 +1 @@
|
||||||
|
Minimal cryptosystem is desirable everywhere, isn't it?
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
|
||||||
|
# It's clear that: x*y + 37*x + 13*y = (x + 13) * (y + 37) - 13 * 37
|
||||||
|
# expr = x*y + 37*x + 13*y
|
||||||
|
|
||||||
|
expr = 78165212618609657138836880180784953147937847225293529662866015685047230804901135619861816170298320767361932994009655444276454635767070943018615661814998170196988225114090917916739405210438739233946336624923903318136213856380816539075895614337743455379152165904564622942983293828630483375617563060841436037032
|
||||||
|
|
||||||
|
# Now try to factor (expr + 13 * 37), it's easy to check that (expr + 13 * 37) has only two prime factor :)
|
||||||
|
# expr + 13 * 37 = (x + 13) * (y + 37)
|
||||||
|
N = expr + 13 * 37
|
||||||
|
|
||||||
|
# python3 -m primefac N
|
||||||
|
# 11963762482016783111 6533497529402055603646403092973137776146443537692607524362392132709879518444985038203228969704717741570837972352283511024609066666196224249075700651781381718135200089722249648104171275658471066248300072773775896536019470067922066326056012448278885442521552695200564882311694290367135046383
|
||||||
|
# Then:
|
||||||
|
|
||||||
|
x = 11963762482016783111 - 13
|
||||||
|
y = 6533497529402055603646403092973137776146443537692607524362392132709879518444985038203228969704717741570837972352283511024609066666196224249075700651781381718135200089722249648104171275658471066248300072773775896536019470067922066326056012448278885442521552695200564882311694290367135046383 - 37
|
||||||
|
|
||||||
|
# So we have an official RSA task here, first we factor x and y:
|
||||||
|
|
||||||
|
x = 2 * 5981881241008391549
|
||||||
|
y = 2 * 3266748764701027801823201546486568888073221768846303762181196066354939759222492519101614484852358870785418986176141755512304533333098112124537850325890690859067600044861124824052085637829235533124150036386887948268009735033961033163028006224139442721260776347600282441155847145183567523173
|
||||||
|
|
||||||
|
phi = 2 * (x // 2 - 1) * (y // 2 - 1)
|
||||||
|
e = 31337
|
||||||
|
d = inverse(e, phi)
|
||||||
|
|
||||||
|
c = 77659016890839762768185177448290865321689103903688518906063059972868578338626965390649161940137932439934612804680280807664502018534568684267970075208429306631612376831959148670053665126977208637383716238501111347514927281055286901278746032120016861900738163160264095274050080381725656064614271318154902797773
|
||||||
|
|
||||||
|
# The original message is:
|
||||||
|
|
||||||
|
m = pow(c, d, x * y)
|
||||||
|
flag = long_to_bytes(m)
|
||||||
|
print(f'flag = {flag}')
|
|
@ -0,0 +1 @@
|
||||||
|
CCTF{Modern_Crypto_Ne3d_S1mPl3_M4th!!}
|
|
@ -0,0 +1,2 @@
|
||||||
|
x*y + 37*x + 13*y = 78165212618609657138836880180784953147937847225293529662866015685047230804901135619861816170298320767361932994009655444276454635767070943018615661814998170196988225114090917916739405210438739233946336624923903318136213856380816539075895614337743455379152165904564622942983293828630483375617563060841436037032
|
||||||
|
c = 77659016890839762768185177448290865321689103903688518906063059972868578338626965390649161940137932439934612804680280807664502018534568684267970075208429306631612376831959148670053665126977208637383716238501111347514927281055286901278746032120016861900738163160264095274050080381725656064614271318154902797773
|
|
@ -0,0 +1,14 @@
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
|
||||||
|
# while True:
|
||||||
|
# x = 2 * getPrime(63)
|
||||||
|
# y = 2 * getPrime(1024 - 64 - 1)
|
||||||
|
# if isPrime(x + 13) and isPrime(y + 37):
|
||||||
|
# print(f'x = {x}')
|
||||||
|
# print(f'y = {y}')
|
||||||
|
# break
|
||||||
|
|
||||||
|
x = 11963762482016783098
|
||||||
|
y = 6533497529402055603646403092973137776146443537692607524362392132709879518444985038203228969704717741570837972352283511024609066666196224249075700651781381718135200089722249648104171275658471066248300072773775896536019470067922066326056012448278885442521552695200564882311694290367135046346
|
||||||
|
|
||||||
|
flag = b'CCTF{Modern_Crypto_Ne3d_S1mPl3_M4th!!}'
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from secret import x, y, flag
|
||||||
|
|
||||||
|
print(f'x*y + 37*x + 13*y = {x*y + 37*x + 13*y}')
|
||||||
|
|
||||||
|
m = bytes_to_long(flag)
|
||||||
|
c = pow(m, 31337, x * y)
|
||||||
|
|
||||||
|
print(f'c = {c}')
|
|
@ -0,0 +1,2 @@
|
||||||
|
x*y + 37*x + 13*y = 78165212618609657138836880180784953147937847225293529662866015685047230804901135619861816170298320767361932994009655444276454635767070943018615661814998170196988225114090917916739405210438739233946336624923903318136213856380816539075895614337743455379152165904564622942983293828630483375617563060841436037032
|
||||||
|
c = 77659016890839762768185177448290865321689103903688518906063059972868578338626965390649161940137932439934612804680280807664502018534568684267970075208429306631612376831959148670053665126977208637383716238501111347514927281055286901278746032120016861900738163160264095274050080381725656064614271318154902797773
|
|
@ -0,0 +1 @@
|
||||||
|
You should solve linear system of equations regarding the elliptic curve, is it solvable?
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
|
||||||
|
# The main idea behind this cryptography task is the Pollard's rho algorithm, so we are looking for distinct pairs (c1, d1) and (c2, d2)
|
||||||
|
# of integers modulo O, where O is the order of given elliptic curve such that:
|
||||||
|
# c1 * P + d1 * Q = c2 * P + d2 * Q
|
||||||
|
# Then:
|
||||||
|
# (c1 − c2) * P = (d2 − d1) * Q = (d2 − d1) * m * P
|
||||||
|
# and so
|
||||||
|
# (c1 − c2) ≡ (d2 − d1) * m (mod O)
|
||||||
|
# and finally:
|
||||||
|
# m = (c1 − c2) * inverse(d2 − d1, O) % O
|
||||||
|
|
||||||
|
# 5007339194230261965136074875375133987796015742 * P + 1181661145340628811169250733264617512334954185830 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772)
|
||||||
|
# 1438308046558610569478031991194627397484760926155 * P + 556538017327362316826260662010956239612818063997 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772)
|
||||||
|
|
||||||
|
# Hence
|
||||||
|
|
||||||
|
c1 = 5007339194230261965136074875375133987796015742
|
||||||
|
d1 = 1181661145340628811169250733264617512334954185830
|
||||||
|
c2 = 1438308046558610569478031991194627397484760926155
|
||||||
|
d2 = 556538017327362316826260662010956239612818063997
|
||||||
|
|
||||||
|
# O = E.order()
|
||||||
|
O = 1461501637330902918203683758258034914537499271049
|
||||||
|
|
||||||
|
m = (c1 - c2) * inverse(d2 - d1, O) % O
|
||||||
|
msg = long_to_bytes(m)
|
||||||
|
print(f'flag = {msg}')
|
|
@ -0,0 +1 @@
|
||||||
|
CCTF{pOl1arD5_Rh0_A7T4cK}
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env sage
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from secret import x, liar, flag
|
||||||
|
|
||||||
|
p = 2 ** 160 - 229233
|
||||||
|
E = EllipticCurve(GF(p), [313, 110])
|
||||||
|
|
||||||
|
m = bytes_to_long(flag.lstrip(b'CCTF{').rstrip(b'}'))
|
||||||
|
assert m < p
|
||||||
|
|
||||||
|
P = E((x, 348211368764139637940513065884307924565894663368))
|
||||||
|
|
||||||
|
Q = m * P
|
||||||
|
print(f'Q = ({Q.xy()[0]}, ?)')
|
||||||
|
|
||||||
|
for _ in liar:
|
||||||
|
a, b = _
|
||||||
|
print(f'{a} * P + {b} * Q = {(a*P + b*Q).xy()}')
|
|
@ -0,0 +1,111 @@
|
||||||
|
Q = (1149184445068682391846063871207801540582566148181, ?)
|
||||||
|
988630086215088960552365492199385561429165176609 * P + 1425125798010320856068882317674624408728758262149 * Q = (891327570936736199376593816180714400577229884155, 505501515961791528437427462563346499726188382939)
|
||||||
|
1260450147755255597869480951959834842941719116575 * P + 699738988783849332839255718960955630080794695244 * Q = (944858780950308888632884662181651921121435950644, 429287656427671942225859201128821639149557960001)
|
||||||
|
127348066282706815439725877979880618543908103093 * P + 894350962161251572940964969870274141039188710311 * Q = (670434942883837254710430806097454831301828216484, 788753699995968465470731368747478709210040098146)
|
||||||
|
1043826648834429472305931240604668155611728330937 * P + 1342322396624500632270187554226846551256955209229 * Q = (362677435621982290517004688594915942429828549456, 314219895272421261208075840421092334924302526830)
|
||||||
|
803729470612530365522358877199543923902925856150 * P + 530054954779981979819724228883040083209499412793 * Q = (920346092821634616151603476038272215373999095715, 275159599532259974045396250895837600028800441112)
|
||||||
|
893723477877843320902118584410350116822895818696 * P + 211155601225987467429108044781250616637181396334 * Q = (1063850627675720120145159993376240287080986191694, 890837959711862297188002674099362027553861169687)
|
||||||
|
5007339194230261965136074875375133987796015742 * P + 1181661145340628811169250733264617512334954185830 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772)
|
||||||
|
1415051061375272409130906517030573639873333286310 * P + 1163062110826483903659824912056572556567650210470 * Q = (133943387840348302843484784484958673438663282701, 779958243956649805963943404943065517476824426681)
|
||||||
|
983954572138271748182102584822521998924246662662 * P + 642401554568052122962917374055758750056499767645 * Q = (1185431286492515336341939460896450473743337575659, 952983801375562470161187371120945525549806922500)
|
||||||
|
863100200243180380634619811808609485141492376330 * P + 108816122196558594129553789608904780874200772214 * Q = (1234845771517569122058823829644118186136375433103, 397971358581695452777972516888443480846254918076)
|
||||||
|
185721978764932289532903442488891915392154692941 * P + 403651881205558186080017208753540670213570057760 * Q = (858281557595733060066089965086964669123016237651, 722880557664802244340212626454249872657928456973)
|
||||||
|
1030647493503135753300227224247257891767825267025 * P + 296097860702221000475084408371905669416604018204 * Q = (1128566961843772811914433426943109095173492818402, 292610396053958515730699448673204088375471570252)
|
||||||
|
608520125969793877468823009322477932831229156635 * P + 317914491820159161829459369735419519625068860980 * Q = (1139470610553906346349393817188329317197877735270, 28904600306673683929418154406116369539091209684)
|
||||||
|
169591749925402600374976992218165204399162412069 * P + 639938287288503692804094507244802476050758218745 * Q = (1374815299423168935999479215860705017369562043519, 1143750508349763061552625148286048780114401479373)
|
||||||
|
1008018310661440307568680336067800042828386631456 * P + 739258865178338186594955677433995013333113791415 * Q = (112856964108552324762779458139020007797397010595, 129279578494141873496695905048383155643352965428)
|
||||||
|
759872533352375786134101947395855010599013658566 * P + 459596961687547506944822832369448163708908071442 * Q = (1127902347614252494705238782231680966962524703932, 228459991760960373091440325416248651991017060682)
|
||||||
|
749041215946132170033201582479452400065805827870 * P + 254034385776991394571955823013987997397735989241 * Q = (1113595794900793849721194945012257912730112581160, 180190684229770104577597308936509376328475686581)
|
||||||
|
1236397609253659679662113578432027577948515519817 * P + 1158586233022362088783770010487612443639015770011 * Q = (780680158882304061341110879018798158742559846196, 1334794111654950984266641839380422342807366398640)
|
||||||
|
1311455777072765120644867291227914648935470355528 * P + 635696152357573334774856896702844800017553963230 * Q = (196639252633148849303079067563845614755485384953, 39317710925209943984526078977801217652542441429)
|
||||||
|
990820388754383323480675553511411570306631308600 * P + 968848922471165799433718895669905415239312121382 * Q = (1015678921088030744888701606814823362239826747537, 1178936394338466698454413356426098298135984623043)
|
||||||
|
974272603666033977607364834299316220369966988438 * P + 1339713882009183183023734790734956240881790774646 * Q = (1315083696098910524644337929517592331190744803042, 348198576880448246881091758069266312127004591749)
|
||||||
|
781463747375291909695020720096929998117925944053 * P + 1281868322011440541777142748542898296547602934631 * Q = (296055139960984621382412561562337073191191903229, 449506613639598371806113833690205075985575743625)
|
||||||
|
114542818691733268318888056723223800819215172319 * P + 553510296467419048879025414832809482867791620790 * Q = (976254987906056100680722307281540185634896661999, 381789480862532053028809640985178761245830433279)
|
||||||
|
457232431407333177748889927764423747778420105046 * P + 1002115470261450859929110024025953846243146960123 * Q = (1311948966591362227412514251163264215186757329188, 8070756425233483804363631980253394605886326511)
|
||||||
|
838115147484879346130201739070318902153738883153 * P + 518114451135807778540193666295254685855505279387 * Q = (490517391056819598783410893494947357877785828517, 745245208827851129189427459423724634427852305548)
|
||||||
|
1009589871666307166300959187423785114249701835946 * P + 1404233887595918023734795383886915459641899867274 * Q = (975189770679813551229421842198414640009492022546, 724655204398926712884378771192663894990410395763)
|
||||||
|
125212613110845316041292416323769179784084313229 * P + 441285311227671645009515929717620398226026693871 * Q = (709937214248629139995730117676441195553624030386, 420500046127871308641223535452302293555733635917)
|
||||||
|
960158972974084677563521473528839670871385805119 * P + 893943408722192439271197095157532294888830732932 * Q = (734850622797133679902532574169513014151661186412, 202873404345435595667111321514503011171198273877)
|
||||||
|
196191693750277735553439652923973622016448709865 * P + 1217924103510175179485143807639704951254313988269 * Q = (852092285629195836273940940379925039114935133563, 28657806936637520367796484497888423437352307651)
|
||||||
|
1201372033038847936797784256333139170015473067777 * P + 746605167034921887388237237243039860505872643211 * Q = (1052570654981203725486825980968616756670884494880, 47451731074684740408072973258204504308273213901)
|
||||||
|
236539948945702822315642946732091859607976083835 * P + 1382160877401702593030656810336876025726611858767 * Q = (724207440190907016361225886713717072863237827685, 958076964877682615032387104634807253714136226885)
|
||||||
|
1200846896003913362837425763395307644605936884582 * P + 861112026989275072023032355176666238975298579876 * Q = (7472412216952816471123091836914041639545281410, 559957093680813618904250711191904963040185409234)
|
||||||
|
1363056900073624436627095836330958646386602487841 * P + 732417868377858556035746893616514605399194139466 * Q = (518084874461403307769827975114032699429537394781, 658211265349771228558703348939244481223500366535)
|
||||||
|
864724228976249948587336103753243100747571655710 * P + 1424503717812681289814797169977815752253765334193 * Q = (444737455598791399254555777532350835088758459674, 1363704708713334453420202041557248185769644985101)
|
||||||
|
343119025157590160851991767385607662517044084674 * P + 521943245479069280220252186877801269077647622476 * Q = (821006955206213980393287856384244440335201413615, 678024081421753824233309352387834116372628290004)
|
||||||
|
328495151520096492919611491628918475758941152909 * P + 871050659709077188701224859361181933117917627730 * Q = (961125281634916840074893431224642432122848335001, 82502299651186252030097694228387834086962759217)
|
||||||
|
13232568035956065874428654211619886855209057917 * P + 1458390948054542062128171883758960402775086702249 * Q = (286740938780051092572013434871697815578389759993, 1063505574011535810868942053641767007055270769806)
|
||||||
|
351240953625744757565127588675345639202095615751 * P + 718881006620442813909734234693948022193091119193 * Q = (1373033950795758676317594358374786420879986368744, 930101297242514808255263821561989761129038927148)
|
||||||
|
1214068158774786803837141788013410793476261483529 * P + 299402079820563266643495419086583164743163837102 * Q = (712217468307146883697167024230724959434563497036, 140133682923973244681411882036270009752896658063)
|
||||||
|
87192900838053074957140734195448207949739887727 * P + 157857892477260752819417955191416019838867573564 * Q = (379965804476207014911504158048474736182040452403, 517881249617925048704170755552678474566893150345)
|
||||||
|
1378955404717959499743124679614137028696179946735 * P + 732523804654873846648822221031100699232293806298 * Q = (905301907596232523244613282621818775878542953717, 1033672856587054238820469902676826894595670889873)
|
||||||
|
666079656484329610803328794779940181873757162654 * P + 506008217071642990135389683078028408889594809091 * Q = (1176449032327948445762115718918736354720586097259, 429608259506597155472244647783933592009831825544)
|
||||||
|
569874061748924105401701486845860574970596555748 * P + 268034769474221355476395286968268071797612375500 * Q = (569467832543343330073040169120819736935732531369, 1187078747977566303153509355870305910635200096598)
|
||||||
|
574250807825193402681173213305171464504429229026 * P + 845556384449911691501051717923232753052857737226 * Q = (592689843590270172844312760181624797833604505530, 344722778369657743864797948579169032709438046857)
|
||||||
|
35547500358400002770067902418771815038637774574 * P + 532673739466038648649617654832049576331218098911 * Q = (10485109866935673712422006211605771881880739797, 435246962396832695154969404345395604377950346307)
|
||||||
|
756806959285789301092516823507424303672192654683 * P + 858616498512340417868429780502468443057726343799 * Q = (1210178575974230294586971622362991542133509778891, 529660594449256081091132001214542259070824348704)
|
||||||
|
330890284498245655823245244008044398830057842478 * P + 151084158565983696719496542810275682171157648075 * Q = (409806846148845336305583502225562929984881493301, 126500938670960901926505110380577087796655061578)
|
||||||
|
1443156287944240181368932849369215351633133777473 * P + 75761281462035874992482199101387236305905043795 * Q = (647941532498578505549323512501402965035560878410, 539371664535988964140544333316305852413932998270)
|
||||||
|
1113159626655995370958032867268444092546403877872 * P + 1265474347163526401108011524056351245804879551701 * Q = (1315353945607106721493145174465513608731254699954, 50414669280979843008136205390997042938264765137)
|
||||||
|
234796029953380233678533803347433466247807659681 * P + 1105797688992521802555657360996000916820988812199 * Q = (408444371068115407851242898794644954130949020525, 1116824857821992572594214225341468824586928957918)
|
||||||
|
1388758844655983383342520264828234454266738163291 * P + 22366212558093182349764466735887676580312389867 * Q = (789872794090635054449090400558595596281549259768, 917463288365322797528359430142020705358360723166)
|
||||||
|
830041201387735700038630457190260474074423384974 * P + 79758032634935416377300368568009875349352361565 * Q = (881601126151818390965445385558862201255119327262, 1062164069150922922298891863579624514977351678146)
|
||||||
|
1149967512135743740456885930821209147515070830434 * P + 1391000801640767739950006869795062956244837461958 * Q = (895683176861666441446297732257422788619994082211, 1181021297027342079675798660327704160959712076349)
|
||||||
|
425486575419487513112841855580246325152347821233 * P + 843099423535105066355645343118661264746005364220 * Q = (1425124583208710324977534054845408500122882962984, 876959356522481908380575034258270993554654063704)
|
||||||
|
861659929995240897663280280285984298489643746716 * P + 730577000046299504191459998249962726963146274362 * Q = (974417815239013722718616390489889227646063187743, 715672924930579912663265729400984486921034650690)
|
||||||
|
666880732502114642567751934550434669275914954620 * P + 1387963527513619186172028676279136655604881246066 * Q = (840774351134276408972154217651625410866780652039, 128649753577647917617761783451666073667640435592)
|
||||||
|
1023875755148781425725579894463658582365210923874 * P + 1063808543494145070813290084760666331005096561514 * Q = (893256570705782134929919060126781544935053406747, 1056985105382141766853321443725944696100659666912)
|
||||||
|
855138284701250060000905943575545859758877368379 * P + 1300626926689332170867468826452390622386934395192 * Q = (1263326934246039358871192874426400087525112814145, 1015910823381021151790236506969899307880637779194)
|
||||||
|
131151585311698996264641060590956352639677342538 * P + 138764838019655197919261935531677769785795523818 * Q = (830278131067392205307654136546593316466987692985, 1443278429141197112825852971554557163919982906994)
|
||||||
|
1438308046558610569478031991194627397484760926155 * P + 556538017327362316826260662010956239612818063997 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772)
|
||||||
|
1407438690206414165955330765368074352888495366880 * P + 199972748685185914720817291596034220565758272627 * Q = (571335345988057449719409149667530046089059032958, 218539199401695609052358889534011569623052107937)
|
||||||
|
45365064695415548217914859873749593374734196875 * P + 430488938186544273951651609639590691994655532973 * Q = (606012024851044752276833165797639815674967754570, 1179274387370830083560385073660468680373582147506)
|
||||||
|
154201738889322128017934004293479005982541512117 * P + 1094664787920341005750922552902415988250074874869 * Q = (252768173556988853338674883035658989914356360173, 416584811246223625055278632030633891421862238049)
|
||||||
|
580893342962852494979766342250108565668706541169 * P + 1278514957999249397946757566610799963063468121390 * Q = (271167107995190941130633775074738909435277991351, 795676320126305980083680991286536051432903624902)
|
||||||
|
269612952532519625845471538421093632106863485792 * P + 1352004769977439421560568626680295912258834717761 * Q = (826864354016974841366323826109876004899899257889, 562081786413478400397882625669787085339224474649)
|
||||||
|
927213601324618751189465752830493060888912641607 * P + 281357148911401861880916773848145772564064251815 * Q = (145731500617649192240272800062059283697809963606, 894514084011180607433903717788772966085804557089)
|
||||||
|
1031464818571231832025702569483596278361367586782 * P + 766867878148878217096487519796255912296596202527 * Q = (998367342158914071809712935437443688808117233603, 35376332771138770504467466393981714091679871027)
|
||||||
|
669770921543018168199309784802031899711916929111 * P + 563333037075093095820325880855942323008791093072 * Q = (659399800255939852761451421911438442474521614109, 1208846800476587174107268426130571125808681975664)
|
||||||
|
1033968336258307561205272035774563105985131016891 * P + 404170445358306539477267952294071546451656099268 * Q = (1435901891924719254844121062980024627857171232704, 648808283860224250258296980435416134227939795576)
|
||||||
|
842698737602142255440924022034239363332353300209 * P + 662178369309994155167343526819287809067232320140 * Q = (439619159887487181503332018140768393812529584227, 693116399480613675971269288288473004416197927729)
|
||||||
|
1032704702589273419452231161613680825211126154917 * P + 979628903946939107067228108336451625485199649636 * Q = (460675565281829941399569772808225126026718000581, 1260959847030123303131345195091034769384017553115)
|
||||||
|
1196750535444873045898105555768235632304209636965 * P + 1309222986658572777845420204086875480040117736275 * Q = (222585550527884151974033677456708653217841913153, 527562977655209568429804839129826858751682478471)
|
||||||
|
887781788333456873241702180595051565618721716038 * P + 129605905860655007152845337185910810473363917741 * Q = (306928552306185255973393693594732061164403887502, 421170329022417291294548622167340087909420088739)
|
||||||
|
1168961878944621442392715222089757436080471375671 * P + 381077936813066665126379001446147357115208166466 * Q = (113979334486276922285267608072154111893231284007, 1131292508020987043352014059063058237690483773240)
|
||||||
|
1333806389960225698490428704651928563902960351744 * P + 666616121208771647867831546519152443127847651312 * Q = (1267704747531047867968758854016743073845207862723, 659979889890702243706026914613907514960755170502)
|
||||||
|
1351847991892331119833529572987431988482138294210 * P + 1198012098894873862905750556312736255830521788739 * Q = (1258380021024204591797095399787460013626115981043, 547453421961483575606540980793250480783305427227)
|
||||||
|
1245615583236924332108220540372149795183541815632 * P + 1224324032113505384836442161797453724660600351284 * Q = (535583269801662402312023770316277667840208358807, 1333684135208324943240540422039332390432649245861)
|
||||||
|
780673896240992592792941764437954147709713742492 * P + 552153493419401431973287876014903024955973363390 * Q = (692884292967231443456577228127172881766971058868, 577617191289456890185196160044490599907638457437)
|
||||||
|
975149172089402276836361128055206848437321834600 * P + 936161427956831891804189900221526117754919995568 * Q = (524769135349516490701346706350159562553244026092, 1289798720997888058060947176776019851839276169795)
|
||||||
|
62525429904127843868869594775249724469969652220 * P + 541047958475309356724419537653687808713725613060 * Q = (612731471394651863129810613788056229226165596061, 625125375656530547437218164973982977366329510784)
|
||||||
|
338508305978851903957644594092375121114276611449 * P + 1298068499747689739597888375261277492596117094053 * Q = (840472312344512974046546738998748734832840788248, 192716637249466496341133808268248178783155066618)
|
||||||
|
1212340008753579040074037442117145812263897984487 * P + 970935497194303397720041738521935955424739761531 * Q = (1245900134866391496855467751823298314908729201311, 1220882664872055421574827381223475892301892702936)
|
||||||
|
1091258685966776640459395009210312410165693214666 * P + 404183775378178658545811403490323101179672912920 * Q = (140433781910535166016836524374678145156139432997, 984172930511546324346335157646700545464711796129)
|
||||||
|
584679972884465578727030568942503367849907153134 * P + 375161359965062487131398958491874104957760271948 * Q = (1201438588487158888954716530028406014362247863815, 1125430022976228252350778537651484395051142863449)
|
||||||
|
970725556522284424669395630339638233952646243807 * P + 1339521450216227506153121214049003254119388112049 * Q = (365550715381848922239100023077919310400085567254, 402929780755666438781342041599190010253705443070)
|
||||||
|
1197438089245506342094706486132667802734219622805 * P + 1260877476240535762449178208760762877241382713212 * Q = (1339482016049009260306189593060428598707614532928, 1286454540954416085501338648966443731760385421820)
|
||||||
|
453665042936991953114958911921612945314300150561 * P + 1205338475577956075371244225813772634462861385884 * Q = (394705013040836988861171828768702133367950681404, 1458783326499990409673896424526391673353102292233)
|
||||||
|
1380643334400412529842320734118721047651681961835 * P + 526130516655867887238216092930451535583588101012 * Q = (1350492180371501238053569214525554961660869354138, 1302234868945344943680796393191679449328367922219)
|
||||||
|
852579964585721476011028893336273825197531281550 * P + 1074121786447451836142521459413821614299246198720 * Q = (220098058795523775034584645706647905760264114640, 694927823227345925864445392120394003817275633401)
|
||||||
|
65242861517611915295439872937512468573070256638 * P + 8507751475485406501123937385236819331856469558 * Q = (367816275024682233535642421114805907698284008604, 502981289900398321750020839043836075706800921909)
|
||||||
|
483635448757344508427274961747699408512346618164 * P + 1248279406012919492720168070038479617892410558398 * Q = (834877767743141026371464065597386009483929344657, 686789100239344501771937634474384082028181648972)
|
||||||
|
1430903885457210480797116067995214542549209680218 * P + 1413983024347795448804888991559305403223548283726 * Q = (181014823738451605337049888879006927910918392765, 789574957358481698254756507150334959468138563648)
|
||||||
|
171036140268547188496698577210585981717737773449 * P + 1009347576385001776407127709607738106886737076271 * Q = (1359636389168334868167174588706346704113333500900, 305192917616408056825381337258716050158594883142)
|
||||||
|
463613631442024091172292940767388926944431110821 * P + 1287299516183786388110012527393637858868061090442 * Q = (690115840770835249773603110984937581744183817453, 1322837792185693358283519907594595690105867354767)
|
||||||
|
1058742014290543549467463620560149669836120098476 * P + 1431311446012982402172744353459288537070653922361 * Q = (698841923137322828241456218094918000552619125297, 410528440815059796331826422978319945535948959100)
|
||||||
|
204835218114611820779218546468988856515961517461 * P + 642075050040169545887302064140487505476208660042 * Q = (882320320746140814328380864078829222604998642883, 266394006247579737776960598725661638585773307776)
|
||||||
|
452994853496212854059392921382304700143043435767 * P + 625830705274014263576143284955012511633948105893 * Q = (1132057131509066265937360877194068848084089359683, 593804686407956330707147555697436707251795865887)
|
||||||
|
608454470284771646977519913592084368657068895756 * P + 378351915516900520850594542380292809031804374414 * Q = (225716039010399503729150947587375381530724432408, 396313725317654192053757471988821951877713065006)
|
||||||
|
439172803865671037127977369855875235941458717867 * P + 261911840752382909636677042043499126599958317224 * Q = (507358672242501030235598540674105542666701399193, 502870264118672280754595777647273275304421224399)
|
||||||
|
897113543793646202514395649554589281106784397434 * P + 270640430473551744340293913586218237319501152418 * Q = (55256122605093653673612039404240384435361844750, 189244627139576046491647050684129826312149458653)
|
||||||
|
85020119495467141489564920642098769168707946310 * P + 1123322984988040173679949239887943994703931028844 * Q = (1050063964166161949883604475360551356584338159470, 1217716520549526574609783613515114980744627257079)
|
||||||
|
1421747829925722691446273825579241494864355589240 * P + 459896553010394656909988082567178494192861369193 * Q = (323415336245701757775241274314187175590046102073, 1081246784368941398835416949729265808521411378374)
|
||||||
|
686097341461462824003708769449443181513080965128 * P + 891449832770395306159231689042370571370757080567 * Q = (191246428340876800485699469292583767717466848555, 1245920378565920705833965580405848798142986917686)
|
||||||
|
102593186399354989691582973016012643184343175256 * P + 1277978752600538086071769140968912999751708505675 * Q = (297535416612245421444029809511709497455984239623, 979729039407181800941414190830544616418480999739)
|
||||||
|
1128453342266590121062239066922607526499402391866 * P + 982745327491334824991622695964957198283176963204 * Q = (605823071748117268016909091289766311695082536750, 531277769143898455925094017392677042521057502955)
|
||||||
|
389464115758788788403838027620478294873835053851 * P + 85355622468184792996263021646354293102385042636 * Q = (470654148723794625825452140658288524406606359067, 472513149135603923136688809495052940782771850205)
|
||||||
|
813675680431763009302956825041020682142164729892 * P + 548983297783918401251541966384373433416635429178 * Q = (1390961072781838446002684603241720503572595089964, 801413815599931738142977922555285244258274031115)
|
||||||
|
903311313222620511622537857445442960406609229013 * P + 1058045143742154789767336941415687847315846011994 * Q = (136923291510861234904345825343278225983630606014, 67181444587874442779776385264628273488527993972)
|
||||||
|
790238098843649406166070492564134283397476236141 * P + 1244285054158881006124923199542748714564729660845 * Q = (13519709908999485634292104218377459049158703951, 1425945148629020649440623000906621359121597502360)
|
||||||
|
576123111338070863983087063064211003216334213394 * P + 1347604995595414187512035418867891814186105500768 * Q = (317245596734160694862144351198603423808849248606, 1254162051786887461486645297492094769881101962608)
|
|
@ -0,0 +1,25 @@
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from random import *
|
||||||
|
|
||||||
|
flag = b'CCTF{pOl1arD5_Rh0_A7T4cK}'
|
||||||
|
m = bytes_to_long(flag.lstrip(b'CCTF{').rstrip(b'}'))
|
||||||
|
|
||||||
|
x = 1017889920298554816361874889125359209380542463300
|
||||||
|
|
||||||
|
liar = []
|
||||||
|
p = 2**160 - 229233
|
||||||
|
# E = EllipticCurve(GF(p), [3, 0])
|
||||||
|
# o = E.order()
|
||||||
|
o = 1461501637330902918203683758258034914537499271049
|
||||||
|
|
||||||
|
for _ in range(109):
|
||||||
|
r, s = [randint(1, o) for _ in '01']
|
||||||
|
liar.append((r, s))
|
||||||
|
|
||||||
|
# r0 - r1 = (d1 - d0) * o
|
||||||
|
|
||||||
|
r0 = randint(1, o)
|
||||||
|
s0 = (-inverse(m, o) * (r0 - liar[0][0]) + liar[0][1]) % o
|
||||||
|
|
||||||
|
liar.append((r0, s0))
|
||||||
|
shuffle(liar)
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env sage
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from secret import x, liar, flag
|
||||||
|
|
||||||
|
p = 2 ** 160 - 229233
|
||||||
|
E = EllipticCurve(GF(p), [313, 110])
|
||||||
|
|
||||||
|
m = bytes_to_long(flag.lstrip(b'CCTF{').rstrip(b'}'))
|
||||||
|
assert m < p
|
||||||
|
|
||||||
|
P = E((x, 348211368764139637940513065884307924565894663368))
|
||||||
|
|
||||||
|
Q = m * P
|
||||||
|
print(f'Q = ({Q.xy()[0]}, ?)')
|
||||||
|
|
||||||
|
for _ in liar:
|
||||||
|
a, b = _
|
||||||
|
print(f'{a} * P + {b} * Q = {(a*P + b*Q).xy()}')
|
|
@ -0,0 +1,111 @@
|
||||||
|
Q = (1149184445068682391846063871207801540582566148181, ?)
|
||||||
|
988630086215088960552365492199385561429165176609 * P + 1425125798010320856068882317674624408728758262149 * Q = (891327570936736199376593816180714400577229884155, 505501515961791528437427462563346499726188382939)
|
||||||
|
1260450147755255597869480951959834842941719116575 * P + 699738988783849332839255718960955630080794695244 * Q = (944858780950308888632884662181651921121435950644, 429287656427671942225859201128821639149557960001)
|
||||||
|
127348066282706815439725877979880618543908103093 * P + 894350962161251572940964969870274141039188710311 * Q = (670434942883837254710430806097454831301828216484, 788753699995968465470731368747478709210040098146)
|
||||||
|
1043826648834429472305931240604668155611728330937 * P + 1342322396624500632270187554226846551256955209229 * Q = (362677435621982290517004688594915942429828549456, 314219895272421261208075840421092334924302526830)
|
||||||
|
803729470612530365522358877199543923902925856150 * P + 530054954779981979819724228883040083209499412793 * Q = (920346092821634616151603476038272215373999095715, 275159599532259974045396250895837600028800441112)
|
||||||
|
893723477877843320902118584410350116822895818696 * P + 211155601225987467429108044781250616637181396334 * Q = (1063850627675720120145159993376240287080986191694, 890837959711862297188002674099362027553861169687)
|
||||||
|
5007339194230261965136074875375133987796015742 * P + 1181661145340628811169250733264617512334954185830 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772)
|
||||||
|
1415051061375272409130906517030573639873333286310 * P + 1163062110826483903659824912056572556567650210470 * Q = (133943387840348302843484784484958673438663282701, 779958243956649805963943404943065517476824426681)
|
||||||
|
983954572138271748182102584822521998924246662662 * P + 642401554568052122962917374055758750056499767645 * Q = (1185431286492515336341939460896450473743337575659, 952983801375562470161187371120945525549806922500)
|
||||||
|
863100200243180380634619811808609485141492376330 * P + 108816122196558594129553789608904780874200772214 * Q = (1234845771517569122058823829644118186136375433103, 397971358581695452777972516888443480846254918076)
|
||||||
|
185721978764932289532903442488891915392154692941 * P + 403651881205558186080017208753540670213570057760 * Q = (858281557595733060066089965086964669123016237651, 722880557664802244340212626454249872657928456973)
|
||||||
|
1030647493503135753300227224247257891767825267025 * P + 296097860702221000475084408371905669416604018204 * Q = (1128566961843772811914433426943109095173492818402, 292610396053958515730699448673204088375471570252)
|
||||||
|
608520125969793877468823009322477932831229156635 * P + 317914491820159161829459369735419519625068860980 * Q = (1139470610553906346349393817188329317197877735270, 28904600306673683929418154406116369539091209684)
|
||||||
|
169591749925402600374976992218165204399162412069 * P + 639938287288503692804094507244802476050758218745 * Q = (1374815299423168935999479215860705017369562043519, 1143750508349763061552625148286048780114401479373)
|
||||||
|
1008018310661440307568680336067800042828386631456 * P + 739258865178338186594955677433995013333113791415 * Q = (112856964108552324762779458139020007797397010595, 129279578494141873496695905048383155643352965428)
|
||||||
|
759872533352375786134101947395855010599013658566 * P + 459596961687547506944822832369448163708908071442 * Q = (1127902347614252494705238782231680966962524703932, 228459991760960373091440325416248651991017060682)
|
||||||
|
749041215946132170033201582479452400065805827870 * P + 254034385776991394571955823013987997397735989241 * Q = (1113595794900793849721194945012257912730112581160, 180190684229770104577597308936509376328475686581)
|
||||||
|
1236397609253659679662113578432027577948515519817 * P + 1158586233022362088783770010487612443639015770011 * Q = (780680158882304061341110879018798158742559846196, 1334794111654950984266641839380422342807366398640)
|
||||||
|
1311455777072765120644867291227914648935470355528 * P + 635696152357573334774856896702844800017553963230 * Q = (196639252633148849303079067563845614755485384953, 39317710925209943984526078977801217652542441429)
|
||||||
|
990820388754383323480675553511411570306631308600 * P + 968848922471165799433718895669905415239312121382 * Q = (1015678921088030744888701606814823362239826747537, 1178936394338466698454413356426098298135984623043)
|
||||||
|
974272603666033977607364834299316220369966988438 * P + 1339713882009183183023734790734956240881790774646 * Q = (1315083696098910524644337929517592331190744803042, 348198576880448246881091758069266312127004591749)
|
||||||
|
781463747375291909695020720096929998117925944053 * P + 1281868322011440541777142748542898296547602934631 * Q = (296055139960984621382412561562337073191191903229, 449506613639598371806113833690205075985575743625)
|
||||||
|
114542818691733268318888056723223800819215172319 * P + 553510296467419048879025414832809482867791620790 * Q = (976254987906056100680722307281540185634896661999, 381789480862532053028809640985178761245830433279)
|
||||||
|
457232431407333177748889927764423747778420105046 * P + 1002115470261450859929110024025953846243146960123 * Q = (1311948966591362227412514251163264215186757329188, 8070756425233483804363631980253394605886326511)
|
||||||
|
838115147484879346130201739070318902153738883153 * P + 518114451135807778540193666295254685855505279387 * Q = (490517391056819598783410893494947357877785828517, 745245208827851129189427459423724634427852305548)
|
||||||
|
1009589871666307166300959187423785114249701835946 * P + 1404233887595918023734795383886915459641899867274 * Q = (975189770679813551229421842198414640009492022546, 724655204398926712884378771192663894990410395763)
|
||||||
|
125212613110845316041292416323769179784084313229 * P + 441285311227671645009515929717620398226026693871 * Q = (709937214248629139995730117676441195553624030386, 420500046127871308641223535452302293555733635917)
|
||||||
|
960158972974084677563521473528839670871385805119 * P + 893943408722192439271197095157532294888830732932 * Q = (734850622797133679902532574169513014151661186412, 202873404345435595667111321514503011171198273877)
|
||||||
|
196191693750277735553439652923973622016448709865 * P + 1217924103510175179485143807639704951254313988269 * Q = (852092285629195836273940940379925039114935133563, 28657806936637520367796484497888423437352307651)
|
||||||
|
1201372033038847936797784256333139170015473067777 * P + 746605167034921887388237237243039860505872643211 * Q = (1052570654981203725486825980968616756670884494880, 47451731074684740408072973258204504308273213901)
|
||||||
|
236539948945702822315642946732091859607976083835 * P + 1382160877401702593030656810336876025726611858767 * Q = (724207440190907016361225886713717072863237827685, 958076964877682615032387104634807253714136226885)
|
||||||
|
1200846896003913362837425763395307644605936884582 * P + 861112026989275072023032355176666238975298579876 * Q = (7472412216952816471123091836914041639545281410, 559957093680813618904250711191904963040185409234)
|
||||||
|
1363056900073624436627095836330958646386602487841 * P + 732417868377858556035746893616514605399194139466 * Q = (518084874461403307769827975114032699429537394781, 658211265349771228558703348939244481223500366535)
|
||||||
|
864724228976249948587336103753243100747571655710 * P + 1424503717812681289814797169977815752253765334193 * Q = (444737455598791399254555777532350835088758459674, 1363704708713334453420202041557248185769644985101)
|
||||||
|
343119025157590160851991767385607662517044084674 * P + 521943245479069280220252186877801269077647622476 * Q = (821006955206213980393287856384244440335201413615, 678024081421753824233309352387834116372628290004)
|
||||||
|
328495151520096492919611491628918475758941152909 * P + 871050659709077188701224859361181933117917627730 * Q = (961125281634916840074893431224642432122848335001, 82502299651186252030097694228387834086962759217)
|
||||||
|
13232568035956065874428654211619886855209057917 * P + 1458390948054542062128171883758960402775086702249 * Q = (286740938780051092572013434871697815578389759993, 1063505574011535810868942053641767007055270769806)
|
||||||
|
351240953625744757565127588675345639202095615751 * P + 718881006620442813909734234693948022193091119193 * Q = (1373033950795758676317594358374786420879986368744, 930101297242514808255263821561989761129038927148)
|
||||||
|
1214068158774786803837141788013410793476261483529 * P + 299402079820563266643495419086583164743163837102 * Q = (712217468307146883697167024230724959434563497036, 140133682923973244681411882036270009752896658063)
|
||||||
|
87192900838053074957140734195448207949739887727 * P + 157857892477260752819417955191416019838867573564 * Q = (379965804476207014911504158048474736182040452403, 517881249617925048704170755552678474566893150345)
|
||||||
|
1378955404717959499743124679614137028696179946735 * P + 732523804654873846648822221031100699232293806298 * Q = (905301907596232523244613282621818775878542953717, 1033672856587054238820469902676826894595670889873)
|
||||||
|
666079656484329610803328794779940181873757162654 * P + 506008217071642990135389683078028408889594809091 * Q = (1176449032327948445762115718918736354720586097259, 429608259506597155472244647783933592009831825544)
|
||||||
|
569874061748924105401701486845860574970596555748 * P + 268034769474221355476395286968268071797612375500 * Q = (569467832543343330073040169120819736935732531369, 1187078747977566303153509355870305910635200096598)
|
||||||
|
574250807825193402681173213305171464504429229026 * P + 845556384449911691501051717923232753052857737226 * Q = (592689843590270172844312760181624797833604505530, 344722778369657743864797948579169032709438046857)
|
||||||
|
35547500358400002770067902418771815038637774574 * P + 532673739466038648649617654832049576331218098911 * Q = (10485109866935673712422006211605771881880739797, 435246962396832695154969404345395604377950346307)
|
||||||
|
756806959285789301092516823507424303672192654683 * P + 858616498512340417868429780502468443057726343799 * Q = (1210178575974230294586971622362991542133509778891, 529660594449256081091132001214542259070824348704)
|
||||||
|
330890284498245655823245244008044398830057842478 * P + 151084158565983696719496542810275682171157648075 * Q = (409806846148845336305583502225562929984881493301, 126500938670960901926505110380577087796655061578)
|
||||||
|
1443156287944240181368932849369215351633133777473 * P + 75761281462035874992482199101387236305905043795 * Q = (647941532498578505549323512501402965035560878410, 539371664535988964140544333316305852413932998270)
|
||||||
|
1113159626655995370958032867268444092546403877872 * P + 1265474347163526401108011524056351245804879551701 * Q = (1315353945607106721493145174465513608731254699954, 50414669280979843008136205390997042938264765137)
|
||||||
|
234796029953380233678533803347433466247807659681 * P + 1105797688992521802555657360996000916820988812199 * Q = (408444371068115407851242898794644954130949020525, 1116824857821992572594214225341468824586928957918)
|
||||||
|
1388758844655983383342520264828234454266738163291 * P + 22366212558093182349764466735887676580312389867 * Q = (789872794090635054449090400558595596281549259768, 917463288365322797528359430142020705358360723166)
|
||||||
|
830041201387735700038630457190260474074423384974 * P + 79758032634935416377300368568009875349352361565 * Q = (881601126151818390965445385558862201255119327262, 1062164069150922922298891863579624514977351678146)
|
||||||
|
1149967512135743740456885930821209147515070830434 * P + 1391000801640767739950006869795062956244837461958 * Q = (895683176861666441446297732257422788619994082211, 1181021297027342079675798660327704160959712076349)
|
||||||
|
425486575419487513112841855580246325152347821233 * P + 843099423535105066355645343118661264746005364220 * Q = (1425124583208710324977534054845408500122882962984, 876959356522481908380575034258270993554654063704)
|
||||||
|
861659929995240897663280280285984298489643746716 * P + 730577000046299504191459998249962726963146274362 * Q = (974417815239013722718616390489889227646063187743, 715672924930579912663265729400984486921034650690)
|
||||||
|
666880732502114642567751934550434669275914954620 * P + 1387963527513619186172028676279136655604881246066 * Q = (840774351134276408972154217651625410866780652039, 128649753577647917617761783451666073667640435592)
|
||||||
|
1023875755148781425725579894463658582365210923874 * P + 1063808543494145070813290084760666331005096561514 * Q = (893256570705782134929919060126781544935053406747, 1056985105382141766853321443725944696100659666912)
|
||||||
|
855138284701250060000905943575545859758877368379 * P + 1300626926689332170867468826452390622386934395192 * Q = (1263326934246039358871192874426400087525112814145, 1015910823381021151790236506969899307880637779194)
|
||||||
|
131151585311698996264641060590956352639677342538 * P + 138764838019655197919261935531677769785795523818 * Q = (830278131067392205307654136546593316466987692985, 1443278429141197112825852971554557163919982906994)
|
||||||
|
1438308046558610569478031991194627397484760926155 * P + 556538017327362316826260662010956239612818063997 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772)
|
||||||
|
1407438690206414165955330765368074352888495366880 * P + 199972748685185914720817291596034220565758272627 * Q = (571335345988057449719409149667530046089059032958, 218539199401695609052358889534011569623052107937)
|
||||||
|
45365064695415548217914859873749593374734196875 * P + 430488938186544273951651609639590691994655532973 * Q = (606012024851044752276833165797639815674967754570, 1179274387370830083560385073660468680373582147506)
|
||||||
|
154201738889322128017934004293479005982541512117 * P + 1094664787920341005750922552902415988250074874869 * Q = (252768173556988853338674883035658989914356360173, 416584811246223625055278632030633891421862238049)
|
||||||
|
580893342962852494979766342250108565668706541169 * P + 1278514957999249397946757566610799963063468121390 * Q = (271167107995190941130633775074738909435277991351, 795676320126305980083680991286536051432903624902)
|
||||||
|
269612952532519625845471538421093632106863485792 * P + 1352004769977439421560568626680295912258834717761 * Q = (826864354016974841366323826109876004899899257889, 562081786413478400397882625669787085339224474649)
|
||||||
|
927213601324618751189465752830493060888912641607 * P + 281357148911401861880916773848145772564064251815 * Q = (145731500617649192240272800062059283697809963606, 894514084011180607433903717788772966085804557089)
|
||||||
|
1031464818571231832025702569483596278361367586782 * P + 766867878148878217096487519796255912296596202527 * Q = (998367342158914071809712935437443688808117233603, 35376332771138770504467466393981714091679871027)
|
||||||
|
669770921543018168199309784802031899711916929111 * P + 563333037075093095820325880855942323008791093072 * Q = (659399800255939852761451421911438442474521614109, 1208846800476587174107268426130571125808681975664)
|
||||||
|
1033968336258307561205272035774563105985131016891 * P + 404170445358306539477267952294071546451656099268 * Q = (1435901891924719254844121062980024627857171232704, 648808283860224250258296980435416134227939795576)
|
||||||
|
842698737602142255440924022034239363332353300209 * P + 662178369309994155167343526819287809067232320140 * Q = (439619159887487181503332018140768393812529584227, 693116399480613675971269288288473004416197927729)
|
||||||
|
1032704702589273419452231161613680825211126154917 * P + 979628903946939107067228108336451625485199649636 * Q = (460675565281829941399569772808225126026718000581, 1260959847030123303131345195091034769384017553115)
|
||||||
|
1196750535444873045898105555768235632304209636965 * P + 1309222986658572777845420204086875480040117736275 * Q = (222585550527884151974033677456708653217841913153, 527562977655209568429804839129826858751682478471)
|
||||||
|
887781788333456873241702180595051565618721716038 * P + 129605905860655007152845337185910810473363917741 * Q = (306928552306185255973393693594732061164403887502, 421170329022417291294548622167340087909420088739)
|
||||||
|
1168961878944621442392715222089757436080471375671 * P + 381077936813066665126379001446147357115208166466 * Q = (113979334486276922285267608072154111893231284007, 1131292508020987043352014059063058237690483773240)
|
||||||
|
1333806389960225698490428704651928563902960351744 * P + 666616121208771647867831546519152443127847651312 * Q = (1267704747531047867968758854016743073845207862723, 659979889890702243706026914613907514960755170502)
|
||||||
|
1351847991892331119833529572987431988482138294210 * P + 1198012098894873862905750556312736255830521788739 * Q = (1258380021024204591797095399787460013626115981043, 547453421961483575606540980793250480783305427227)
|
||||||
|
1245615583236924332108220540372149795183541815632 * P + 1224324032113505384836442161797453724660600351284 * Q = (535583269801662402312023770316277667840208358807, 1333684135208324943240540422039332390432649245861)
|
||||||
|
780673896240992592792941764437954147709713742492 * P + 552153493419401431973287876014903024955973363390 * Q = (692884292967231443456577228127172881766971058868, 577617191289456890185196160044490599907638457437)
|
||||||
|
975149172089402276836361128055206848437321834600 * P + 936161427956831891804189900221526117754919995568 * Q = (524769135349516490701346706350159562553244026092, 1289798720997888058060947176776019851839276169795)
|
||||||
|
62525429904127843868869594775249724469969652220 * P + 541047958475309356724419537653687808713725613060 * Q = (612731471394651863129810613788056229226165596061, 625125375656530547437218164973982977366329510784)
|
||||||
|
338508305978851903957644594092375121114276611449 * P + 1298068499747689739597888375261277492596117094053 * Q = (840472312344512974046546738998748734832840788248, 192716637249466496341133808268248178783155066618)
|
||||||
|
1212340008753579040074037442117145812263897984487 * P + 970935497194303397720041738521935955424739761531 * Q = (1245900134866391496855467751823298314908729201311, 1220882664872055421574827381223475892301892702936)
|
||||||
|
1091258685966776640459395009210312410165693214666 * P + 404183775378178658545811403490323101179672912920 * Q = (140433781910535166016836524374678145156139432997, 984172930511546324346335157646700545464711796129)
|
||||||
|
584679972884465578727030568942503367849907153134 * P + 375161359965062487131398958491874104957760271948 * Q = (1201438588487158888954716530028406014362247863815, 1125430022976228252350778537651484395051142863449)
|
||||||
|
970725556522284424669395630339638233952646243807 * P + 1339521450216227506153121214049003254119388112049 * Q = (365550715381848922239100023077919310400085567254, 402929780755666438781342041599190010253705443070)
|
||||||
|
1197438089245506342094706486132667802734219622805 * P + 1260877476240535762449178208760762877241382713212 * Q = (1339482016049009260306189593060428598707614532928, 1286454540954416085501338648966443731760385421820)
|
||||||
|
453665042936991953114958911921612945314300150561 * P + 1205338475577956075371244225813772634462861385884 * Q = (394705013040836988861171828768702133367950681404, 1458783326499990409673896424526391673353102292233)
|
||||||
|
1380643334400412529842320734118721047651681961835 * P + 526130516655867887238216092930451535583588101012 * Q = (1350492180371501238053569214525554961660869354138, 1302234868945344943680796393191679449328367922219)
|
||||||
|
852579964585721476011028893336273825197531281550 * P + 1074121786447451836142521459413821614299246198720 * Q = (220098058795523775034584645706647905760264114640, 694927823227345925864445392120394003817275633401)
|
||||||
|
65242861517611915295439872937512468573070256638 * P + 8507751475485406501123937385236819331856469558 * Q = (367816275024682233535642421114805907698284008604, 502981289900398321750020839043836075706800921909)
|
||||||
|
483635448757344508427274961747699408512346618164 * P + 1248279406012919492720168070038479617892410558398 * Q = (834877767743141026371464065597386009483929344657, 686789100239344501771937634474384082028181648972)
|
||||||
|
1430903885457210480797116067995214542549209680218 * P + 1413983024347795448804888991559305403223548283726 * Q = (181014823738451605337049888879006927910918392765, 789574957358481698254756507150334959468138563648)
|
||||||
|
171036140268547188496698577210585981717737773449 * P + 1009347576385001776407127709607738106886737076271 * Q = (1359636389168334868167174588706346704113333500900, 305192917616408056825381337258716050158594883142)
|
||||||
|
463613631442024091172292940767388926944431110821 * P + 1287299516183786388110012527393637858868061090442 * Q = (690115840770835249773603110984937581744183817453, 1322837792185693358283519907594595690105867354767)
|
||||||
|
1058742014290543549467463620560149669836120098476 * P + 1431311446012982402172744353459288537070653922361 * Q = (698841923137322828241456218094918000552619125297, 410528440815059796331826422978319945535948959100)
|
||||||
|
204835218114611820779218546468988856515961517461 * P + 642075050040169545887302064140487505476208660042 * Q = (882320320746140814328380864078829222604998642883, 266394006247579737776960598725661638585773307776)
|
||||||
|
452994853496212854059392921382304700143043435767 * P + 625830705274014263576143284955012511633948105893 * Q = (1132057131509066265937360877194068848084089359683, 593804686407956330707147555697436707251795865887)
|
||||||
|
608454470284771646977519913592084368657068895756 * P + 378351915516900520850594542380292809031804374414 * Q = (225716039010399503729150947587375381530724432408, 396313725317654192053757471988821951877713065006)
|
||||||
|
439172803865671037127977369855875235941458717867 * P + 261911840752382909636677042043499126599958317224 * Q = (507358672242501030235598540674105542666701399193, 502870264118672280754595777647273275304421224399)
|
||||||
|
897113543793646202514395649554589281106784397434 * P + 270640430473551744340293913586218237319501152418 * Q = (55256122605093653673612039404240384435361844750, 189244627139576046491647050684129826312149458653)
|
||||||
|
85020119495467141489564920642098769168707946310 * P + 1123322984988040173679949239887943994703931028844 * Q = (1050063964166161949883604475360551356584338159470, 1217716520549526574609783613515114980744627257079)
|
||||||
|
1421747829925722691446273825579241494864355589240 * P + 459896553010394656909988082567178494192861369193 * Q = (323415336245701757775241274314187175590046102073, 1081246784368941398835416949729265808521411378374)
|
||||||
|
686097341461462824003708769449443181513080965128 * P + 891449832770395306159231689042370571370757080567 * Q = (191246428340876800485699469292583767717466848555, 1245920378565920705833965580405848798142986917686)
|
||||||
|
102593186399354989691582973016012643184343175256 * P + 1277978752600538086071769140968912999751708505675 * Q = (297535416612245421444029809511709497455984239623, 979729039407181800941414190830544616418480999739)
|
||||||
|
1128453342266590121062239066922607526499402391866 * P + 982745327491334824991622695964957198283176963204 * Q = (605823071748117268016909091289766311695082536750, 531277769143898455925094017392677042521057502955)
|
||||||
|
389464115758788788403838027620478294873835053851 * P + 85355622468184792996263021646354293102385042636 * Q = (470654148723794625825452140658288524406606359067, 472513149135603923136688809495052940782771850205)
|
||||||
|
813675680431763009302956825041020682142164729892 * P + 548983297783918401251541966384373433416635429178 * Q = (1390961072781838446002684603241720503572595089964, 801413815599931738142977922555285244258274031115)
|
||||||
|
903311313222620511622537857445442960406609229013 * P + 1058045143742154789767336941415687847315846011994 * Q = (136923291510861234904345825343278225983630606014, 67181444587874442779776385264628273488527993972)
|
||||||
|
790238098843649406166070492564134283397476236141 * P + 1244285054158881006124923199542748714564729660845 * Q = (13519709908999485634292104218377459049158703951, 1425945148629020649440623000906621359121597502360)
|
||||||
|
576123111338070863983087063064211003216334213394 * P + 1347604995595414187512035418867891814186105500768 * Q = (317245596734160694862144351198603423808849248606, 1254162051786887461486645297492094769881101962608)
|
|
@ -0,0 +1 @@
|
||||||
|
They told that cryptosystem with no need to public key is awful. Can you confirm this fact?
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
||||||
|
flag = b'CCTF{N015e_D3Le7!0N_m4tTeR?}'
|
|
@ -0,0 +1 @@
|
||||||
|
CCTF{N015e_D3Le7!0N_m4tTeR?}
|
|
@ -0,0 +1,225 @@
|
||||||
|
p = SECRET
|
||||||
|
pubkey = CENSORED
|
||||||
|
ENC = [130730895301824689236116409952605427561271445110616961938879486597736539677282357197751494237964518436712079126987272,
|
||||||
|
134545828750848592304511356496320248908435278910569864461098929886082384612332909627784407543898233009612473135208943,
|
||||||
|
130706440220404298545121860977277861571107194473811448907299440031565761291469285169162564237093926088792207514204909,
|
||||||
|
135903667308732468662676834401919937262534832214341065290499605902948694839441280074789546150488416258754670209207839,
|
||||||
|
120233245955528013013187402241863081619461844565287435046622168403578433759819149883788301587243657215180726245937645,
|
||||||
|
113859304450394335097415139383465004848695755774791663713330527706506938459643987439761937829655555973219131724121521,
|
||||||
|
122610143974909296298418387810253222348276470920393828990818618403310099789500897881628565505279413259540065575811551,
|
||||||
|
109298778343566141661420425651102868600583620001954012591128273210209668782242619448749013646102796917897993725814730,
|
||||||
|
113336425110199844342651734783459850300940842526402983766837612226541083578098883756496710092534383286697006566783418,
|
||||||
|
124127062429537424680599101451798856647776018158268579210205142427155211009679078500203666341167415811024102823551410,
|
||||||
|
147443192593449828831969077897952666141675048583925655490144298960150637644361375125117624061222730818706802382714989,
|
||||||
|
122057120571132572859033134182938049968651214857441053955828934212654449447026337123412160319567284478213549478753127,
|
||||||
|
125966637764385560674378791033648031440168201063593513362304318673273458142227532524622353832109952626191807942890680,
|
||||||
|
122874161069991819355525551071838321712955372465327306527445646629180766525660361782566259874739602124024993139083034,
|
||||||
|
128287581851657555122085176711201165133154295324411112479104596618595920710048987759399756427432086729526658357509523,
|
||||||
|
121079284051783804127026088256275328349860570018055040401032698296121177594539478260302905116001737708899525406011273,
|
||||||
|
119361659878103304604376326725693016340840960018305274117561675675878266417943990201589509950431528098494724616293174,
|
||||||
|
124885092755305873284908096699640523516709400987535284972246243235880978203121656988692704875859949332914990425381360,
|
||||||
|
138987616119417318023449670298589420981151577901534321136783468479083204256095405627472200819949255096500376598734973,
|
||||||
|
99467461500235869072783575659841954507110051493128505553842980717892644503272333116814896833685192230514454621056796,
|
||||||
|
142331125052791734333902339907677538898868822653583877757113948351947622780314873616701162429821797713636218257914651,
|
||||||
|
127159112869683066824975921016306375187224507754714018214122761097867292603194301144257505470519666056519950864483268,
|
||||||
|
142331125052791734333902339907677538898868822653583877757113948351947622780314873616701162429821797713644710665920795,
|
||||||
|
128723982408813244435157960280988473875670070162152572752584036320595697108457615809821699315056795161722775044339342,
|
||||||
|
128224013580724497146235157831051586945665338072804712145363173061255504069246389131542921612514281535043723626577474,
|
||||||
|
132335328979727214982911618638282536753325662143200572238474006912991938117884643148463300980844830242224283255666276,
|
||||||
|
138159915752978101665582019380908436793076976537172865570607263071117985801776629505982245522350392381805407034503167,
|
||||||
|
118529076588108942915334016684334437029810126381170429243102398394661646128426405695063292404866295136443911930799393,
|
||||||
|
114110430402001872291946560413836622917488700270961099752372571051960567068602434058086546324230172173861015113974848,
|
||||||
|
133051127751366842581855901303931760655532306298095266715652867833241521001778509443358563399864605147603121501071809,
|
||||||
|
135381495092712505217048188625381872655957980509249422925501138348445777152996922273675349082655884168772935354622058,
|
||||||
|
127618058273474467615721182698229689594170884922604777078075447213796880932512821411894204329414158158384658345114463,
|
||||||
|
123159993109937613678523719440942356046563253191511703907801331015412271139449671573180480366633718648307644849856964,
|
||||||
|
133538588388976529272009131174257092469593363768080768119743558081779369656710665215988719398622620318802757386071627,
|
||||||
|
124301625644835676443098549357597586530904433232441525164319757762373340970732860224738658492469848616243744123129446,
|
||||||
|
121137831264462528759827616216817960182226832546171980161785780055720858746889336848412737715715001892354662024637246,
|
||||||
|
112883923792929596536626918177273790270177223562805803708496735845891895892708265919662069138331787356492073764041863,
|
||||||
|
123583694029322254554299305394122452104953478584118209425681675118012817405671366854348995907298012736578448892060632,
|
||||||
|
123570198597983047002362276768440020092817128413569093933142787983248851408760403094842476946449524359682200536935881,
|
||||||
|
138618682294415608850730298825871468245481612245446086641380532066624342150612513271895006967630120143368581693694209,
|
||||||
|
130067040873987695885837970604240827853100137965217935518863260562168132615203166529251281732620450788790363354841216,
|
||||||
|
123282199786429436807961573476234202625975044234970792284207516011452859800525131329532136981500078060045843326717684,
|
||||||
|
122711388503912006154675164311363640466130813201028500604923976457530386918006289125859702462787089318279548047278383,
|
||||||
|
122481437075327079235835656728423763956319492307070079139061587885894763513936936537519033301705508601889546984500444,
|
||||||
|
118840389737572433806749929743314941465090274568654824876658520360571230755129030551951251956321870881103165190975048,
|
||||||
|
118296566074041170667037524965918792858548077173041213784557325785078048252767429349604506208448536702135588744541732,
|
||||||
|
124334007389403709554532209352879951387744198793187367011131191399558237055113260744356007698458916846751957690150225,
|
||||||
|
119359081135834061233608524030385399934221161597360778283564482802764194556603617185206697641343545346102256955501797,
|
||||||
|
134866284484918132831721417059632585145407091813790496417340049295356875408164362676624284851188249309375813416038294,
|
||||||
|
119981807762984725822981665904137803338763197667591620004753001289856481341278616497086928112088125452890167016220215,
|
||||||
|
119157740332362646030755197815423582878305975138905068681345113416758556214848438421283911782335446501202557583492886,
|
||||||
|
130160432370115887222167103146409897924679874475709007742455668023428231484187270808422575638622646734197460659163251,
|
||||||
|
132310080411892389647566386833828613238423037875034618188935219437288985907971409117748334441073022876699430060511949,
|
||||||
|
112945554025988094803467570776868768207006126945807346968363527048899403339044700033639195944938496255877578472576967,
|
||||||
|
117789567249482592870508641577035623598622586028532286403704388810450927380146401359728399097281527718165659397805851,
|
||||||
|
138342780617030621486746621948813420542688137057383918171676326461619834263370884245747244795967749690807437658881352,
|
||||||
|
139269372917378799208899633528052475057120740585167603436035177893808413585041497135332697732972549813282652855125900,
|
||||||
|
117416898642377908332819464678727074154839959599619779361919803976817716351019021057400477093635403804072425393520553,
|
||||||
|
123826556557253964436193589057802641052012903200252966688412425583125689121965561089319416720629612016774079980271900,
|
||||||
|
141235182915090748771600151955715388463979009195272125585755809687212752517721591452376735446461365457164491575708113,
|
||||||
|
135451363541409982688658309267244481087361294165849436422507599373492746368121429953416930472923115388429740031757727,
|
||||||
|
131966494791313750299524040711235005583245266810060774219871378330833816762984736172102347614751225193276024114967975,
|
||||||
|
124993372265379686238392084328879724302641716318075540036394605319549818377612796334693743982155940759483330007956809,
|
||||||
|
119239323670345370579746957877594411124088548553284648070417851312391881695273299753020842462489415876015286170070876,
|
||||||
|
142208788845033800309272971059578933682116411188563251709970123988461238057644183168132494941879685491135938231476734,
|
||||||
|
135633524874074888281908142445722667446490645707489440189766212886014163243940986912773165624880782489367700843604123,
|
||||||
|
135223540763555411558639523879175971295110483195322997802056911834439372171639878328669777219415750284468878158164538,
|
||||||
|
127382988408328180748671355856222863392851824258140096881693137097690836058448826080714554238155300488867561542197137,
|
||||||
|
121646369935908161217156878049833435487751305061238060686388691454416524407973602476771377263640246502760774797638968,
|
||||||
|
128582439699954249379502467199194088997666367984285656980091554812204496591628848439335069864633067411807027649410802,
|
||||||
|
118825841701186664326584100956854094009048117641014196892574723506768635540472563747948071709073678798194833626963182,
|
||||||
|
127018094458567765925187973336536053669723022490357602780858198777671250138210808309670605501642265095683578316649067,
|
||||||
|
141705544343835111656162472945845754675406205095766388043291745327268476697741041076999161457868465830808937886818736,
|
||||||
|
122119741528545472843783990998312777467575696459697946313387059163078303955494411004191080201983624926381461271425867,
|
||||||
|
141939873572082157108666294853222997328662500713684655884389502782045678408821214900821224154061160215306769055825522,
|
||||||
|
108840043506084802786589320432745767801167688966813043459825768214166785586786065997377902883780384054781541385444515,
|
||||||
|
137012577819424891496686215704971377587608327712879737586353652324797211002046026447559186498313619964533892484181202,
|
||||||
|
137341534758028359037551169959387216038647029914205885290641194158165621165026550666447873538680154845345186563019855,
|
||||||
|
123215636438418552390866495257575273183287506751023897876534758178221191075884251511443403300738956489232108402329912,
|
||||||
|
133153635659924452846820957022958610983802897863425468929651671536646878750784917955000888394398961245407340716091812,
|
||||||
|
117588239883285545991835054580633645496537367846820990662612624276055623524676489887176764923974045244426271099885637,
|
||||||
|
125117208704806871472308464500871550009672692797619317613888337739028941567028758939078015237960949108262464281906445,
|
||||||
|
122702579940920755453105891556167196242229588736512040022529093778125351758257423278740776609395333709642057719127535,
|
||||||
|
139782812650948567681689754564929900116001984571432271691591088081490936819514342830953376180370931443583765238647962,
|
||||||
|
135876690959428922569102282419727180276276072285393491970030106726413366915731016995585659407544054018686501873286791,
|
||||||
|
130040064524684149792263418622048070866841378036270362198393761385632804691492903450047394989676088548667636779124996,
|
||||||
|
137083843226390733141480328042627878395327301438242884527306046473271291037221656956102996211108272310105208906476003,
|
||||||
|
124659720876556278928233036805726153009271276774472165174331780655819001418000768856432294470551318285596687572293507,
|
||||||
|
130300786528376430291463449691747429507625203858909182014027568948443480103936134110411975321644107186101759985498892,
|
||||||
|
126036481691813344267761677480669504215707623238180044888383940857834353395118529868968058735387093662311017160858139,
|
||||||
|
136966707144109682330638924645401184834979623571695139516920077805850762615358178452374785333499168267114369851311372,
|
||||||
|
132750261314710577899943091299657693438143920605428144542200901745909905677198087888342527868142164101075083576411638,
|
||||||
|
144948812543497235575660809880687309763357660925309714915306088490860906292058294628802965735388446008805096545255656,
|
||||||
|
132711918265282017004056418148269278976510481839683037828722742498232651815535764121446457208130617147124101376297959,
|
||||||
|
129937608708489662099336357105321639660487504652255655823794842429184235080073651887774950229636368639559709998030302,
|
||||||
|
133992922114859826550105319965781786438757631538370223183273021776496567933496845208412072007488687484196186373814522,
|
||||||
|
124912267822110921805683803516363637283345601016119626154425544864618653522347199068221841874473169468481367325912399,
|
||||||
|
113427720461165415550348979321231337011159090680678457393713170084614913824306580627980674837709374325876935442979016,
|
||||||
|
131482749370932233506197999373633715145382025599705237135884795970109239364730011379309744877645863079643413489223118,
|
||||||
|
124787998644906276252646715646501105716169489793492666983955576589797705614385159315182312993502789114513001710523677,
|
||||||
|
114464558345445683140283519023649943347245482369644384474172581209303334587569416958405044956464899364677681658660178,
|
||||||
|
142005608214954820989199386437932834722879106552417334466854760349382320310026892292819354790740591492423029970424815,
|
||||||
|
135682062103509115774090986845025841550129575379235377673940974285199878876007054573633045870219818357897515426170742,
|
||||||
|
126510663861475165715508903991196150644066043478012660031023202691032326141173290816734686751082967987879209728587389,
|
||||||
|
109843909368752473283561149377955131807534259061180415471654527882774667843437204892641966686846218696427487581559010,
|
||||||
|
137172196947395250422427214284121500049109630554016481770667676431063879925989059531898199842642453770735603945933371,
|
||||||
|
112501289040514416441706105310536397261597763358312310067605273310403962316426868271029758527283434404434012874839655,
|
||||||
|
131154288554317076081560746054127561663445769884227561512511451895165212824085091474820349273446402627696891593492398,
|
||||||
|
129578857123336914544822180268298435689324871130327913649510948920248267494278060514211547497408433650329696770536305,
|
||||||
|
126725128131505414690997379291172506467927209015763082987952919057180693894113381735961305864188515631278077438959311,
|
||||||
|
117526269602385609804214543882039270594145465319706356758774566517362523789776855505081206535520133155471567024415361,
|
||||||
|
136054649337043505090483326967949230385429405315588084916194670296314886133727637824786848479569804154952926622310983,
|
||||||
|
122662567691237772092813084261841880601886181609153649581532255024866323308188299065574280543634042384855702352694376,
|
||||||
|
128105022482479902291112259512402780445026867813017825272098980519022462973797023260699748898609066221091712716179567,
|
||||||
|
125288191984375548378809572439248566043519216835396351054919498762354109992222615350441011987658768152391585269165451,
|
||||||
|
122788975919868532307948252620515390928703263460326454221189442196106755782797222168282521164615369488216610922740112,
|
||||||
|
135468348685568980711366403705006975480530398553980711695735093968854941685370411600777709331451905833471222672101529,
|
||||||
|
129721417476875151547343617348672612937256160429536653135879041953098811661926070425221205829595481242243224553347157,
|
||||||
|
124106056768384871827089346763657964473686276159179751379219535946382188408651999595712784984062303047010175757892516,
|
||||||
|
103798174062618452825263900851608614495840945023171872104660302774447297553729871857661332182406336962051505596483713,
|
||||||
|
117678768731007125971711776177474023426697870342101592804398170041917323790159070984412791493873758190386162957421461,
|
||||||
|
125899673236304773786261673571946619087854057387012096311326049757349503894523110647509304702732770682011536970801466,
|
||||||
|
129573904176259505146023171211648876328819901404730487079113871141065935520401043961209302406273907763585475457314031,
|
||||||
|
146852502777466245711242929028641620522237923306266459800860103267845822000108232455350133426265167429372584602487778,
|
||||||
|
129918642998857293113256966122707583807500484757118338026925831385884892696307711196691885826065150108131021733625220,
|
||||||
|
126339336437622003633944439434782928061168335860634061470646255098483578178623804367112498676610165060047492494984354,
|
||||||
|
136243799599653859099018093806207816068223845990013579814001629498412856710993690451253432663015014730678433448903129,
|
||||||
|
114924764957465440451973530156944880554392098215566134304773594533831212697694803369836749607460402584526964062920277,
|
||||||
|
116015714854477878002825014948436587968288921072608457948666605692757907070320360087495277722880196011955198248401703,
|
||||||
|
130549065074894675009229440144603897697872001895351898894305063821625164719793268378345963300258201248227160003746105,
|
||||||
|
123656087532247346351160496384160253927248973652422890851028220600944900668755804484884214640873416542982419527539238,
|
||||||
|
127768431309431291525683300058556563250501912653053986304903383213555655561590102253109880967414812186513437194050212,
|
||||||
|
138942197298726096322469757822173685594081568395517035998408921089425041835610928662966765743797020555497917518405229,
|
||||||
|
132409206173203238332753652834264403530767758006595540364369089889879581307343262173797291446095695399803879923230377,
|
||||||
|
133650435369317473363614432223211181268325307778866671944560383417729411387747855226011017664714144645489623558376179,
|
||||||
|
116774926792936469108456630539774960652663138246938015675700310234471076392125085358590508738676960000077446230504898,
|
||||||
|
123998434955185493788435676034290478348829263668908273199266590571329822629098906895969408362869923907634398233555833,
|
||||||
|
128232643837731096610575171672958847261378011019475159289443819281255463277283819207862289972346091644092262561955136,
|
||||||
|
121213333363954519101837715587564199901134534700505318904622382317308722533904618190989512997194479983642056493817361,
|
||||||
|
141859690055425583624110493601323868665262494116009206061745490499923643927439989399630534539546466470819573917506076,
|
||||||
|
123153078435881046435407702653616950794658438707747371272073391271146058408478549303112769268283828020127149713855191,
|
||||||
|
120435498416459774677923384640604312200392429675870742925287202763021464552324289454193110861240627951380207300047827,
|
||||||
|
135691036265666015560502200135064370118878679757255191956599200156273504351950902790859290353878671852236843850179028,
|
||||||
|
126307886004760808496006394717604002501222694736495640141632242212453849598313970926294104277692046220505466099009564,
|
||||||
|
116554472994416645010063741046037740170333834353295173374578654354563268814598679175732760725879307201122346283921022,
|
||||||
|
124133101457049806831810623199779148523418268627591118795014754970904780021565756955642446619898297016154030845954825,
|
||||||
|
130428160846734831658740916812118167973988966602550250168243427599386714694286554876533885632966311959102721780633700,
|
||||||
|
112662606576622024409942747546494563078596011818461862130714282403152373104275690999156173262463940367846039069280718,
|
||||||
|
129024551065766433816187006384748574563953281507119575172216297731562014904023516300426209764876668756818991880461404,
|
||||||
|
133974270198100561132086542369806099688775587008211801160726260543014891916626842491155205200860991840809619321267940,
|
||||||
|
145152354149066404517005272667372130521222796350177228720231426154049219594781485052634868519509013223643065185838227,
|
||||||
|
138929394576608888427696801709599398457924516019717373546664757947545370266505565459204693394703204225246872108590034,
|
||||||
|
119137825415859466543559956863612332011584385556300481336908050348031672799075752229151574451814931573524683848471241,
|
||||||
|
114487574852777163734684114316474197355698040888589999103561562303745114599792744413753171381324708909710177131130253,
|
||||||
|
132051381741110675126010567899158970140912198757549844104647994243820469066278953654985218791543663494366910971610262,
|
||||||
|
137215542998598300148291638688276933624456260736133430467936657649054702976580432207775979107389881286825167733806089,
|
||||||
|
136713168844353056024744603302248503150136686646411725207630348035740524084848543576456747322857323380730266454168994,
|
||||||
|
127188858164516685495039226994113199127242655142260556448464541856665515295761151598894766339094946962286235133275823,
|
||||||
|
132774482674982096743026644754317493563798112608802878778200709336486001481195912908924094303544318307224363575759374,
|
||||||
|
115470432430380265809739651162743865329611380451465473231346140018019121940732343316609428800094796690212496008343076,
|
||||||
|
138197628489400676059186745541039097392194394795668938542652071054275509806763385310447308174715719235759124881696043,
|
||||||
|
117738892990560156425117411913112187494348297236063750511337909802753566214139105503373962288470104470708906861393128,
|
||||||
|
116474491426987988747971254764800908744386612930693898061727078919219878704980438539055627746598697984107588627843079,
|
||||||
|
110957148556480139723545378060994367098591319009427345218103470545961205125753082167320884547772576265690548638348506,
|
||||||
|
127884521593576380678571737294287455927769326734630451130161512829247206138710055604198203766218808787884671055421101,
|
||||||
|
127420869438823212359964383472854237817668791643507668413042404660202371602241788549460162188697262534295001541684924,
|
||||||
|
136810507579690704567397086392569594808339917624003157384103067036230453695059674543918145714731249997867694445406092,
|
||||||
|
133282622630824456432723928076939737717239778135542769403306051581001383086734214074091941324468271101173726043517223,
|
||||||
|
123691710927724768695946612531287152901799747893741126748602932725885414605530341148115546312129906757975026942194753,
|
||||||
|
132526192245426097791272843822005351340659188665367518421580498573068238452103813437882971691236806888840431920493885,
|
||||||
|
121889042966446339758351313420531417004807415246312005061953684251371171447608786383974964804686921956871435686164089,
|
||||||
|
111182032265674212258664558255708030330986463215792129807129885481953921125523744425537809795575342644610596213771143,
|
||||||
|
139305022901399977959399024248072636342299236240261055589704315577040064598102915905606825753046909406212848553202923,
|
||||||
|
130327133227614977748068137703103510331323647907186297965533203889149123786359820060327763218461666383910580050908319,
|
||||||
|
132790117698759633921991863430615886606726358030673743034532513885384984323039173262330987647073695081542298545957670,
|
||||||
|
132967788376141720038722174414668186876792406443519583707172864329750859230638800934438086907804923899691842297241962,
|
||||||
|
123257055976826831512441285317162625241350095436927839531496521941718296161043829072632381655421483423959209817818201,
|
||||||
|
142678762459285820862634524780500192452350531358755996457548292297251429290757607843930854187654511478486581076780423,
|
||||||
|
119763254508019769072091904054351642877677873583655181068711735322869959048880857317753329152500107862794013040571911,
|
||||||
|
115027976748148399021737190397957868062908236858512752492085982981857145467887252385714044800477579673567307197879862,
|
||||||
|
129212450409466027671142665888381214295574625269450539258818701661342626647440070057881743867184988908370836536322321,
|
||||||
|
122628578893616446208889963100723492746622677012725364157446119393873027272175672826352654461089558753174229912140196,
|
||||||
|
134064599425330148139711983322219232632710264510428305265428617591065369521953454034055580927622065486636354885065106,
|
||||||
|
142472588694756674133530284957471587739792345264323042708360761086359868685761962026868022219424765806219441167733837,
|
||||||
|
98421982965219867012977181998197559034272230327996139068500278053194782653864660333179719532498764001894552857691670,
|
||||||
|
126944940748659776191495651511002317669535518477595865434212176620438777524381865410882713830326123564958027069314932,
|
||||||
|
133424931864388386406987058725292040924763227597446236057529474796055717570314607507115965425354004621623275719617589,
|
||||||
|
120802422658913227809588957920884764902241612642445628777892569680875304987984585665380188597019921797419899512595427,
|
||||||
|
120035277089716914991119246324493968517106130146911192472453005955124177409930495967396331028475781606080125396668819,
|
||||||
|
131329892606493021824590541882847798869778503914256757506942296305392240818944837542740915311634539672731884642988423,
|
||||||
|
129679479997786102142243342854152227563060418053904674137578522712363049603190146542181200037856332656432411640697173,
|
||||||
|
123924778598406245811816090618923128924339943352154929633389674764005873945317905017692524257381885053266816770056029,
|
||||||
|
132937370957335875476986139315972448087615623881997456349539363453189589169600298881533297774318352333697735463578912,
|
||||||
|
126209176415275352428922326635709887859344585993561337199389566774275808125765430524497626590009687895876206281988104,
|
||||||
|
124659278937489018511192932293776482281954442473488134501423998831608589689982639575445807891893314489604224462196389,
|
||||||
|
133526323474159199884000402132535421402557990193487743158262103929474392190021490670916461667212312752445315064312740,
|
||||||
|
124460437262777588598593561393488499952872197297852750132953711112810926860723442252289315208500466156623601360738430,
|
||||||
|
129150903116432335904017701323544105245733184092726631470041046411047487969149410805004541970540831006743697157164547,
|
||||||
|
129194045850209621941819696204866668904387405852385754004901626976788177657734622312794704948994737730544430745154752,
|
||||||
|
134873219331274098573078143206217241342569639106202358990444548104141222276164719614680016708358826313300427463963815,
|
||||||
|
125471589199199588243812679130702085488858613936292316367622512905457680019100201595654545462399112217858159958142479,
|
||||||
|
127408282746209388439728542219693671213558308608394039423533241923186151886659164873959162917028585286168121969550922,
|
||||||
|
127783932019406793955118549117254147512574788720735844049197985032276969825737671461627776967766638268276578867349019,
|
||||||
|
136102979873854638487378243354287384620005973512448758121630355155099727773036324975928411907733359514353214713674910,
|
||||||
|
146389759928732329878935405669128329797036132419228145842836377553196335762821855627126155292472413572792766944637418,
|
||||||
|
110407692653075771685601208517210293097700178147432500065493297290098969385410085996072736641875409331250442403063072,
|
||||||
|
140082772065243194217534220881318854176174242269610753613664096572360049358564292456965464863197347729059965582547693,
|
||||||
|
122932603345413592383652049956900971793919490123734495515103623762182888682468216147222522534521688981068795728338104,
|
||||||
|
132774482674982096743026644754317493563798112608802878778200709336486001481195912908924094303544318307273097397736819,
|
||||||
|
125966060894534996216339971492488056560677372710365082909587637393292411053005591291046504639445962296219641080846529,
|
||||||
|
116248043121464747306482803812493523592618976369601613053622194487592423703031850338486776347099555603450470173038929,
|
||||||
|
145727528348862410039644279839852507133560737725772393004147224308287281232308040571409372224543474015150292230946825,
|
||||||
|
120432161638684124411623605628653447110184017559954579697836042453579722620623057405722784044705880247142747352521927,
|
||||||
|
121728791124688832888939767720163299541507526405831410350903708411737534654801926349882819057484649739946943099388585,
|
||||||
|
130445895338287544838919072807135926392080819979863745872280479725618784047488209092275614642947251260486151428064248,
|
||||||
|
133051570829953105566734085829167974131602510967702892722793528480995625154702175532421703383671689997359187039868045,
|
||||||
|
137279288684130795662283661495937929900902450919895506844327549938052649411706149112348143088823914738128110539991641,
|
||||||
|
129578477175781178076797483671566133645125538775601504756036464885601885326984835541337158872830177651850712676170873,
|
||||||
|
130175260994058553323151340329924084139734907908846103673244971334130402019746321955651932316841913925236354225657979,
|
||||||
|
127120003002166947678051573468580170600280405950840546239590438572870756277661366994444126656974821487751292158028530,
|
||||||
|
118356573411029937884864404586883535448951885642507025374758457814211731891404613331536090237727053849518775757108760,
|
||||||
|
125355778432864464828595483293060748107000643582740547880271228519878712708211084735273881312010871087491903419597793,
|
||||||
|
138542284652940889280033317344090573043930964065722097766540624070267469471846241701107854676542700214247123492690805]
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env sage
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from random import *
|
||||||
|
from flag import flag
|
||||||
|
|
||||||
|
|
||||||
|
def keygen(nbit, l):
|
||||||
|
p = getPrime(nbit)
|
||||||
|
pubkey = []
|
||||||
|
for _ in range(l):
|
||||||
|
r, s = getPrime(nbit), getPrime(nbit >> 1)
|
||||||
|
pubkey.append(r * p + s)
|
||||||
|
return p, pubkey
|
||||||
|
|
||||||
|
def encrypt(msg, pubkey, size, nbit):
|
||||||
|
bmsg = bin(bytes_to_long(msg))[2:]
|
||||||
|
ENC, ERR = [], [getRandomNBitInteger(nbit >> 2) for _ in range(len(pubkey))]
|
||||||
|
I = [[getRandomRange(0, l) for _ in range(size)] for _ in range(len(bmsg))]
|
||||||
|
J = I.copy()
|
||||||
|
shuffle(J)
|
||||||
|
for i in range(len(bmsg)):
|
||||||
|
BSE = [pubkey[_] for _ in I[i]]
|
||||||
|
NSE = [ERR[_] for _ in J[i]]
|
||||||
|
ENC.append((p - 1337) * sum(BSE) + 31337 * sum(NSE) + int(bmsg[i]))
|
||||||
|
return ENC
|
||||||
|
|
||||||
|
nbit, l, size = 128, 19, 5
|
||||||
|
|
||||||
|
p, pubkey = keygen(nbit, l)
|
||||||
|
ENC = encrypt(flag, pubkey, size, nbit)
|
||||||
|
print(f'p = SECRET')
|
||||||
|
print(f'pubkey = CENSORED')
|
||||||
|
print(f'ENC = {ENC}')
|
|
@ -0,0 +1,225 @@
|
||||||
|
p = SECRET
|
||||||
|
pubkey = CENSORED
|
||||||
|
ENC = [130730895301824689236116409952605427561271445110616961938879486597736539677282357197751494237964518436712079126987272,
|
||||||
|
134545828750848592304511356496320248908435278910569864461098929886082384612332909627784407543898233009612473135208943,
|
||||||
|
130706440220404298545121860977277861571107194473811448907299440031565761291469285169162564237093926088792207514204909,
|
||||||
|
135903667308732468662676834401919937262534832214341065290499605902948694839441280074789546150488416258754670209207839,
|
||||||
|
120233245955528013013187402241863081619461844565287435046622168403578433759819149883788301587243657215180726245937645,
|
||||||
|
113859304450394335097415139383465004848695755774791663713330527706506938459643987439761937829655555973219131724121521,
|
||||||
|
122610143974909296298418387810253222348276470920393828990818618403310099789500897881628565505279413259540065575811551,
|
||||||
|
109298778343566141661420425651102868600583620001954012591128273210209668782242619448749013646102796917897993725814730,
|
||||||
|
113336425110199844342651734783459850300940842526402983766837612226541083578098883756496710092534383286697006566783418,
|
||||||
|
124127062429537424680599101451798856647776018158268579210205142427155211009679078500203666341167415811024102823551410,
|
||||||
|
147443192593449828831969077897952666141675048583925655490144298960150637644361375125117624061222730818706802382714989,
|
||||||
|
122057120571132572859033134182938049968651214857441053955828934212654449447026337123412160319567284478213549478753127,
|
||||||
|
125966637764385560674378791033648031440168201063593513362304318673273458142227532524622353832109952626191807942890680,
|
||||||
|
122874161069991819355525551071838321712955372465327306527445646629180766525660361782566259874739602124024993139083034,
|
||||||
|
128287581851657555122085176711201165133154295324411112479104596618595920710048987759399756427432086729526658357509523,
|
||||||
|
121079284051783804127026088256275328349860570018055040401032698296121177594539478260302905116001737708899525406011273,
|
||||||
|
119361659878103304604376326725693016340840960018305274117561675675878266417943990201589509950431528098494724616293174,
|
||||||
|
124885092755305873284908096699640523516709400987535284972246243235880978203121656988692704875859949332914990425381360,
|
||||||
|
138987616119417318023449670298589420981151577901534321136783468479083204256095405627472200819949255096500376598734973,
|
||||||
|
99467461500235869072783575659841954507110051493128505553842980717892644503272333116814896833685192230514454621056796,
|
||||||
|
142331125052791734333902339907677538898868822653583877757113948351947622780314873616701162429821797713636218257914651,
|
||||||
|
127159112869683066824975921016306375187224507754714018214122761097867292603194301144257505470519666056519950864483268,
|
||||||
|
142331125052791734333902339907677538898868822653583877757113948351947622780314873616701162429821797713644710665920795,
|
||||||
|
128723982408813244435157960280988473875670070162152572752584036320595697108457615809821699315056795161722775044339342,
|
||||||
|
128224013580724497146235157831051586945665338072804712145363173061255504069246389131542921612514281535043723626577474,
|
||||||
|
132335328979727214982911618638282536753325662143200572238474006912991938117884643148463300980844830242224283255666276,
|
||||||
|
138159915752978101665582019380908436793076976537172865570607263071117985801776629505982245522350392381805407034503167,
|
||||||
|
118529076588108942915334016684334437029810126381170429243102398394661646128426405695063292404866295136443911930799393,
|
||||||
|
114110430402001872291946560413836622917488700270961099752372571051960567068602434058086546324230172173861015113974848,
|
||||||
|
133051127751366842581855901303931760655532306298095266715652867833241521001778509443358563399864605147603121501071809,
|
||||||
|
135381495092712505217048188625381872655957980509249422925501138348445777152996922273675349082655884168772935354622058,
|
||||||
|
127618058273474467615721182698229689594170884922604777078075447213796880932512821411894204329414158158384658345114463,
|
||||||
|
123159993109937613678523719440942356046563253191511703907801331015412271139449671573180480366633718648307644849856964,
|
||||||
|
133538588388976529272009131174257092469593363768080768119743558081779369656710665215988719398622620318802757386071627,
|
||||||
|
124301625644835676443098549357597586530904433232441525164319757762373340970732860224738658492469848616243744123129446,
|
||||||
|
121137831264462528759827616216817960182226832546171980161785780055720858746889336848412737715715001892354662024637246,
|
||||||
|
112883923792929596536626918177273790270177223562805803708496735845891895892708265919662069138331787356492073764041863,
|
||||||
|
123583694029322254554299305394122452104953478584118209425681675118012817405671366854348995907298012736578448892060632,
|
||||||
|
123570198597983047002362276768440020092817128413569093933142787983248851408760403094842476946449524359682200536935881,
|
||||||
|
138618682294415608850730298825871468245481612245446086641380532066624342150612513271895006967630120143368581693694209,
|
||||||
|
130067040873987695885837970604240827853100137965217935518863260562168132615203166529251281732620450788790363354841216,
|
||||||
|
123282199786429436807961573476234202625975044234970792284207516011452859800525131329532136981500078060045843326717684,
|
||||||
|
122711388503912006154675164311363640466130813201028500604923976457530386918006289125859702462787089318279548047278383,
|
||||||
|
122481437075327079235835656728423763956319492307070079139061587885894763513936936537519033301705508601889546984500444,
|
||||||
|
118840389737572433806749929743314941465090274568654824876658520360571230755129030551951251956321870881103165190975048,
|
||||||
|
118296566074041170667037524965918792858548077173041213784557325785078048252767429349604506208448536702135588744541732,
|
||||||
|
124334007389403709554532209352879951387744198793187367011131191399558237055113260744356007698458916846751957690150225,
|
||||||
|
119359081135834061233608524030385399934221161597360778283564482802764194556603617185206697641343545346102256955501797,
|
||||||
|
134866284484918132831721417059632585145407091813790496417340049295356875408164362676624284851188249309375813416038294,
|
||||||
|
119981807762984725822981665904137803338763197667591620004753001289856481341278616497086928112088125452890167016220215,
|
||||||
|
119157740332362646030755197815423582878305975138905068681345113416758556214848438421283911782335446501202557583492886,
|
||||||
|
130160432370115887222167103146409897924679874475709007742455668023428231484187270808422575638622646734197460659163251,
|
||||||
|
132310080411892389647566386833828613238423037875034618188935219437288985907971409117748334441073022876699430060511949,
|
||||||
|
112945554025988094803467570776868768207006126945807346968363527048899403339044700033639195944938496255877578472576967,
|
||||||
|
117789567249482592870508641577035623598622586028532286403704388810450927380146401359728399097281527718165659397805851,
|
||||||
|
138342780617030621486746621948813420542688137057383918171676326461619834263370884245747244795967749690807437658881352,
|
||||||
|
139269372917378799208899633528052475057120740585167603436035177893808413585041497135332697732972549813282652855125900,
|
||||||
|
117416898642377908332819464678727074154839959599619779361919803976817716351019021057400477093635403804072425393520553,
|
||||||
|
123826556557253964436193589057802641052012903200252966688412425583125689121965561089319416720629612016774079980271900,
|
||||||
|
141235182915090748771600151955715388463979009195272125585755809687212752517721591452376735446461365457164491575708113,
|
||||||
|
135451363541409982688658309267244481087361294165849436422507599373492746368121429953416930472923115388429740031757727,
|
||||||
|
131966494791313750299524040711235005583245266810060774219871378330833816762984736172102347614751225193276024114967975,
|
||||||
|
124993372265379686238392084328879724302641716318075540036394605319549818377612796334693743982155940759483330007956809,
|
||||||
|
119239323670345370579746957877594411124088548553284648070417851312391881695273299753020842462489415876015286170070876,
|
||||||
|
142208788845033800309272971059578933682116411188563251709970123988461238057644183168132494941879685491135938231476734,
|
||||||
|
135633524874074888281908142445722667446490645707489440189766212886014163243940986912773165624880782489367700843604123,
|
||||||
|
135223540763555411558639523879175971295110483195322997802056911834439372171639878328669777219415750284468878158164538,
|
||||||
|
127382988408328180748671355856222863392851824258140096881693137097690836058448826080714554238155300488867561542197137,
|
||||||
|
121646369935908161217156878049833435487751305061238060686388691454416524407973602476771377263640246502760774797638968,
|
||||||
|
128582439699954249379502467199194088997666367984285656980091554812204496591628848439335069864633067411807027649410802,
|
||||||
|
118825841701186664326584100956854094009048117641014196892574723506768635540472563747948071709073678798194833626963182,
|
||||||
|
127018094458567765925187973336536053669723022490357602780858198777671250138210808309670605501642265095683578316649067,
|
||||||
|
141705544343835111656162472945845754675406205095766388043291745327268476697741041076999161457868465830808937886818736,
|
||||||
|
122119741528545472843783990998312777467575696459697946313387059163078303955494411004191080201983624926381461271425867,
|
||||||
|
141939873572082157108666294853222997328662500713684655884389502782045678408821214900821224154061160215306769055825522,
|
||||||
|
108840043506084802786589320432745767801167688966813043459825768214166785586786065997377902883780384054781541385444515,
|
||||||
|
137012577819424891496686215704971377587608327712879737586353652324797211002046026447559186498313619964533892484181202,
|
||||||
|
137341534758028359037551169959387216038647029914205885290641194158165621165026550666447873538680154845345186563019855,
|
||||||
|
123215636438418552390866495257575273183287506751023897876534758178221191075884251511443403300738956489232108402329912,
|
||||||
|
133153635659924452846820957022958610983802897863425468929651671536646878750784917955000888394398961245407340716091812,
|
||||||
|
117588239883285545991835054580633645496537367846820990662612624276055623524676489887176764923974045244426271099885637,
|
||||||
|
125117208704806871472308464500871550009672692797619317613888337739028941567028758939078015237960949108262464281906445,
|
||||||
|
122702579940920755453105891556167196242229588736512040022529093778125351758257423278740776609395333709642057719127535,
|
||||||
|
139782812650948567681689754564929900116001984571432271691591088081490936819514342830953376180370931443583765238647962,
|
||||||
|
135876690959428922569102282419727180276276072285393491970030106726413366915731016995585659407544054018686501873286791,
|
||||||
|
130040064524684149792263418622048070866841378036270362198393761385632804691492903450047394989676088548667636779124996,
|
||||||
|
137083843226390733141480328042627878395327301438242884527306046473271291037221656956102996211108272310105208906476003,
|
||||||
|
124659720876556278928233036805726153009271276774472165174331780655819001418000768856432294470551318285596687572293507,
|
||||||
|
130300786528376430291463449691747429507625203858909182014027568948443480103936134110411975321644107186101759985498892,
|
||||||
|
126036481691813344267761677480669504215707623238180044888383940857834353395118529868968058735387093662311017160858139,
|
||||||
|
136966707144109682330638924645401184834979623571695139516920077805850762615358178452374785333499168267114369851311372,
|
||||||
|
132750261314710577899943091299657693438143920605428144542200901745909905677198087888342527868142164101075083576411638,
|
||||||
|
144948812543497235575660809880687309763357660925309714915306088490860906292058294628802965735388446008805096545255656,
|
||||||
|
132711918265282017004056418148269278976510481839683037828722742498232651815535764121446457208130617147124101376297959,
|
||||||
|
129937608708489662099336357105321639660487504652255655823794842429184235080073651887774950229636368639559709998030302,
|
||||||
|
133992922114859826550105319965781786438757631538370223183273021776496567933496845208412072007488687484196186373814522,
|
||||||
|
124912267822110921805683803516363637283345601016119626154425544864618653522347199068221841874473169468481367325912399,
|
||||||
|
113427720461165415550348979321231337011159090680678457393713170084614913824306580627980674837709374325876935442979016,
|
||||||
|
131482749370932233506197999373633715145382025599705237135884795970109239364730011379309744877645863079643413489223118,
|
||||||
|
124787998644906276252646715646501105716169489793492666983955576589797705614385159315182312993502789114513001710523677,
|
||||||
|
114464558345445683140283519023649943347245482369644384474172581209303334587569416958405044956464899364677681658660178,
|
||||||
|
142005608214954820989199386437932834722879106552417334466854760349382320310026892292819354790740591492423029970424815,
|
||||||
|
135682062103509115774090986845025841550129575379235377673940974285199878876007054573633045870219818357897515426170742,
|
||||||
|
126510663861475165715508903991196150644066043478012660031023202691032326141173290816734686751082967987879209728587389,
|
||||||
|
109843909368752473283561149377955131807534259061180415471654527882774667843437204892641966686846218696427487581559010,
|
||||||
|
137172196947395250422427214284121500049109630554016481770667676431063879925989059531898199842642453770735603945933371,
|
||||||
|
112501289040514416441706105310536397261597763358312310067605273310403962316426868271029758527283434404434012874839655,
|
||||||
|
131154288554317076081560746054127561663445769884227561512511451895165212824085091474820349273446402627696891593492398,
|
||||||
|
129578857123336914544822180268298435689324871130327913649510948920248267494278060514211547497408433650329696770536305,
|
||||||
|
126725128131505414690997379291172506467927209015763082987952919057180693894113381735961305864188515631278077438959311,
|
||||||
|
117526269602385609804214543882039270594145465319706356758774566517362523789776855505081206535520133155471567024415361,
|
||||||
|
136054649337043505090483326967949230385429405315588084916194670296314886133727637824786848479569804154952926622310983,
|
||||||
|
122662567691237772092813084261841880601886181609153649581532255024866323308188299065574280543634042384855702352694376,
|
||||||
|
128105022482479902291112259512402780445026867813017825272098980519022462973797023260699748898609066221091712716179567,
|
||||||
|
125288191984375548378809572439248566043519216835396351054919498762354109992222615350441011987658768152391585269165451,
|
||||||
|
122788975919868532307948252620515390928703263460326454221189442196106755782797222168282521164615369488216610922740112,
|
||||||
|
135468348685568980711366403705006975480530398553980711695735093968854941685370411600777709331451905833471222672101529,
|
||||||
|
129721417476875151547343617348672612937256160429536653135879041953098811661926070425221205829595481242243224553347157,
|
||||||
|
124106056768384871827089346763657964473686276159179751379219535946382188408651999595712784984062303047010175757892516,
|
||||||
|
103798174062618452825263900851608614495840945023171872104660302774447297553729871857661332182406336962051505596483713,
|
||||||
|
117678768731007125971711776177474023426697870342101592804398170041917323790159070984412791493873758190386162957421461,
|
||||||
|
125899673236304773786261673571946619087854057387012096311326049757349503894523110647509304702732770682011536970801466,
|
||||||
|
129573904176259505146023171211648876328819901404730487079113871141065935520401043961209302406273907763585475457314031,
|
||||||
|
146852502777466245711242929028641620522237923306266459800860103267845822000108232455350133426265167429372584602487778,
|
||||||
|
129918642998857293113256966122707583807500484757118338026925831385884892696307711196691885826065150108131021733625220,
|
||||||
|
126339336437622003633944439434782928061168335860634061470646255098483578178623804367112498676610165060047492494984354,
|
||||||
|
136243799599653859099018093806207816068223845990013579814001629498412856710993690451253432663015014730678433448903129,
|
||||||
|
114924764957465440451973530156944880554392098215566134304773594533831212697694803369836749607460402584526964062920277,
|
||||||
|
116015714854477878002825014948436587968288921072608457948666605692757907070320360087495277722880196011955198248401703,
|
||||||
|
130549065074894675009229440144603897697872001895351898894305063821625164719793268378345963300258201248227160003746105,
|
||||||
|
123656087532247346351160496384160253927248973652422890851028220600944900668755804484884214640873416542982419527539238,
|
||||||
|
127768431309431291525683300058556563250501912653053986304903383213555655561590102253109880967414812186513437194050212,
|
||||||
|
138942197298726096322469757822173685594081568395517035998408921089425041835610928662966765743797020555497917518405229,
|
||||||
|
132409206173203238332753652834264403530767758006595540364369089889879581307343262173797291446095695399803879923230377,
|
||||||
|
133650435369317473363614432223211181268325307778866671944560383417729411387747855226011017664714144645489623558376179,
|
||||||
|
116774926792936469108456630539774960652663138246938015675700310234471076392125085358590508738676960000077446230504898,
|
||||||
|
123998434955185493788435676034290478348829263668908273199266590571329822629098906895969408362869923907634398233555833,
|
||||||
|
128232643837731096610575171672958847261378011019475159289443819281255463277283819207862289972346091644092262561955136,
|
||||||
|
121213333363954519101837715587564199901134534700505318904622382317308722533904618190989512997194479983642056493817361,
|
||||||
|
141859690055425583624110493601323868665262494116009206061745490499923643927439989399630534539546466470819573917506076,
|
||||||
|
123153078435881046435407702653616950794658438707747371272073391271146058408478549303112769268283828020127149713855191,
|
||||||
|
120435498416459774677923384640604312200392429675870742925287202763021464552324289454193110861240627951380207300047827,
|
||||||
|
135691036265666015560502200135064370118878679757255191956599200156273504351950902790859290353878671852236843850179028,
|
||||||
|
126307886004760808496006394717604002501222694736495640141632242212453849598313970926294104277692046220505466099009564,
|
||||||
|
116554472994416645010063741046037740170333834353295173374578654354563268814598679175732760725879307201122346283921022,
|
||||||
|
124133101457049806831810623199779148523418268627591118795014754970904780021565756955642446619898297016154030845954825,
|
||||||
|
130428160846734831658740916812118167973988966602550250168243427599386714694286554876533885632966311959102721780633700,
|
||||||
|
112662606576622024409942747546494563078596011818461862130714282403152373104275690999156173262463940367846039069280718,
|
||||||
|
129024551065766433816187006384748574563953281507119575172216297731562014904023516300426209764876668756818991880461404,
|
||||||
|
133974270198100561132086542369806099688775587008211801160726260543014891916626842491155205200860991840809619321267940,
|
||||||
|
145152354149066404517005272667372130521222796350177228720231426154049219594781485052634868519509013223643065185838227,
|
||||||
|
138929394576608888427696801709599398457924516019717373546664757947545370266505565459204693394703204225246872108590034,
|
||||||
|
119137825415859466543559956863612332011584385556300481336908050348031672799075752229151574451814931573524683848471241,
|
||||||
|
114487574852777163734684114316474197355698040888589999103561562303745114599792744413753171381324708909710177131130253,
|
||||||
|
132051381741110675126010567899158970140912198757549844104647994243820469066278953654985218791543663494366910971610262,
|
||||||
|
137215542998598300148291638688276933624456260736133430467936657649054702976580432207775979107389881286825167733806089,
|
||||||
|
136713168844353056024744603302248503150136686646411725207630348035740524084848543576456747322857323380730266454168994,
|
||||||
|
127188858164516685495039226994113199127242655142260556448464541856665515295761151598894766339094946962286235133275823,
|
||||||
|
132774482674982096743026644754317493563798112608802878778200709336486001481195912908924094303544318307224363575759374,
|
||||||
|
115470432430380265809739651162743865329611380451465473231346140018019121940732343316609428800094796690212496008343076,
|
||||||
|
138197628489400676059186745541039097392194394795668938542652071054275509806763385310447308174715719235759124881696043,
|
||||||
|
117738892990560156425117411913112187494348297236063750511337909802753566214139105503373962288470104470708906861393128,
|
||||||
|
116474491426987988747971254764800908744386612930693898061727078919219878704980438539055627746598697984107588627843079,
|
||||||
|
110957148556480139723545378060994367098591319009427345218103470545961205125753082167320884547772576265690548638348506,
|
||||||
|
127884521593576380678571737294287455927769326734630451130161512829247206138710055604198203766218808787884671055421101,
|
||||||
|
127420869438823212359964383472854237817668791643507668413042404660202371602241788549460162188697262534295001541684924,
|
||||||
|
136810507579690704567397086392569594808339917624003157384103067036230453695059674543918145714731249997867694445406092,
|
||||||
|
133282622630824456432723928076939737717239778135542769403306051581001383086734214074091941324468271101173726043517223,
|
||||||
|
123691710927724768695946612531287152901799747893741126748602932725885414605530341148115546312129906757975026942194753,
|
||||||
|
132526192245426097791272843822005351340659188665367518421580498573068238452103813437882971691236806888840431920493885,
|
||||||
|
121889042966446339758351313420531417004807415246312005061953684251371171447608786383974964804686921956871435686164089,
|
||||||
|
111182032265674212258664558255708030330986463215792129807129885481953921125523744425537809795575342644610596213771143,
|
||||||
|
139305022901399977959399024248072636342299236240261055589704315577040064598102915905606825753046909406212848553202923,
|
||||||
|
130327133227614977748068137703103510331323647907186297965533203889149123786359820060327763218461666383910580050908319,
|
||||||
|
132790117698759633921991863430615886606726358030673743034532513885384984323039173262330987647073695081542298545957670,
|
||||||
|
132967788376141720038722174414668186876792406443519583707172864329750859230638800934438086907804923899691842297241962,
|
||||||
|
123257055976826831512441285317162625241350095436927839531496521941718296161043829072632381655421483423959209817818201,
|
||||||
|
142678762459285820862634524780500192452350531358755996457548292297251429290757607843930854187654511478486581076780423,
|
||||||
|
119763254508019769072091904054351642877677873583655181068711735322869959048880857317753329152500107862794013040571911,
|
||||||
|
115027976748148399021737190397957868062908236858512752492085982981857145467887252385714044800477579673567307197879862,
|
||||||
|
129212450409466027671142665888381214295574625269450539258818701661342626647440070057881743867184988908370836536322321,
|
||||||
|
122628578893616446208889963100723492746622677012725364157446119393873027272175672826352654461089558753174229912140196,
|
||||||
|
134064599425330148139711983322219232632710264510428305265428617591065369521953454034055580927622065486636354885065106,
|
||||||
|
142472588694756674133530284957471587739792345264323042708360761086359868685761962026868022219424765806219441167733837,
|
||||||
|
98421982965219867012977181998197559034272230327996139068500278053194782653864660333179719532498764001894552857691670,
|
||||||
|
126944940748659776191495651511002317669535518477595865434212176620438777524381865410882713830326123564958027069314932,
|
||||||
|
133424931864388386406987058725292040924763227597446236057529474796055717570314607507115965425354004621623275719617589,
|
||||||
|
120802422658913227809588957920884764902241612642445628777892569680875304987984585665380188597019921797419899512595427,
|
||||||
|
120035277089716914991119246324493968517106130146911192472453005955124177409930495967396331028475781606080125396668819,
|
||||||
|
131329892606493021824590541882847798869778503914256757506942296305392240818944837542740915311634539672731884642988423,
|
||||||
|
129679479997786102142243342854152227563060418053904674137578522712363049603190146542181200037856332656432411640697173,
|
||||||
|
123924778598406245811816090618923128924339943352154929633389674764005873945317905017692524257381885053266816770056029,
|
||||||
|
132937370957335875476986139315972448087615623881997456349539363453189589169600298881533297774318352333697735463578912,
|
||||||
|
126209176415275352428922326635709887859344585993561337199389566774275808125765430524497626590009687895876206281988104,
|
||||||
|
124659278937489018511192932293776482281954442473488134501423998831608589689982639575445807891893314489604224462196389,
|
||||||
|
133526323474159199884000402132535421402557990193487743158262103929474392190021490670916461667212312752445315064312740,
|
||||||
|
124460437262777588598593561393488499952872197297852750132953711112810926860723442252289315208500466156623601360738430,
|
||||||
|
129150903116432335904017701323544105245733184092726631470041046411047487969149410805004541970540831006743697157164547,
|
||||||
|
129194045850209621941819696204866668904387405852385754004901626976788177657734622312794704948994737730544430745154752,
|
||||||
|
134873219331274098573078143206217241342569639106202358990444548104141222276164719614680016708358826313300427463963815,
|
||||||
|
125471589199199588243812679130702085488858613936292316367622512905457680019100201595654545462399112217858159958142479,
|
||||||
|
127408282746209388439728542219693671213558308608394039423533241923186151886659164873959162917028585286168121969550922,
|
||||||
|
127783932019406793955118549117254147512574788720735844049197985032276969825737671461627776967766638268276578867349019,
|
||||||
|
136102979873854638487378243354287384620005973512448758121630355155099727773036324975928411907733359514353214713674910,
|
||||||
|
146389759928732329878935405669128329797036132419228145842836377553196335762821855627126155292472413572792766944637418,
|
||||||
|
110407692653075771685601208517210293097700178147432500065493297290098969385410085996072736641875409331250442403063072,
|
||||||
|
140082772065243194217534220881318854176174242269610753613664096572360049358564292456965464863197347729059965582547693,
|
||||||
|
122932603345413592383652049956900971793919490123734495515103623762182888682468216147222522534521688981068795728338104,
|
||||||
|
132774482674982096743026644754317493563798112608802878778200709336486001481195912908924094303544318307273097397736819,
|
||||||
|
125966060894534996216339971492488056560677372710365082909587637393292411053005591291046504639445962296219641080846529,
|
||||||
|
116248043121464747306482803812493523592618976369601613053622194487592423703031850338486776347099555603450470173038929,
|
||||||
|
145727528348862410039644279839852507133560737725772393004147224308287281232308040571409372224543474015150292230946825,
|
||||||
|
120432161638684124411623605628653447110184017559954579697836042453579722620623057405722784044705880247142747352521927,
|
||||||
|
121728791124688832888939767720163299541507526405831410350903708411737534654801926349882819057484649739946943099388585,
|
||||||
|
130445895338287544838919072807135926392080819979863745872280479725618784047488209092275614642947251260486151428064248,
|
||||||
|
133051570829953105566734085829167974131602510967702892722793528480995625154702175532421703383671689997359187039868045,
|
||||||
|
137279288684130795662283661495937929900902450919895506844327549938052649411706149112348143088823914738128110539991641,
|
||||||
|
129578477175781178076797483671566133645125538775601504756036464885601885326984835541337158872830177651850712676170873,
|
||||||
|
130175260994058553323151340329924084139734907908846103673244971334130402019746321955651932316841913925236354225657979,
|
||||||
|
127120003002166947678051573468580170600280405950840546239590438572870756277661366994444126656974821487751292158028530,
|
||||||
|
118356573411029937884864404586883535448951885642507025374758457814211731891404613331536090237727053849518775757108760,
|
||||||
|
125355778432864464828595483293060748107000643582740547880271228519878712708211084735273881312010871087491903419597793,
|
||||||
|
138542284652940889280033317344090573043930964065722097766540624070267469471846241701107854676542700214247123492690805]
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env sage
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from random import *
|
||||||
|
from flag import flag
|
||||||
|
|
||||||
|
|
||||||
|
def keygen(nbit, l):
|
||||||
|
p = getPrime(nbit)
|
||||||
|
pubkey = []
|
||||||
|
for _ in range(l):
|
||||||
|
r, s = getPrime(nbit), getPrime(nbit >> 1)
|
||||||
|
pubkey.append(r * p + s)
|
||||||
|
return p, pubkey
|
||||||
|
|
||||||
|
def encrypt(msg, pubkey, size, nbit):
|
||||||
|
bmsg = bin(bytes_to_long(msg))[2:]
|
||||||
|
ENC, ERR = [], [getRandomNBitInteger(nbit >> 2) for _ in range(len(pubkey))]
|
||||||
|
I = [[getRandomRange(0, l) for _ in range(size)] for _ in range(len(bmsg))]
|
||||||
|
J = I.copy()
|
||||||
|
shuffle(J)
|
||||||
|
for i in range(len(bmsg)):
|
||||||
|
BSE = [pubkey[_] for _ in I[i]]
|
||||||
|
NSE = [ERR[_] for _ in J[i]]
|
||||||
|
ENC.append((p - 1337) * sum(BSE) + 31337 * sum(NSE) + int(bmsg[i]))
|
||||||
|
return ENC
|
||||||
|
|
||||||
|
nbit, l, size = 128, 19, 5
|
||||||
|
|
||||||
|
p, pubkey = keygen(nbit, l)
|
||||||
|
ENC = encrypt(flag, pubkey, size, nbit)
|
||||||
|
print(f'p = SECRET')
|
||||||
|
print(f'pubkey = CENSORED')
|
||||||
|
print(f'ENC = {ENC}')
|
|
@ -0,0 +1 @@
|
||||||
|
We have developed an additive homomorphic efficient public key cryptosystems for our secure communications. Try to break it!
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env sage
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
|
||||||
|
# Some investigation shows that we are applying the `Joye-Libert' cryptosystem, so the decryption function is:
|
||||||
|
|
||||||
|
def decrypt(keypair, c):
|
||||||
|
p, pubkey = keypair
|
||||||
|
k, n, y = pubkey
|
||||||
|
assert n % p == 0
|
||||||
|
z = pow(c, (p - 1) // (2 ** k), p)
|
||||||
|
x = pow(y, (p - 1) // (2 ** k), p)
|
||||||
|
m = discrete_log(z, x)
|
||||||
|
return m
|
||||||
|
|
||||||
|
# But we need the private key, or one of the prime factor of modulus of public key. Easily we can check that
|
||||||
|
# all four modulus have common prime factors, so all public keys can be factored to their prime factors.
|
||||||
|
# Hence we can call the `decrypt' function for all key-pairs = (p, pubkey).
|
||||||
|
|
||||||
|
|
||||||
|
PUBKEYS = [(64, 5097817878965528130491999342033509383671964377259616798715086934670476350727067457961522894098176448758455154790088591291492140436888345341524809013526529, 2719656862057675929701181954473487234560053809504182870159883838830483677151615636749895148757512803297431604023949928845798307274620135893628483730370165), (64, 7060901523045984042726080087295157550812603117014135470810146736924359487877594696955935359761087723618432268625961633499242025342993080599272255219826689, 4236820856373471395975112418570159264049442285065614702317560670715324826831495654542690903261317999410969993239143341056856173969712835598894202769388189), (64, 5886668253670710710014305751042288929482573229210648408256360809410689379782338231757686802389194096652696623501426797782671696086916718671567800963694593, 677368525715501885225550495329044026746223906252509513138088716119365842650677326813318891234654722631402944420811717518465312218123608617232162852424170), (64, 6114696543898743304257013154635488204390945532201859491053616049905885027429927049234156928074388068529709328066036749070246579808959041037459892329250817, 1021087898515549606893085024245043948068246289952806903035703154407844021232228744683154236268344854762246167228090127959207385970329548719938322873853549)]
|
||||||
|
ENC = [1286907403972341066242889039669746312604706856103274344009103676324327972578841290574873287897323982618297132672952263919380020818444548599642494468594665, 1838915271351575639601282561214303786600921537529533284271544284380414309392526991211419383097531042880836480777627616721634975396626109131764273669068589, 1895763364891005946887146248268886690926567718566562720182936733403281150463031165139138495033281798780786067518579648144178418947406635436838517465170080, 865258808401079606933739673880885312400885776434889955425887632635573328068544052188598492574428785517787870375464753706677205587063007358817267526317094]
|
||||||
|
|
||||||
|
p1 = GCD(PUBKEYS[0][1], PUBKEYS[3][1])
|
||||||
|
p2 = GCD(PUBKEYS[0][1], PUBKEYS[2][1])
|
||||||
|
p3 = GCD(PUBKEYS[1][1], PUBKEYS[2][1])
|
||||||
|
p4 = GCD(PUBKEYS[1][1], PUBKEYS[3][1])
|
||||||
|
|
||||||
|
print('Primes: ')
|
||||||
|
print(f'p1 = {p1}')
|
||||||
|
print(f'p2 = {p2}')
|
||||||
|
print(f'p3 = {p3}')
|
||||||
|
print(f'p4 = {p4}')
|
||||||
|
|
||||||
|
|
||||||
|
m1 = decrypt((p1, PUBKEYS[0]), ENC[0])
|
||||||
|
m2 = decrypt((p3, PUBKEYS[1]), ENC[1])
|
||||||
|
m3 = decrypt((p2, PUBKEYS[2]), ENC[2])
|
||||||
|
m4 = decrypt((p4, PUBKEYS[3]), ENC[3])
|
||||||
|
|
||||||
|
flag = long_to_bytes(m1) + long_to_bytes(m2) + long_to_bytes(m3) + long_to_bytes(m4)
|
||||||
|
print(b'flag = CCTF{' + flag + b'}')
|
|
@ -0,0 +1 @@
|
||||||
|
CCTF{3nj0Y_Joye-Libert_cRyp7O5yST3m!!}
|
|
@ -0,0 +1,2 @@
|
||||||
|
PUBKEYS = [(64, 5097817878965528130491999342033509383671964377259616798715086934670476350727067457961522894098176448758455154790088591291492140436888345341524809013526529, 2719656862057675929701181954473487234560053809504182870159883838830483677151615636749895148757512803297431604023949928845798307274620135893628483730370165), (64, 7060901523045984042726080087295157550812603117014135470810146736924359487877594696955935359761087723618432268625961633499242025342993080599272255219826689, 4236820856373471395975112418570159264049442285065614702317560670715324826831495654542690903261317999410969993239143341056856173969712835598894202769388189), (64, 5886668253670710710014305751042288929482573229210648408256360809410689379782338231757686802389194096652696623501426797782671696086916718671567800963694593, 677368525715501885225550495329044026746223906252509513138088716119365842650677326813318891234654722631402944420811717518465312218123608617232162852424170), (64, 6114696543898743304257013154635488204390945532201859491053616049905885027429927049234156928074388068529709328066036749070246579808959041037459892329250817, 1021087898515549606893085024245043948068246289952806903035703154407844021232228744683154236268344854762246167228090127959207385970329548719938322873853549)]
|
||||||
|
ENC = [1286907403972341066242889039669746312604706856103274344009103676324327972578841290574873287897323982618297132672952263919380020818444548599642494468594665, 1838915271351575639601282561214303786600921537529533284271544284380414309392526991211419383097531042880836480777627616721634975396626109131764273669068589, 1895763364891005946887146248268886690926567718566562720182936733403281150463031165139138495033281798780786067518579648144178418947406635436838517465170080, 865258808401079606933739673880885312400885776434889955425887632635573328068544052188598492574428785517787870375464753706677205587063007358817267526317094]
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
|
||||||
|
def genprimes(nbit, k):
|
||||||
|
while True:
|
||||||
|
p, q = [2 ** k * getRandomNBitInteger(nbit - k) + 1 for _ in '01']
|
||||||
|
if isPrime(p) and isPrime(q):
|
||||||
|
return p, q
|
||||||
|
|
||||||
|
def keygen(PRIMES, k):
|
||||||
|
p1, p2, p3, p4 = PRIMES
|
||||||
|
PUBKEYS = []
|
||||||
|
while True:
|
||||||
|
y1 = getRandomRange(2, p1 * p2)
|
||||||
|
if pow(y1, (p1 - 1) // 2, p1) == p1 - 1 and pow(y1, (p2 - 1) // 2, p2) == p2 - 1:
|
||||||
|
PUBKEYS.append((k, p1 * p2, y1))
|
||||||
|
break
|
||||||
|
while True:
|
||||||
|
y2 = getRandomRange(2, p3 * p4)
|
||||||
|
if pow(y2, (p3 - 1) // 2, p3) == p3 - 1 and pow(y2, (p4 - 1) // 2, p4) == p4 - 1:
|
||||||
|
PUBKEYS.append((k, p3 * p4, y2))
|
||||||
|
break
|
||||||
|
while True:
|
||||||
|
y3 = getRandomRange(2, p2 * p3)
|
||||||
|
if pow(y3, (p2 - 1) // 2, p2) == p2 - 1 and pow(y3, (p3 - 1) // 2, p3) == p3 - 1:
|
||||||
|
PUBKEYS.append((k, p2 * p3, y3))
|
||||||
|
break
|
||||||
|
while True:
|
||||||
|
y4 = getRandomRange(2, p4 * p1)
|
||||||
|
if pow(y4, (p4 - 1) // 2, p4) == p4 - 1 and pow(y4, (p1 - 1) // 2, p1) == p1 - 1:
|
||||||
|
PUBKEYS.append((k, p4 * p1, y4))
|
||||||
|
break
|
||||||
|
return PUBKEYS
|
||||||
|
|
||||||
|
nbit, k = 256, 64
|
||||||
|
flag = b'CCTF{3nj0Y_Joye-Libert_cRyp7O5yST3m!!}'
|
||||||
|
|
||||||
|
p1, p2 = genprimes(nbit, k)
|
||||||
|
p3, p4 = genprimes(nbit, k)
|
||||||
|
|
||||||
|
PUBKEYS = keygen([p1, p2, p3, p4], k)
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from secret import PUBKEYS, flag
|
||||||
|
|
||||||
|
def keygen(nbit, k): # Public key generation function
|
||||||
|
while True:
|
||||||
|
p, q = [2 ** k * getRandomNBitInteger(nbit - k) + 1 for _ in '01']
|
||||||
|
if isPrime(p) and isPrime(q):
|
||||||
|
while True:
|
||||||
|
y = getRandomRange(2, p * q)
|
||||||
|
if pow(y, (p - 1) // 2, p) == p - 1 and pow(y, (q - 1) // 2, q) == q - 1:
|
||||||
|
pubkey = k, p * q, y
|
||||||
|
return pubkey
|
||||||
|
|
||||||
|
def encrypt(pubkey, m):
|
||||||
|
k, n, y = pubkey
|
||||||
|
assert k >= len(bin(m)[2:])
|
||||||
|
x = getRandomRange(2, n)
|
||||||
|
return pow(y, m, n) * pow(x, 2 ** k, n) % n
|
||||||
|
|
||||||
|
flag = flag.lstrip(b'CCTF{').rstrip(b'}')
|
||||||
|
flag = [bytes_to_long(flag[i*8:i*8 + 8]) for i in range(4)]
|
||||||
|
print(f'PUBKEYS = {PUBKEYS}')
|
||||||
|
|
||||||
|
ENC = [encrypt(PUBKEYS[_], flag[_]) for _ in range(4)]
|
||||||
|
print(f'ENC = {ENC}')
|
|
@ -0,0 +1,2 @@
|
||||||
|
PUBKEYS = [(64, 5097817878965528130491999342033509383671964377259616798715086934670476350727067457961522894098176448758455154790088591291492140436888345341524809013526529, 2719656862057675929701181954473487234560053809504182870159883838830483677151615636749895148757512803297431604023949928845798307274620135893628483730370165), (64, 7060901523045984042726080087295157550812603117014135470810146736924359487877594696955935359761087723618432268625961633499242025342993080599272255219826689, 4236820856373471395975112418570159264049442285065614702317560670715324826831495654542690903261317999410969993239143341056856173969712835598894202769388189), (64, 5886668253670710710014305751042288929482573229210648408256360809410689379782338231757686802389194096652696623501426797782671696086916718671567800963694593, 677368525715501885225550495329044026746223906252509513138088716119365842650677326813318891234654722631402944420811717518465312218123608617232162852424170), (64, 6114696543898743304257013154635488204390945532201859491053616049905885027429927049234156928074388068529709328066036749070246579808959041037459892329250817, 1021087898515549606893085024245043948068246289952806903035703154407844021232228744683154236268344854762246167228090127959207385970329548719938322873853549)]
|
||||||
|
ENC = [1286907403972341066242889039669746312604706856103274344009103676324327972578841290574873287897323982618297132672952263919380020818444548599642494468594665, 1838915271351575639601282561214303786600921537529533284271544284380414309392526991211419383097531042880836480777627616721634975396626109131764273669068589, 1895763364891005946887146248268886690926567718566562720182936733403281150463031165139138495033281798780786067518579648144178418947406635436838517465170080, 865258808401079606933739673880885312400885776434889955425887632635573328068544052188598492574428785517787870375464753706677205587063007358817267526317094]
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from Crypto.Util.number import *
|
||||||
|
from secret import PUBKEYS, flag
|
||||||
|
|
||||||
|
def keygen(nbit, k): # Public key generation function
|
||||||
|
while True:
|
||||||
|
p, q = [2 ** k * getRandomNBitInteger(nbit - k) + 1 for _ in '01']
|
||||||
|
if isPrime(p) and isPrime(q):
|
||||||
|
while True:
|
||||||
|
y = getRandomRange(2, p * q)
|
||||||
|
if pow(y, (p - 1) // 2, p) == p - 1 and pow(y, (q - 1) // 2, q) == q - 1:
|
||||||
|
pubkey = k, p * q, y
|
||||||
|
return pubkey
|
||||||
|
|
||||||
|
def encrypt(pubkey, m):
|
||||||
|
k, n, y = pubkey
|
||||||
|
assert k >= len(bin(m)[2:])
|
||||||
|
x = getRandomRange(2, n)
|
||||||
|
return pow(y, m, n) * pow(x, 2 ** k, n) % n
|
||||||
|
|
||||||
|
flag = flag.lstrip(b'CCTF{').rstrip(b'}')
|
||||||
|
flag = [bytes_to_long(flag[i*8:i*8 + 8]) for i in range(4)]
|
||||||
|
print(f'PUBKEYS = {PUBKEYS}')
|
||||||
|
|
||||||
|
ENC = [encrypt(PUBKEYS[_], flag[_]) for _ in range(4)]
|
||||||
|
print(f'ENC = {ENC}')
|
Loading…
Reference in New Issue