Реализация Диффи-Хеллмана для iOS?

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

Вопрос очень короткий: кто-нибудь знает, есть ли какая-нибудь реализация Диффи-Хеллмана для iOS? Я имею в виду ... идея состоит в том, чтобы разделить между двумя устройствами (одно - iOS, а другое - веб-сервис java) секретный ключ, и я думаю, что лучшей идеей должен быть этот метод.

Если нет, может ли кто-нибудь предложить мне другой вариант?

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

Заранее всем спасибо!


person user1138682    schedule 09.01.2012    source источник
comment
Если вы не знаете, существуют ограничения на использование шифрования, которые повлияют на утверждение вашего приложения при отправке в App Store. См., Например, stackoverflow .com / questions / 2128927 /   -  person Clafou    schedule 09.01.2012


Ответы (5)


У Apple есть реализация Диффи-Хеллмана в iOS как часть Secure Transport. Вот Справочник по безопасному переносу

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

person Community    schedule 05.07.2016

Быстрый гугл дает;

http://www.chilkatsoft.com/dh-objc.asp

Вам следует действительно изучить возможность использования SSL вместо того, чтобы изобретать собственный протокол безопасности.

person Joachim Isaksson    schedule 09.01.2012
comment
да, я забыл упомянуть, что обнаружил эту реализацию chilkat. Проблема в том, что он появляется почти во всех результатах Google и не является бесплатным. - person user1138682; 09.01.2012
comment
В вопросе бесплатно не было необходимости :) Тем не менее, изобретать собственный протокол безопасности, когда доступен SSL, звучит хитроумно. Есть ли какие-то особые требования, исключающие SSL? - person Joachim Isaksson; 09.01.2012
comment
совсем нет, я просто новичок в разработке безопасности. Я читал, что с SSL у меня есть возможность установить безопасное соединение (что, я думаю, ASIHTTPRequest даст вам это тихо), но он не дает мне способа зашифровать что-то и расшифровать это с другой стороны, верно? - person user1138682; 09.01.2012
comment
Обмен данными через правильно настроенное соединение SSL шифрует все, как сервер-клиент, так и взаимодействие между клиентом и сервером, и вам не нужно ничего с этим делать. - person Joachim Isaksson; 09.01.2012

Вы можете включить openssl в качестве статической библиотеки в свой проект приложения и использовать ее Диффи-Хеллмана функции. Однако, как правильно говорит Иоахим, если вы общаетесь с веб-службой, самый простой и лучший подход - использовать SSL.

person Community    schedule 12.05.2012

В github есть реализация Диффи-Хеллмана для iOS. Вы можете использовать это. https://github.com/benjholla/Diffie-Hellman-iOS Также вы можете использовать openssl с ios. Поскольку openssl - проверенная библиотека, для этой цели лучше использовать openssl.

person deltaaruna    schedule 08.09.2013

На github есть реализация Диффи-Хеллмана для iOS SWIFT-4 с полным примером кода. Вы можете использовать это. https://github.com/raoarafat/DeffieHelmanKeyExchange-Swift. Просто скачайте и используйте.

Совместимость со SWIFT-4.

Наслаждаться...

person Rao    schedule 12.12.2017