Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
я быстренько подкрутил размер ключика и размер буфераДевиз настоящего хакера: «всё, что можно попробовать — нужно попробовать!»
strace -e trace=open,read gpg2 --gen-keyopen("/dev/random", O_RDONLY) = 6
read(6, "\260@ \0\311\214\3770\370\375\261-\264\203\30\316\330\347\217\272\\-\377|\3\204\f\360}l\366["..., 64) = 64
read(6, "\365\35\3644\37W\374\327=\311\350Q/\365\16\270\364q\354\374\232\305\334\232+\375c\247GX\361\263"..., 64) = 64
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
read(6, ":\360\220\344\246\10]\2045\266\223\317\264\322o\371pt\25\5?\225\254t\222h\311\3674g\20\271"..., 64) = 54
read(6, "\253A\235&.\322\214\302\1\30", 10) = 10
read(6, "\254\251\315.\242c\217\234\325\\\4\200\25\210[\17\265\316\333#%\340\222pY[\tW\254\264\343\35"..., 64) = 53
read(6, "\3\245/\323aJ\336[\316\224P", 11) = 11open("/dev/random", O_RDONLY) = 6
read(6, "g\27,#4\312\222r\343\342\276ps((\f\356\16\272\246\247\372\274\370\330\226BT\375\240\321\36"..., 192) = 115
read(6, "h\345~\3266\221\253\366\272\314u\205\215\343;\25\202\324%\273\177|\303\17\273F\363\271\273\346\271\224"..., 77) = 58
read(6, "\202\177\343\256\350&\361Yb\2659\253\356\301", 19) = 14
read(6, "\220X\331\337\237", 5) = 5
read(6, "\10\346\346z\27\v\342\345\241fQ\203I\235\22\0\325\203;\333[\212\331\247\300S\274\r:E:\251"..., 192) = 80
read(6, "\353\257!.\203t*\326\271/\370\356\315\234\343\352\1\326\241\332J\237\17\371+\245R\3\240k<="..., 112) = 70
read(6, ",V\335>\347\330s\23\357+\241\341j\316\215\16J\211\36\341:\310S\0315\226\222Y\24\233\312w", 42) = 32
read(6, "\25\262\330bhz\221#m\231", 10) = 10
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
read(6, "\242K\17x\341{\352Gy\307\332q\320\344\315\325\305\3576}\323\301\277aW\204\177\6W\2558\263"..., 192) = 79
read(6, "G\2228\213\302\365\275\320\217\340\1<\266\r\235\366o\27\215\360\33\377\331x\3074\362\16\362\26\nB"..., 113) = 73
read(6, "\243\300\362\v'yi\350\271=Dmnk\334\36\263\214!\302\261\344\"\1\234\375a\200\230N\326u"..., 40) = 39
read(6, "\315", 1) = 1
read(6, "\f\232\315\3111%\nM\263\230W\317\314\244\361\37\4\2165\334\342\353\303M\\!\264\325\227\334\311!"..., 192) = 84
read(6, "V\305\250\352fD\374\234\372\373\352\264\252\370D\t\35\336\303\23Ys\271\246\250\207\23L\330\373\240\343"..., 108) = 71
read(6, ")\212fn\251\25\f\322\10s\205\316c4\305\232<\305\373\4F\271\374\25\217\267G\336", 37) = 28
read(6, "\365H\303\307\341\370YH\373", 9) = 9open("/dev/random", O_RDONLY) = 6
read(6, "\303\240\350KFI\370\277\274\30\364-\17q\355\304\\3\17\306\3\233&\205\256\260\307\200\30k\n\225"..., 448) = 115
read(6, "\372\323\vb\37k\2172\362\236\307*\214\364\234\0264\371\235\373Y\361\23\366\362o6\227\301\26\1\327"..., 333) = 82
read(6, "\224z\354\3667_>\357\254\216U\354\303jt\24\261\317s\302\r\7\362\fj@\330\331\312\t'\204"..., 251) = 80
read(6, "Rp\306\260m\5\346\34\22\275\33\322\301\1\211)|\34\202\271\2403\231\245\23\337\0272i(g^"..., 171) = 80
read(6, "\22658(\331\312\312c\225\353OZ\351\25\243\342\300`vo\266Is\3\346r\vd\21\204\20\257"..., 91) = 64
read(6, "\4qq>`}O\240F9V\224\260\177\337J \37[\213", 27) = 20
read(6, "a\3440^2\206\4", 7) = 7
read(6, "7\3271\376\263$Y#\254\31\204\216\237\17\224j\265\30\237p\266ao\205pL\360\r\314cIc"..., 448) = 86
read(6, "\0_\330\36\275Bo\356&HmY\272\352[#F\272\334\266u\207Q\246\371\322\37_<]\333w"..., 362) = 82
read(6, "3\362\351\201\350X\361n4C)\355\310Z\275\343\3\300\237\241\256`-Z\302\211\354\362\307\241w9"..., 280) = 80
read(6, "J\374\360I\371\367\234\241\246\243b\257'\230A\17/\365\211\333\33f\342\352\235\t\356\17(\n\366\342"..., 200) = 78
read(6, "\252\3\242\16\264\312\267!\214e\244\264F\323z\321\220<\324\3365#w\265\311F\f\331%bj)"..., 122) = 75
read(6, "R\241CB\360t^\20m9\204\336\304\32BM\23\337\253\250\177\235c\261\6\3135\215k7\236w"..., 47) = 35
read(6, "\\k`\345\360\24\246\236\24", 12) = 9
read(6, "\227\242\262", 3) = 3
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
read(6, "\254\341\307;\35\234\220I1\253\375\254$\327\266\202\205df\323\205\200\267\365v\262\323\21%\362a\344"..., 448) = 87
read(6, "\304r\16HX\311$O\3032y\376\27!\231\333\314\234\1779@\375\237\357\377N\320\276QA\25\324"..., 361) = 78
read(6, "n\235\201p\200m7\23\253\"\360W^9\20e|\307\317aS\334\322p=\357\23`p?\346\332"..., 283) = 82
read(6, "\235\256\226\205=\305\263\4\364\3323MC\3555\324\242c\"\22\30\"gSS\344\3275]\342\260n"..., 201) = 80
read(6, "\fa\24\343\344\232\211\225\226\257\253x\255u\37\311M\25\375\206\374h\"\222\225\316d\304\215EK!"..., 121) = 77
read(6, "+\371-=\236n\276r\216\367\202}Z\346f\340M-R\2105\271\222W\211#\242\30@|\222\242"..., 44) = 33
read(6, "]\263%t\236\333\30\210", 11) = 8
read(6, "\275\356\246", 3) = 3
read(6, "\2\241\301 \7\330\260!^\363\373\5:y\232\205R\346Ji\324p\246e\206\374DPJ/i\213"..., 448) = 85
read(6, "O\224\354\275qT\3727\370\265\300\vz[\177b\371@**\3056\241\23\\G\256\236S\244\367G"..., 363) = 80
read(6, "\32\362PN\272\205xD\310k\374\363)1\224\2606\313F\315o\\\250\\\2022\7\0247\375\372z"..., 283) = 78
read(6, "\210\\\240v\341\33\205\1Q\16t\255\373\230\315\f\32`\242\215$\205\217\255\275'^\205\316=\rA"..., 205) = 80
read(6, "\200P\216\302\323\273JM\236\2144\335\315\374\353u\305\246\4w\16\367\337\244\345\27;1\323\363\317|"..., 125) = 79
read(6, "\255\252\2378\255O\371\324\340\20\315\350\337\t\376\300o\275\3036\214:\357\330&\37\305\270\vT\303\370"..., 46) = 38
read(6, "\325\232\34\341\222\31>\260", 8) = 8open("/dev/random", O_RDONLY) = 6
read(6, "+D\212$\210\221\3208\332\225\220w+d\254\24@4\221\341HsDo\n\227\1\373\204S\255\227"..., 536) = 111
read(6, "\306h6j@\37+\3654\277D:\331F\271\340\325}\317\276\262N\234\315u\204\264@}\260\372n"..., 425) = 85
read(6, "K\320\353\325\rDOd\2\327\262o^\r\337\232\0023R\250\341R\355\205\316\23\306\273\236S\26^"..., 340) = 78
read(6, "\211V\210\254m\262\256\243\262\305e\240 \301\2403h\337\347~!Md\213\311_%\311\373\n\21\2"..., 262) = 80
read(6, "\377\341`\265\230\25\251\224#\203\326\217\234\370\227l1\220\241\354=Xh&\253\260\273\372\352\302\307C"..., 182) = 80
read(6, ">}\n\35pl\331\347\351\t'\235\273\257g\21\205\237\205!ka\303\363Lr\25\214=\347\346<"..., 102) = 68
read(6, "\205C.\261\r\376\355\231\234\31\34[\266%\200\25V\274K\217mGq\246\270\244", 34) = 26
read(6, "}\252^V\220\213>\205", 8) = 8
read(6, "\233y\265\363%\334!<D~7\7C\335\240\233=\312\234e#\2552\275'\352\r\262\247)!\6"..., 360) = 83
read(6, "\n\252\26\\\251\324\240\17\304\10\341\246\214&\300\6\333\361\350h dJ2\5\307u\3469\"0u"..., 277) = 80
read(6, "\r*\f\30 X\1N\210\342gI^\205\5\fpvR\224\5=\240\304h\334v\341\216\262\331\230"..., 197) = 78
read(6, "\33\374\232\316'\300\33\222\202\307\356\274\250\377\0\307~-4\316\313\vY2-\316\31\300\266%Y\37"..., 119) = 78
read(6, "}\275\260\346\24f\2462\1i\v\r:k\300\251\236#P\330\10\221l\354i\0041\371-[]", 41) = 31
read(6, "9\211\257\237\371\25\221\1\2376", 10) = 10
read(6, "t\340\272A\37\244\n\23Q\3201$\230\350\377DIa\273\23\310\30\3476\335qb-\263y\305\245"..., 536) = 79
read(6, ")\245\304N48\247oA\276#\376\333\26\240\330\375\343D\205\361\3\202\226K\343j\311YB\324\\"..., 457) = 82
read(6, "\261\200f\n\201\3\252\234\265\317e\241\21\320_\336\231\3055M\3613_;\237~\367`w\34\271\323"..., 375) = 78
read(6, "\316*(\0O\236\f\350\336\223\216\352\243\35\331T\365\224\205\211\2360^Z\232\344\242\32=\20|\366"..., 297) = 80
read(6, "\240c\254'\352\v#\33Jb}\366\0\223Ge.\352I|\7\327\3440\243\v\342\363\355\363\n>"..., 217) = 78
read(6, "\362\317y\344\fR\37\2118\27\234hz<\35[<<,\365\364E\"\313\213\231\263_\30R?2"..., 139) = 80
read(6, "\334\31z\205)Q\fq\207\2\305?\5V\336\337\2151\215\3110\375\t\177!3!\32&\3005\224"..., 59) = 44
read(6, "K\242u\7&O\v\311zB\302", 15) = 11
read(6, "\257\212\237\30", 4) = 4
read(6, "~\276G\246\21(\235-+\271\302\336BU],\273)Y-#H{\332\275sNx\\\201}\10"..., 360) = 81
read(6, "\t\276\37;\274\327\16\276J\232\213\335B\227\377\226\340\221;]P\260\227L\37\16\254h\264\320\335S"..., 279) = 82
read(6, "f\r\202\375\217\32\35Q\247v\310\323@\1\247\343 b\354n3\257v\346\323\3\351\202m\4vD"..., 197) = 80
read(6, "K\266\267G\225-]\252\20J9(\24B6\231\7\240TlA\207\374\1a\313\245%\32~\302S"..., 117) = 73
read(6, "W\10\257\21^\276\212{\262[\237\tC|\34\3530\244'\222\244\271M\212S\311\320x\363\317\233\271"..., 44) = 33
read(6, "\0L\7\216\267\331\2213", 11) = 8
read(6, "\24\20\247", 3) = 3
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
read(6, "a1\375u\205b\2v\357\222\375\221(\10\204\207(\274\326b\275\r\261\321\344\30\23\7\360\7<o"..., 536) = 89
read(6, "\357\231\373\245B\206\377\373\340\6Yu\6f6\274\35\315\352Q\301\4A:5s\233\353\365G\211j"..., 447) = 82
read(6, "\237\303\360\223Y\204\255\365R\274\25Y\3762\201\357\300\241Ee)\6\250\313\3119\300b\363\361\341\220"..., 365) = 80
read(6, "=]\336\205v?\364\322\26\377\27\310\36\310\223\21\345\230\302O\334/\20gR*\256z\257\240\37p"..., 285) = 80
read(6, "\5^Q\10\34P\333\316r\276\26^+\21\3222\215\22\300\2076\363vb\233\357-\3\213\341\367\213"..., 205) = 80
read(6, "]\226\"X\273\246\356ts\tK\365qG\313\36\367\311kY\37\223\32D?!\3544;\v|\r"..., 125) = 76
read(6, "c\246>\210\337V\1\241\205\334\257;\2673\22n\242kDn\303v\"77\27\360\306\213(\320\r"..., 49) = 37
read(6, "yb\0037,Ir-E", 12) = 9
read(6, "\321\6\366", 3) = 3
read(6, "\356\323\313\324\305H\277VoB\351\332\335\333\241\300\366\302\313\32&\226\32(\277\213\251P\353\20J\211"..., 360) = 81
read(6, "w\327)&\347_\362\357<\233\215'\265H\214\301\224H\375\304\244\336h\236\216.\372:\224T\255e"..., 279) = 82
read(6, "k?_n\363\2107[\232(\10@\220\tkU\210\375{\335E:\201[69\342E\335![$"..., 197) = 80
read(6, "G\202\272\375J%Ik\20\2472B^\256\330\202Mf\347\201\36>\370\307\202N\310\30\214xO\344"..., 117) = 75
read(6, "\236\313\354\3327ac\207\257\374a\3\271\372\263\242\242\364L\255\273\304\336\264\245\206|\273\223]\302\311", 42) = 32
read(6, "\314\305\231zM_x", 10) = 7
read(6, "\353\217^", 3) = 3
read(6, "J\26\231\237mH[\210\201\202\311\273\324\271\310(\263\345\332\36\322\344\37\30\24\221\355\2\200jw\262"..., 536) = 115
read(6, "\246\310{[0\350Q\235\202\331\340o%\24j\204d\370\346\266\310\340\337\327\221\304\367\272\256$\t\200"..., 421) = 80
read(6, "\f[\204\301\f\274MS~\275k\375P!\247-B\3429\232\355\274x\210L\332\354,\215_\325\266"..., 341) = 80
read(6, "\1\5\20x5\203\346\37(\4\17T\314i\206\364\354\375\240\316\333\36\0\337g\337e\0023\322B@"..., 261) = 80
read(6, "\256`\260\24\226\236\262\356\261>E-T\274p\34\362\331Uy\227\203\210\325\240\30!AJ\203av"..., 181) = 82
read(6, "\324\274\242q\5\355g\261\326\22\254\32\30\261\271\16\215\0367\205\304\210\274UW| f\247\354\301\305"..., 99) = 64
read(6, "\325}3\227\21C\216\346\224T\300RL\332\275m\323\v\253R}\307\206~=+HR\25\350\361", 35) = 31
read(6, ">\207\17\240", 4) = 4
read(6, "\310\346.\354\330\310\2059\303\242\204\275a\323\346\30\3\16\353[e\357\0\363CZ\213\1P\210\5\220"..., 360) = 83
read(6, "\200x\351\24\335\20\230A\373_\21\313\313\231]TI\0\346\324z\227Y\222\21\324k\247\330\337E\230"..., 277) = 82
read(6, "\6$U\227C\276(n\210\262L\0G\3116e\332%\267\265N\333\334\326vP\333%w1\t\223"..., 195) = 80
read(6, "\212\215\234t\200A3\220^\277\211-\255r5\317\213\212'\313i\30r\33\241\333\4$/?je"..., 115) = 74
read(6, "\21;%|F2\00496\23Q\364\252\233\311\260\37\252f\337D\242\277U\2>\360\323\205n\210", 41) = 31
read(6, "\326\230l\300\234\220\275~n\345", 10) = 10cat /proc/sys/kernel/random/entropy_avail: 3186, 3189, 3158, 3225, 3171...убитой 12й убунты апдейтом на 14ую
In contrast with its current standing over RSA, elliptic curve cryptography is expected to be more vulnerable to an attack based on Shor's algorithm.[36] In theory, making a practical attack feasible many years before an attack on an equivalently secure RSA scheme is possible.[37] This is because smaller elliptic curve keys are needed to match the classical security of RSA. The work of Proos and Zalka show how a quantum computer for breaking 2048-bit RSA requires roughly 4096 qubits, while a quantum computer to break the equivalently secure 224-bit Elliptic Curve Cryptography requires between 1300 and 1600 qubits.
To avoid quantum computing concerns, an elliptic curve-based alternative to Elliptic Curve Diffie Hellman which is not susceptible to Shor's attack is the Supersingular Isogeny Diffie–Hellman Key Exchange of De Feo, Jao and Plut. It uses elliptic curve isogenies to create a drop-in replacement for the quantum attackable Diffie–Hellman and Elliptic curve Diffie–Hellman key exchanges. This key exchange uses the same elliptic curve computational primitives of existing elliptic curve cryptography and requires computational and transmission overhead similar to many currently used public key systems.
Патчим gnupg или пара RSA-32768 за 106 минут