argon2

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

Подпакеты
Имя Краткое описание
%{libname} Описание отсутствует
%{libname}-devel Описание отсутствует

Домашняя страница: https://github.com/P-H-C/phc-winner-argon2

Доступные версии
Версия Релиз Архитектура Лицензия Дата сборки Размер Версии ОС Подробности
20190702 1.niceos5 x86_64 Apache 2.0 24 апр. 2025 г. 50,977 МиБ Подробности
Описание

Описание пакета Argon2 для Найс.ОС

Пакет Argon2 представляет собой современную библиотеку для хеширования паролей, разработанную как победитель конкурса Password Hashing Competition в 2015 году. Эта библиотека обеспечивает высокий уровень безопасности данных, защищая пароли от атак с использованием грубой силы (brute-force) и атак с использованием специализированного оборудования, таких как GPU или ASIC. Argon2 является оптимальным выбором для разработчиков, стремящихся внедрить надежные механизмы защиты пользовательских данных в свои приложения на платформе Найс.ОС.

Основные особенности Argon2

  • Устойчивость к атакам: Argon2 разработан с учетом защиты от параллельных атак на GPU и ASIC благодаря настраиваемым параметрам использования памяти и времени вычислений.
  • Гибкость настройки: Пользователи могут регулировать объем памяти, количество итераций и степень параллелизма для достижения баланса между безопасностью и производительностью.
  • Поддержка различных режимов: Argon2 предлагает три варианта работы — Argon2i (оптимизирован для защиты от атак по сторонним каналам), Argon2d (максимальная защита от GPU-атак) и Argon2id (гибридный режим).
  • Кроссплатформенность: Библиотека легко интегрируется в проекты на Найс.ОС с использованием пакетного менеджера dnf.

Установка пакета Argon2 на Найс.ОС

Для установки пакета Argon2 на платформе Найс.ОС используется пакетный менеджер dnf. Выполните следующую команду для установки:

sudo dnf install argon2

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

Использование Argon2 в разработке

Библиотека Argon2 широко применяется в разработке приложений, где требуется безопасное хеширование паролей. Она может быть интегрирована в проекты на языках программирования, таких как C, C++, Python, Java и других, благодаря наличию соответствующих привязок. Рассмотрим пример использования Argon2 в C-программе для хеширования пароля:

#include 
#include 
#include 

int main() {
    const char *password = "MySecurePassword123";
    char hash[128];
    uint8_t salt[16] = {0}; // Соль (в реальном проекте должна быть случайной)

    int result = argon2i_hash_encoded(8, 1 << 16, 1, password, strlen(password), salt, 16, 32, hash, sizeof(hash));
    if (result == ARGON2_OK) {
        printf("Хеш пароля: %s\n", hash);
    } else {
        printf("Ошибка хеширования\n");
    }
    return 0;
}

В данном примере мы используем режим Argon2i для хеширования пароля с заданными параметрами времени (8 итераций), памяти (64 МБ) и параллелизма (1 поток). Результатом будет закодированный хеш, который можно сохранить в базе данных для последующей проверки.

Проверка пароля с помощью Argon2

Для проверки введенного пользователем пароля на соответствие сохраненному хешу можно использовать функцию argon2_verify. Пример кода на C:

#include 
#include 
#include 

int main() {
    const char *stored_hash = "$argon2i$v=19$m=65536,t=8,p=1$AAAAAAAAAAAAAAAAAAAAAA$A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0U1V2W3X4Y5Z6";
    const char *password = "MySecurePassword123";

    int result = argon2i_verify(stored_hash, password, strlen(password));
    if (result == ARGON2_OK) {
        printf("Пароль верный!\n");
    } else {
        printf("Пароль неверный или ошибка проверки.\n");
    }
    return 0;
}

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

Рекомендации по настройке параметров

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

  • Объем памяти (memory cost): Установите значение, которое максимально использует доступную оперативную память на вашем сервере, чтобы затруднить атаки на GPU. Например, 64 МБ или выше.
  • Время вычислений (time cost): Увеличьте количество итераций (например, 8 или 10), чтобы замедлить процесс хеширования, сохраняя приемлемую скорость для пользователей.
  • Параллелизм (parallelism): Настройте количество потоков в зависимости от оборудования. Для серверов с несколькими ядрами можно использовать значение 4 или 8.

Эти настройки позволяют адаптировать Argon2 под конкретные требования вашего приложения, будь то веб-сервис, мобильное приложение или корпоративная система.

Применение Argon2 в реальных проектах

Библиотека Argon2 активно используется в современных системах для защиты пользовательских данных. Она интегрирована в такие проекты, как системы управления контентом (CMS), платформы электронной коммерции и сервисы аутентификации. Например, Argon2 может быть использован в связке с фреймворками, такими как Django или Laravel, через соответствующие библиотеки и модули. Это позволяет разработчикам легко внедрять безопасное хеширование паролей без необходимости писать низкоуровневый код.

Преимущества использования Argon2 на Найс.ОС

Использование пакета Argon2 на платформе Найс.ОС с пакетным менеджером dnf предоставляет разработчикам удобный доступ к одной из самых надежных библиотек для хеширования паролей. Благодаря регулярным обновлениям пакета в репозиториях Найс.ОС, вы всегда можете быть уверены в актуальности версии и наличии последних исправлений безопасности. Кроме того, интеграция с системой управления пакетами dnf упрощает процесс установки и управления зависимостями.

Полезные команды для работы с пакетом

Ниже приведены дополнительные команды для работы с пакетом Argon2 на Найс.ОС:

  • Проверка установленной версии пакета:
    dnf info argon2
  • Обновление пакета до последней версии:
    sudo dnf update argon2
  • Удаление пакета, если он больше не нужен:
    sudo dnf remove argon2

Эти команды помогут вам эффективно управлять библиотекой Argon2 в вашей системе Найс.ОС, обеспечивая удобство работы и актуальность программного обеспечения.