Apple продолжает строить цифровой бункер на случай, если квантовые компьютеры однажды начнут вскрывать современное шифрование. Компания выложила на GitHub исходники corecrypto (своей низкоуровневой криптографической библиотеки) и подробно рассказала, как проверяет защиту iPhone, macOS от будущих квантовых атак.
Вообще вся эта история началась ещё в 2024 году с появления PQ3 в iMessage.
Тогда Apple впервые публично включила постквантовую защиту: мессенджер начал использовать новые алгоритмы не только при старте переписки, но и при регулярном обновлении ключей шифрования.
Корпорация заранее готовится к моменту, когда квантовые машины смогут ломать классическую криптографию быстрее, чем пользователи успеют придумать пароль «12345678».
Теперь Apple пошла дальше и открыла код corecrypto — библиотеки, которая отвечает за шифрование, цифровые подписи, хеширование и генерацию случайных чисел в экосистеме компании. Именно через неё работают Security framework, CryptoKit и CommonCrypto.
В репозитории появились реализации ML-KEM и ML-DSA — двух постквантовых алгоритмов, которые Apple выбрала для своей криптографии. Первый нужен для безопасного обмена ключами шифрования, второй — для цифровых подписей. Оба стандарта утверждены NIST как защита от угроз будущих квантовых компьютеров.
Но самое интересное — не сами алгоритмы, а то, как Apple всё это проверяет.
Компания выдала огромный технический разбор о том, как тестировала код перед публикацией. И судя по описанию, внутри Apple криптографию гоняют так, будто готовят запуск ядерного реактора. Обычных тестов им оказалось мало: пришлось строить собственную систему формальной верификации, потому что существующие инструменты не покрывали все сценарии.
Проблема в том, что corecrypto работает сразу на куче устройств с разными версиями Apple Silicon, а часть кода написана не только на C, но и вручную оптимизирована под ARM64.
В итоге Apple утверждает, что формальная верификация уже помогла найти критические ошибки, которые обычное тестирование не заметило бы. Например, компания обнаружила пропущенный шаг в ранней реализации ML-DSA. В редких случаях это могло приводить к некорректным криптографическим вычислениям без каких-либо предупреждений. Заодно инженеры нашли ошибку даже в стороннем математическом доказательстве и самостоятельно её исправили для своих параметров.









