developers-roadmap icon indicating copy to clipboard operation
developers-roadmap copied to clipboard

[Обсуждение] Добавить топик по криптографии

Open kelizarov opened this issue 5 years ago • 6 comments

Предлагаю обсудить идею добавить раздел с вопросами по криптографии и шифрованию.

В последнее время все чаще встречаются задачи которые требуют шифрование данных и проверки подписей с данными. Тема достаточно большая и довольна тяжелая для простого разбора. В инете есть много источников, но большинстов из них которые легко гуглятся довольно поверхостно проходят по теме, предпочитая использовать известные либы и фреймворки.

Не обязательно чтобы вопросы были в рамках одного языка, считаю что тема общая.

kelizarov avatar Sep 03 '20 04:09 kelizarov

Вообще тема полезная, на бекенде она часто может вылазить: JWT токены и другие механизмы авторизации, работа с 3rd party API и тд. Однако я бы сильно глубоко туда не залазил, на самом деле достаточно общие принципы понимать, может быть тех же поверхностных статей и хватило бы :) Либо разбить эту тему на несколько уровней, как с тестированием, чтобы чем глубже в лес, тем сложнее партизане

Znack avatar Sep 03 '20 06:09 Znack

Ну я думал сделать хотя бы на уровне понимания что такое криптография, для чего нужна, какие алгоритмы существуют, базовый принцип как работают, верификация итд.

Прямо по-шагово описывать алгоритм шифрование я вообще не вижу смысла, оно само по-себе объемистое и сложное да и не сильно полезно будет знать, если только не собираешься писать свою интерпретацию алгоритма.

kelizarov avatar Sep 05 '20 05:09 kelizarov

Я взял в индивидуальный план себе часть по криптографии. После изучения добавлю вопросы, только не понятно куда, что думаете @Znack @kelizarov ? Кстати, если у кого-то есть наработки по вопросам или нужным конкретным темам для изучения, скиньте пожалуйста. Также будет круто если кто-то знает источники хорошие. Я начал курс https://www.coursera.org/learn/crypto CC @olgaklimenko @vkpgwt @Odeyaloleg @evgeny-osipenko @catdarick @vladwix

stanislav-az avatar Mar 04 '21 11:03 stanislav-az

Я читал пару книжек Шнайера, они обстоятельные, не скучные и по-русски, но оттуда понадобится не весь материал. Вроде бы "Прикладная криптография" и "Практическая криптография".

Полезные темы:

  • виды шифров: симметричные и асимметричные, поточные и блочные, длина ключей. Как это влияет на безопасность. Как проходит процесс шифрования, инициализация, какие термины используются. Важно не перепутать, который из двух ключей (открытый, закрытый) можно передавать мейлом и закидывать по SSH.
  • известные шифры: AES, RSA, DSA. Как в целом работает RSA.
  • как работает цифровая подпись
  • хеширование: зачем нужно, как определить правильную длину хеша (атака дней рождения), известные хеши, дайджесты
  • SSL-сертификаты, общее представление. Как работает шифрование на сертификатах, цепочки сертификатов, корневые сертификаты, форматы ключей и все такое. Нудная тема, но может понадобиться.
  • криптографические генераторы случайных чисел. Не знаю, что тут спрашивать. Надо понимать, что для криптографии не подходит первая попавшаяся функция rand().
  • может быть, протоколы SSL/IPSEC и вообще криптография в сетях, смотря насколько это надо. Про это я ничего не знаю.

vkpgwt avatar Mar 04 '21 11:03 vkpgwt

@stanislav-az мне кажется, точно не раньше, чем на мидла :) Совсем основы банальные, типа как SSH ключами обмениваться и зачем TLS/HTTPS нужны, еще можно на какого-нибудь джуна, но там чисто если с прикладной точки зрения обзорные вопросы закинуть, чтобы за пару вечеров можно было изучить

Znack avatar Mar 04 '21 13:03 Znack

@vkpgwt крутой коммент, половина грейда считайте уже готова 😄

Znack avatar Mar 04 '21 13:03 Znack