Реализация поточной системы шифрования Salsa20

В этом скромном рецепте мы вам покажем, как реализовать систему поточного шифрования Salsa20 от уже знакомого нам Даниэля Бернштейна (того самого, кто придумал redo) в D. Сразу скажем, что наша реализация — это голый порт с C99 с некоторыми улучшениями, но нам показалось, что неплохо бы было поделиться с читателями этим незначительным портом.

Подробнее

Погружаемся в воды Стикса. Часть I: вводное погружение

Эту статью мы обещали уже давно и материала в ней будет много, поскольку нужно дать некоторое начальное понимание того, что такое Styx и что нам в нем так приглянулось. Также в этой статье мы расскажем вам о том, что положено в основу самой популярной библиотеки от LHS в реестре dub. Эта статья является начало крупной […]

Подробнее

Пиксельные войны: как создать свой Pixelflut-сервер на D

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

Подробнее

Реализация блочного криптографического алгоритма Threefish

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

Подробнее

Криптографическая хэш-функция Tiger

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

Подробнее

Реализация хэш-функции SipHash на D

В этой статье мы покажем вам, как реализуется криптографическая хэш-функция SipHash, которая дает небольшой по размеру хэш и обладает очень высокой производительностью. Реализация данной функции есть на многих языках: C, C#, Rust и даже Haskell, но нет версии на D — и наша команда решила исправить это недоразумение…

Подробнее

Папоротник Барнсли для Rosetta Code

Данный пост практически не содержит ничего нового или того, что мы не делали раньше. Этот пост носит скорее агитационный характер и содержит весьма простой пример, про который мы рассказывали уже дважды. Команда блога настоятельно рекомендует ознакомится с данным постом всем, кого интересует дальнейшее распространение информации по D и кто обладает достаточным опытом для решения на […]

Подробнее

Сборочная утилита redo на D своими руками

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

Подробнее

Алгоритм Брезенхэма для рисования окружности в ppmformats

В этом скромном рецепте я покажу один из важных алгоритмов в области математической графики — алгоритм Брезенхема для рисования окружности. Код, который будет приведен далее, является модификацией кода с Rosetta Code, но для ppmformats, хотя может быть легко переиспользован и для любой другой библиотеки.

Подробнее