Торжество разума заключается в том, чтобы жить в мире с теми, кто разума не имеет

По сути, наш Кащей имеет много общего с Ахиллесом. ...

Google, Microsoft, Twitter и Facebook основали проект по обеспечению переносимости данных
Fri, 20 Jul 2018 20:44:55 +0300

Началось формирование ASan-сборок Firefox для выявления проблем при работе с памятью
Fri, 20 Jul 2018 09:23:16 +0300

В Google ведётся обсуждение возможной замены Android на ОС Fuchsia
Thu, 19 Jul 2018 23:45:05 +0300

В ночные сборки Firefox добавлен WebRender, использующий GPU для отрисовки web-страниц
Thu, 19 Jul 2018 20:50:32 +0300

Евросоюз оштрафовал Google на 4.3 млрд евро за навязывание своих сервисов в Android
Wed, 18 Jul 2018 20:47:49 +0300

В компилятор LDC языка D добавлена поддержка WebAssembly
Wed, 18 Jul 2018 10:36:25 +0300

Slackware Linux исполнилось 25 лет
Tue, 17 Jul 2018 08:16:55 +0300

Mozilla, Cloudflare, Fastly и Apple работают над применением шифрования для SNI
Mon, 16 Jul 2018 22:05:36 +0300

Оценка безопасности новой системы контейнерной изоляции Nabla
Mon, 16 Jul 2018 10:58:41 +0300

Гвидо ван Россум решил отстраниться от руководства проектом Python
Thu, 12 Jul 2018 20:23:38 +0300

Debian вошёл в консультативный cовет проекта KDE
Thu, 12 Jul 2018 12:43:41 +0300

Для Thunderbird и SeaMonkey введён в строй отдельный каталог дополнений
Tue, 10 Jul 2018 22:22:36 +0300

Airbus и IBM подготовили интеллектуальный помощник для МКС, работающий под управлением Ubuntu
Tue, 10 Jul 2018 11:33:35 +0300

Концепт камеры для печати фотографии в виде комиксов
Mon, 09 Jul 2018 09:58:50 +0300

DirectX Shader Compiler портирован для Linux и macOS
Tue, 03 Jul 2018 20:58:59 +0300

Новости OPENNET
Новости

Дэниэл Бернштейн (Daniel J. Bernstein), известный эксперт в области криптографии и создания защищённого ПО, разработавший такие проекты, как qmail, djbdns, NaCl, Ed25519, Curve25519 и ChaCha20-Poly1305, опубликовал новую библиотеку djbsort с реализацией высокопроизводительного алгоритма сортировки массивов целых чисел.

Библиотека демонстрирует рекордные показатели в скорости сортировки в памяти, заметно опережая по производительности существующие аналоги. Например, djbsort при сортировке 1024 32-разрядных знаковых целых чисел расходует 2.5 цикла CPU на байт данных, независимо от содержимого массива, в то время как библиотека Intel IPP (Integrated Performance Primitives) с оптимизациями на базе инструкций AVX расходует около 32 циклов на байт.

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

Третьим достоинством djbsort является предоставление инструментов, позволяющих верифицировать корректность выполненной сортировки для всех возможных вариантов массивов заданного размера. Инструментарий для верификации включает три утилиты: unroller для раскрутки программы сортировки для массивов заданного размера; minmax для преобразования раскрученной программы в набор операторов "min" и "max"; decompose для подтверждения корректности программы min-max.

Ограничения текущей реализации djbsort:

  • Наличие оптимизаций только для CPU с поддержкой инструкций AVX2 ( оптимизации могут быть легко портированы для других CPU);
  • Поддержка только сортировки знаковых 32-разрядных целых чисел (реализация может быть адаптирована для сортировки 16 и 64-разрядных целых, а также для чисел с плавающей запятой, любых записей фиксированного размера и указателей на записи переменного размера с отсортированными ключами);
  • Размер сортируемого массива ограничивается имеющимся размером памяти - размер массива должен вмещаться в ОЗУ, но при желании библиотека может быть адаптирована для сортировки данных на диске с оптимизациями для минимизации обращений к диску;
  • При сортировке используется только одно ядро CPU (алгоритм может быть изменён для параллельной обработки на разных ядрах или для распределённой сортировки на нескольких компьютерах);
  • При верификации не выполняется проверка целостности данных в памяти;
  • Процесс верификации запускается отдельно для массивов разного размера, а скорость верификации уменьшается при увеличении размера массива. Данное ограничение не особо значимо, так как верификация важна для применения в криптографии, а для криптографии используются только специфичные размеры массивов.

63.4888 73.9327 0.5645 9.3656

НОВОСТИ: Доступен сборочный инструментарий Qbs 1.12, развиваемый проектом ... Thu, 19 Jul 2018 21:06:10 +0300

Опубликован релиз развиваемого проектом Qt сборочного инструментария Qbs 1.12 (Qt Build Suite), который заменит qmake в Qt 6. Для сборки Qbs в качестве зависимости требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome