June 17, 2020

Шифрование N2

Хеширование

Хеширование это преобразование массива входных данных произвольной длины в (выходную) битовую строку фиксированной длины, выполняемое определенным алгоритмом. Функция, реализующая алгоритм и выполняющая преобразование, называется «хеш-функцией» или «функцией свёртки». Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования (выходные данные) называется «хешем», «хеш-кодом», «хеш-суммой», «сводкой сообщения».

Скрин взят с wwh-club

1. Входные данные

2. Алгоритм или функцию хеширования

3. Выходные данные Результирующие выходные данные, которые всегда имеют фиксированный размер.

Хеш-функция принимает входные данные любого размера. Это может быть e-mail, файл, слово, в нашем случае это фраза "Привет, wwh-club", и происходит конвертация данных при помощи хеш-функции в следующий вид

732b01dfbfc088bf6e958b0d2d6f1482a3c35c7437b798fdeb6e77c78d84ccb1

https://i.imgur.com/qumM1zD.gif

Для лучшего усвоения и разбора материала, давайте отойдем от сухого текста и сделаем наглядную демонстрацию

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

Пояснение: Как мы видим, что при изменение наших входных данных путем добавления " =) " наши выходные данные имеют другой вид, так как в битовом эквиваленте множитель поменялся. Следовательно и само значение выходных данных изменилось. При возвращение к исходным входным данным значение опять имело изначальный вид.

Вы можете представить это как пример:

1. "Привет, wwh-club" = 5

2. "Привет, wwh-club = )" = 7

3. "Привет, wwh-club" = 5

Сам алгоритм хеширования - это второй произвольный множитель, пусть будет 2, тогда:

1. 2*5=10

2. 2*7=14

3. 2*5=10

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

Важная особенность хеш-функции вы не можете конвертировать из хеша обратно в изначальные входные данные. Это односторонняя хеш-функция и для нее не нужны ключи.

Для примера опять смотрим на нашу гифку, которую я давал ранее

Привет, wwh-club > SHA-256 > 732b01dfbfc088bf6e958b0d2d6f1482a3c35c7437b798fdeb6e77c78d84ccb1

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

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

КСТАТИ: Есть много примеров хеш-функций: MD2, MD4, MD5, HAVAL, SHA, SHA-1, SHA-256, SHA-384, SHA-512, Tiger и так далее.

ЧТО ИСПОЛЬЗОВАТЬ: В наше время, если вы подбираете криптографическую систему, вам стоит использовать SHA-256 и выше, я имею ввиду SHA-384 и SHA-512 и так далее.

Чтобы проще разобраться с материалом, отойдем от сухого текста и смоделируем ситуацию

Допустим Вам на обучение дали задание скачать операционную систему Windows 7 Home Premium х64bit

Мы знаем, что данная операционная система поставляется от разработчика Microsoft, далее уже идем в поиск и совершаем следующий поисковый запрос:

site:microsoft.com Windows 7 Home Premium hash

https://i.imgur.com/1aluylg.gif

Оператор site: Этот оператор ограничивает поиск конкретным доменом или сайтом. То есть, если делаем запрос: site:microsoft.com Windows 7 Home Premium hash, то результаты будут получены со страниц, содержащих слова «Windows», «7», «Home», «Premium» и «hash» именно на сайте «microsoft.com», а не в других частях Интернета.

Эта информация так же является ключевой для поиска шопов с помощью операторов в поисковых системах, более подробно изучить информацию о том как искать с помощью операторов в Google используйте эту статью (https://habrahabr.ru/sandbox/46956/).

Как мы видим из Гифки выше, я легко нашел хеш-сумму операционной системы Windows 7 Home Premium 64bit на официальном сайте Microsoft.

: Вотона - SHA1 Hash value: 6C9058389C1E2E5122B7C933275F963EDF1C07B9

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

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

: inurl:download "6C9058389C1E2E5122B7C933275F963EDF1C07B9"

https://i.imgur.com/WYFFiuT.gif

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

Есть инструменты, которые вы можете скачать, чтобы делать это. https://en.wikipedia.org/wiki/Comparison_of_file_verification_software

Одним из таких инструментов является Quick Hash (https://quickhash-gui.org), и я покажу на примере с ним, как сверить хеш-суммы и убедиться в целостности полученной информации.

https://i.imgur.com/6NRRQA6.gif

Хотя в том видео в котором я вчера скидывал было куда более совершенный пример

Как мы видим, хеш-сумма, скачанного файла, соответствует хеш-сумме данной нам с официального сайта Microsoft.

Так же я приложу ниже, информацию по другим хеш-суммам данного файла

MD5: DA319B5826162829C436306BEBEA7F0F

SHA-1: 6C9058389C1E2E5122B7C933275F963EDF1C07B9

SHA-256: C10A9DA74A34E3AB57446CDDD7A0F825D526DA78D9796D442DB5022C33E3CB7F

SHA-512: E0CB678BF9577C70F33EDDC0221BC44ACD5ABD4938567B92DC31939B814E72D01FAC882870AB0834395F1A77C2CD5856FD88D2B05FBE1D1D9CCE9713C1D8AB73

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

Некоторые из вас наверняка зададутся вопросом: "Что, если файл, который я собираюсь скачать, уже скомпрометирован?" Допустим, вот у нас веб-сайт (https://www.veracrypt.fr) программного обеспечения VeraCrypt (https://ru.wikipedia.org/wiki/VeraCrypt).

И я хочу скачать VeraCrypt, на сайте имеются хеш-суммы файлов в кодировке SHA-256 и SHA-512

SHA-256: 6cff2cce52eb97321b1696f82e9ccefa7c80328d91c49bf10b49e3897677896e VeraCrypt Setup 1.21.exe

SHA-512: 5c68a5a14fa22ee30eb51bc7d3fd35207f58eefb8da492f338c6dac54f68133885c47fa2b172d87836142c75d838dac782b9faca406a2ffb8854cc7d93f8b359 VeraCrypt Setup 1.21.exe

Однако есть одно «НО», если вебсайт был скомпрометирован, то это означает, что злоумышленники могли подменить данный файл для загрузки и добавить к нему что-либо, троян или что-то для слежки, и они также могли подменить и контрольную сумму.

Следовательно, получается, что хеш ничего не значит, то есть он не может обнаружить преднамеренную модификацию файла. И нам нужно что-то еще чтобы удостовериться что данное программное обеспечение действительно исходит от разработчика. Что сайт VeraCrypt — это официальный сайт VeraCrypt и т.д.

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

Не хочу я копировать и т.д. так как тут важно будет цветом все передать

Сейчас поговорим о Цифровых подписях

Не забудьте открыть скриншоты выше там текст

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

Простой и довольно таки хитрый способ найти официальный сайт — это найти программное обеспечение в Wikipedia и уже там перейти по ссылке на официальный сайт программного обеспечения.

Однако мы можем так же нажать на целеный замок и там посмотреть сертификат, что именно он выдан

Взято как всегда с wwh-club

Цифровая подпись — это значение хеша. Это результат работы хеш-функции с фиксированным размером, который зашифрован закрытым ключом отправителя с целью создания цифровой подписи или подписанного сообщения.

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

Для наглядности, что такое цифровая подпись открываем скриншот

Опять с wwh-club пздц я хуею :D

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

Алгоритм хеширования > Значение хеша ( 6cff2cce52eb97321b1696f82e9ccefa7c80328d91c49bf10b49e3897677896e ) >Закрытый ключ ( см. Асимметричное шифрование ) = Цифровая подпись

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

Она обеспечивает невозможность отказа от авторства, поскольку, повторюсь, использован закрытый ключ отправителя. И она обеспечивает целостность, поскольку мы хешируем.

Цифровая подпись может быть использована, например, в программном обеспечении. Может использоваться для драйверов внутри вашей операционной системы. Может использоваться для сертификатов и подтверждать, что подписанные объекты исходят именно от того лица, которое указано в сертификате, и что целостность данных этих объектов была сохранена, то есть никаких изменений они не претерпели.

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

https://puu.sh/xQB20/5166e3d0c8.gif - обычно сертификат проверяется автоматически и у вас наверно

После того когда посмотрели gif открываем скриншот ( https://puu.sh/xQB5Y/c840f4670d.png )

Что мы здесь видим. Сертификат выдан: кому – IDRIX SARL, кем - GlobalSign. Итак, GlobalSign - это компания, чей закрытый ключ был использован для цифровой подписи этой программы. GlobalSign сообщает: "Данное программное обеспечение легитимно и оно не подвергалось модификации". Здесь написано: "Сертификат предназначен для удостоверения того, что программное обеспечение исходит от разработчика программного обеспечения, программное обеспечение защищено от модификации после его выпуска".

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

То есть открываем опять смотрим скриншот (выше на пару картинок)

Проверка: То, что вы можете видеть на инфографике выше, но исходя из нашего файла, который мы разбираем

Подписанно сообщение > Открытый ключ ( это файл в формате .asc имеет обычно следующий вид – https://www.idrix.fr/VeraCrypt/VeraCrypt_PGP_public_key.asc, закрытый ключ тоже самое так же выглядит ) =Значение хеша, то есть должно получиться 6cff2cce52eb97321b1696f82e9ccefa7c80328d91c49bf10b49e3897677896e

После чего это значение хеша надо будет сверить с хешем указанным, то есть открываем там программу QuickHash прогоняем наш файл и в том алгоритме котором он нам представлен, должно все совпасть, если не совпадает то сам файл изменен, и там может быть троян, или что то для прослушки за нами, или еще что-то нехорошее

SHA-256: 6cff2cce52eb97321b1696f82e9ccefa7c80328d91c49bf10b49e3897677896e VeraCrypt Setup 1.21.exe

Я проверил полученный хеш ( https://puu.sh/xQBAz/8905455dd7.png ) и как мы можем видеть на скриншоте они идентичный следовательно файлы легитимное и соответствуют цифровой подписи разработчика, и этот файл точно исходит от него.

И данное программное обеспечение в случае заражение вашего компьютера WannaCry или каким либо еще другим нехорошим вирусом, будет виновен он.

Для примера, это как вы в детстве бы отнекивались что мол не сожрали конфеты, а ваша мать тычит вам в лицо докозательства, например видеозапись и говорит, у меня все записано, смотри сюда. И как бы не отвертишься, вот что делает цифровая подпись.

Прочитайте несколько раз если вы не поняли, и попробуйте вникнуть этот момент действительно важен

А то что мы видели непосредственно на скрине

Это то что Windows проверяет сертификат в подлинности, то что действительно такой сертификат зарегистрирован с таким номером все дела.

Давайте проведу аналогию чтоб понять, что же делает Windows, когда пишет эти строки в сертификате

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

То есть если бы кто-то другой переписал все данные сертификата и сделал копию сертификата для подписи, с такими данными то она бы не соответствовала действительности ну — это более сложная тема, но собственно думаю понятно.

А если верификация не проходит, вы обычно видите вот такое предупреждение

Это означает, что-либо файл не имеет цифровой подписи либо Windows ( вспомните работника банка ) не доверяет этой цифровой подписи ( а в случае с работником банка, он не доверяет в вашей купюре ) вы можете ее проверить способ я описывал выше ( а работник банка ну там тоже может проверить на аппарате своем или там нанесением растворов ).

В линуксе с этим все просто, так как вы просто так не установите проприетарное ПО так как все ПО обычно ставиться из оффициальных репозиториев, где проходит всю проверку

Запишите эту статью, как ваше Домашнее задание для самостоятельного изучения

Давайте пройдемся по этому материалу еще раз, потому что я уверен, некоторым все это может показаться довольно-таки трудным для восприятия.

Итак, значение хеша ( самой программы то есть если бы чувак сам ее прогнал через QuciHash ), которое было зашифровано с применением закрытого ключа ( его личного ключа его личный отпечаток пальца так сказать в сети ) отправителя или выпуска ПО. Это цифровая подпись.

Это обеспечивает аутентификацию, неотказуемость и целостность. А если вы зашифруете что-либо и вдобавок снабдите это цифровой подписью, то вы сможете добиться конфиденциальности наряду с аутентификацией, неотказуемостью и целостностью

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

На этом думаю мы разобрались с цифровыми подписями.

От себя добавлю у вас есть великолепное видео которое я вам записал там идет проверка сертификата и хэша ключа

если вы его смотрели вы должны понимать о чем идет речь я там пытался мышкой водить и показывать Так что думаю в этом аспекте трудностей не должно быть

Давайте теперь перейдем к End-to-End шифрованию ( E2EE )

End-to-end шифрование заключается в том, что данные шифруются отправителем и дешифруются только получателем. Если вы хотите избежать отслеживания, массовой слежки, хакеров и так далее, то вам нужен именно этот вид шифрования передаваемых данных.

Примерами технологии end-to-end шифрования являются такие вещи, как PGP, S/MIME, OTR, что расшифровывается как “off the record” ( рус. "не для записи" ), ZRTP, что расшифровывается как Z в протоколе RTP, а также SSL и TLS, реализованные правильным образом, все это может использоваться в качестве end-to-end шифрования.

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

End-to-end шифрование обеспечивает защиту в процессе передачи данных, но очевидно, что оно не может защитить данные после их получения. Далее вам нужен другой механизм защиты. Используйте end-to-end шифрование везде, где это только возможно.

Использование защищенного HTTPS на всех веб-сайтах становится все более необходимым, независимо от типов передаваемых данных.

Давайте я покажу что такое END-TO-END шифрование на примере с веб-сайтами

Это цифровой сертификат, тоже самое что и цифровая подпись, есть ряд отличий, там центры сертификации и т.д. вы обычно с этим не сталкиваетесь не буду расписывать, кому интересно гуглите « Центры сертификации ключей и HTTPS» и «Цифровые сертификаты»

ввх да да

Зеленый замочек в URL или HTTPS означает, что ваш Интернет-провайдер или, допустим, правительство, они лишь могут отследить целевой домен. Что это значит?

Допустим между нами и Google находится злоумышленник аналогично как в случае передачи сообщения в инфографике выше. Он не сможет узнать, что именно я искал, потому что это оконечное ( или абонентское с английского end-to-end ) шифрование между моим браузером и сервером.

Давайте разберем пример на наглядном и посмотрим, что же может узнать провайдер о нас

Для начала мы будем использовать пример не зашифрованного соединение при помощи HTTP соединения.

HTTP, HyperText Transfer Protocol — широко распространенный протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов ( то есть при клике по слову в статье перейти на другую веб-страницу ).

По умолчанию протокол HTTP использует TCP-порт 80.

Для скриншотов ниже я буду использовать программу для анализа сетевого трафика WireShark.

Для эксперимента я взял сайт базирующийся на HTTP протоколе uznayvse.ру после того как я кликну по ссылке запрос от сайта будет отображен в окне программы WireShark под цифрой 1-н, но давайте сразу разберем за что отвечает каждое окно программы для лучшего усвоения материала.

wwh

1. Данная область называется Packet List – в ней вы можете посмотреть с каким сервером идет обмен данными, протокол, который используется и общую информацию о кадрах.

2. Следующая область называется Packet Details – в ней отображаются детали пакетов который был выбран в Packet List.

3. И последняя область называется Packet Bite – в ней отображается 16-е отображение данного пакета, также отображается смещение в виде аски, и так же если мы кликнем правой кнопкой по данной области можем посмотреть, как все это будет выгладить в битах.

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

https://i.imgur.com/TJvYxzB.gif

Давайте разберем, полученные пакеты подробнее и узнаем наглядно о слежке, анализе и т.д.

1. Пересылаемые пакеты по нашему фильтру

2. Целевой домен, то есть главная страница сайта без всякой ереси после слеша "/"

3. Юзер агент, то есть параметры браузера, версия операционной системы и другие параметры..

4. Referer – указывает с какой страницы мы перешли на эту страницу так как мы перешли с защищенной страницы, там было много пакетов с переадресацией в конечном итоге мы с этой же страницы сослались на себя же, если я к примеру, перешел с главной страницы сайта на данную то в рефере бы стояла главная страница сайта. ( смотрите скриншот ниже с пояснением чтобы полностью вникнуть в смысл ).

5. Куки, либо сессия ) Вот ваш и пароль приплыл ) Можно зайти под вашей сессией залогиненой и шариться ) от залогененного юзера то есть вас

6. Ну, а это уже конечная страница где мы находимся

КСТАТИ: Если вы думаете, что это потолок что может данный софт то боюсь вас расстроить это только верхушка айсберга

вввввх

Для того чтобы у вас после прочитанного не осталось сомнений я решил разобрать эти пункты перейдя с одной страницы веб-сайта на другую и как мы можем видеть:

1. Refer – указывает предыдущую страницу которые мы разбирали именно с нее мы пришли на данную страницу

2. На какой странице мы сейчас находимся

Как мы видим сам по себе протокол HTTP не предполагает использование шифрования для передачи информации. Тем не менее, для HTTP есть распространенное расширение, которое реализует упаковку передаваемых данных в криптографический протокол SSL или TLS.

Названиеэтогорасширения — HTTPS ( HyperText Transfer Protocol Secure ). Для HTTPS-соединений обычно используется TCP-порт 443. HTTPS широко используется для защиты информации от перехвата, а также, как правило, обеспечивает защиту от атак вида man-in-the-middle — в том случае, если сертификат проверяется на клиенте, и при этом приватный ключ сертификата не был скомпрометирован, пользователь не подтверждал использование неподписанного сертификата, и на компьютере пользователя не были внедрены сертификаты центра сертификации злоумышленника.

с ввх

1. Google – имеет использует защищенный протокол соединения HTTPS

2. Пакет запроса данных по защищенному протоколу HTTPS

3. Как мы видим в деталях пакета у нас только Encrypted Application Data: 0000000000000016eec0818f25b5eb9bd4690883155a74b6...

никакой другой (дополнительной) информации что содержится на веб-страницы или где находится человек у нас нет

4. Так как у нас есть под цифрой 2-а IP-адрес с каким сервером ведется обмен пакетами, просматриваем что это за IP-адрес и исходя из полученных данных мы можем сделать вывод, что человек находится на целевой странице Google.

По сути использование HTTPS безопасно и как я говорил ранее что: Компании, которые разрабатывают программное обеспечение, использующее end-to-end шифрование и системы с нулевым разглашением, не могут раскрыть детали обмена данными вашим врагам, даже по принуждению, даже если бы они этого сами захотели. В этом и заключается преимущество end-to-end шифрования с нулевым разглашением.

SSLStrip – снятие HTTPS

Но также исходя из этого имеются атаки по снятию SSL давайте быстро разберем что это такое??

Любой атакующий, который может расположиться между источником и адресатом трафика, в нашем случае КОМПЬЮТЕРА и СЕРВЕРА, то этот атакующий может совершить атаку вида “Man in the middle” ( рус. "Человек посередине" ). Одна из подобных атак, которая требует весьма небольших навыков и ресурсов, называется SSL stripping ( рус. "Снятие SSL" ). Атакующий выступает в роли прокси здесь и подменяет зашифрованные HTTPS-соединения на HTTP-соединения.

Давайте откроем скриншот и посмотрим, что же это такое

1. Как мы можем видеть мы отправляем запрос с http

2. Он проходит через SSLStrip и не изменяется, так же идет дальше

3. Сервер видит что вы пришли по небезопасному протоколу без шифрования и меняет его на безопасный с использованием шифрования то есть на HTTPS ( то есть совершается 301 либо 302 редирект – это настраивается на сервере )

4. SSLStrip видит что сервер отправил вам запрос в HTTPS ( см. пункт 3 ) и автоматически так же изменяет его на небезопасный то есть на HTTP тем самым убирая TLS шифрование

SSLStrip здесь проксирует ответ от веб-сервера, имитируя ваш браузер, и отправляет вам обратно HTTP-версию сайта. Сервер никогда не заметит отличий.

Так как сервер думает, что вы общаетесь по защищённому протоколу HTTPS, так как он не видит, что злоумышленник ( SSLStrip ) изменил вам протокол на небезопасный

: И что вы увидите - это будет практически неотличимо от подлинного сайта. Давайте я покажу вам, как должен выглядеть веб-сайт.

с ввх

1. Мы видим защищенную версию WWH-CLUB, то есть с end-to-end шифрованием

2. Теперь я выполнил HTTPS-stripping ( снятие SSL – SSLStrip ). И так выглядит версия сайта после атаки.

можно заметить, отличие в том, что у вас теперь нет HTTPS и большинство людей не заметят эту разницу. И как я уже сказал, сервер никогда не заметит, что что-то не так, потому что он общается с прокси, который ведет себя точно также, как вели бы себя вы.

Выше текст, и я советую прочитать это прочитать именно так, так как выделения цветом помогут вам проще освоить материал

https://youtu.be/0wpxrPD90a4 — 1 Часть MITM. Как проводится MITM атака.

https://youtu.be/quZjKlrmCvQ — 2 Часть MITM. Атакуем сеть методам MITM

Эпилог

Шифрование — это фантастический инструмент для приватности, безопасности и анонимности, это тот инструмент, который реально работает и злоумышленники ( хакеры ) будут стараться избегать его.

Говоря простыми словами.. Ни какой дурак не будет совершать прямую атаку на шифрование.

Как говориться умный в гору не пойдет, умный гору обойдет. И вам следует иметь это виду. И все что они могут сделать это найти слабые места.

Вспомните случай с Россом Ульбрихтом создателем «Шелкового пути» он попался на капче. То есть на простой мелочи, так как люди забывают о самом главном, а именно о самых простых вещах.. Азах так сказать.

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

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

Безопасность – это так называемый феномен слабого звена. Она настолько сильна, насколько сильно самое слабое звено в цепочке. Надежное шифрование зачастую – это сильное звено.

Мы, человеческие создания, как правило являемся слабым звеном. Как говориться Язык мой — враг мой

На этом мануал о шифровании закончен.