Search
Write a publication
Pull to refresh
203
0
Александр @jasiejames

Инженер (210406)

Send message

Padding Oracle Attack: криптография по-прежнему пугает

Reading time6 min
Views15K

Эту уязвимость чинят уже пятнадцать лет


В хабрапереводе текста четырёхгодовалой давности «Padding Oracle Attack или почему криптография пугает» была подробно описана атака на режим шифрования CBC. В этом режиме каждый очередной блок открытого текста xor-ится с предыдущим блоком шифротекста: в результате каждый блок шифротекста зависит от каждого блока открытого текста, который был обработан к тому моменту.

Чтобы пропустить исходное сообщение (произвольной длины) через CBC-шифр, к нему дописывается MAC (хеш для проверки целостности, обычно 20-байтный SHA-1) и затем padding, чтобы дополнить открытый текст до целого числа блоков (обычно 16-байтных):


Padding («набивка») состоит из одинаковых байтов, на единицу меньших своей длины: (0) или (1,1) или (2,2,2) или т.п.
Таким образом, получатель шифротекста должен
  1. расшифровать все его блоки;
  2. прочитать последний байт последнего блока, чтобы определить длину набивки и, соответственно, позицию MAC в открытом тексте;
  3. проверить корректность набивки и MAC.

В 2002 г. французский криптограф Серж Воденэ обнаружил в CBC уязвимость к атакам типа «padding oracle»:
Читать дальше →

Гид по владению аккаунтами и контрактами в Ethereum

Reading time13 min
Views42K


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


Вообще, понимание важности безопасного хранения своих секретных ключей и умение это делать — основа децентрализованной экономики, которая, как мы надеемся, скоро существенно потеснит классическую централизованную модель. Нужно чётко понимать, что как только вы передаете управление своим секретным ключом кому-либо — например банку, бирже, государству — так сразу магия децентрализации пропадает, и можно спокойно менять блокчейн на Postgres без особой потери смысла. Короче говоря, в этой статье мы и расскажем об азах безопасного хранения приватных ключей на примере блокчейна Ethereum.


Если для вас эта статья не несет ничего нового — супер, мы очень рады, что вы в нашем «клубе». И, кстати, теперь у вас есть куда отправлять всех криптонеофитов, чтобы они случайно не потеряли по глупости все свои эфирки.

Криптографический алгоритм «Кузнечик»: просто о сложном

Reading time14 min
Views101K
В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java.

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

КУЗНЕЧИК = КУЗнецов, НЕЧаев И Компания.



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

С днем шифровальщикаǃ

Reading time13 min
Views20K


5 мая 1921 года в России была создана служба криптографии и шифрования.

В этом же году Эйнштейн получил нобелевку «За заслуги перед теоретической физикой и особенно за открытие закона фотоэлектрического эффекта», была создана организация «Госстрах», а Гитлер стал председателем NSDAP.

Я поспрашивал коллег из хакспейса и из компании Edison: «Шеннон, Тьюринг, Фейстель, Шамир, Шнайер, наконец. Вот назовите мне хоть одну фамилию советского криптографа?» Все равно что спросить у ясеня или у тройки. Не дают ответа. Видать, советская криптография была настолько хороша, что отлично шифровала все сведения о самой себе.

У меня была попытка раскопать что-нибудь про советскую криптографию, я даже вышел на компанию Анкорт (это те товарищи, которые сделали бриллиантовый криптотелефон и при помощи калькулятора Электроника МК-85С предотвратили «чеченский фрод»), статья была написана, но в последний момент заказчик срулил, а NDA надолго похоронил статью в черновиках.

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

Почему сеть Фейстеля работает? Объяснение «на пальцах»

Reading time4 min
Views59K

В продолжении статьи про blowfish хотелось бы поговорить про его основу — сеть Фейстеля. Люди «в теме» слышали про неё не одну сотню раз — эта сеть используется в подавляющем большинстве блочных шифров. Но вот вам, только честно, что нибудь понятно из картинки справа? Ну, допустим в одну сторону(шифрование) понятно, а обратно?
Если нет, то прошу под коврик
Читать дальше →

ThorCon: инновационная АЭС на расплаве соли

Reading time2 min
Views14K

Подземный ядерный реактор ThorCon Nuclear Island

ThorCon — простой реактор на расплаве соли (жидкосолевой реактор), в котором топливо хранится в жидком виде. Авторы проекта считают, что это самый безопасный и надёжный источник ядерной энергии.

