Pull to refresh
16
0
Maria Filippova @Maria008

User

Send message

Как перестать бояться и полюбить регулярные выражения

Reading time6 min
Views20K

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



Чтобы функции отыскать, воедино созвать и единою чёрною волей сковать.
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments27

Алгоритм Ethash

Reading time7 min
Views55K

В этой статье я расскажу про алгоритм Ethash, который используется для майнинга различных криптовалют, но главная из них это, конечно, Ethereum. Ethash - это Proof of Work (PoW) алгоритм, который является последней версией алгоритма Dagger-Hashimoto, хотя его больше нельзя назвать таковым, так как многие из исходных функций обоих алгоритмов были кардинально изменены.

Термин Proof of Work означает, что майнеры ищут решение (“nonce” или одноразовый номер), которое при хешировании выдаст значение меньше целевого порога, который предварительно задан. Из-за криптографического характера хеш-функции практически невозможно обратное вычисление одноразового номера (“nonce”), удовлетворяющего целевому пороговому пределу. Только если вручную перебирать все возможные варианты.

Алгоритм Dagger-Hashimoto был придуман путем соединения алгоритма Dagger - Виталика Бутерина (одного из основателей Ethereum) и алгоритма Hashimoto Thaddeus Dryja. Он создавался, для того чтобы затруднить майнинг для ASIC-оборудования (Application Specific Integrated Circuits), а также для того, чтобы была легкая проверка и полное хранение в цепочке.

Затруднение майнинга для ASIC-оборудования необходимо, чтобы дать возможность добывать монеты пользователям, у которых нет достаточного объема капитала для покупки таких устройств.

Многие знают, что в данный момент майнинг монет Bitcoin невозможен даже на очень мощном компьютере. Это вызвано тем, что существует большое количество майнинговых ферм, состоящих из ASIC-оборудования, и имеющие гораздо большие вычислительные мощности чем любой персональный компьютер. Именно этой ситуации старались избежать разработчики алгоритма Dagger-Hashimoto и, соответственно, Ethash.

Что же такое ASIC-устройство? Это специальное оборудование, которое создается на основе интегральных схем, специально разработанных для майнинга монет. Мощность такого устройства сравнима с общей мощностью нескольких самых продвинутых видеокарт, однако при этом энергопотребление значительно ниже.

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

Читать далее
Total votes 26: ↑24 and ↓2+22
Comments2

Самодельный сборщик мусора для OpenJDK

Reading time22 min
Views17K
Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.

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


Сделать простой сборщик мусора — обманчиво просто, и вот этим хочется заняться в данной статье. Роман Кеннке на FOSDEM 2019 сделал доклад и демо под названием «Пишем GC за 20 минут», используя более раннюю версию этого патча. Несмотря на то, что реализованный там код многое демонстрирует и обильно откомментирован, ощущается необходимость в хорошем высокоуровневом описании происходящего — именно так и появилась эта статья.


Базовое понимание работы сборщиков мусора сильно поможет в понимании написанного здесь. В статье будут использоваться специфика и идеи в конкретной реализации HotSpot, но вводного курса по конструированию GC здесь не будет. Возьмите GC Handbook и прочитайте первые главы про самые основы GC, а ещё быстрей позволит начать статья на Википедии.


Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments9

Вот ваш мозг на Питоне: исследователи расшифровали нейро-механику программирования

Reading time2 min
Views9.1K


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

Исследователи из Университета Джона Хопкинса составили карту мозговой активности опытных компьютерных программистов, пока те ломали голову над кодом. В результате стала очевидной нейронная механика, лежащая в основе этого все более востребованного навыка.
Как ваш мозг справляется с Python?
Total votes 29: ↑29 and ↓0+29
Comments11

Безопасность 5G

Reading time10 min
Views7.5K

Одна из самых популярных тем в последнее время: безопасен ли 5G для здоровья людей. Однако, в этой статье речь пойдет совсем не об этом, а об архитектуре безопасности этой сети. Насколько надежные технологии скрываются внутри?

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments2

Облачно, возможны осадки в виде атак

Reading time12 min
Views6.7K

Нет, это не рецензия на новую часть мультфильма и не прогноз погоды. Здесь мы поговорим о том, что такое облачная безопасность, и как предотвратить атаки на ваше облако.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments5

AES против осциллографа

Reading time9 min
Views6.3K

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

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments1

Поточный шифр SNOW

Reading time4 min
Views3.7K

Зима. Время валяться в сугробах и играть в снежки. Или почитать статью о поточных шифрах. Кому что больше нравится.

Данная статья является обзорной. Мы поговорим об устройстве 1 версии SNOW 1.0, вкратце об различных совершенных на шифр атаках и об применении его модификаций.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments2

Стандарт IEEE 1609.2: защита информации в сетях V2X

Reading time12 min
Views3.2K

