Обновить
61
0

Пользователь

Отправить сообщение

Обманчиво простой и интересный RSA

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров12K

Недавно, читая книгу Real-World Cryptography, я узнала об атаке Блейхенбахера, иначе называемой атакой миллионом сообщений. Этот вид атаки Даниэль Блейхенбахер продемонстрировал в 1998 году, взломав RSA через функцию шифрования PKCS #1. В книге об этой атаке было сказано немного, поэтому я решила изучить её сама и в конечном итоге реализовать.

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

Вместо этого я решила реализовать RSA сама, чтобы иметь возможность развернуть слабую схему шифрования, позволяющую осуществить атаку Блейхенбахера. Пока что у меня готова реализация RSA и PKCS (уязвимой версии). На создание основы RSA ушло около часа, плюс несколько дней на отладку. И теперь она (кажется) работает. Вскоре, если звёзды сойдутся, можно будет развернуть саму атаку.
Читать дальше →

Передавать пустые срезы между Rust и C/C++ на удивление сложно

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9K

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

В общих чертах она выглядит так:

  • В правила работы с указателями и memcpy в С не заложены грамотные способы представления пустого среза памяти.
  • В С++ с правилами указателей проблем нет, но поведение memcpy здесь аналогично её поведению в С.
  • Интерфейс внешних функций (Foreign Function Interface, FFI) в Rust не лишён накладных издержек. Rust использует несовместимое с C/C++ представление срезов, требуя их преобразования при передаче в обоих направлениях. При этом о преобразовании очень легко забыть.
  • Срезы в Rust также несовместимы с арифметикой указателей, что создаёт проблемы в работе итератора срезов стандартной библиотеки. (Обновление от 2024-01-16: похоже, над этой проблемой работают).

Поскольку проблемы FFI касаются нескольких языков, я писал статью в качестве общей справки, описывающей их несогласованность.
Читать дальше →

Конурбация Рура: чем живёт бывшее индустриальное сердце Европы

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров12K
Карта землепользования Рура из регионального плана развития. Видна сросшаяся городская ткань конурбации, плотная транспортная сеть и сохранившиеся очаги промышленности (серый цвет). Источник: RVR

Я долго откладывал материал по Руру на потом, для него нужно было созреть. Рурский бассейн, где до WWII добывалась половина угля и выплавлялась треть европейской стали, и который стал символом индустриальной мощи, за последние полвека сильно сдал. Но не сдался, пусть и прошёл через мучительную трансформацию. Мы приехали в Дортмунд в 2018 г. после учебного модуля в США. И, конечно, главным вопросом было, как региону после коллапса тяжёлой промышленности удалось избежать судьбы Детройта. Потрясло тогда отношение местных к ржавеющим остовам промышленных гигантов как к части истории, которую невозможно вычеркнуть. Два других принципиальных вопроса после США были: как агломерации удаётся заниматься развитием общей инфраструктуры (всегда и везде найдутся упёртые дядьки), и как удалось провернуть ревитализацию Рура, став центром экологических компетенций в пост-угольную эру. Но обо всём по порядку.
Читать дальше →

Реверс-инжиниринг электромеханического компьютера с самолёта-истребителя

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров24K

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

В истребителях F-101 и F-111, в бомбардировщике B-58 ВВС США эту задачу решал Bendix Central Air Data Computer (CADC)1.

[1. Мне не удалось найти полный список самолётов, в которых использовался CADC. Судя по различным источникам, он применялся в F-86, F-101, F-104, F-105, F-106, F-111, а также в бомбардировщике B-58.]

Это электромеханическое чудо техники было реализовано на основе лучших технологий 1955 года: шестерней, кулачков, сельсинов и магнитных усилителей. В этом посте я загляну внутрь CADC, расскажу о выполняемых им расчётах и объясню, как он производил эти расчёты механически.
Читать дальше →

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2)

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров10K

Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования, а также ситуацию с мапперами на других платформах.
Читать дальше →