Ядерную установку предполагается размещать на глубине 30 метров под землёй. Между топливным хранилищем и поверхностью располагается четыре газонепроницаемых барьера, три из которых — на глубине более 25 метров. В отличие почти от всех существующих реакторов, ThorCon работает при давлении, которое практически не отличается от атмосферного. При разрыве основного контура не происходит рассеивания энергии. Пролившееся топливо просто течёт в сливной бак, где охлаждается.

Наиболее проблемные продукты расщепления — стронций-90 и цезий-137 — химически связываются с солью, и вместе с ней стекают в сливные баки.
Читать дальше →

Виды баз данных. Большой обзор типов СУБД

Reading time21 min
Views153K

Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “NoSQL” и т.д., либо приводят самые основные типы СУБД (базы данных), забывая о редких. В данной статье я постараюсь описать максимально полно виды баз данных и привести примеры конкретных реализаций. Разумеется, статья не претендует на всеохватность и классифицировать базы данных можно по разному, в том числе по типам оптимальной нагрузки и т.д., но надеюсь, она даст базовое представление о видах СУБД и принципах их работы.

В статье мы рассмотрим следующие типы баз данных:

Читать далее

Некоторые особенности программирования временных событий в играх

Reading time9 min
Views15K

Дóжили. Недавно была обнаружена проблема синхронизации игрового процесса с реальным временем не где-нибудь, а в игре "Quake Champions". Название игры "Quake" раньше было синонимом чего-то крутого, высокотехнологичного и идеального. И в голову не могло придти, что через какую-то пару десятков лет и камня на камне не останется от былого превосходства, а в новой игре с именем "Quake" появятся грубые ошибки, приводящие к тому, что один из игроков может получить преимущество только потому, что у него лучше "железо". Дело в том, что скорость стрельбы в новом шутере зависит от fps, то есть, количество пуль, выпущенных игроками с разным значением fps за один и тот же промежуток времени будет разным, а значит один из них может получить преимущество.


Данная статья рекомендуется к прочтению всем разработчикам игр, а в особенности разработчикам программ для движущихся механизмов. Да, подобные проблемы были и в коде библиотеки для работы с шаговыми двигателями для Arduino. Но если вы создаете программы для управления полетом ракет, или для атомных реакторов, то, ребята, вам эта статья не поможет. Вам нужны другие уровни синхронности, и специальное железо, работающее под управлением RTOS.

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

Способы автоматизации процессов по написанию документации для технических писателей

Level of difficultyMedium
Reading time6 min
Views9.3K

Всем привет! Меня зовут Екатерина Мишинёва, я ведущий технический писатель с опытом работы в IT-компаниях более 10 лет.

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

Читать далее

Внеземные техносигнатуры: научные аспекты поиска

Reading time10 min
Views6.1K

Ещё в июне 2021 года я публиковал пост «Что варится в пекулярных звёздах» — о звёздах с необычным спектром, явно содержащих не только гелий, водород и следы элементов вплоть до железа и никеля, но и более тяжёлые элементы. Именно в тот пост заглянул уважаемый Андрей Курилов @akurilov, написавший замечательный комментарий, который я поставлю прямо под катом к этой статье. Комментарий Курилова подтолкнул меня к долгим размышлениям  о гипотезе «тёмного леса». В дальнейшем я изучил блог этого автора и дозрел до собственного поста об Оумуамуа, в котором словил очередные обвинения в словоблудии и мракобесии от Кьюбертыча. Здорово, что господин Курилов под тем моим постом также высказался. Если вас интересует феномен Оумуамуа — читайте в его блоге, там этому объекту посвящено целых 5 публикаций. Я же сегодня рассмотрю тему техносигнатур — потенциальных маркеров, выдающих существование технологической инопланетной цивилизации. Но сначала — тот самый комментарий.

Читать далее

Создание графического бота для EVE Online

Level of difficultyMedium
Reading time34 min
Views21K

В один прекрасный день, стреляя по NPC в космосе, мне стало интересно, а смогу ли я этот рутинный процесс немного автоматизировать.

Выводить в консоль «Привет, мир!» я уже умел.
Теоретическое представление, что нужно делать, так же имелось.
Оставалось дело за малым - реализовать задумку.

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

Включить варп-двигатель!

Гаджеты из компьютерных игр — суждено ли им появиться на свет?

