Implementación del ataque java NTRU

1

Estoy investigando el sistema de cifrado NTRU y comencé la investigación basada en el código fuente de sourceforge y bouncy castle (lenguaje java).

Actualmente estoy volviendo a generar ataques en NTRU, basados en CVP y SVP. Pero estaría muy agradecido si alguien pudiera darme un enlace al código fuente de los ataques en NTRU, al menos en breve, si existe alguno.

ps. Por favor, no me culpe por no estar dispuesto a escribirlo todo solo, porque requiere bastante tiempo y no hay razón para duplicar el código, si es que ya existe. Agradecería cualquier enlace o consejo.

pps. Me he topado con algunos malentendidos sobre el flujo de pila, así que vine aquí con la esperanza de obtener ayuda y comprensión

    
pregunta john smith 17.07.2013 - 21:36
fuente

1 respuesta

1

Phong Q. Nguyen , uno de los principales investigadores de ataques en NTRU, usa Librería NTL de Victor Shoup , que contiene una implementación de algoritmo LLL . Eso es C ++, no Java; pero este es el tipo de trabajo de procesamiento de números donde la eficiencia adicional de los lenguajes de bajo nivel como C ++ es útil. El 95% de un código de aplicación dado no es crítico con el tiempo, y el 95% del 5% restante está vinculado a E / S (E / S de red, E / S de disco, E / S de bus RAM, tal vez). La mayoría de los trabajos de criptografía hardcore (en particular los ataques que requieren mucho músculo) viven en el 0.025% del código donde todo sucede en la memoria caché L1 de la CPU, y en ese lugar, el código C o C ++ correctamente optimizado suele ser de 2 a 4 veces más rápido que el optimizado adecuadamente Código de Java.

De todos modos, para comprender los ataques en NTRU, deberás comprender algunas matemáticas bastante complejas, momento en el que algo tan trivial como un cambio de lenguaje de programación no debería molestarte.

Un buen punto de partida para atacar un sistema criptográfico es implementarlo usted mismo. Tener su propia implementación es útil si desea imprimir valores intermedios o cosas similares, pero la razón principal es pedagógica: el proceso

(Sí, escribí que C ++ es "de bajo nivel". Pídeme un mensaje).

    
respondido por el Tom Leek 17.07.2013 - 22:02
fuente

Lea otras preguntas en las etiquetas