КАК РАБОТАЕТ ХЭШИРОВАНИЕ | ХЭШ-ФУНКЦИИ
Вставка
- Опубліковано 8 тра 2024
- Проверенные психологи онлайн в Ясно. Скидка 20% по промокоду ALEKOS при регистрации на первую сессию: clck.ru/34GhJi
👉Приходите на день открытых дверей, получите полезные материалы и задайте вопрос выпускнику: go.elbrusboot.camp/AlekOs
👉Подпишитесь на ТГ: кодинг, IT-новости, смена профессии: t.me/+M5Lqa79D0rdjYmZi
Подписывайся в соц. сетях:
Телеграм - t.me/Alek_OS
ВК - alekos1
❤️ Поддержка канала:
Бусти - boosty.to/alekos
Юмани - yoomoney.ru/to/410011179144828
✔️ Полезные ссылки:
Основы программирования - • КАК РАБОТАЕТ ПАМЯТЬ КО...
Полезно знать - • ЯЗЫКИ ПРОГРАММИРОВАНИЯ...
Алгоритмы и структуры данных - • УСКОРЬ СВОЙ КОД В МИЛЛ...
Мысли Алека - • КАК ИЗУЧАТЬ ПРОГРАММИР...
00:00 Введение
01:02 Интеграция
02:41 Хэш-функция и коллизии
05:03 Пример с паролем на сайте
06:11 Интеграция
07:55 Виды хэш-функций
09:10 Вычисление контрольной суммы CRC-32
13:15 Криптографические функции 1
14:19 Реализация MD-5
17:46 Криптографические функции 2
erid: Pb3XmBtzsxNkKp5wipHJ3g1jPhEjiyTeN7nP4wG
Архив с кодом из ролика в телеграм-канале: t.me/Alek_OS
А серии видосов по хакерству и снятию защит будут ? Оч интересная тема по которой не так много разжёванного материала.
Со стандартным инструментарием без вирусни и подписок.
Не так актуально как питон для зумеров, но вдруг стрельнет
Может ссылку на гит добавишь? Стянуть и потрогать код так намного удобнее
Это противозаконно. За такое просто блокнут канал
@@AlekOS не, я имею ввиду обучение, а не показ как сломать конкретную популярную защиту.
Такое в сети есть и на ютубе.
Я по одному тутору как то пробовал простую защиту снять и нифига не вышло.
@@AlekOS так ты взломай ютуб и сделай чтобы не блокали😉
Есть две крайности: я ничего не понимаю, и я уже это знаю
Причём, одновременно
да
Знаю, забил... Просто использую. Добавляешь тайм и ид
@@Anti_During У меня обычно одно плавно переходит в другое) Вот это я знаю и без объяснений. Потом - раз - и я уже ничего не понимаю)
У меня другая проблема: изучил, разобрался, прошло время, забыл. Открываешь и понимаешь ты это уже изучал)
Все очееннь круто, обясняешь только самое важное и простым языком. При этом монтаж тоже на уровне! Я смотрю и не устаю, спасибо!!!
Просьба сделай теперь про set.
Алек, молодец. Продолжай дальше делать ролики. И как можно чаще.
Харош, харош братан, контент в кайф, давай давай ещё!
Оп-оп, вот же оно, именно то, что нужно. Нижайший поклон за проделанную работу.
Спасибо за новый фильм, а с нас - лайк! 👍👍👍
Ну что сказать, красавчик, ясно, понятно, достоверно, продолжай в том же духе.
Спасибо, что рассказал это понятным языком
Удачи в развитии канала😊
Братан, хорош, контент в кайф...
Можно вот этого побольше
Очень классные видео, снимайте ещё😊
Отличное видео, спасибо огромное автору за популяризацию айти контента
Спасибо что снимаешь)
благодарю за контент!
Спасибо за такие полезные видео!
Суперское видео! Спасибо!
спасибо за топ контент!
Спасибо за видео❤❤❤
Норм ролик, правда почти всё я и так знал.
Как всегда качественно, твои видосы топ
Спасиобо за труд )
Оно, как обычно круто.
Но было бы неплохо показать работу соли, потому что это одна из первых вещей встречающаяся при работе с криптографией.
Соль меняет начальное состояние хеша на множество по тому его еще сложнее подобрать
Соль встречается одной из первых при поездке в Питер.
С Ялтой не сравнится
@@robertobokarev439 неужели там жёстче чем в Питере?
@@ChineBugaga Реклама соли на каждом подъезде, буквально
Должен признать, с этим по чуть-чуть борются, но я лично знаю пример, когда минты кроют наркош. В центре такого нет.
Автор красавчик!!! Емко и по делу!
Как всегда познавательно, спасибо.
Классное видео. Я тоже разбирался в работе md5 и пытался создать что-то своё но понял что это не так просто.
Сними ещё видео про блочные и потоковые алгоритмы шифрования.
Спасибо! Отличное видео!
ещё не успел разобраться с графами как уже ещё ролик, спасибо!
Привет, Alek OS. Видео класные и самое главное понятные.
Подскажи пожалуйста, с помощью чего ты делаешь визуальное представление алгоритмов
Сильно 🔥
Очень круто! Весь цикл роликов очень крутой. Спасибо!
добавлю: при незначительном изменении входных данных хэши сильно отличаются - это криптографический хэш. есть ещё пространственный (spatial) хэш задача которого как раз чтобы при небольшом изменении входных данных хэши не различались сильно, а различались как раз таки пропорционально разнице во входных данных - это очень полезно для поиска.
Супер контент. Спасибо.
Спасибо, бро!
Материал - огонь! Именно это я и искал!
20 минут кайфов
Спасибо что рассказываешь)
CRC - cyclic redundancy code (циклический избыточный код) - что мы и видим при сдвигах влево или вправо.
Помню как я офигел, когда, участь в колледже, нарыл исходник MD-5 на паскале) Мозг был надолго взорван :)
Спасибо, супер
Alek OS привет. Скажи пожалуйста, в какой программе ты создаешь анимацию в своих роликах?
За 8 минут две рекламы. Нехило.
Рад за автора, что наконец начал зарабатывать с канала.
Лайк опционально.)
Возбуждающий видос, конечно, прямо таки очень
И тут я понял, что мне пока что рано смотреть такие видео....
У меня как-то с 90х годов, завалялся файлик, большого размера, для брутфорс подбора паролей. Где были все варианты набора от 6 до 12 символов.
Для MD5 хэша я его модернизировал, добавив еще одно поле (пароль + MD5). И спокойно искал в такой таблице, нужный MD5 код с паролем. И БД была вскрыта.
Потом я сделал ОГРОМНУЮ таблицу с вариантами от 8 до 24 символов :) Т.к. были пароли более 12 символов, но очень редко.
С появлением обязательных спецсимволов в паролях, моя таблица выросла до 35 гигов :) Но это все только для MD5.
Жаль что не упомянули какие то другие свежие алгоритмы, например BLAKE2 и BLAKE3. Ну и ещё не упомянули про раунды хэширования - ведь когда идёт разработка алгоритма скорость это тоже важный параметр, но если она не нужна, то можно просто захэшировать полученный хэш по кругу, как например делает winrar - хэшируя пароль несколько сотен раз циклично, делая криптостойкость изначально сильного алгоритма примерно в тысячу раз сильнее, И при этом в тысячу раз медленнее, что для в целом для физического архива именно то что надо.
Спасибо!
Очень крутой ролик
Думаю, что многие, в том числе и я, плохо понимают как работают алгоритмы хеширования, например MD5. Я когда-то давно нашел код для создания MD5 по входным данным на C++, скопипастил этот код в свою прогу, где читался файл, и получил в итоге, что по входному файлу получаю MD5 из 32 символов. Мне пришла идея оптимизировать код по получению хеша, потому как с большими файлами процесс хеширования занимал десятки секунд, но нужно было уходить математическую теорию, тогда я бросил это дело.
Сейчас, мне видится такая аналогия, что процесс хеширования похож на долговременную память, когда с течением времени многое забывается и перекрывается другими воспоминаниями, а то что остается в итоге спустя годы и есть как бы хеш, но который понятен человеческому мозгу и состоит он далеко не из 8ми битных символов.
И как тогда, так и сейчас думаю, что взломать хеш и получить одну из комбинаций исходных символов, которых если пропустить через алгоритм хеширования даст тот же хеш, теоретически возможно, а значит в будущем нельзя надеяться, что хеш как инструмент по защите данных абсолютно безопасен. Как один из набора инструментов - да, но не как единственный.
Я не особо шарю на этом теме. Но я слышал слух о том как некие государства ловят и сохраняют эти хеши ( какие то важные данные типо как координаты какого-то важного объекта) чтобы в будущем смогли взломать эти данные.
талантливый автор
подписался на всякий случай )) и лайкнул
Разные данные всегда выдают разный хеш??? ЧТо?? Где-то в мире заплакала одна маленькая редкая коллизия )))
На 3:39, видимо, для простоты смешались хэш-функции и криптографические хэш-функции
На MD5 где-то встречалась онлайн функция "восстановления" т.е. вводишь хэш и результатом выдает исходник (текст)... там тупо база на несколько десятков лярдов комбинаций символов с тем что выдаст MD5 при вводе этих комбинаций. Это как результат брутфорса с сохранением полученных комбинаций (листинг) и поиск происходит по результатам сделанным еще до вас.
Даешь видос про математику хеш функций!
ты как мысли читаешь))
Спасибо
Ничего не понял, но очень интересно :)
Круто как всегда! Еще бы с картинками поаккуратнее... Что-то часто замечать начал.
Например, 15:17 согласно коду "Размер массива в битах" заполнится 30 00 00 00 00 00 00 00, а не 00 00 00 00 00 00 00 30 как на картинке.
А где информация про "соль"? )
клвссные видео. хотелось что бы продолжить уроки по асемблеру
а интересно, hashcat умеет тот алгоритм поиска коллизий для MD-5 упомянутый на 18:13 ?
Ну окей, подпишусь
Учёные просчитывают хеширование на миллионы лет, но кто-то взламывает их ближайшие годы 😂 И погнали по новой 😅
жаль про HMAC еще не рассказал, и про length extension attacks
Это очень интересно! Будет ли разбор SHA-2 и SHA-3?
Sha-3 навряд ли можно разобрать за 1 видео
Вот тут хочу сделать одно замечание
хэш не обязан при изменение одного бита создавать совершенно другой хэш
(заостряю на этом внимание, поскольку сам не доумевал о том, что написано выше, пока не пришлось столкнуться с этим)
Если говорить о криптографическом-хэше, то он должен соблюдать свойство снежного кома - изменение одного бита приводит к совершенно новому хэшу
НО хэшировать можно всё что угодно и это можно представить компактным представлением данных (фиксированный размер хэша не зависит от исходной последовательности битов)
SHA256 - получает на вход 1/2/4/8 Гб данных, но выдаст всегда 256 бит
Компактное решение, идеально для попыток найти точное сходство, но вот не задача, когда нам надо найти почти похожее сходство - 1 бит меняется в данных и хэш нам ничего не скажет
Но это криптографические хэши нам ничего не скажут
А вот перцептивный хэш не обладает свойством снежного кома - т.е. изменение одного бита приведет к почти похожему хэшу
Благодаря такому хэшу можно сказать примерно - похожи ли данные друг на друга приблизительно или точно
P.S. Может есть ещё какие-то хэши, но я хз - сложно искать о них инфу - выдаёт только определение и инфу о криптографических, а вот такой пришлось искать целенаправленно
Я понял процентов 5-6%. Так как я ещё не шарю по этим темам. Но я кое что заметил. Ты написал что SHA256 выдаст от 1 гб до 8гб а в состоянии хеша всего 256кб. И можно ли сделать вывод что можно хешироват свои файлы ради экономи место ?
@@pcmine1
1) у SHA семейства обычно число рядом стоящее значит размер хэша в битах
SHA256 даст 256 битное значение
2) Хэш переводится как мешанина - я предпочитаю объяснять это так
Хэш функция пропускает данные и создаёт лютый фарш
Из фарша обратно нельзя получить стейк
Так что на вопрос "Можно ли с помощью хеширования сделать архивацию?" - ответ: Нет
3) Хэши используются в разных местах - как сказано в видео
Для создания крипто ключей и других крипто штук
и многое другое
4) Для файлов (одно из этого многого другого)
Вот ты получаешь хэш файла сколько угодного размера - переслал другу файл и хэш - пока файл путешествовал по просторам инета его перхватили и добавили вирусов (в файле изменены данные) - друг получил уже другой файл и перед запуском проверяет его хэш с твоим и видит разные значения - такой файл не безопасно открывать
5) Найс болс, найс хэш
Современные крипто хэш функции можно использовать вот как
У тебя есть куча файлов и тебе надо найти нужный
Вариант перебрать каждый - ну такое себе
Вариант получить хэш - ну ок а что дальше - мы зная искомый хэш уже сужаем область поиска во много раз - теперь проверяем все файлы с данным хэшом и там будет наш (если он не удалён)
6) Насчёт уменьшения размера данных - стоит смотреть на АЛГОРИТМЫ СЖАТИЯ - часто используемый по сей день (обычно его модификации разные) это код Хаффмана и там разные другие есть
К примере JPEG, PNG это не просто форматы фоток - это сокращения алгоритмов сжатия фото (они обычно используют систему разных алгоритмов в нужной последовательности и могут добавлять свои какие-то шаги)
@@pcmine1 я чутка изменил текст исходного коммента - там были опечатки не значительные и я иногда использовал слово , когда верно было писать
для перекрытия блоков памяти, функция memmove является более безопасным подходом
Изменение значения CRC[N] на произвольное не требует перебора значений. Для любых N достаточно изменить ровно N/8 байтов в исходных данных или добавить к исходным данным N/8 байтов..
Когда видосик по третьей части ассемблера?
Может кто-то подскажет, что за трэк заиграл на фоне после 2ой интеграции? К сожалению шазамом не распознать
18:32 добавление соли в хэш повышает устойчивость к взлому через коллизии) В нормальных базах хэши хранятся солёными)
Используйте Argon2, на текущий момент он считается самым стойким
Какие коллизии нашли для sha 256?
Отличное видео. Жаль только, что три интеграции в ролик не влезли
почему я не могу найти инфу о reverse[p] ?
10:17
Правильно ли я понял, про передачу файла по ip?
в передаваемом файле есть служебная информация о контрольной сумме и если будет поврежденная полезная нагрузка, то коммутатор запросит повторную передачу данных (ну или отбросит просто) пакет инфы.
Но что если была повреждена не сама полезная нагрузка, а информация о контрольной сумме ?
а проверяется не информация, а совпадение переданного хеша с созданным.
т.е. если повреждается хеш, то он становится какбы хешем от другой информации, т.е. проверка на совпадение с хешем от пришедьшей информации снова будет не валидна
как из хеша пароля превратить пароль?
Если кому-то интересно углубиться в эту тему у Николая Тузова на канале есть очень крутой видос по этой теме тоже
Отдав хэш челы получают доступ к аккаунту?
9:50 а если исказится информация о контрольной сумме?
👍
15:17 разве оно запишет длину в самый конец? Там же в 57 элемент запишет 48, а дальше нули.
Вопросик по 11:40
Для чего делать хор с единицами, если инверсия даст тот же эффект?
0 xor 1 = 0. А при инверсии ты на 1 изменишь.
@@yona2781, вы не правы! XOR это строгая дизъюнкция, означает что либо один аргумент истина, либо второй аргумент истина, но ни как не обо вместе! Таким образом, таблица истинности для функции XOR будет:
0 0 0
0 1 1
1 0 1
1 1 0
Ток я заметил каракули в конце описании видео?
Ясно... понятно )
На мой взгляд более понятным и наглядным было бы показать работу хеш-функций на сдвиговых регистрах с ОС в ПЛИС. Писать хеш-функцию на сях или плюсах то еще извращение, после плис похоже на натягивание совы на глобус.
Хорошая подача материала, хотя хотелось бы немного больше математики. Но я так полагаю тогда разрушился бы тот самый баланс про который говорилось вначале.
Ничего не понял но очень интересно
Из этого видео я понял, что ничего не понял🤦🤤😂😂😂🤔! Сложно однако☝🏽
Давно мучает вопрос неужели нельзя использавать n поролей (в рамках разумного). Допустим берется пороль хешируеться до n байт, бьеться на части (до 10) и отправляеться в правильно-произвольном порядке. (Давно мучал вопрос: почему раз пользуються перебором не делать ловушки и n паролей в разном-правильном порядке необходимые для ввода. Написал не тот востановить фаил сможет только владелец знающий працедуру (из нескольких на выбор) которую выбрал для небезвазвратной "деформации" данных.)
Или завязанных на время оправки. Дни на планете одни добавлять еще кусок к логину паролю ежедневно.
Хороший криптографический алгоритм это тот, который всем известен, но защита его строится на математике а не тайне его работы. Любые "тайные" алгоритмы или протоколы защиты взламываются на раз два как только они представляют достаточный интерес для этого.
Кстати, с коллизией хэшей тоже многие сталкивались. Все ж знают, что такое HESOYAM и AEZAKMI?
Объясните, пожалуйста, зачем в md5 (в видео на 15:00) нужно условие rest
8 байт длинны в конце блока по 64, если длина хвоста сообщения больше 56, размер не влезет и нужен доп блок (+ 64 в else)
почему количесво хэш ограниченное???
Та самая база
маленькое уточнение. git не мог использовать sha-1 в 90ых, поскольку сам git появился только в 2005м...
Что значит запишем значения A, B, C и D в обратной последовательности? Значения чего? Откуда мы берём значения? Обратная последовательность чего? В A записываем D, а в В записываем значение C? Зачем торопиться так?( Те кто не знает не поймёт, те кто знает и так знают, в чём тогда смысл вставки с кодом?
Жаль что так, но всеравно спасибо за ролик, мегаинформативно
Я вроде понял что эти значения можно любыми сделать, но всё ещё не понял почему обратные
крут
10:00
А если сама контрольная сумма побьётся при передаче?
Значит повторная передача будет
Nothing for Murmurhash?
У sha-256 обнаружены коллизии? что я пропустил?🤨
а если кто то научился красть решения других майнеров и выдавать их за свои, что делать??? менять код биткоина???
есть вариант)))