Режим словаря EFF
Шесть слов = ~77 бит. Легко вводить на мобильном, надежно против любого современного атакующего.
Менеджеры паролей генерируют пароли внутри своих приложений-сейфов — хорошо, если вы доверяете сейфу, но вы покупаете полную подписку за то, что должно быть функцией из сорока строк. Службы случайных чисел передают энтропию по сети. Дюжина рекламных «сильных генераторов паролей» работает на домене, которому вы не доверяете, и показывает баннерные объявления во время вашего посещения. Morph вызывает crypto.getRandomValues() — встроенный CSPRNG браузера, тот же источник, который используют банки и библиотеки безопасности — непосредственно в вашей вкладке. Сгенерировано, показано, скопировано, никогда не передано, никогда не записано. Бесплатно для всего, что работает на вашем устройстве; ИИ оплачивается кредитами.
Поддерживается /dev/urandom на Linux, BCryptGenRandom на Windows, SecRandomCopyBytes на macOS и iOS. Те же источники энтропии и менеджеры паролей, что используются в ядре. Math.random() никогда не вызывается — ни в качестве резервного варианта, ни по умолчанию.
12, 16, 24, 32, пользовательские. Верхний и нижний регистр, цифры, символы. Исключить похожие (0/O, 1/l/I) для печатной копии.
Шесть слов = ~77 бит. Легко вводить на мобильном, надежно против любого современного атакующего.
Не localStorage, не IndexedDB, не сервер. Буфер обмена автоматически очищается через 30 секунд.
Morph генерирует пароль в вашей вкладке браузера с использованием CSPRNG по спецификации W3C, отображает его один раз и забывает, как только вы закроете страницу. Нет хранилища, нет синхронизации, нет телеметрии. Если вам также нужен хранилище, запустите хранилище. Если вам нужен только сильный пароль, это и есть поверхность.
Если вам нужны синхронизация паролей между устройствами, мониторинг утечек, автозаполнение в браузере и общие хранилища для команды, используйте менеджер паролей. Это полноценные продукты хранилищ, и Morph не пытается их заменить. Morph — это поверхность с мощными данными по требованию для тех случаев, когда вам не нужно хранилище — пароль администратора роутера, одноразовый ключ WPA2 для Wi-Fi AirBnB, временная регистрация, которую вы удалите на следующей неделе. CSPRNG в вашей вкладке, исчезающий при закрытии.
Это полноценные подписки для менеджеров паролей с хранилищами, синхронизацией, автозаполнением и мониторингом утечек. Morph — это просто поверхность генератора — crypto.getRandomValues() в вашей вкладке, отображается один раз, никогда не сохраняется. Если вам нужно хранилище, запустите хранилище. Если вам нужны байты прямо сейчас, запустите Morph.
Да. crypto.getRandomValues() — это CSPRNG API Веб-криптографии W3C, основанный на /dev/urandom в Linux, BCryptGenRandom в Windows и SecRandomCopyBytes в macOS/iOS. Тот же источник используют банки, менеджеры паролей и криптографические библиотеки. Math.random() НЕ является криптографически безопасным; Morph никогда не использует его в качестве резервного варианта.
16 символов с полным алфавитом из 95 символов дают ~105 битов энтропии — выше современных пределов для brute-force даже с использованием локальных GPU-кластеров. 12 символов — современный минимум (~78 битов). 24+ — параноидально надежно. Длина важнее, чем сложность правил — «лошадь батарея ключ правильный» сильнее, чем «P@ssw0rd!1» против любого реального атакующего.
Да. Режим пароля выбирает N слов из длинного списка EFF (7 776 слов = 12,9 бит на слово). Шесть слов дают ~77 бит энтропии — достаточно для любого современного атаки и легко набираются на мобильном устройстве. Список слов включен в страницу; никаких запросов к серверу нет.
Да — Safari на iOS полностью поддерживает crypto.getRandomValues(). Создавайте, копируйте, вставляйте в менеджер паролей или форму регистрации. Весь процесс выполняется локально на вашем телефоне, никогда не контактируя с сервером.
Нигде. Ни в localStorage, ни в sessionStorage, ни в IndexedDB, ни на сервере. Пароль хранится в памяти браузера до закрытия вкладки или нажатия на регенерацию. Буфер обмена автоматически очищается через 30 секунд. Morph не может его восстановить, потому что он никогда его не имел.