КАК РАБОТАЕТ ХЭШИРОВАНИЕ | ХЭШ-ФУНКЦИИ
Vložit
- čas přidán 2. 07. 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 Реклама соли на каждом подъезде, буквально
Должен признать, с этим по чуть-чуть борются, но я лично знаю пример, когда минты кроют наркош. В центре такого нет.
Спасибо! Отличное видео!
Как всегда познавательно, спасибо.
Спасиобо за труд )
Норм ролик, правда почти всё я и так знал.
Как всегда качественно, твои видосы топ
Спасибо, бро!
Супер контент. Спасибо.
Автор красавчик!!! Емко и по делу!
ещё не успел разобраться с графами как уже ещё ролик, спасибо!
20 минут кайфов
Материал - огонь! Именно это я и искал!
И тут я понял, что мне пока что рано смотреть такие видео....
Спасибо что рассказываешь)
Спасибо, супер
Классное видео. Я тоже разбирался в работе md5 и пытался создать что-то своё но понял что это не так просто.
Сними ещё видео про блочные и потоковые алгоритмы шифрования.
CRC - cyclic redundancy code (циклический избыточный код) - что мы и видим при сдвигах влево или вправо.
Помню как я офигел, когда, участь в колледже, нарыл исходник MD-5 на паскале) Мозг был надолго взорван :)
Очень круто! Весь цикл роликов очень крутой. Спасибо!
Привет, Alek OS. Видео класные и самое главное понятные.
Подскажи пожалуйста, с помощью чего ты делаешь визуальное представление алгоритмов
добавлю: при незначительном изменении входных данных хэши сильно отличаются - это криптографический хэш. есть ещё пространственный (spatial) хэш задача которого как раз чтобы при небольшом изменении входных данных хэши не различались сильно, а различались как раз таки пропорционально разнице во входных данных - это очень полезно для поиска.
о как. впервые слышу. спс.
@@manOfPlanetEarth простейший 1-мерный "пространственный хэш" это например операция % в Си (остаток от деления), очень полезен для bucketing ("рассовывание по корзинам", для шардинга тоже применимо) типа bucket = user_id % 10 , тогда 11-й и 21-й юзер попадут в 1-ю "корзину", 12-й и 22-й во 2-ю и т.д. и когда надо будет найти - "корзину" мы знаем уже в одну простую операицию и по ней уже пробежаться будет в 10 раз меньше чем по всему массиву. ну это ну прям _очень_ упрощённо (но даже и это применяется).
За 8 минут две рекламы. Нехило.
Рад за автора, что наконец начал зарабатывать с канала.
Лайк опционально.)
Очень крутой ролик
Возбуждающий видос, конечно, прямо таки очень
Спасибо!
Жаль что не упомянули какие то другие свежие алгоритмы, например BLAKE2 и BLAKE3. Ну и ещё не упомянули про раунды хэширования - ведь когда идёт разработка алгоритма скорость это тоже важный параметр, но если она не нужна, то можно просто захэшировать полученный хэш по кругу, как например делает winrar - хэшируя пароль несколько сотен раз циклично, делая криптостойкость изначально сильного алгоритма примерно в тысячу раз сильнее, И при этом в тысячу раз медленнее, что для в целом для физического архива именно то что надо.
У меня как-то с 90х годов, завалялся файлик, большого размера, для брутфорс подбора паролей. Где были все варианты набора от 6 до 12 символов.
Для MD5 хэша я его модернизировал, добавив еще одно поле (пароль + MD5). И спокойно искал в такой таблице, нужный MD5 код с паролем. И БД была вскрыта.
Потом я сделал ОГРОМНУЮ таблицу с вариантами от 8 до 24 символов :) Т.к. были пароли более 12 символов, но очень редко.
С появлением обязательных спецсимволов в паролях, моя таблица выросла до 35 гигов :) Но это все только для MD5.
делай делай годнота
Думаю, что многие, в том числе и я, плохо понимают как работают алгоритмы хеширования, например MD5. Я когда-то давно нашел код для создания MD5 по входным данным на C++, скопипастил этот код в свою прогу, где читался файл, и получил в итоге, что по входному файлу получаю MD5 из 32 символов. Мне пришла идея оптимизировать код по получению хеша, потому как с большими файлами процесс хеширования занимал десятки секунд, но нужно было уходить математическую теорию, тогда я бросил это дело.
Сейчас, мне видится такая аналогия, что процесс хеширования похож на долговременную память, когда с течением времени многое забывается и перекрывается другими воспоминаниями, а то что остается в итоге спустя годы и есть как бы хеш, но который понятен человеческому мозгу и состоит он далеко не из 8ми битных символов.
И как тогда, так и сейчас думаю, что взломать хеш и получить одну из комбинаций исходных символов, которых если пропустить через алгоритм хеширования даст тот же хеш, теоретически возможно, а значит в будущем нельзя надеяться, что хеш как инструмент по защите данных абсолютно безопасен. Как один из набора инструментов - да, но не как единственный.
Я не особо шарю на этом теме. Но я слышал слух о том как некие государства ловят и сохраняют эти хеши ( какие то важные данные типо как координаты какого-то важного объекта) чтобы в будущем смогли взломать эти данные.
подписался на всякий случай )) и лайкнул
талантливый автор
Alek OS привет. Скажи пожалуйста, в какой программе ты создаешь анимацию в своих роликах?
На MD5 где-то встречалась онлайн функция "восстановления" т.е. вводишь хэш и результатом выдает исходник (текст)... там тупо база на несколько десятков лярдов комбинаций символов с тем что выдаст MD5 при вводе этих комбинаций. Это как результат брутфорса с сохранением полученных комбинаций (листинг) и поиск происходит по результатам сделанным еще до вас.
На 3:39, видимо, для простоты смешались хэш-функции и криптографические хэш-функции
Ничего не понял, но очень интересно :)
ты как мысли читаешь))
Ну окей, подпишусь
Даешь видос про математику хеш функций!
Спасибо
Учёные просчитывают хеширование на миллионы лет, но кто-то взламывает их ближайшие годы 😂 И погнали по новой 😅
Круто как всегда! Еще бы с картинками поаккуратнее... Что-то часто замечать начал.
Например, 15:17 согласно коду "Размер массива в битах" заполнится 30 00 00 00 00 00 00 00, а не 00 00 00 00 00 00 00 30 как на картинке.
маленькое уточнение. git не мог использовать sha-1 в 90ых, поскольку сам git появился только в 2005м...
Но зачем? Нам нужен просто хэш, и пароль от 2-ух наших учеток. Дальше поиск закономерностей.
а интересно, hashcat умеет тот алгоритм поиска коллизий для MD-5 упомянутый на 18:13 ?
А где информация про "соль"? )
Изменение значения CRC[N] на произвольное не требует перебора значений. Для любых N достаточно изменить ровно N/8 байтов в исходных данных или добавить к исходным данным N/8 байтов..
для перекрытия блоков памяти, функция memmove является более безопасным подходом
Вот тут хочу сделать одно замечание
хэш не обязан при изменение одного бита создавать совершенно другой хэш
(заостряю на этом внимание, поскольку сам не доумевал о том, что написано выше, пока не пришлось столкнуться с этим)
Если говорить о криптографическом-хэше, то он должен соблюдать свойство снежного кома - изменение одного бита приводит к совершенно новому хэшу
НО хэшировать можно всё что угодно и это можно представить компактным представлением данных (фиксированный размер хэша не зависит от исходной последовательности битов)
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 я чутка изменил текст исходного коммента - там были опечатки не значительные и я иногда использовал слово , когда верно было писать
клвссные видео. хотелось что бы продолжить уроки по асемблеру
md5 - если есть такая возможность выпустите, пожалуйста, более понятный и подробный влог
жаль про HMAC еще не рассказал, и про length extension attacks
Отличное видео. Жаль только, что три интеграции в ролик не влезли
Когда видосик по третьей части ассемблера?
Ничего не понял но очень интересно
Ясно... понятно )
Используйте Argon2, на текущий момент он считается самым стойким
Что значит запишем значения A, B, C и D в обратной последовательности? Значения чего? Откуда мы берём значения? Обратная последовательность чего? В A записываем D, а в В записываем значение C? Зачем торопиться так?( Те кто не знает не поймёт, те кто знает и так знают, в чём тогда смысл вставки с кодом?
Жаль что так, но всеравно спасибо за ролик, мегаинформативно
Я вроде понял что эти значения можно любыми сделать, но всё ещё не понял почему обратные
18:32 добавление соли в хэш повышает устойчивость к взлому через коллизии) В нормальных базах хэши хранятся солёными)
Ток я заметил каракули в конце описании видео?
Здравствуйте. В md5 80 - как получилось такое значение?
крут
Та самая база
Может кто-то подскажет, что за трэк заиграл на фоне после 2ой интеграции? К сожалению шазамом не распознать
Это очень интересно! Будет ли разбор SHA-2 и SHA-3?
Sha-3 навряд ли можно разобрать за 1 видео
15:17 разве оно запишет длину в самый конец? Там же в 57 элемент запишет 48, а дальше нули.
Хорошая подача материала, хотя хотелось бы немного больше математики. Но я так полагаю тогда разрушился бы тот самый баланс про который говорилось вначале.
👍
9:50 а если исказится информация о контрольной сумме?
На мой взгляд более понятным и наглядным было бы показать работу хеш-функций на сдвиговых регистрах с ОС в ПЛИС. Писать хеш-функцию на сях или плюсах то еще извращение, после плис похоже на натягивание совы на глобус.
Если кому-то интересно углубиться в эту тему у Николая Тузова на канале есть очень крутой видос по этой теме тоже
Какие коллизии нашли для sha 256?
Из этого видео я понял, что ничего не понял🤦🤤😂😂😂🤔! Сложно однако☝🏽
После того как радужные таблицы вошли в использование, в криптографии начался сущий кошмар...
Кстати, с коллизией хэшей тоже многие сталкивались. Все ж знают, что такое HESOYAM и AEZAKMI?
10:17
Правильно ли я понял, про передачу файла по ip?
в передаваемом файле есть служебная информация о контрольной сумме и если будет поврежденная полезная нагрузка, то коммутатор запросит повторную передачу данных (ну или отбросит просто) пакет инфы.
Но что если была повреждена не сама полезная нагрузка, а информация о контрольной сумме ?
а проверяется не информация, а совпадение переданного хеша с созданным.
т.е. если повреждается хеш, то он становится какбы хешем от другой информации, т.е. проверка на совпадение с хешем от пришедьшей информации снова будет не валидна
Ролик хорош, но такое ощущение что автор иногда специально начинает говорить монотонным голосом очень быстро, что бы приходилось переслушивать, поэтому иногда простые вещи становятся непонятными чисто из за подачи информации.
почему я не могу найти инфу о reverse[p] ?
выходит биткоин более уязвим, чем эфир
Отдав хэш челы получают доступ к аккаунту?
Давно мучает вопрос неужели нельзя использавать n поролей (в рамках разумного). Допустим берется пороль хешируеться до n байт, бьеться на части (до 10) и отправляеться в правильно-произвольном порядке. (Давно мучал вопрос: почему раз пользуються перебором не делать ловушки и n паролей в разном-правильном порядке необходимые для ввода. Написал не тот востановить фаил сможет только владелец знающий працедуру (из нескольких на выбор) которую выбрал для небезвазвратной "деформации" данных.)
Или завязанных на время оправки. Дни на планете одни добавлять еще кусок к логину паролю ежедневно.
Хороший криптографический алгоритм это тот, который всем известен, но защита его строится на математике а не тайне его работы. Любые "тайные" алгоритмы или протоколы защиты взламываются на раз два как только они представляют достаточный интерес для этого.
Вопросик по 11:40
Для чего делать хор с единицами, если инверсия даст тот же эффект?
0 xor 1 = 0. А при инверсии ты на 1 изменишь.
@@yona2781, вы не правы! XOR это строгая дизъюнкция, означает что либо один аргумент истина, либо второй аргумент истина, но ни как не обо вместе! Таким образом, таблица истинности для функции XOR будет:
0 0 0
0 1 1
1 0 1
1 1 0
Пароли очень даже существуют без хеширования. Утечками гугла доказано.