ios objective-c cryptography elliptic-curve

Elliptic Curve Crypto en iOS



objective-c cryptography (5)

Estoy tratando de incorporar ECC en una aplicación de iPhone que se usa para comunicaciones seguras, pero me cuesta mucho encontrar una biblioteca / tutorial adecuado sobre cómo hacer esto en object-c. Leí este post: Cómo usar ECC en iOS Pero se publicó hace casi un año y no hubo respuestas. Cualquier consejo / consejo sería muy apreciado

¡Gracias!


Como mi experiencia puedes usar la Biblioteca Nacl. Esta librería tiene curva de implementación de curva elíptica 25519. Este es el estado de la técnica y la biblioteca más rápida.

También puedes usar crypto ++.




Esta no es la respuesta que estabas pidiendo. Pero, mi paranoia me obliga a sugerirte que te tomes el tiempo para entender realmente los aspectos básicos de tu implementación de ECC. Considere esta publicación en la puerta trasera de la NSA .

Si no toma nada más que esto del artículo, tenga en cuenta que: "RSA Security renunció públicamente a Dual_EC_DRBG".

Revisé la lista de proveedores que habían validado varios algoritmos DRBG . Parece como si Apple hubiera validado directamente CRT_DRBG para la mayoría de las plataformas y sistemas operativos. En el claro ¿verdad? No necesariamente. Si te fijas más, parece que hay proveedores que han validado el Dual EC DRBG cuya tecnología puede haber sido incorporada en los productos de Apple. ¿Cómo y dónde se usa? No pude determinar esto.

Por ejemplo: desplácese hacia abajo hasta el número de validación 309. No estoy seguro de si estoy leyendo correctamente. Pero mi opinión es que Cummings es (o pretende ser) el proveedor OEM para dispositivos móviles de Apple distribuidos con un núcleo ARM A8 e iOS 5.0. Validaron su módulo de comunicaciones criptográficas que incluía el doble EC DRBG. ¿Cuándo se usa? Todo lo que sé es que dice que está "habilitado y no habilitado". ¡¿Cuando?! Ni idea. Tenga en cuenta que hay varios otros tipos de DRBG que están "habilitados y no habilitados". Esto solo puede disminuir la probabilidad de uso.

Parece que la conclusión es:

  • El doble EC DRBG se puede usar en las funciones criptográficas que usan SHA en las plataformas calificadas en un número desconocido de escenarios.

  • Tendremos que esperar la resolución de la investigación para estar seguros.
    Es puerta trasera lo que las autoridades sospechan.

Que tengas un buen día. :)

PD: no pude evitar preocuparme por OpenSSL. Encontré esta publicación que arroja algo de luz sobre las incógnitas sobre cómo aclarar si OpenSSL está utilizando el generador de números aleatorios incluidos en la lista negra.


Una búsqueda rápida de criptografía de curva elíptica en las bibliotecas de Mac dio como resultado EllipticLicense , una biblioteca de validación / generación de claves de producto para la Mac que usa criptografía EC. Está utilizando el soporte de OpenSSL para EC, que es algo que también podría hacer.

Tenga en cuenta que Apple ha dejado de utilizar sus bibliotecas dinámicas OpenSSL suministradas debido a problemas de compatibilidad que les impiden mantenerlo actualizado, por lo que tendrá que tomar OpenSSL de la fuente y empaquetarlo con su aplicación.