Право на ремонт против запланированного устаревания. Битва двух концепций

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров15K
На фото: Fairphone 4

Многие слышали о скандале с МФУ производства HP. Эти устройства отказываются сканировать документы, когда в картридже кончились чернила. В сознании производителя всё логично: если чернила кончились или пользователь вставил поддельный картридж, то устройство считается нефункциональным. В этом случае оно выдаёт сообщение об ошибке.

Но это противоречит обычной человеческой логике: ладно печать, но почему нельзя сканировать без чернил? Этот прецедент уже доведён до суда.
Читать дальше →

Как устроен виндсёрфер? И немного ещё…

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров13K
Картинка Macrovector, Freepik

В этой статье я расскажу одну довольно любопытную историю, которая приключилась со мной достаточно много лет назад, в результате чего я получил много новых скилов, освоил абсолютно новую для себя и очень интересную сферу — виндсёрфинг, а также стал в некотором смысле корабелом. Итак…
Читать дальше →

Разбираем самый маленький PNG в мире

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров39K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

В качестве небольшой затравки скажу, что в конце предстоит неожиданный поворот. Хотя, надеюсь, вам и без того интересно побольше узнать о PNG.
Читать дальше →

Прокачиваем вёрстку ARIA-атрибутами. Атрибут aria-hidden

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.2K


Хабр, я рассказал вам, как создавать подсказки с помощью атрибута aria-label. Это отличный шаг к классному опыту для пользователей скринридера. А сегодня сделаем второй — мы научимся правильно скрывать элементы. Встречайте, атрибут aria-hidden.

Читать дальше →

Будни техпода. Как разместить Telegram-бота на виртуальном сервере

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров66K


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

А не возникало ли у вас желания запустить собственный Telegram-бот на своей удалённой виртуалке? Если да, то добро пожаловать под кат, где мы разбираем весь процесс от заказа и подготовки виртуальной машины до запуска бота в работу. Скажем сразу, данная статья — для тех, кто мало знаком с работой Linux-систем и написанием кода Telegram-ботов, но хочет сделать по этому пути один из первых своих шагов.
Читать дальше →

0xide: локальный облачный сервер

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров13K


26 октября 2023 года Oxide Computer Company объявила о начале продаж «первого в мире коммерческого облачного компьютера», анонс которого состоялся ещё в 2020 году на стэнфордской лекции «Душа новой машины. Преосмысление серверного компьютера».

Не все сразу поняли, чем 0xide отличается от обычного сервера и почему в маркетинговых материалах он называется «облачный компьютер».
Читать дальше →

Оснащение рабочего места стеклодува в домашней мастерской. Меры безопасности

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.6K
«Содовое» свечение

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

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 5: резервная ёмкость

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров14K


Привет, Хабр! Резервная ёмкость автомобильной аккумуляторной батареи (АКБ) измеряется в минутах и означает время, за которое полностью заряженный аккумулятор разрядится током 25 ампер до напряжения под нагрузкой 10.5 вольт.

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

В ночное время, и особенно на зимней загородной трассе, от этого может зависеть здоровье и жизнь водителя и пассажиров, ведь без электропитания не работают ни двигатель, ни обогрев салона, ни световые приборы.
Чем определяется ёмкость аккумулятора?

Юристы продолжают пользоваться MD5 только из-за своего консерватизма

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров13K

Недавно я узнала один загадочный факт: Международный уголовный суд хэширует электронные доказательства при помощи MD5.

Что в этом плохого? MD5 ужасно поломан. Настолько поломан, что специалисты уже больше десятка лет говорят, что никто не должен пользоваться MD5. Учитывая широкий выбор альтернатив, сегодня применение MD5 не имеет никакого смысла. И ещё одна загадка: MD5 использует не только МУС. Очевидно, им пользуется всё юридическое и криминалистическое сообщество США. Так почему же юристы по-прежнему применяют поломанную и устаревшую технологию?

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

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

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

