Перейти к основному содержанию

Генератор ключей ChaCha20

Создайте криптографически стойкий ключ шифрования ChaCha20 — фиксированный 256-битный ключ, опционально с 96-битным nonce, в формате hex или Base64. Полностью генерируется в вашем браузере и никогда не передается.

Ввод

ChaCha20 (RFC 8439, вариант IETF) требует уникального 96-битного nonce вместе с ключом для каждого шифрования.

Вывод

Храните этот ключ в тайне — сохраняйте в менеджер секретов, а не в код или чат.

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

Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/chacha20-key-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "outputFormat": "hex",
    "includeNonce": "true"
  }'

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

Спросите у ИИ-агента

Use the IOTools `chacha20-key-generator` tool (ChaCha20 Key Generator) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/chacha20-key-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Генератор ключей ChaCha20 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов

Также доступно через

Руководства

Что делает этот инструмент?

Он генерирует криптографически стойкий ключ шифрования ChaCha20 — всегда 256 бит, согласно RFC 8439 — и, опционально, соответствующий 96-битный nonce. Оба форматируются как hex или Base64, готовые к вставке в файл конфигурации, переменную окружения или вызов криптографической библиотеки.

Что такое ChaCha20?

ChaCha20 — это симметричный поточный шифр, разработанный Даниэлем Дж. Бернштейном как более быстрая и простая альтернатива AES на оборудовании без выделенного ускорения AES (мобильные процессоры, множество встроенных устройств). Обычно используется вместе с аутентификатором сообщений Poly1305 как ChaCha20-Poly1305, конструкция AEAD (аутентифицированное шифрование), стандартизированная в RFC 8439. Это поддерживаемый или стандартный набор шифров в TLS 1.3, используется протоколом VPN WireGuard и является предпочтительным шифром Google для мобильных подключений TLS.

В отличие от AES, который предлагает размеры ключей 128/192/256 бит, ChaCha20 имеет ровно один размер ключа: 256 бит (32 байта). Нет более мелких вариантов ключа на выбор, поэтому этот инструмент не имеет селектора размера ключа — генерируемый ключ всегда правильного размера.

Ключ против nonce

Ключ ChaCha20 сам по себе недостаточен для шифрования чего-либо — шифр также требует nonce ("число, использованное один раз"): значение, которое никогда не должно повторяться для данного ключа. Вариант IETF, стандартизированный в RFC 8439, фиксирует nonce на 96 битах (12 байтах) (в паре с 32-битным внутренним счетчиком блоков для 128-битного внутреннего состояния). Повторное использование nonce с тем же ключом нарушает гарантии безопасности ChaCha20 — злоумышленник, видящий две сообщения, зашифрованные с одной и той же парой ключ/nonce, может восстановить информацию о обоих открытых текстах. По этой причине большинство реальных приложений генерируют новый случайный nonce (или используют счетчик) для каждого сообщения и никогда не сохраняют nonce для повторного использования.

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

Как использовать

  1. Выберите формат вывода — hex (прописные) или Base64, в зависимости от того, что ожидает ваша библиотека или формат конфигурации.
  2. Оставьте "Также сгенерировать nonce" отмеченным, если вы хотите соответствующий 96-битный nonce вместе с ключом, или снимите отметку для вывода только ключа.
  3. Нажмите Сгенерировать ключ.
  4. Скопируйте ключ (и nonce, если он был сгенерирован) с помощью кнопок копирования.

Нажимайте "Сгенерировать" снова в любое время, когда вам нужен свежий ключ или nonce — каждое нажатие получает новые случайные байты из криптографически безопасного генератора случайных чисел браузера, crypto.getRandomValues(), а не Math.random(), который быстр, но предсказуем и неподходящ для чего-либо, связанного с безопасностью.

FAQ

Почему нет опции размера ключа, в отличие от AES? ChaCha20 определяется с единственным размером ключа в 256 бит — нет вариантов на 128 или 192 бита на выбор, поэтому селектор размера был бы выпадающим списком с одним реальным выбором.

Могу ли я повторно использовать сгенерированный nonce для нескольких сообщений? Нет — шифрование двух разных сообщений с одним и тем же ключом и nonce — серьезный сбой безопасности для ChaCha20 (и любого поточного шифра). Генерируйте (или выводите) свежий nonce для каждой операции шифрования.

Какой формат использовать, hex или Base64? Оба — это полнофункциональное кодирование одних и тех же байтов. Hex проще читать и отлаживать; Base64 примерно на 25% короче, что предпочитают некоторые форматы конфигурации или ограничения размера переменных окружения.

Достаточно ли этот ключ безопасен для продакшена? Да — базовый источник случайности — это тот же CSPRNG, который используют ваша операционная система и браузер для TLS и других критических операций безопасности. Безопасность вашей системы все еще зависит от сохранения ключа в секрете, генерирования свежего nonce для каждого сообщения и надлежащей ротации ключей.

Приватность

Ключ и nonce генерируются полностью в вашем браузере с использованием Web Crypto API. Они никогда не отправляются на наши серверы, не логируются и не хранятся где-либо — закрытие или перезагрузка страницы удалит их навсегда, поэтому сохраните их в безопасном месте перед тем, как уйти.

chacha20keynonceencryptioncryptocipherrandomgenerator

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.