Reading time23 min
Views5.6K

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

Читать далее

Протоколы семейства TCP/IP. Теория и практика

Level of difficultyMedium
Reading time23 min
Views217K
image

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

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

В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания.

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

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

Аудио мультирум своими руками. Многокомнатная музыкальная система на основе бесплатного Logitech Media Server

Reading time4 min
Views61K
По специфике работы мне часто приходится давать советы профессиональным инсталляторам, каким образом решить ту или иную задачу при создании системы домашней автоматизации.


Проект Tobias на основе HiFiBerry

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

Компьютерра 2010. Судоку — магия чисел

Reading time9 min
Views9.5K

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

Читать далее

Почему на то, чтобы найти точное значение постоянной Планка, понадобилось 100 лет?

Reading time50 min
Views28K

Перевод поста Майкла Тротта (Michael Trott) "An Exact Value for the Planck Constant: Why Reaching It Took 100 Years".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации


Содержание


Некоторые мысли по случаю Всемирного дня метрологии в 2016 году
Введение и немного обо мне
От истоков метрической системы до сегодняшних дней.
Увеличение числа констант
Существующая система СИ и проблема килограмма
Новая СИ
Секунда
Моль
Кельвин
Ампер
Кандела
Почему основных единиц измерения именно 7?
Путь к изменению определения килограмма



Повествование ведется от имени Жана-Шарля де Борда.

Некоторые мысли по случаю Всемирного дня метрологии в 2016 году


Позвольте мне представиться:
Я человек науки и люблю точность.
Все это время я был где-то рядом.
Я забрал у людей фунт и туаз.
И я был рядом с Людовиком XVI
В минуты его сомнений и боли.
Я чертовски уверен в том, что метрическая рулетка,
Благодаря платиновым стандартам будет установлена раз и навсегда.
Я рад встрече с вами!
Надеюсь, вы угадали, как меня зовут?

Введение и немного обо мне


Если вы еще не догадались, я — Жан-Шарль де Борда: моряк, математик, ученый и член Академии наук. Я родился 4 мая 1733 года в городе Дакс во Франции. Две недели назад я отметил свой двести восемьдесят третий день рождения. А вот и я:



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



Когда я был мальчиком, Франция выглядела примерно так же, как сейчас. У нас было немного меньше территории с восточной стороны, но зато в Северной Америке моей стране принадлежал хороший кусок земли:


Погрузитесь дальше в эту интереснейшую историю...

Кто на самом деле открыл ДНК? История изучения гена

Reading time19 min
Views30K

Открывая ленту новостей, мы часто натыкаемся на такие громкие заголовки: «Тест ДНК на телешоу подтвердил подмену детей в роддоме на Ставрополье», «ДНК возрастом более 115 тысяч лет указала на уязвимость белых медведей перед потеплением климата». Почему же эта молекула получила столько пристального внимания? Давайте же окунёмся в историю науки и посмотрим, как ДНК стала самой главной молекулой XXI века.
Читать дальше →

Алгоритмы поиска простых чисел

Reading time6 min
Views202K
«Самое большое простое число 232582657-1. И я с гордостью утверждаю, что запомнил все его цифры… в двоичной форме».
Карл Померанс

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

«Звездный торговец» или компьютерное обучение в эпоху мини-компьютеров

Reading time17 min
Views8.3K
Это рассказ о различных подходах к компьютерному обучению в США, в эпоху до появления персональных компьютеров. Особое внимание будет уделено просветительской деятельности «Народной компьютерной компании» (People's Computer Company, PCC). Упоминание об этой организации, а также одноименных клубе и газете вы могли встретить в известной книге С. Леви «Хакеры: Герои компьютерной революции». Наконец, речь пойдет о ранних текстовых играх, в частности, о «Звездном торговце» (Star Trader). О современной реализации на Питоне этой классической игры будет рассказано в заключительной части.

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


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

Blockchain на Go. Часть 5: Адреса

Reading time15 min
Views21K
Содержание

  1. Blockchain на Go. Часть 1: Прототип
  2. Blockchain на Go. Часть 2: Proof-of-Work
  3. Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки
  4. Blockchain на Go. Часть 4: Транзакции, часть 1
  5. Blockchain на Go. Часть 5: Адреса
  6. Blockchain на Go. Часть 6: Транзакции, часть 2
  7. Blockchain на Go. Часть 7: Сеть

Вступление


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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity