Pull to refresh

Comments 19

я быстренько подкрутил размер ключика и размер буфера
Девиз настоящего хакера: «всё, что можно попробовать — нужно попробовать!»

Соответственно, автору — респект и уважуха.
Спасибо! На ночь глядя не туда усмотрел!
Мне кажется, что размер шифрованного файла не должен кардинально влиять на время шифрования. Там же обычно ключ для AES шифруется какого-нибудь, а потом им уже файл
Казалось бы да, но нет. Потому что подобные "исправления" не связаны с раскопками количества бит "энтропии" которые попадут в итоге в ключ. Если 32 бита энтропии раньше давали 2048 бит ключа, а теперь дают 32Кбит ключа, ключ не станет более стойким.
Я правильно вас понял, что если пропатчить gnupg методом которым предлагает автор, то защищенность файла будет без ихменений?
Может и НЕ изменится. Но никто ж этого не смотрел специально. А раз не смотрели — нет повода считать улучшение автора улучшением :-) Как-то так.
Пояснитк, откуда взялись 32 бита?

strace -e trace=open,read gpg2 --gen-key

rsa2048
open("/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) = 11


rsa4096
open("/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) = 9


rsa8192
open("/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) = 8


rsa16384
open("/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) = 10


Для rsa32768 можете сами посчитать и просуммировать. gpg2 забирает из системы много больше чем 32 бита.

cat /proc/sys/kernel/random/entropy_avail: 3186, 3189, 3158, 3225, 3171...
А они откуда берутся? Не как вы считаете а на самом деле? Знает об этом с полным пониманием полтора человека в мире. Ну и что там с ними дальше — примерно столько же.
Так напишите статью на хабр, откуда они берутся или о ваших сомнениях о них с источниками и личными тестами.

Моя версия: какой-то шум от операций в системе + rdrand (rng-tools) + HAVEGE (haveged), мне сие дает 400-500 + 1100-1200 + 1600, итого 3100-3200 .

Можно, конечно, шапочку одеть и петь песни о накрученном интеловском rdrand, но это будет не к месту.
А вот что к месту — откуда вы взяли текст про 32 бита энтропии?

Приведите источник, чтобы не вводить людей в сомнение и не, возможно, продвигать шифрование от drweb'а.
Вы, верно, читать и думать не умеете. Продолжайте в том же духе.
Так пишите не в формате твиттера. Я у вас спросил, что за 32 бита энтропии. Мы не в загадки играем. Приведите наконец отсылки к коду gnupg/libgcrypt или к kernel, если есть откуда.
убитой 12й убунты апдейтом на 14ую

а что случилось? в эти выходные обновлялся точно так же, почти ничего не сломалось.
У меня ломалась при апдейте с 9.04 на 10.04 и 11.10 на 12.04 — подробности уже не помню, вроде бубунта сделала месиво в списках реп, благополучно снесла libc и реагировать перестала. Перестал использовать Ubuntu после таких выкрутасов.
В процессе были глюки с перезаписью конфигов (которые потом нагуглил как заявленные баги), в конечном итоге, gnome-classic выдавал форму логина, но после входа в систему обоина висла, ни ярлыков, ничего, никакой реакции.

В итоге я решил на новый ноут выбрать новую ось, выбор был ubuntu, xubuntu и mint. Но в итоге решил выбрать ось на нормальном нековырянном ядре дебиана — debian 8.3. Работаю, ненарадуюсь (траблы vsync на hd5500, wifi от intel и lan от realtek разрешены, и ускорение работает).
троллейбусизбуханки.jpg

А поддержка ECC в GnuPG уже появилась? Раз хочется странного и не волнует совместимость, то может быть стоит попробовать его?
Интересная вещь:
wiki:

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.

Обнажеживающе, но что еще найдут, остается гадать.
Sign up to leave a comment.

Articles

Change theme settings