Неожиданное взаимодействие предсказания ветвлений и подсистем памяти

Время на прочтение10 мин
Количество просмотров7.4K

Это 15-я статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.).

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

Что нам стоит вязальный аппарат построить? Некоторая информация и ряд мыслей на тему…

Время на прочтение10 мин
Количество просмотров19K
Картинка Macrovector, Catalyststuff, Freepik

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

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

Читать дальше →

Даже в космосе пылища: какой мусор кружит в вакууме

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.6K


Когда 12 апреля 1961 года Юрий Алексеевич достиг первой космической, вокруг Земли уже летал космический мусор от предшествующих исследовательских и экспериментальных запусков СССР и США. Правда, общее количество объектов было меньше 1000. Учитывая объём околоземного пространства, это было пренебрежимо мало. А сегодня поголовье космического мусора уже оценивается во многие десятки миллионов единиц. Вроде бы, подавляющее большинство — это мелкий мусор. Вот только скорости полёта за пределами атмосферы совсем другие. Та же МКС движется с относительной скоростью 28 000 км/ч. И столкновение с каким-нибудь мелким обломком или, упаси боже, гайкой может стоить дыры в обшивке или иллюминаторе. Или повреждения внешнего оборудования. Станцию уже больше 30 раз переводили на новую орбиту, чтобы избежать столкновения. Но отследить мелкий мусор технически невозможно. Например, пару лет назад прилетело в манипулятор. К счастью, только шкурку попортило.
Читать дальше →

IT-2024: AI не решает — решают люди

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.5K
Году в 2010-м я читал журнал с интервью одного из тогдашних топов диджитал-сферы и мне запомнилась фраза про то, что тот, кто может спрогнозировать ситуацию в отрасли на пять лет вперёд, тот идиот или мошенник. В наше время горизонт планирования сократился чуть ли не до квартала: трудно прогнозировать, понимая, что на твой бизнес, твою карьеру, твои инвестиции может оказать влияние что угодно, от международного конфликта до вируса или пожара в ЦОДе за тысячи километров от тебя. Уже давно пропало ощущение «островка стабильности» дома, в семье, среди коллег и друзей. В таких условиях остаётся одно, на что можно положиться, рассчитывать и что нужно ценить, — это люди. Увы, современные компании, да и сами люди этого не понимают. Я хочу вас предостеречь: берегите людей — это главный актив. И теперь это не фигуральное пафосное выражение, а формула выживания. 

В статье не будет универсальных рецептов и объективной логики — скорее, будет постановка проблемы, которую нам всем скоро придётся решать.

Читать дальше →

Собираем электрогитару из конструктора

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров20K


Привет, Хабр! Что может быть лучшим новогодним подарком для гитариста, чем электрогитара, которую он собрал сам? Конечно, многие предпочли бы престижный инструмент, усилитель или эффект от известного производителя.

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

Лично мне нравится не только играть на гитаре, но и мастерить, а также украшать свои поделки. Поэтому у меня теперь есть самодельная гитара, о процессе изготовления которой я подробно расскажу.
Читать дальше →

Игра: Спутник против мусора

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.9K


Помните нашу игру «Атомный Графъ»? Если что, очень рекомендуем ознакомиться. А сейчас у нас новая больная фантазия разработка — игра «Спутник против мусора». Название говорящие: вы в виде своего альтерэго — спутника — летаете в околоземном пространстве и уворачиваетесь от всякой фигни, кружащейся вокруг Земли. Что-то даже можно будет испарить лазером, такой вот вы милитаристский аппарат. Хотя нет, конечно же, мы вдохновлялись совсем другим: 11 июля 2023 года наш пикоспутник с космическим сервером отделился от пускового контейнера и стал вольным птахом. И мы где-то в глубине души, совсем на донышке, волновались, не столкнётся ли спутник с каким-нибудь космическим мусором.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность