Aleksey Salow (w00dy) wrote,
Aleksey Salow
w00dy

Category:

Криптография

У меня есть список проклятых областей в этом вашем айти которые никто не умеет, но экспертов там больше чем говна за баней. Первые две это UI/UX и глобализация/локализация. Теперь есть третья - криптография. Почему-то считается что достаточно взять хорошую проверенную библиотеку и всё, мы защищены, у нас всё секурно что даже мыши не пролезут. Ну и есть стандартные правила в духе "не использовать goto xor". На деле всё оказывается намного сложнее. Криптография, как и многие вещи связанные с безопасностью, это не про техническую часть. С технической то как раз всё просто: блочные алгоритмы строятся сетях Фейстеля с SP-блоками, криптография с открытым ключём ещё проще, возвёл в степень, поделил, взял остаток от деления, у меня дочка такое умеет считать, третий класс закончила. Ещё есть эллиптические кривые и поля Галуа, но подозреваю что там тоже матан уровня седьмого класса. Но в реальности криптография это больше про понимание происходящего: что ты делаешь, зачем ты это делаешь, как это делаешь. При этом нужно учитывать где это всё будет работать, что мы будем защищать, какой характер информации, какие возможные атаки и к чему приводит утечка, как обмениваться ключевой информацией и как дальше генерировать ключи, кому доверяем в цепочке, а кому нет и прочее, прочее, прочее. А алгоритмы... это один вызов функции из библиотеки, про это вообще можно не переживать :)

И про xor или сложение по модулю 2. Это один из лучших алгоритмов шифрования, если не самый лучший: простой, быстрый, легко реализуется в железе и работает с минимальными задержками, очень стойкий к взлому. ГОСТ 28147 использует его в режиме гаммирования, например. Но только при правильном применении: при применении одноразовых случайно генерируемых ключей достаточной длины (больше исходного сообщения). Т.е. сценарий примерно такой: Алиса и Боб (стандартные персонажи в крипто-играх) каким-то образом обмениваются ключевой информацией, скармливают её в генератор ключей (Key derivation function, KDF), генерят гамму нужной длины. Алиса, накладывает гамму на сообщение с помощью xor, полученный шифротекст передаёт Бобу. Он, в свою очередь, делает аналогичные действия и получает исходный открытый текст. Ева, которой удалось подслушать и перехватить шифротекст, ничего сделать не может. Но, как я уже сказал, криптография это больше про знания. Если Ева знает что-то о характере передаваемой информации, например что это текст на английском языке времён Шекспира, то шансы на взлом у неё становятся немножко больше. Так что пока не стоит выбрасывать aes256 с аутентификацией на базе сертификатов на помойку :)

PS Копировать алгоритмы и реализации с StackOverflow не стоит. Впрочем как и тыкать пальцами и высмеивать. Как я уже говорил, случаи разные бывает, а полную картину обычно не видно.
Subscribe

  • О датах

    Запишем даты в список проклятых тем в этом вашем вайти в которые никто не умеет. У всех с этими датами, временем, таймзонами выходит какая-то херня…

  • Ремонт: часть 3, электрификация всей страны

    Советы по электрической части. Без философских рассуждений, строго по делу. Выбирая вот это всё, я руководствовался двумя простыми правилами: не…

  • Ремонт: часть 2, генплан

    В основе ремонта должен быть план. Что где стоит, куда подключено, куда сливает, и ответы на прочие насущные вопросы. Так уж получилось, что…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 12 comments

  • О датах

    Запишем даты в список проклятых тем в этом вашем вайти в которые никто не умеет. У всех с этими датами, временем, таймзонами выходит какая-то херня…

  • Ремонт: часть 3, электрификация всей страны

    Советы по электрической части. Без философских рассуждений, строго по делу. Выбирая вот это всё, я руководствовался двумя простыми правилами: не…

  • Ремонт: часть 2, генплан

    В основе ремонта должен быть план. Что где стоит, куда подключено, куда сливает, и ответы на прочие насущные вопросы. Так уж получилось, что…