Подтвердить что ты не робот

Эллиптическая кривая криптографии в iOS

Я пытаюсь включить ECC в приложение iPhone, которое используется для защиты сообщений, но мне трудно найти подходящую библиотеку/учебник о том, как это сделать в objective-c. Я прочитал этот пост: Как использовать ECC в iOS Но это было опубликовано почти год назад, и ответов не было. Любые советы/рекомендации будут очень признательны

Спасибо!

4b9b3361

Ответ 1

К сожалению, Transforms безопасности [1] (встроенная инфраструктура iOS должна идти, и тот, который упоминается выше) не поддерживает поддержку встроенных эллиптических кривых. Вам придется полагаться на не-яблочная реализация ECC.

[1] http://developer.apple.com/library/mac/#documentation/Security/Conceptual/SecTransformPG/SecurityTransformsBasics/SecurityTransformsBasics.html

Ответ 3

Быстрый поиск криптографической криптографии в библиотеках Mac дал EllipticLicense, библиотеку генерации/проверки ключей продукта для Mac, которая использует EC крипто. Он использует поддержку OpenSSL для EC, что тоже можно сделать.

Обратите внимание, что Apple устарела, используя свои поставляемые динамические библиотеки OpenSSL из-за проблем совместимости, которые мешают им поддерживать ее в актуальном состоянии, поэтому вам нужно будет захватить OpenSSL из источник и связать его с вашим приложением.

Ответ 4

Как и мой опыт, вы можете использовать Nacl Library. В этой библиотеке реализована реализация эллиптической кривой curve25519. Это современное состояние и самая быстрая библиотека.

Вы также можете использовать crypto ++.

Ответ 5

Это не тот ответ, о котором вы просили. Но, моя паранойя заставляет меня предположить, что вы нашли время, чтобы действительно понять орехи и болты вашей реализации ECC. Рассмотрим эту публикацию на задней двери NSA.

Если вы не берете ничего больше, чем это из статьи, обратите внимание, что: "RSA Security публично отказалась от Dual_EC_DRBG".

Я рассмотрел список поставщиков, которые утвердили различные алгоритмы DRBG. Кажется, Apple непосредственно проверила CRT_DRBG для большинства платформ и ОС. Правильно? Не обязательно. Если вы посмотрите ближе, то, похоже, есть поставщики, которые подтвердили Dual EC DRBG, чья технология, возможно, была встроена в продукты Apple. Как и где он используется? Я не смог это определить.

Например: прокрутите список до номера проверки 309. Я не уверен, правильно ли читаю. Но я считаю, что Каммингс (или должен быть) OEM-поставщиком для мобильных устройств Apple, распределенных с ядром ARM A8 и iOS 5.0. Они подтвердили свой модуль криптографической связи, который включал двойной EC DRBG. Когда он используется? Все, что я знаю, говорит, что он "включен и не включен". Когда?! Без понятия. Обратите внимание, что есть несколько других вариантов DRBG, которые "включены и не включены". Это может только уменьшить вероятность использования.

Кажется, что нижняя строка:

  • двойной EC DRBG может использоваться в криптографических функциях, которые используют SHA на квалификационных платформах в неизвестном числе сценариев.

  • нам нужно будет дождаться уверенности в правильности расследования.
    это задняя дверь, о которой подозревают власти.

Иметь хороший день.:)

P.S. Я не мог не беспокоиться о OpenSSL. Я нашел этот пост, который проливает свет на неизвестные относительно того, как выяснить, использует ли OpenSSL черный генератор случайных чисел.