И немного из рубрики "записки на манжетах", коей не было сколько-то месяцев... Чем дальше я продвигаюсь в плейлисте про абстрактную алгебру, тем больше думаю, как, вероятно, тяжело это давалось бы студентам в среднестатистическом институте.
Просто я хорошо помню эти суровые книги, в которых всё всегда было *очевидно* и вытекало из какой-нибудь леммы номер 1.8, а если тебе не очевидно - ну ты просто дурак.
Почему-то запомнился один учебник по программированию, переведённый с английского. Он прямо сломал парадигму, потому что он разговаривал с тобой на равных и *вежливо*. Разумеется, это был далеко не первый учебник по разработке, но именно он оказался какой-то "не такой".
Потому что старые учебники - они прямо были агрессивные и сильно ругались. "ТЫ ВООБЩЕ КТО ТАКОЙ? *Меня* написали самые лучшие, самые бородатые мужики в самых растянутых свитерах, лучшие из лучших в СССР! Ты вообще знаешь, мелкий засранец, сколько миллионов - сотен миллионов! - жило в СССР? Так вот самые крутые из этих миллионов создали меня! Поэтому, сопляк, сиди тихо и слушай. И *я* говорю тебе, что вот это следствие *очевидным образом* вытекает из леммы 1.8. Понял?! А если не понял, я надеру тебе задницу!".
Впрочем, я тоже, вероятно, грешу такими заходами, что, мол, "тут всё просто", но стараюсь этого избегать, насколько возможно. Лучше повторить несколько раз, чем понадеяться, что слушателю будет всё очевидно 😂
Как взломать криптографию за четыре попытки, или Индийский центр сертификации наносит ответный удар 🤡
Недавно выяснилось, что у нескольких промежуточных центров сертификации индийской компании eMudhra приватные ключи были числами 4, 56, 66, 115, 155, 156, 230 и 237. Да-да, один из приватных ключей был буквально 4 (при этом использовалась вполне серьёзная эллиптическая кривая P-384, рассчитанная на 192-битную криптографическую стойкость).
В нормальных условиях восстановить приватный ключ по публичному практически невозможно. Но если приватный ключ равен 4, то взлом выглядит примерно так:
from cryptography.hazmat.primitives.asymmetric import ec
curve = ec.SECP384R1()
# Представим, что CA сгенерировал ключ 4.
private_key = ec.derive_private_key(4, curve)
public_key = private_key.public_key().public_numbers()
# Атакующий знает только публичный ключ.
for candidate in range(1, 256):
test = ec.derive_private_key(candidate, curve)
point = test.public_key().public_numbers()
if (point.x, point.y) == (public_key.x, public_key.y):
print(f"ВЗЛОМАЛИ: {candidate}")
break
Почему это плохо? Центры сертификации (они же "удостоверяющие центры") выпускают цифровые сертификаты, с помощью которых браузеры проверяют подлинность HTTPS-сайтов. Если злоумышленник получает приватный ключ доверенного промежуточного CA, он потенциально может выпускать поддельные сертификаты для чужих доменов и использовать их для перехвата соединений.
Самое забавное, что математика P-384 не сломалась, просто вместо случайного числа из примерно 2^384 возможных значений система использовала числа, которые можно перебрать за долю секунды. И да, теоретически честный генератор тоже может случайно выдать 4. Просто вероятность этого примерно один шанс на 10^116.
А сколько пришлось бы перебирать нормальный ключ? Для P-384 лучший известный универсальный классический алгоритм требует порядка 2^192 операций. Даже если представить фантастический компьютер, выполняющий триллион операций над точками кривой в секунду, поиск занял бы порядка 10^38 лет.
Для сравнения, возраст Вселенной — около 13,8 миллиарда лет. То есть взлом занял бы примерно в 10^28 раз больше времени, чем существует Вселенная.
В этой статье обсудим как реализовать обфускацию контента средствами HTML и CSS (и совсем немного JS): рассмотрим как простые, так и сложные случаи. Затем же поговорим о том, как обходить подобную обфускацию и вытаскивать нужные данные со страницы https://www.scrapingbee.com/blog/scrape-obfuscated-text/
После 15 мая, когда я потерял сознание, я стал внимательнее относиться к здоровью. Сдал анализы, проходил обследования, ходил к врачам. Один врач расписал, что принимать, в какой дозировке, когда и в какой последовательности.
Быстро стало понятно: если держать всё это в разных местах, начнётся путаница. Анализы — в PDF, рекомендации отдельно, таблетки отдельно, вопросы врачу отдельно, напоминания отдельно.
Поэтому я сделал для Hermes отдельный скилл — «моё здоровье». Загрузил туда анализы, рекомендации, список таблеток и схему приёма.
Это не врач и не замена врачу. Агент не должен ставить диагнозы или сам назначать лечение. Но с обычными практическими вещами он помогает: посмотреть, что уже было в анализах, вспомнить назначения, сформулировать вопрос врачу, напомнить о таблетках или подсказать порядок приёма, если я запутался.
Сейчас у меня работает отдельный крон: в нужное время он присылает напоминание, что принять и в какой последовательности.
Ещё помогает распознавание по фото или видео. Если я забыл, к какой таблетке относится флакон, могу отправить изображение или видеосообщение. Агент попробует распознать упаковку и сопоставить её с тем, что уже есть в моём списке.
Для зрячего человека это может звучать как мелочь. Для меня это часть нормальной самостоятельности. Не хочется превращать здоровье в ещё одну таблицу, которую надо постоянно открывать и поддерживать руками. Удобнее, когда есть отдельный контекст, напоминания и возможность быстро спросить агента голосом.
После истории 15 мая я не стал меньше пользоваться ИИ. Скорее начал применять его там, где он помогает спокойнее держать важные вещи под контролем.
Официальный вывод с HyperCore на Arbitrum через интерфейс Hyperliquid стоит 1$.
Депозит: 0.2$.
Через across те же самые операции стоят примерно 0.02$, а USDC можно сразу бриджануть в необходимую сеть, без отдельных 2 транзакций на аппрув и бридж с Arbitrum.
С 26 октября по 2 ноября к любому кошельку Tangem можно добавить Mystery Box всего за $10. Внутри полноценный комплект из 3 карт с секретным хэллоуинским дизайном. Какой дизайн попался, узнаете только при распаковке.
Зачем нужен второй комплект?
🟢 разделить хранение: на одном кошельке долгосрочные накопления, на другом оборотные средства;
🟢 подарить близким, которые давно собирались «наконец-то убрать крипту с биржи»;
🟢 закрыть вопрос с новогодним подарком заранее.
Как получить?
🟢 Перейдите по ссылке и введите промокод HIDDENCODE
🟢 Выберите любой кошелёк Tangem
🟢 При оформлении добавьте Mystery Box за $10
Оба комплекта приедут одной посылкой. Акция действует до 2 ноября.