|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima T, Почему не AES? Два байта мало, отправить 65536 пакетов и подобрать подпись слишком просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 08:40 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
scfDima T, Почему не AES? Это уже тяжелая артиллерия. Исходником не отделаться, придется либу какую-то использовать. Пока рассматриваю варианты с реализацией попроще. scfДва байта мало, отправить 65536 пакетов и подобрать подпись слишком просто. Это не подпись, а контрольная сумма пакета. Пытаюсь совместить шифрование и контроль целостности. Т.к. CBC использует сами данные для шифрования, то проверив последние два байта я могу быть уверен что после расшифровки имеем то что было зашифровано. Вероятность 99.998%. Атака с подбором тут невозможна и бессмысленна. 2 байта это защита от получения пакета предыдущей сессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 09:52 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima TИсходником не отделаться Да ну, брось, там сотня строк на интринсиках: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136.
Другой вопрос, что тебе придётся с выравниванием блоков заморочиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 14:56 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Надо потестить этот AES, но как-то сложно все с ним, часа два читал инет и толком не понял как им пользоваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 18:08 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Все блочные шифры работают примерно одинаково с точки зрения API. Или ты пытаешсья понят как устроен алгоритм? Зачем? Бери используй. Просто следу best-practices. По выравниванию... да. Есть такое. Ну добъешь пакет до кратной длины. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 19:35 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
У меня тупо ничего не запустилось, а то что запустилось оказалось какой-то ерундой: расшифровалось не то что я шифровал. Еще погуглю, как-то плохо все с примерами кода про AES, а в других алгоритмах достаточно копипаста кода с википедии. Мне просто надо пример кода С/С++ как зашифровать и как расшифровать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 19:53 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima TНадо потестить этот AES, но как-то сложно все с ним, часа два читал инет и толком не понял как им пользоваться.Ну можно что-нибудь попроще ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 19:55 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima TУ меня тупо ничего не запустилось, а то что запустилось оказалось какой-то ерундой: расшифровалось не то что я шифровал. Еще погуглю, как-то плохо все с примерами кода про AES, а в других алгоритмах достаточно копипаста кода с википедии. Мне просто надо пример кода С/С++ как зашифровать и как расшифровать. А что исходник Сибирякова? Не взлетел? Кстати тебе, как любителю высоких скоростей будет интересно что AES встроен в современные процессоры. В этом смысле он все равно лучше чем самопальные свистульки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 19:58 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
BarloneDima TНадо потестить этот AES, но как-то сложно все с ним, часа два читал инет и толком не понял как им пользоваться.Ну можно что-нибудь попроще А зачем компромиссы? RC4 прост и понятен. AES интересен тем что аппаратно поддерживается, это плюс порядок в производительности, еще поразбираюсь с ним. PS Можно пятничный бенчмарк поднять, скорость шифрования померять. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:00 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
maytonА что исходник Сибирякова? Не взлетел? Там, как понимаю, не исходник, а кусок из GCC. Нагуглил альтернативу под MS VC , но пока не попробовал. maytonКстати тебе, как любителю высоких скоростей будет интересно что AES встроен в современные процессоры. В этом смысле он все равно лучше чем самопальные свистульки. Выше уже написал про пятничный тестдрайв ))) Но есть у меня такая штука как сервер для бэкапов, хотелось бы чтобы там тоже работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:15 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
maytonИли ты пытаешсья понят как устроен алгоритм? Зачем? Бери используй. ИМХО неправильный подход. Тот же CBC, я просто перепутал encrypt и decrypt, а оно оказывается работает если сначала расшифровать, потом зашифровать, но если глянуть в то что посредине это ужас, расшифровывается школьником в тетрадке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:26 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima TmaytonИли ты пытаешсья понят как устроен алгоритм? Зачем? Бери используй. ИМХО неправильный подход. Тот же CBC, я просто перепутал encrypt и decrypt, а оно оказывается работает если сначала расшифровать, потом зашифровать, но если глянуть в то что посредине это ужас, расшифровывается школьником в тетрадке. Хм... CBC - это вообще не шифр. Это способ "сцепления" вагончиков-блоков любого шифрующего алгоритма. Наверное ты что-то другое имел в виду. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:35 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima TВыше уже написал про пятничный тестдрайв ))) Но есть у меня такая штука как сервер для бэкапов, хотелось бы чтобы там тоже работало. А приходилось тебе иметь дело с Raspberry Pi ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:36 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
maytonDima TВыше уже написал про пятничный тестдрайв ))) Но есть у меня такая штука как сервер для бэкапов, хотелось бы чтобы там тоже работало. А приходилось тебе иметь дело с Raspberry Pi ? Нет, но вроде как это такая же хрень что и моя, мне тот девайс просто подарили, но у моей есть SATA разъем, куда я полноценный HDD воткнул и бэкапы туда лью. Уже лет пять работает, недавно сгорел блок питания, точнее обычный зарядник для телефонов с USB выходом, поставил первый под руку попавшийся и опять все работает. PS Недавно было по новостям про спутники на железе от телефонов, так я верю этому, у меня железо непонятно из чего отлично выполняет роль сервера, пусть сервера бэкапов, но круглосуточно проработало 5+ лет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:48 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Да мощности этих устройств еще 10 лет назад хватало для файл-серверов. Габариты были не те правда. Я вот с удивлением узнал что мой роутер TP-Link вполне себе может быть файл-сервером. Надо было просто воткнуть в него "карман с винтом". И всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 20:51 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
maytonDima Tпропущено... ИМХО неправильный подход. Тот же CBC, я просто перепутал encrypt и decrypt, а оно оказывается работает если сначала расшифровать, потом зашифровать, но если глянуть в то что посредине это ужас, расшифровывается школьником в тетрадке. Хм... CBC - это вообще не шифр. Это способ "сцепления" вагончиков-блоков любого шифрующего алгоритма. Наверное ты что-то другое имел в виду. Да, не совсем правильно назвал. У меня шифрование xor с ключом побайтно и CBC блоками в 1 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2019, 08:03 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Потестил исходник AES отсюда . Встроенный тест прошел (aes128_self_test). Скомпилировался в виндовсе и линуксе. На ARM-е не скомпилировался. Может в компиляторе проблема, обновил но он все равно старый Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2019, 09:03 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Потестил скорость на разных процах. Шифрование 500 000 блоков по 4096 байт. Алгоритмi7-6700Ki7-3770Ki5-660CBC xor1784 ms 1094 Mb/s2298 ms 849 Mb/s3429 ms 569 Mb/sRC42689 ms 726 Mb/s4794 ms 407 Mb/s4897 ms 398 Mb/sAES-128311 ms 6280 Mb/s648 ms 3014 Mb/s1102 ms 1772 Mb/s Исходники . Компилятор MS VC 2017. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2019, 15:30 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Dima T, cbc_crypt не совсем cbc. его можно разделить на два независимых прохода - xor каждого байта с предыдущим байтом и xor с ключом. Не говоря уже о никакой криптостойкости, например, если шифровать поток нулевых байт. Если речь не идет о проекте "в стол" для разминки ума или высокоскоростной сети на слабом железе, я бы взял нормальное шифрование (AES) и подписывал бы зашифрованные пакеты (HMAC). Либо гуглил конкретные алгоритмы authenticated encryption, например, можно взять TLS за основу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 00:21 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Согласен, мое cbc xor шифрование так себе. Сама задача: передать в открытом инете по UDP большое сообщение/файл, разбив его на UDP пакеты, затем собрав обратно. Для каждой передачи отправитель генерит сессионный ключ и шифрует его мастер ключом. Я с помощью этого "шифрования" UDP-пакета пытался решить сразу четыре подзадачи: 1. Добавить энтропию в содержание пакета. В итоге меняя 5 бит первого байта получаю 32 разных представления одного и того же пакета. 2. Проверить контрольную сумму пакета, т.к. возможно получение пакетов от предыдущих сессий. И просто для защиты от ошибок в реализации протокола обмена. 3. Ограничить прием сообщений только от отправителей знающих мастер-ключ получателя. 4. Защитить данные от прослушки канала. Для п.3 достаточно максимально усложнить восстановление мастер-ключа по сессионному ключу, например так 21842187 п.4 не удался. Т.е. топик получился ни о чем, криптостойкости изначально нет, поэтому нечего ослаблять. Зато помог навести порядок в голове. Поразмышлял немного: криптостойко зашифровать передаваемые данные надо решать как отдельную подзадачу. Надо в архитектуре предусмотреть отдельный слой шифрования, чтобы добавить шифрование туда когда оно действительно потребуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 09:54 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
С точки зрения случайного наблюдателя - твой трафик будет вполне себе шифрован и если нет какого-либо сурового финансового или любого другого интереса то никто его ломать из любопытсва не будет. И для малого бизнеса xor-вполне себе вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 11:46 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
scfНе говоря уже о никакой криптостойкости, например, если шифровать поток нулевых байт. А что не так с криптостойкостью xor-a случайной последовательности и нулей? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 12:07 |
|
Пятничная криптостойкость
|
|||
---|---|---|---|
#18+
Ну и теория для получения последовательностей - на сколько сложно вычислять иррациональное число до n-ного знака? Какая там зависимость? Экспонента или полином? По простому - как эффективно вычислять корень до n-ного знака? Если можно это делать быстро, то вычисляем до знака, соответствующего длине пакета, а сам получившийся ключ хранить не нужно, ибо есть исходное число, из которого берётся корень - экономия, практически бесконечный коэффициент сжатия. Или последовательность будет неслучайная? Неповторяющаяся, но при этом неслучайная. Такое возможно? А каков тогда характер распределения? Может кто-то курил тему, было бы интересно узнать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 12:11 |
|
|
start [/forum/topic.php?fid=16&msg=39792141&tid=1339965]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 254ms |
total: | 525ms |
0 / 0 |