В настоящее время интеллектуальные транспортные системы (англ.: Intelligent Transport Systems, ITS) активно развиваются. Их функционирование невозможно без создания телекоммуникационных систем, позволяющих транспортным средствам обмениваться информацией со внешними устройствами (англ. Vehicle-to-Everything, V2X). Транспортные средства накапливают информацию посредством различных сенсоров, радаров, лидаров и камер. Для обеспечения автономного вождения и передвижения машин в плотном строю (так называемый platooning) необходимо обеспечивать обмен этой информацией между различными транспортными средствами. Обмен информацией может также осуществляться с элементами дорожной инфраструктуры, что позволяет обеспечивать большую безопасность движения посредством передачи объектами инфраструктуры предупреждающих сообщений. Кроме того, существует большое число других приложений, которые обеспечивают удобство вождения и безопасность, а также уменьшают число пробок и предоставляют различные развлекательные сервисы. Разнообразные приложения порождают различные требования на задержки, надёжность и скорость беспроводной передачи данных. Однако кроме требований на производительность сети во многих случаях важно, чтобы передаваемые данные были защищены. В этой статье я хотел бы дать краткий обзор основных механизмов стандарта IEEE 1609.2, который описывает методы защиты информации в транспортных сетях, построенных по технологии Wi-Fi.

Информационная безопасность в V2X
Total votes 28: ↑28 and ↓0+28
Comments2

Протокол квантового распределения ключей AK-15

Reading time4 min
Views2.4K

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

На данный момент предложены протоколы, подробный разбор которых вы можете встретить и на Хабре, но я могу рекомендовать вам статью с довольно неплохим обзором: кликать сюда

Стоит отметить отличительную особенность AK-15 - это наличие аутентификации между законными пользователями.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments0

МЭМСы. Как устроены современные датчики?

Reading time9 min
Views47K
Микроэлектромеханические системы (МЭМС) — устройства, объединяющие в себе микроэлектронные и микромеханические компоненты. Сейчас довольно трудно встретить системы в которых не используются датчики, выполненные по данной технологии. Но как устроены современные датчики и какие преобразователи используются для работы с ними? Постараемся детально разобраться в этом вопросе, основываясь на работе современных МЭМС-акселерометров.

Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments19

Аппаратная реализация алгоритмов DES и TDES-EDE3

Reading time6 min
Views7.6K

Алгоритм TDES (3DES, Tripple DES) был создан в 1978 году как улучшение алгоритма DES. По сравнению с последним улучшилась криптостойкость, но в три раза увеличилось время вычисления. Несмотря на то, что на сегодняшний день наиболее распространен алгоритм AES, который принят в качестве стандарта шифрования правительством США, алгоритм TDES широко используется. Например, даже сейчас его можно встретить в сигнальных процессорах отечественной и зарубежной разработки.

Читать далее
Total votes 24: ↑23 and ↓1+22
Comments3

Intel Boot Guard на пальцах

Reading time4 min
Views15K

Предлагаю окунуться в дебри микроархитектуры компьютера и разобраться с тем, как работает одна из наиболее распространенных технологий обеспечения аппаратной целостности загрузки BIOS — Intel Boot Guard. В статье освещены предпосылки появления технологии, перечислены все режимы работы, а так же описан алгоритм каждого из них. Обо всем по порядку.

Читать далее
Total votes 30: ↑29 and ↓1+28
Comments46

Deep Anomaly Detection

Reading time8 min
Views8.2K

Детекция аномалий с помощью методов глубокого обучения


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

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

Рассмотреть алгортмы Deep Learning далее
Total votes 24: ↑23 and ↓1+22
Comments0

Стеганография и ML. Или что нам подарили генеративно-состязательные сети (GAN)?

Reading time9 min
Views5.9K


Стеганография – это наука о тайной передаче информации путем сокрытия самого факта передачи.  А само слово стеганография происходит от греч. στεγανός «скрытый» + γράφω «пишу» и буквально обозначает «тайнопись». В этой области, как и во многих других, особенно в последние годы получили широкое распространение методы машинного обучения, в частности, генеративно-состязательные сети (GAN). 

Далее в меню:

  1. Традиционная стеганография для чайников 
  2. Что такое GAN и с чем их едят?
  3. Так как же применяются GAN?
  4. Будущее GAN: что нас ждет в стеганографии?
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments2

HKDF: как получать новые ключи и при чем тут хэш-функции

Reading time7 min
Views6K

Для современных алгоритмов шифрования одним из факторов, влияющих на криптостойкость, является длина ключа.

Но что поделать, если существующие ключи не обладают достаточной длиной для их безопасного использования в выбранных нами алгоритмах? Тут на помощь приходит KDF (Key Derivation Function) - это функция, которая формирует один или несколько криптографически стойких секретных ключей на основе заданного секретного значения.

Именно о KDF и пойдет речь далее. Мы рассмотрим общий принцип работы, одну из версий этой функции - HKDF, а также разберем, как она может быть реализована на Python'е.

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments8

Уязвимость Crosstalk

Reading time7 min
Views6.6K

В последние годы стало появляться большое количество сообщений о всякого рода уязвимостях в процессорах компании Intel. Самыми известными из них являются Spectre и Meltdown, основанные на ошибках в реализации спекулятивного исполнения команд. В июне 2020 года появилось сообщение о новой уязвимости, носящей название Crosstalk.

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

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments10

Задача о ранце в криптографии (Knapsack problem in cryptography)

Reading time7 min
Views15K
Задача о рюкзаке (или Задача о ранце) в криптографии (англ. Knapsack problem) — это задача, на основе которой американские криптографы Ральф Меркл и Мартин Хеллман разработали первый алгоритм шифрования с открытым ключом.

Далее в программе

  • Формулировка задачи о рюкзаке (+почему рюкзак?)
  • Легкая и трудная проблемы
  • Примеры
  • История
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments7

Information

Rating
Does not participate
Date of birth
Registered
Activity