git: d6c52283a7 - main - [doc-es][articles/ipsec-must] Translate article

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Tue, 09 Aug 2022 15:06:53 UTC
The branch main has been updated by fernape:

URL: https://cgit.FreeBSD.org/doc/commit/?id=d6c52283a77f7ec9ee15f8cb2a9704d52efde2e0

commit d6c52283a77f7ec9ee15f8cb2a9704d52efde2e0
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2022-08-08 15:06:28 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2022-08-09 15:03:50 +0000

    [doc-es][articles/ipsec-must] Translate article
---
 .../content/es/articles/ipsec-must/_index.adoc     |  50 +-
 .../content/es/articles/ipsec-must/_index.po       | 746 +++++++++++++++++++++
 2 files changed, 772 insertions(+), 24 deletions(-)

diff --git a/documentation/content/es/articles/ipsec-must/_index.adoc b/documentation/content/es/articles/ipsec-must/_index.adoc
index e584b3d893..94bc14311f 100644
--- a/documentation/content/es/articles/ipsec-must/_index.adoc
+++ b/documentation/content/es/articles/ipsec-must/_index.adoc
@@ -1,8 +1,11 @@
 ---
-title: Verificación independiente de la funcionalidad de IPsec en FreeBSD
 authors:
-  - author: David Honig
+  - 
+    author: 'David Honig'
     email: honig@sprynet.com
+description: 'Verificación independiente de la funcionalidad de IPsec en FreeBSD'
+tags: ["IPsec", "verification", "FreeBSD"]
+title: 'Verificación independiente de la funcionalidad de IPsec en FreeBSD'
 trademarks: ["freebsd", "opengroup", "general"]
 ---
 
@@ -40,62 +43,61 @@ endif::[]
 [.abstract-title]
 Resumen
 
-Instaló IPsec y parece estar funcionando. ¿Cómo lo sabe? Describo un método para verificar de forma experimental que IPsec está funcionando.
+Has intalado IPsec y parece estar funcionando. ¿Cómo lo sabes? Describo un método para verificar de forma experimental que IPsec está funcionando.
 
 '''
 
 toc::[]
 
 [[problem]]
-== El problema
+== El Problema
 
-Primero, asumamos que ha <<ipsec-install>>. ¿Cómo sabe que está <<caveat>>? Claro, su conexión no funcionará si está mal configurada, y funcionará cuando finalmente lo haga bien. man:netstat[1] la listará. ¿Pero puede confirmarlo de forma independiente?
+Primero, asumamos que has <<ipsec-install>>. ¿Cómo sabes que está funcionando? (<<caveat>>) Claro, tu conexión no funcionará si está mal configurado y funcionará cuando finalmente lo hagas bien. man:netstat[1] lo mostrará. ¿Pero puedes confirmarlo de forma independiente?
 
 [[solution]]
-== La solución
+== La Solución
 
 Primero, alguna información teórica relevante sobre criptografía:
 
 . Los datos cifrados se distribuyen uniformemente, es decir, tienen una entropía máxima por símbolo;
 . Los datos sin procesar y sin comprimir suelen ser redundantes, es decir, tienen una entropía submáxima.
 
-Suponga que usted pudiera medir la entropía de los datos que van hacia -y desde- su interfaz de red. Entonces podría ver la diferencia entre los datos no cifrados y los cifrados. Esto sería verdad incluso si algunos de los datos en "modo cifrado" no lo estuvieran---ya que el encabezado IP más externo debe estarlo para que el paquete sea enrutable.
+Imagina que pudieras medir la entropía de los datos que van hacia -y desde- tu interfaz de red. Entonces podrías ver la diferencia entre los datos no cifrados y los cifrados. Esto sería verdad incluso si algunos de los datos en "modo cifrado" no lo estuvieran---ya que el encabezado IP más externo debe estarlo para que el paquete sea enrutable.
 
 [[MUST]]
 === MUST
 
-El "Universal Statistical Test for Random Bit Generators" (https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf[MUST]) de Ueli Maurer mide rápidamente la entropía de una muestra. Utiliza un algoritmo de compresión. <<code>> para una variante que mide partes sucesivas (~cuarto de megabyte) de un archivo
+Ueli Maurer's "Universal Statistical Test for Random Bit Generators"(https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf[MUST]) calcula rápidamente la entropía de una muestra. Utiliza un algoritmo de tipo compresión. <<code>> para una variante que mide trozos sucesivos (~ un cuarto de megabyte) de un fichero.
 
 [[tcpdump]]
 === Tcpdump
 
-También necesitamos una forma de capturar los datos de red sin procesar. Un programa llamado man:tcpdump[1] le permite hacerlo, si tiene habilitada la interfaz de _Berkeley Packet Filter_ en el <<kernel>>.
+También necesitamos una forma de capturar datos de red en crudo. Un programa llamado man:tcpdump[1] te permite hacer esto si tienes configurado el interfaz _Berkeley Packet Filger_ en tu <<kernel>>.
 
 El comando:
 
-[source,shell]
+[source, shell]
 ....
  tcpdump -c 4000 -s 10000 -w dumpfile.bin
 ....
 
-capturará 4000 paquetes sin procesar en el fichero _dumpfile.bin_. En este ejemplo se capturarán hasta 10.000 bytes por paquete.
+capturará 4000 paquetes en crudo y los guardará en _dumpfile.bin_. Se capturarán hasta 10,000 bytes por cada paquete en este ejemplo.
 
 [[experiment]]
-== El experimento
+== El Experimento
 
 Aquí está el experimento:
 
 [.procedure]
 ====
-. Abra una ventana a un host IPsec y otra ventana a un host inseguro.
-. Ahora empiece a <<tcpdump>>.
-. En la ventana "segura", ejecute el comando UNIX(R) man:yes[1], que transmitirá el carácter `y`. Después de un rato, detenga el comando. Cambie a la ventana insegura, y repita. Espere un poco, detenga el comando.
-. Ahora ejecute <<code>> en los paquetes capturados. Debería ver algo como lo siguiente. Lo importante a tener en cuenta es que la conexión segura tiene un 93% (6,7) del valor esperado (7,18), y la conexión "normal" tiene un 29% (2,1) del valor esperado.
+. Abre una ventana a un host IPsec y otra ventana a un host inseguro.
+. Ahora arranca <<tcpdump>>.
+. En la ventana "segura", arranca el comando UNIX(R) man:yes[1], que mostrará continuamente el carácter `y`. Después de un rato, páralo. Cambia a la ventana insegura y ejecútalo de nuevo. Después de un rato, páralo.
+. Ahora ejecuta <<code>> en los paquetes capturados. Deberías ver algo como lo que se muestra a continuación. El punto importante en que fijarse es que la conexión segura tiene un 93% (6.7) de los valores esperados (7.18) y que la conexión "normal" tiene un 29% (2.1) de los valores esperados.
 +
-[source,shell]
+[source, shell]
 ....
 % tcpdump -c 4000 -s 10000 -w ipsecdemo.bin
-
 % uliscan ipsecdemo.bin
 Uliscan 21 Dec 98
 L=8 256 258560
@@ -114,7 +116,7 @@ Expected value for L=8 is 7.1836656
 [[caveat]]
 == Advertencia
 
-Este experimento muestra que IPsec _parece_ estar distribuyendo los datos de la carga útil __uniformemente__, como debe hacerlo el cifrado. Sin embargo, el experimento aquí descrito _puede no_ detectar muchas de las posibles fallas del sistema (para las cuales no tengo evidencias). Esto incluye la generación o intercambio de claves deficientes, datos o claves visibles para otros, uso de algoritmos débiles, subversión del kernel, etc. Estudie el código; conozca el código.
+Este experimento muestra que IPsec _parece_ estar distribuyendo los datos de la carga útil _uniformemente_, como debe hacerlo el cifrado. Sin embargo, el experimento aquí descrito _no puede_ detectar muchas de las posibles fallos del sistema (para los cuales no tengo evidencias). Esto incluye la generación o intercambio de claves deficientes, datos o claves visibles para otros, uso de algoritmos débiles, subversión del kernel, etc. Estudia el código; conoce el código.
 
 [[IPsec]]
 == IPsec---Definición
@@ -124,14 +126,14 @@ Extensiones de seguridad del Protocolo de Internet para IPv4; requerido para IPv
 [[ipsec-install]]
 == Instalando IPsec
 
-La mayoría de las versiones modernas de FreeBSD soportan IPsec en su código base. Por lo tanto, deberá incluir la opción `IPSEC` en la configuración de su kernel y, después de recompilar y reinstalar el kernel, configure las conexiones de IPsec usando el comando man:setkey[8].
+La mayoría de las versiones modernas de FreeBSD tienen soporte para IPsec en su código fuente. Así que tendrás que incluir la opción `IPSEC` en la configuración del kernel y después de recompilar y reinstalar, configurar conexiones IPsec utilizando el comando man:setkey[8].
 
-En el extref:{handbook}security[Manual de FreeBSD, ipsec] se proporciona una guía completa sobre cómo ejecutar IPsec en FreeBSD.
+En el extref:{handbook}[FreeBSD Handbook, ipsec] se proporciona una guía completa sobre cómo ejecutar IPsec en FreeBSD.
 
 [[kernel]]
 == src/sys/i386/conf/KERNELNAME
 
-Esto debe estar presente en el archivo de configuración del kernel para capturar datos de red con man:tcpdump[1]. Asegúrese de ejecutar man:config[8] después de agregar esto, recompilar y reinstalar.
+Esto necesita estar en el fichero de configuración del kernel para poder capturar datos de red con man:tcpdump[1]. Asegúrate de ejecutar man:config[8] después de añadir esto y recompilar y reinstalar.
 
 [.programlisting]
 ....
@@ -141,7 +143,7 @@ device	bpf
 [[code]]
 == Maurer's Universal Statistical Test (tamaño de bloque=8 bits)
 
-Puede encontrar el mismo código fuente en https://web.archive.org/web/20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt[este enlace].
+Puedes encontrar el mismo código en https://web.archive.org/web/20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt[este enlace].
 
 [.programlisting]
 ....
@@ -152,7 +154,7 @@ Puede encontrar el mismo código fuente en https://web.archive.org/web/200312042
   1 Dec 98
   21 Dec 98       uliscan.c derived from ueli8.c
 
-  This version has // comments removed for Sun cc
+  En esta versión se han quitado // comentarios por el cc de Sun
 
   This implements Ueli M Maurer's "Universal Statistical Test for Random
   Bit Generators" using L=8
diff --git a/documentation/content/es/articles/ipsec-must/_index.po b/documentation/content/es/articles/ipsec-must/_index.po
new file mode 100644
index 0000000000..af9d787152
--- /dev/null
+++ b/documentation/content/es/articles/ipsec-must/_index.po
@@ -0,0 +1,746 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Fernando  Apesteguía <fernando.apesteguia@gmail.com>, 2021, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2022-02-01 09:21-0300\n"
+"PO-Revision-Date: 2022-08-08 15:04+0000\n"
+"Last-Translator: Fernando  Apesteguía <fernando.apesteguia@gmail.com>\n"
+"Language-Team: Spanish <https://translate-dev.freebsd.org/projects/"
+"documentation/articlesipsec-must_index/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.10.1\n"
+
+#. type: Title =
+#: documentation/content/en/articles/ipsec-must/_index.adoc:1
+#: documentation/content/en/articles/ipsec-must/_index.adoc:11
+#, no-wrap
+msgid "Independent Verification of IPsec Functionality in FreeBSD"
+msgstr "Verificación independiente de la funcionalidad de IPsec en FreeBSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:44
+msgid "Abstract"
+msgstr "Resumen"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:47
+msgid ""
+"You installed IPsec and it seems to be working.  How do you know? I describe "
+"a method for experimentally verifying that IPsec is working."
+msgstr ""
+"Has intalado IPsec y parece estar funcionando. ¿Cómo lo sabes? Describo un "
+"método para verificar de forma experimental que IPsec está funcionando."
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:49
+msgid "'''"
+msgstr "'''"
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:53
+#, no-wrap
+msgid "The Problem"
+msgstr "El Problema"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:58
+msgid ""
+"First, lets assume you have <<ipsec-install>>.  How do you know it is "
+"<<caveat>>? Sure, your connection will not work if it is misconfigured, and "
+"it will work when you finally get it right.  man:netstat[1] will list it. "
+"But can you independently confirm it?"
+msgstr ""
+"Primero, asumamos que has <<ipsec-install>>. ¿Cómo sabes que está "
+"funcionando? (<<caveat>>) Claro, tu conexión no funcionará si está mal "
+"configurado y funcionará cuando finalmente lo hagas bien. man:netstat[1] lo "
+"mostrará. ¿Pero puedes confirmarlo de forma independiente?"
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:60
+#, no-wrap
+msgid "The Solution"
+msgstr "La Solución"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:63
+msgid "First, some crypto-relevant info theory:"
+msgstr "Primero, alguna información teórica relevante sobre criptografía:"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:65
+msgid ""
+"Encrypted data is uniformly distributed, i.e., has maximal entropy per "
+"symbol;"
+msgstr ""
+"Los datos cifrados se distribuyen uniformemente, es decir, tienen una "
+"entropía máxima por símbolo;"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:66
+msgid ""
+"Raw, uncompressed data is typically redundant, i.e., has sub-maximal entropy."
+msgstr ""
+"Los datos sin procesar y sin comprimir suelen ser redundantes, es decir, "
+"tienen una entropía submáxima."
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:70
+msgid ""
+"Suppose you could measure the entropy of the data to- and from- your network "
+"interface.  Then you could see the difference between unencrypted data and "
+"encrypted data.  This would be true even if some of the data in \"encrypted "
+"mode\" was not encrypted---as the outermost IP header must be if the packet "
+"is to be routable."
+msgstr ""
+"Imagina que pudieras medir la entropía de los datos que van hacia -y desde- "
+"tu interfaz de red. Entonces podrías ver la diferencia entre los datos no "
+"cifrados y los cifrados. Esto sería verdad incluso si algunos de los datos "
+"en \"modo cifrado\" no lo estuvieran---ya que el encabezado IP más externo "
+"debe estarlo para que el paquete sea enrutable."
+
+#. type: Title ===
+#: documentation/content/en/articles/ipsec-must/_index.adoc:72
+#, no-wrap
+msgid "MUST"
+msgstr "MUST"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:77
+msgid ""
+"Ueli Maurer's \"Universal Statistical Test for Random Bit Generators"
+"\"(https://web.archive.org/web/20011115002319/http://www.geocities.com/"
+"SiliconValley/Code/4704/universal.pdf[MUST]) quickly measures the entropy of "
+"a sample.  It uses a compression-like algorithm.  <<code>> for a variant "
+"which measures successive (~quarter megabyte) chunks of a file."
+msgstr ""
+"Ueli Maurer's \"Universal Statistical Test for Random Bit Generators\""
+"(https://web.archive.org/web/20011115002319/http://www.geocities.com/"
+"SiliconValley/Code/4704/universal.pdf[MUST]) calcula rápidamente la entropía "
+"de una muestra.  Utiliza un algoritmo de tipo compresión.  <<code>> para una "
+"variante que mide trozos sucesivos (~ un cuarto de megabyte) de un fichero."
+
+#. type: Title ===
+#: documentation/content/en/articles/ipsec-must/_index.adoc:79
+#, no-wrap
+msgid "Tcpdump"
+msgstr "Tcpdump"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:83
+msgid ""
+"We also need a way to capture the raw network data.  A program called man:"
+"tcpdump[1] lets you do this, if you have enabled the _Berkeley Packet "
+"Filter_ interface in your <<kernel>>."
+msgstr ""
+"También necesitamos una forma de capturar datos de red en crudo. Un programa "
+"llamado man:tcpdump[1] te permite hacer esto si tienes configurado el "
+"interfaz _Berkeley Packet Filger_ en tu <<kernel>>."
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:85
+msgid "The command:"
+msgstr "El comando:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:89
+#, no-wrap
+msgid " tcpdump -c 4000 -s 10000 -w dumpfile.bin\n"
+msgstr " tcpdump -c 4000 -s 10000 -w dumpfile.bin\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:93
+msgid ""
+"will capture 4000 raw packets to _dumpfile.bin_.  Up to 10,000 bytes per "
+"packet will be captured in this example."
+msgstr ""
+"capturará 4000 paquetes en crudo y los guardará en _dumpfile.bin_. Se "
+"capturarán hasta 10,000 bytes por cada paquete en este ejemplo."
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:95
+#, no-wrap
+msgid "The Experiment"
+msgstr "El Experimento"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:98
+msgid "Here is the experiment:"
+msgstr "Aquí está el experimento:"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:102
+msgid "Open a window to an IPsec host and another window to an insecure host."
+msgstr "Abre una ventana a un host IPsec y otra ventana a un host inseguro."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:103
+msgid "Now start <<tcpdump>>."
+msgstr "Ahora arranca <<tcpdump>>."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:104
+msgid ""
+"In the \"secure\" window, run the UNIX(R) command man:yes[1], which will "
+"stream the `y` character. After a while, stop this. Switch to the insecure "
+"window, and repeat. After a while, stop."
+msgstr ""
+"En la ventana \"segura\", arranca el comando UNIX(R) man:yes[1], que "
+"mostrará continuamente el carácter `y`. Después de un rato, páralo. Cambia a "
+"la ventana insegura y ejecútalo de nuevo. Después de un rato, páralo."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:105
+msgid ""
+"Now run <<code>> on the captured packets. You should see something like the "
+"following. The important thing to note is that the secure connection has 93% "
+"(6.7) of the expected value (7.18), and the \"normal\" connection has 29% "
+"(2.1) of the expected value."
+msgstr ""
+"Ahora ejecuta <<code>> en los paquetes capturados. Deberías ver algo como lo "
+"que se muestra a continuación. El punto importante en que fijarse es que la "
+"conexión segura tiene un 93% (6.7) de los valores esperados (7.18) y que la "
+"conexión \"normal\" tiene un 29% (2.1) de los valores esperados."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:121
+#, no-wrap
+msgid ""
+"% tcpdump -c 4000 -s 10000 -w ipsecdemo.bin\n"
+"% uliscan ipsecdemo.bin\n"
+"Uliscan 21 Dec 98\n"
+"L=8 256 258560\n"
+"Measuring file ipsecdemo.bin\n"
+"Init done\n"
+"Expected value for L=8 is 7.1836656\n"
+"6.9396 --------------------------------------------------------\n"
+"6.6177 -----------------------------------------------------\n"
+"6.4100 ---------------------------------------------------\n"
+"2.1101 -----------------\n"
+"2.0838 -----------------\n"
+"2.0983 -----------------\n"
+msgstr ""
+"% tcpdump -c 4000 -s 10000 -w ipsecdemo.bin\n"
+"% uliscan ipsecdemo.bin\n"
+"Uliscan 21 Dec 98\n"
+"L=8 256 258560\n"
+"Measuring file ipsecdemo.bin\n"
+"Init done\n"
+"Expected value for L=8 is 7.1836656\n"
+"6.9396 --------------------------------------------------------\n"
+"6.6177 -----------------------------------------------------\n"
+"6.4100 ---------------------------------------------------\n"
+"2.1101 -----------------\n"
+"2.0838 -----------------\n"
+"2.0983 -----------------\n"
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:125
+#, no-wrap
+msgid "Caveat"
+msgstr "Advertencia"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:131
+msgid ""
+"This experiment shows that IPsec _does_ seem to be distributing the payload "
+"data __uniformly__, as encryption should.  However, the experiment described "
+"here _cannot_ detect many possible flaws in a system (none of which do I "
+"have any evidence for).  These include poor key generation or exchange, data "
+"or keys being visible to others, use of weak algorithms, kernel subversion, "
+"etc.  Study the source; know the code."
+msgstr ""
+"Este experimento muestra que IPsec _parece_ estar distribuyendo los datos de "
+"la carga útil _uniformemente_, como debe hacerlo el cifrado. Sin embargo, el "
+"experimento aquí descrito _no puede_ detectar muchas de las posibles fallos "
+"del sistema (para los cuales no tengo evidencias). Esto incluye la "
+"generación o intercambio de claves deficientes, datos o claves visibles para "
+"otros, uso de algoritmos débiles, subversión del kernel, etc. Estudia el "
+"código; conoce el código."
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:133
+#, no-wrap
+msgid "IPsec---Definition"
+msgstr "IPsec---Definición"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:139
+msgid ""
+"Internet Protocol security extensions to IPv4; required for IPv6.  A "
+"protocol for negotiating encryption and authentication at the IP (host-to-"
+"host) level.  SSL secures only one application socket; SSH secures only a "
+"login; PGP secures only a specified file or message.  IPsec encrypts "
+"everything between two hosts."
+msgstr ""
+"Extensiones de seguridad del Protocolo de Internet para IPv4; requerido para "
+"IPv6. Un protocolo para negociar el cifrado y la autenticación a nivel de IP "
+"(host a host). SSL solo protege un socket de aplicación. SSH protege solo el "
+"login. PGP protege un archivo o mensaje específico. IPsec encripta todo "
+"entre dos hosts."
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:141
+#, no-wrap
+msgid "Installing IPsec"
+msgstr "Instalando IPsec"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:145
+msgid ""
+"Most of the modern versions of FreeBSD have IPsec support in their base "
+"source.  So you will need to include the `IPSEC` option in your kernel "
+"config and, after kernel rebuild and reinstall, configure IPsec connections "
+"using man:setkey[8] command."
+msgstr ""
+"La mayoría de las versiones modernas de FreeBSD tienen soporte para IPsec en "
+"su código fuente. Así que tendrás que incluir la opción `IPSEC` en la "
+"configuración del kernel y después de recompilar y reinstalar, configurar "
+"conexiones IPsec utilizando el comando man:setkey[8]."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:147
+msgid ""
+"A comprehensive guide on running IPsec on FreeBSD is provided in extref:"
+"{handbook}[FreeBSD Handbook, ipsec]."
+msgstr ""
+"En el extref:{handbook}[FreeBSD Handbook, ipsec] se proporciona una guía "
+"completa sobre cómo ejecutar IPsec en FreeBSD."
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:149
+#, no-wrap
+msgid "src/sys/i386/conf/KERNELNAME"
+msgstr "src/sys/i386/conf/KERNELNAME"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:153
+msgid ""
+"This needs to be present in the kernel config file in order to capture "
+"network data with man:tcpdump[1].  Be sure to run man:config[8] after adding "
+"this, and rebuild and reinstall."
+msgstr ""
+"Esto necesita estar en el fichero de configuración del kernel para poder "
+"capturar datos de red con man:tcpdump[1]. Asegúrate de ejecutar man:config[8]"
+" después de añadir esto y recompilar y reinstalar."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:157
+#, no-wrap
+msgid "device\tbpf\n"
+msgstr "device\tbpf\n"
+
+#. type: Title ==
+#: documentation/content/en/articles/ipsec-must/_index.adoc:160
+#, no-wrap
+msgid "Maurer's Universal Statistical Test (for block size=8 bits)"
+msgstr "Maurer's Universal Statistical Test (tamaño de bloque=8 bits)"
+
+#. type: Plain text
+#: documentation/content/en/articles/ipsec-must/_index.adoc:163
+msgid ""
+"You can find the same code at https://web.archive.org/web/20031204230654/"
+"http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt[this link]."
+msgstr ""
+"Puedes encontrar el mismo código en https://web.archive.org/web/"
+"20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc."
+"txt[este enlace]."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:168
+#, no-wrap
+msgid ""
+"/*\n"
+"  ULISCAN.c   ---blocksize of 8\n"
+msgstr ""
+"/*\n"
+"  ULISCAN.c   ---blocksize of 8\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:172
+#, no-wrap
+msgid ""
+"  1 Oct 98\n"
+"  1 Dec 98\n"
+"  21 Dec 98       uliscan.c derived from ueli8.c\n"
+msgstr ""
+"  1 Oct 98\n"
+"  1 Dec 98\n"
+"  21 Dec 98       uliscan.c derived from ueli8.c\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:174
+#, no-wrap
+msgid "  This version has // comments removed for Sun cc\n"
+msgstr "  En esta versión se han quitado // comentarios por el cc de Sun\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:177
+#, no-wrap
+msgid ""
+"  This implements Ueli M Maurer's \"Universal Statistical Test for Random\n"
+"  Bit Generators\" using L=8\n"
+msgstr ""
+"  This implements Ueli M Maurer's \"Universal Statistical Test for Random\n"
+"  Bit Generators\" using L=8\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:180
+#, no-wrap
+msgid ""
+"  Accepts a filename on the command line; writes its results, with other\n"
+"  info, to stdout.\n"
+msgstr ""
+"  Accepts a filename on the command line; writes its results, with other\n"
+"  info, to stdout.\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:182
+#, no-wrap
+msgid "  Handles input file exhaustion gracefully.\n"
+msgstr "  Handles input file exhaustion gracefully.\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:185
+#, no-wrap
+msgid ""
+"  Ref: J. Cryptology v 5 no 2, 1992 pp 89-105\n"
+"  also on the web somewhere, which is where I found it.\n"
+msgstr ""
+"  Ref: J. Cryptology v 5 no 2, 1992 pp 89-105\n"
+"  also on the web somewhere, which is where I found it.\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:188
+#, no-wrap
+msgid ""
+"  -David Honig\n"
+"  honig@sprynet.com\n"
+msgstr ""
+"  -David Honig\n"
+"  honig@sprynet.com\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:193
+#, no-wrap
+msgid ""
+"  Usage:\n"
+"  ULISCAN filename\n"
+"  outputs to stdout\n"
+"*/\n"
+msgstr ""
+"  Usage:\n"
+"  ULISCAN filename\n"
+"  outputs to stdout\n"
+"*/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:199
+#, no-wrap
+msgid ""
+"#define L 8\n"
+"#define V (1<<L)\n"
+"#define Q (10*V)\n"
+"#define K (100   *Q)\n"
+"#define MAXSAMP (Q + K)\n"
+msgstr ""
+"#define L 8\n"
+"#define V (1<<L)\n"
+"#define Q (10*V)\n"
+"#define K (100   *Q)\n"
+"#define MAXSAMP (Q + K)\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:202
+#, no-wrap
+msgid ""
+"#include <stdio.h>\n"
+"#include <math.h>\n"
+msgstr ""
+"#include <stdio.h>\n"
+"#include <math.h>\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:214
+#, no-wrap
+msgid ""
+"int main(argc, argv)\n"
+"int argc;\n"
+"char **argv;\n"
+"{\n"
+"  FILE *fptr;\n"
+"  int i,j;\n"
+"  int b, c;\n"
+"  int table[V];\n"
+"  double sum = 0.0;\n"
+"  int iproduct = 1;\n"
+"  int run;\n"
+msgstr ""
+"int main(argc, argv)\n"
+"int argc;\n"
+"char **argv;\n"
+"{\n"
+"  FILE *fptr;\n"
+"  int i,j;\n"
+"  int b, c;\n"
+"  int table[V];\n"
+"  double sum = 0.0;\n"
+"  int iproduct = 1;\n"
+"  int run;\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:216
+#, no-wrap
+msgid "  extern double   log(/* double x */);\n"
+msgstr "  extern double   log(/* double x */);\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:218
+#, no-wrap
+msgid "  printf(\"Uliscan 21 Dec 98 \\nL=%d %d %d \\n\", L, V, MAXSAMP);\n"
+msgstr ""
+"  printf(\"Uliscan 21 Dec 98 \\n"
+"L=%d %d %d \\n"
+"\", L, V, MAXSAMP);\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:225
+#, no-wrap
+msgid ""
+"  if (argc < 2) {\n"
+"    printf(\"Usage: Uliscan filename\\n\");\n"
+"    exit(-1);\n"
+"  } else {\n"
+"    printf(\"Measuring file %s\\n\", argv[1]);\n"
+"  }\n"
+msgstr ""
+"  if (argc < 2) {\n"
+"    printf(\"Usage: Uliscan filename\\n"
+"\");\n"
+"    exit(-1);\n"
+"  } else {\n"
+"    printf(\"Measuring file %s\\n"
+"\", argv[1]);\n"
+"  }\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:227
+#, no-wrap
+msgid "  fptr = fopen(argv[1],\"rb\");\n"
+msgstr "  fptr = fopen(argv[1],\"rb\");\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:232
+#, no-wrap
+msgid ""
+"  if (fptr == NULL) {\n"
+"    printf(\"Can't find %s\\n\", argv[1]);\n"
+"    exit(-1);\n"
+"  }\n"
+msgstr ""
+"  if (fptr == NULL) {\n"
+"    printf(\"Can't find %s\\n"
+"\", argv[1]);\n"
+"    exit(-1);\n"
+"  }\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:236
+#, no-wrap
+msgid ""
+"  for (i = 0; i < V; i++) {\n"
+"    table[i] = 0;\n"
+"  }\n"
+msgstr ""
+"  for (i = 0; i < V; i++) {\n"
+"    table[i] = 0;\n"
+"  }\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:241
+#, no-wrap
+msgid ""
+"  for (i = 0; i < Q; i++) {\n"
+"    b = fgetc(fptr);\n"
+"    table[b] = i;\n"
+"  }\n"
+msgstr ""
+"  for (i = 0; i < Q; i++) {\n"
+"    b = fgetc(fptr);\n"
+"    table[b] = i;\n"
+"  }\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:243
+#, no-wrap
+msgid "  printf(\"Init done\\n\");\n"
+msgstr ""
+"  printf(\"Init done\\n"
+"\");\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:245
+#, no-wrap
+msgid "  printf(\"Expected value for L=8 is 7.1836656\\n\");\n"
+msgstr ""
+"  printf(\"Expected value for L=8 is 7.1836656\\n"
+"\");\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:247
+#, no-wrap
+msgid "  run = 1;\n"
+msgstr "  run = 1;\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:251
+#, no-wrap
+msgid ""
+"  while (run) {\n"
+"    sum = 0.0;\n"
+"    iproduct = 1;\n"
+msgstr ""
+"  while (run) {\n"
+"    sum = 0.0;\n"
+"    iproduct = 1;\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:256
+#, no-wrap
+msgid ""
+"    if (run)\n"
+"      for (i = Q; run && i < Q + K; i++) {\n"
+"        j = i;\n"
+"        b = fgetc(fptr);\n"
+msgstr ""
+"    if (run)\n"
+"      for (i = Q; run && i < Q + K; i++) {\n"
+"        j = i;\n"
+"        b = fgetc(fptr);\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:259
+#, no-wrap
+msgid ""
+"        if (b < 0)\n"
+"          run = 0;\n"
+msgstr ""
+"        if (b < 0)\n"
+"          run = 0;\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:263
+#, no-wrap
+msgid ""
+"        if (run) {\n"
+"          if (table[b] > j)\n"
+"            j += K;\n"
+msgstr ""
+"        if (run) {\n"
+"          if (table[b] > j)\n"
+"            j += K;\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:265
+#, no-wrap
+msgid "          sum += log((double)(j-table[b]));\n"
+msgstr "          sum += log((double)(j-table[b]));\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:269
+#, no-wrap
+msgid ""
+"          table[b] = i;\n"
+"        }\n"
+"      }\n"
+msgstr ""
+"          table[b] = i;\n"
+"        }\n"
+"      }\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:272
+#, no-wrap
+msgid ""
+"    if (!run)\n"
+"      printf(\"Premature end of file; read %d blocks.\\n\", i - Q);\n"
+msgstr ""
+"    if (!run)\n"
+"      printf(\"Premature end of file; read %d blocks.\\n"
+"\", i - Q);\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:275
+#, no-wrap
+msgid ""
+"    sum = (sum/((double)(i - Q))) /  log(2.0);\n"
+"    printf(\"%4.4f \", sum);\n"
+msgstr ""
+"    sum = (sum/((double)(i - Q))) /  log(2.0);\n"
+"    printf(\"%4.4f \", sum);\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:278
+#, no-wrap
+msgid ""
+"    for (i = 0; i < (int)(sum*8.0 + 0.50); i++)\n"
+"      printf(\"-\");\n"
+msgstr ""
+"    for (i = 0; i < (int)(sum*8.0 + 0.50); i++)\n"
+"      printf(\"-\");\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:280
+#, no-wrap
+msgid "    printf(\"\\n\");\n"
+msgstr ""
+"    printf(\"\\n"
+"\");\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/ipsec-must/_index.adoc:294
+#, no-wrap
+msgid ""
+"    /* refill initial table */\n"
+"    if (0) {\n"
+"      for (i = 0; i < Q; i++) {\n"
+"        b = fgetc(fptr);\n"
+"        if (b < 0) {\n"
+"          run = 0;\n"
+"        } else {\n"
+"          table[b] = i;\n"
+"        }\n"
+"      }\n"
+"    }\n"
+"  }\n"
+"}\n"
+msgstr ""
+"    /* refill initial table */\n"
+"    if (0) {\n"
+"      for (i = 0; i < Q; i++) {\n"
+"        b = fgetc(fptr);\n"
+"        if (b < 0) {\n"
+"          run = 0;\n"
+"        } else {\n"
+"          table[b] = i;\n"
+"        }\n"
+"      }\n"
+"    }\n"
+"  }\n"
+"}\n"
+
+#~ msgid ""
+#~ "include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/"
+#~ "{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists."
+#~ "adoc[] include::shared/{{% lang %}}/urls.adoc[]"
+#~ msgstr ""
+#~ "include::shared/attributes/attributes-{{% lang %}}.adoc[]\n"
+#~ "include::shared/{{% lang %}}/teams.adoc[]\n"
+#~ "include::shared/{{% lang %}}/mailing-lists.adoc[]\n"
+#~ "include::shared/{{% lang %}}/urls.adoc[]"