# ANts P2P

ANts P2P (en español "hormigas P2P") es un sistema abierto de cifrado P2P escrito en lenguaje Java bajo licencia GNU. El software fue inicialmente concebido para explorar las posibilidades ofrecidas por una serie de nuevos protocolos de enrutamiento (ARA, enrutamiento basado en hormigas, protocolos MANET) basados en un enjambre inteligente. Un reporte (en italiano) acerca de las fases iniciales del proyecto puede ser descargado del sitio web del software. Un pequeño resumen en inglés está disponible en el sitio web de ANTs P2P. El software desarrollado estuvo disponible en SourceForge en 2004. El 7 de noviembre de 2010, el software había sido descargado más de 500.00 por usuarios.

## Características

ANts P2P es una tercera generación de P2P desarrollada por el italiano Roberto Rossi. Cifra todo lo que se envía o recibe de los nodos (AES 128 - DH 512). Además, establece de forma dinámica por demanda "túneles virtuales encriptados" (AES 128 - DH 512) entre los nodos que están dispuestos a intercambiar archivos. Los paquetes encriptados son intercambiados mediante nodos intermediarios en la red; estos nodos intermediarios no tienen un camino sistemático disponible para interceptar claves y paquetes. Por lo tanto es difícil realizar ataques Man-in-the-middle en esta red. La segunda capa de encriptación es llamada cifrado de punto final. Teóricamente, el cifrado de punto final significa que los nodos proxy no pueden identificar la información poseída. Esto puede hacer más difícil determinar la Dirección IP original de un paquete entregado que fue transmitido por la red.
Algunas de sus características son:
* Actualiza el software de forma automática.
* Permita el cifrado punto a punto (AES 128 - DH 512).
* Realiza una autobúsqueda de fuentes alternativas para descargas activas o parciales.
* Permite la utilización del IRC.
* Mensajería instantánea anónima.
* Edición portable (todo en una carpeta) que no requiere instalación.
* Varias rutas de enrutamiento para paquetes.
* Conexiones preferenciales para darle a la red una rápida columna.
* Soporte para descargas parciales con resumen automático.
* Enjambrado de archivos parciales.
* Distribuido/descentralizado motor de búsqueda por hash MD5, cadenas o preguntas estructuradas.
* Búsquedas por texto completo de documentos indexados (pdf, html, txt, doc etc.) impulsado por Apache Lucene.
* Soporte para links de formato EDonkey2000.
* Protocolo de enrutamiento completamente orientado a objetos.
* Servidores HTTP por medio de túneles.
* ANTs permite la comunicación por medio de cualquier tipo de Proxy HTTP, NAT o sistema de filtrado de tráfico.
* Las consultas son encriptadas asimétricamente. Esto significa que solamente el autor original puede leer los resultados de la consulta. Cualquiera puede leer la cadena de consulta pero este enfoque asimétrico reduce el potencial de que un nodo realice un análisis de tráfico de consultas.

## Seguridad

La información se transfiere a través de conexiones indirectas: los emisores y receptores de un archivo no mantienen una conexión directa entre ellos, pero la conexión cae sobre varios nodos, de modo que ninguna de las partes puede determinar trivalmente la identidad del otro.
El tráfico entre los nodos es encriptado con AES, lo que previene buscarlos ya sea por terceros o nodos de paso. El intercambio de llaves de cifrado usa el algoritmo DH.
ANTs P2P también permite a los usuarios ofrecer servidores web anónimamente; estos servidores solo son alcanzables dentro de la red ANTs P2P. Sin embargo, ANTs P2P no es una red que logra que los usuarios usen servicios convencionales de Internet; para esto, un servicio como Tor puede ser usado por separado.