recursal/MDN huggingface dataset:
include
=======

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:include>` une el contenido de una hoja de estilo con otra. A diferencia del elemento `<xsl:import>`, el contenido de la hoja de estilo incluida tiene exactamente la misma precedencia que el contenido de la hoja de estilo que la incluye.

### Sintaxis
```

<xsl:include href=URI />
```

### Atributos requeridos

`href`

Indica el URI de la hoja de estilo a incluir.

### Atributos opcionales

Ninguno.

### Tipo

Elemento raíz, puede aparecer en cualquier orden siendo hijo del elemento `<xsl:stylesheet>` o el elemento `<xsl:transform>`.

### Definido

XSLT, sección 2.6.1.

### Soporte en Gecko

Soportado.
apply-imports
=============

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:apply-imports>` es complejo en su uso, y es utilizado mayoritariamente en hojas de estilo muy complejas. La precedencia de importación indica que las plantillas en la hoja de estilo principal tienen mayor precedencia que las plantillas en las hojas de estilo importadas. Sin embargo, en ocasiones es útil forzar al procesador para que aplique una plantilla de menor procedencia contenida en la hoja de estilo importada en lugar de una plantilla equivalente en la hoja de estilo principal.

### Sintaxis
```

<xsl:apply-imports/>
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

Ninguno.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 5.6.

### Soporte en Gecko

Soportado.
otherwise
=========

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:otherwise>` se utiliza para definir la acción que se debe tomar cuando no se aplica ninguna de las condiciones `<xsl:when>`. Es similar a `else` or `default` en otros lenguajes de programación.

### Sintaxis
```

<xsl:otherwise>
  PLANTILLA
</xsl:otherwise>
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

Ninguno.

### Tipo

Subinstrucción, debe aparecer como el último hijo de un elemento `<xsl:choose>`, dentro de una plantilla.

### Definido

XSLT, sección 9.2

### Soporte en Gecko

Soportado.
import
======

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:import>` sirve para importar el contenido de una hoja de estilo dentro de otra hoja de estilo. En general, el contenido de la hoja de estilo importada tiene una menor precedencia que el contenido de la hoja de estilo que la importa. Esto contrasta con el elemento `<xsl:include>` en el que el contenido de la hoja de estilo incluida tiene exactamente la misma precedencia que el contenido de la hoja de estilo que la incluye.

### Sintaxis
```

<xsl:import href=URI  />
```

### Atributos requeridos

`href`

URI de la hoja de estilo a importar.

### Atributos opcionales

Ninguno.

### Tipo

Nivel raíz, debe aparecer antes de cualquier otro hijo de `<xsl:stylesheet>` o `<xsl:transform>` en la hoja de estilo que la importa.

### Definido

XSLT, sección 2.6.2.

### Soporte en Gecko

Casi completamente soportado, con tan solo algunos detalles con variables de nivel raíz y parámetros desde Mozilla 1.0.
attribute-set
=============

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:attribute-set>` genera un conjunto con nombre de atributos, el cual puede ser aplicado al documento de salida, de una manera similar a los estilos con nombre dentro de CSS.

### Sintaxi
```

<xsl:attribute-set name=NOMBRE use-attribute-sets=LISTA-DE-NOMBRES>
  <xsl:attribute>
</xsl:attribute-set>
```

### Atributos requeridos

`name`

Indica el nombre del conjunto de elementos. El nombre debe seguir las reglas QName.

### Atributos opcionales

`use-attribute-sets`

Genera un conjunto de elementos a partir de otros conjuntos de atributos. Los nombres de los conjuntos deben estar separados por espacios en blanco y no se deben solapar directa o indirectamente.

### Tipo

Debe ser hijo del elemento `<xsl:stylesheet>` o `<xsl:transform>`.

### Definido

XSLT, sección 7.1.4.

### Soporte en Gecko

Soportado
namespace-alias
===============

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:namespace-alias>` es un mecanismo raramente usado para asociar un nombre de espacios en la hoja de estilos a otro nombre de espacios diferente en el árbol de salida. El uso más común para este elemento se da en la generación de una hoja de estilos a partir de otra hoja de estilos.

Para prevenir que la cadena literal para el prefijo `xsl:` del elemento resultante (que simplemente debería ser copiada al árbol resultante) sea malinterpretada por el procesador, se le asigna temporalmente un nombre de espacio diferente que posteriormente es reconvertida al nombre de espacios de XSLT en el árbol de salida.

### Sintaxis
```

<xsl:namespace-alias stylesheet-prefix=NOMBRE result-prefix=NOMBRE />
```

### Atributos Requeridos

`stylesheet-prefix`

Indica el nombre de espacios temporal.

`result-prefix`

Indica el nombre de espacios deseado en el árbol de salida.

### Atributos opcionales

Ninguno.

### Tipo

Debe ser hijo directo de `<xsl:stylesheet>` o `<xsl:transform>`.

### Definido

XSLT, sección 7.1.1

### Soporte en Gecko

Sin soporte por el momento.
call-template
=============

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:call-template>` invoca una plantilla con nombre.

### Sintaxis
```

<xsl:call-template name=NOMBRE>
  <xsl:with-param> [opcional]
</xsl:call-template>
```

### Atributos requeridos

`name`

Indica el nombre del template que se desea invocar.

### Atributos opcionales

Ninguno.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 6.

### Soporte en Gecko

Soportado.
decimal-format
==============

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:decimal-format>` define los caracteres y los símbolos que serán usados en la conversión de números a cadenas de texto usando la función `format-number( )`.

### Sintaxis
```

<xsl:decimal-format
  name=NOMBRE
  decimal-separator=CARACTER
  grouping-separator=CARACTER
  infinity=TEXTO
  minus-sign=CARACTER
  NaN=TEXTO
  percent=CARACTER
  per-mille=CARACTER
  zero-digit=CARACTER
  digit=CARACTER
  pattern-separator=CARACTER />
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

`name`

Indica el nombre que tendrá este formato.

`decimal-separator`

Indica el caracter a ser usado como punto decimal. El valor por defecto es (`.`).

`grouping-separator`

Indica el separador de miles. El valor por defecto es (`,`).

`infinity`

Indica el texto a ser usado para representar el valor de infinito. El valor por defecto es la cadena de texto "`Infinity`".

`minus-sign`

Indica el caracter a ser usado como signo negativo. El valor por defecto es el guión (`-`).

`NaN`

Indica la cadena de texto a ser usado cuando el valor no es un número. El valor por defecto es la cadena de texto "`NaN`".

`percent`

Indica el caracter a ser usado como signo de porcentaje. El valor por defecto es (`%`).

`per-mille`

Indica el separador de miles. El valor por defecto es (`‰`).

`zero-digit`

Indica el caracter para el cero. El valor por defecto es (`0`).

`digit`

Indica el caracter a ser usado en los patrones de formato para indicar un dígito. El valor por defecto es (`#`).

`pattern-separator`

Indica el caracter para separar patrones de formato negativos y positivos. El valor por defecto es el punto y coma (`;`).

### Tipo

Elemento raíz, debe ser hijo de elemento `<xsl:stylesheet>` o `<xsl:transform>`.

### Definido

XSLT, sección 12.3.

### Soporte en Gecko

Soportado desde la versión 1.0 (Mozilla 1.0, Netscape 7.0).
apply-templates
===============

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:apply-templates>` selecciona un conjunto de nodos del documento de entrada e instruye al procesador para aplicar las plantillas apropiadas a ellos.

### Sintaxis
```

<xsl:apply-templates select=EXPRESION mode=NOMBRE>
  <xsl:with-param> [opcional]
  <xsl:sort> [opcional]
</xsl:apply-templates>
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

`select`

Usa una expresión XPath para indicar los nodos a ser procesados. Un asterisco(`*`) selecciona por completo el conjunto de nodos. Si el atributo no se establece, todos los nodos hijos del nodo actual son seleccionados.

`mode`

Si existend diferentes maneras definidas de procesar el mismo nodo, se distingue entre ellas.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT sección 5.4.

### Soporte en Gecko

Soportado.
when
====

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:when>` siempre aparece dentro de un elemento `<xsl:choose>`, actuando como una sentencia case.

### Sintaxis
```

<xsl:when test=EXPRESIÓN>
  PLANTILLA
</xsl:when>
```

### Atributos requeridos

`test`

Especifica una expresión booleana a evaluar. Si es cierta, se procesa el contenido del elemento; si es falsa, se ignora.

### Atributos opcionales

Ninguno.

### Tipo

Subinstrucción, siempre aparece dentro de un elemento `<xsl:choose>`.

### Definido

XSLT, sección 9.2.

### Soporte en Gecko

Soportado.
if
==


**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

 El elemento <xsl:if> contiene un atributo a probar y una plantilla. Si el atributo resulta verdadero, la plantilla es procesada. Este comportamiento es similar a la sentencia if de otros lenguajes. Sin embargo, para conseguir la funcionalidad de una sentencia if-then-else, es necesario utilizar el elemento <xsl:choose> con un elemento hijo <xsl:when>, y otro elemento hijo <xsl:otherwise>
### Sintaxis
```

<xsl:if test=EXPRESSION>
  TEMPLATE
</xsl:if>
```

### Atributos requeridos

`test`

Contiene una expresión XPath que puede ser evaluada (usando las reglas definidas para `boolean( )` si es necesario) como un valor boleano. Si el valor resulta verdadero, la plantilla es procesada; si resulta falso, no se lleva a cabo ninguna acción.

### Atributos opcionales

Ninguno.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSL sección 9.1.

### Soporte en Gecko

Soportado
copy
====

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:copy>` genera una copia superficial (el nodo y cualquier nodo del nombre de espacio asociado) del nodo actual al documento de salida. Este elemento no copia ni elementos hijo ni atributos del nodo actual.

### Sintaxis
```

<xsl:copy use-attribute-sets=LISTA-DE-NOMBRES>
  PLANTILLA
</xsl:copy>
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

`use-attribute-sets`

Lista conjunto de atributos que debería de ser aplicados al nodo de salida, si es un elemento. Los nombres del conjunto deben de estar separados por un espacio en blanco.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 7.5.

### Soporte en Gecko

Suportado.
comment
=======

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:comment>` escribe un comentario en el documento de salida. Debe incluir sólo texto.

### Sintaxis
```

<xsl:comment>
  TEMPLATE
</xsl:comment>
```

### Atributos necesarios

Ninguno.

### Atributos opcionales

Ninguno.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 7.4.

### Soporte en Gecko

Soportado.
for-each
========

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:for-each>` selecciona un conjunto de nodos y procesa cada uno de ellos de la misma manera. Se usa comúnmente para iterar a través de un conjunto de nodos o para cambiar el nodo actual. Si se encuentran uno o más elementos `<xsl:sort>` como hijos de este elemento, el ordenado de los nodos ocurrirá antes del procesamiento. De otra manera, los nodos se procesarán en el orden del documento.

### Sintaxis
```

<xsl:for-each select=EXPRESIÓN>
  <xsl:sort> [opcional]
  PLANTILLA
</xsl:for-each>
```

### Atributos requeridos

`select`

Usa una expresión XPath para seleccionar los nodos a ser procesados.

### Atributos opcionales

Ninguno.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 8.

### Gecko support

Soportado.
fallback
========

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:fallback>` indica la plantilla a usar en caso de que algun elemento extendido (o, eventualmente, una nueva versión) no esté soportado.

### Sintaxis
```

<xsl:fallback>
  PLANTILLA
</xsl:fallback>
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

Ninguno.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 15

### Soporte en Gecko

Sin soporte por el momento.
message
=======

**Referencia de XSLT y XPath**: Elementos XSLT, Funciones EXSLT, XPath:Funciones, XPath:Ejes

El elemento `<xsl:message>` muestra un mensaje (en la consola JavaScript en NS) y opcionalmente termina la ejecución de la hoja de estilos. Puede ser util para depuración.

### Sintaxis
```

<xsl:message terminate="yes" | "no" >
  PLANTILLA
</xsl:message>
```

### Atributos requeridos

Ninguno.

### Atributos opcionales

`terminate`

Establecido a "`yes`", indica que debe terminar la ejecución. El valor por defecto es "`no`", en cuyo caso se muestra el mensaje y continúa la ejecución.

### Tipo

Instrucción, aparece dentro de una plantilla.

### Definido

XSLT, sección 13.

### Soporte en Gecko

Soportado.
AND
===

Las instrucciones **`and`** son usadas para realizar operaciones bit a bit de tipo AND, similares al operador **`&`** en otros lenguajes.

Pruébalo
--------

Sintáxis
--------


```wasm
;; Cargar dos números en la tabla
i32.const 5   ;; 00000101
i32.const 3   ;; 00000011

;; ejecutar AND bit a bit
i32.and

;; El nuevo elemento será 1
(00000001)
```


| Instrucción | Código binario de operación |
| --- | --- |
| `i32.and` | `0x71` |
| `i64.and` | `0x83` |
WHATWG
======

EL ( Grupo de trabajo de tecnología de aplicaciones de hipertexto web) por sus siglas en inglés WHATWG es una organización que mantinene y desarrolla HTML y APIs para las aplicaciones Web. Antiguos empleados de Apple, Mozilla y Opera establecieron el WHATWG en el 2004.

Los editores de especificación en el WHATWG investigan y recopilan comentarios para los documentos de especificación. El grupo también tiene un pequeño comité de miembros invitados y autorizados para anular o reemplazar editores de especificación. Puedes unirte como un colaborador registrándote en la lista de correo.

De acuerdo con su sitio web , WHATWG es una respuesta al W3C's (en-US) lento progreso en los estándares Web, especialmente HTML, que el W3C dejó de desarrollar para concentrarse en XHTML.

El WHATWG mantiene especifiaciones para HTML, DOM, y JavaScript.

Learn more
----------

### General Knowledge

* WHATWG en Wikipedia
* WHATWG.org Official Website
WebVTT
======

WebVTT (Pistas de Texto para Videos Web) es una especificación del W3C (en-US) para un formato de archivo para crear pistas de texto en combinación con el elemento HTML `<track>`.

Los archivos WebVTT proporcionan metadatos alineados en el tiempo con contenido de audio o video, como subtítulos para contenido de video, descripciones de video de texto, capítulos para navegación de contenido y más.

Véase también
-------------

* WebVTT en Wikipedia
* WebVTT (en-US) en MDN
* Specification
URL
===

La «***Uniform Resource Locator***» (**URL** o *Localizadora Uniforme de Recursos* en Español) es una cadena de texto que especifica dónde se puede encontrar un recurso (como una página web, una imagen o un video) en Internet.

En el contexto de HTTP, las URLs se denominan "dirección web" o "enlace". Tu navegador muestra las URLs en su barra de direcciones, por ejemplo: `https://developer.mozilla.org` — Algunos navegadores muestran solo la parte de una URL después de "//", es decir, el Nombre de dominio.

Las URLs también se pueden utilizar para la transferencia de archivos (FTP), correos electrónicos (SMTP) y otras aplicaciones.

Aprende más
-----------

### Conocimientos generales

* URL en Wikipedia
### Aprende sobre esto

* Comprender las URLs y su estructura
### Especificación

* La sintaxis de las URLs se define en el lleno de vida Estándar de URLs.
Evento
======

Los eventos son sucesos generados por elementos del DOM, que pueden ser manipulados por un código Javascript

Saber más
---------

### Referencias técnicas

* Documentoación de eventos en MDN
### Conocimientos generales

* Web oficial
* DOM Events en Wikipedia
Encapsulación
=============

La encapsulación es el empaquetamiento de datos y funciones en un componente (por ejemplo, una clase) y para luego controlar el acceso a ese componente para hacer un ejecto de "caja negra" fuera del objeto. Debido a esto, un usuario de esa clase solo necesita conocer su interfaz (es decir, los datos y las funciones expuestas fuera de la clase), no la implementación oculta.

Saber más
---------

### Conocimientos generales

* Encapsulación en Wikipedia
Puerto
======

Para un ordenador conectado a una red con una dirección IP, un **puerto** es el destino de la comunicación. Los puertos están designados por números, por debajo de 1024 cada puerto está asociado por defecto con un protocolo específico.

Por ejemplo, el puerto por defecto para el protocolo HTTP es 80 y el puerto por defecto para el protocolo HTTPS es 443, por lo tanto un servidor HTTP espera peticiones en esos puertos. Cada protocolo de internet está asociado con un puerto por defecto: SMTP (25), POP3 (110), IMAP (en-US) (143), IRC (194), y así sucesivamente.

Saber más
---------

### Conocimientos generales

* Puerto en Wikipedia
Argumento
=========

Un argumento es un valor (primitivo u objeto) (Véase value, primitive, object) pasado como valor de entrada a una función (function).

Saber más
---------

### Conocimiento general

* Diferencia entre Parámetro y Argumento en Wikipedia.
### Referencia técnica

* El objeto `arguments` en JavaScript
JPEG
====

**JPEG** (*Joint Photographic Experts Group*) es un método comúnmente utilizado en la compresión con pérdida de información en imágenes digitales.

Saber más
---------

### Conocimiento general

* JPEG on Wikipedia
Función Callback
================

Una función de callback es una función que se pasa a otra función como un argumento, que luego se invoca dentro de la función externa para completar algún tipo de rutina o acción.

Ejemplo:


```js
function saludar(nombre) {
  alert("Hola " + nombre);
}

function procesarEntradaUsuario(callback) {
  var nombre = prompt("Por favor ingresa tu nombre.");
  callback(nombre);
}

procesarEntradaUsuario(saludar);
```


El ejemplo anterior es una callback sincrónica, ya que se ejecuta inmediatamente.

Sin embargo, tenga en cuenta que las callbacks a menudo se utilizan para continuar con la ejecución del código después de que se haya completado una operación a sincrónica — estas se denominan devoluciones de llamada asincrónicas.

Como obtener las coordenadas del dispositivo de su GPS es asíncrono (no sabemos exactamente cuándo se devolverán los datos), el método `Geolocation.getCurrentPosition()` toma una función de devolución de llamada anónima como parámetro, que a su vez toma los datos de coordenadas devueltos como un parámetro. Esta función solo se ejecuta cuando se devuelven los datos de coordenadas.

Aprende más
-----------

### Conocimientos generales

* Callback en Wikipedia
Diseño web responsivo
=====================

Diseño web responsivo (del inglés ***R**esponsive **W**eb **D**esign*) o **RWD** es un concepto de desarrollo web que se centra en hacer que los sitios se vean y se comporten de manera óptima en todos los dispositivos informáticos personales, desde el escritorio hasta el móvil.

Aprender más
------------

### Conocimientos generales

* Resumen y recursos (en-US)
* Pros and cons of going responsive (en-US)
* Diseño web responsivo
Tiempo de compilación
=====================

El *tiempo de compilación* es el tiempo desde que el programa es cargado por primera vez hasta que el programa es parsed.

Aprende más
-----------

### Conocimiento general

* Compile time en Wikipedia (inglés)
* Tiempo de compilación en Wikipedia
TCP
===

**TCP** (**Protocolo de Control de Transmisión**, por sus siglas en inglés *Transmission Control Protocol*) es protocolo de red importante que permite que dos anfitriones (*hosts*) se conecten e intercambien flujos de datos. TCP garantiza la entrega de datos y paquetes (en-US) en el mismo orden en que se enviaron. Vint Cerf y Bob Kahn, científicos de DARPA por aquél entonces, diseñaron TCP en la década de los 70.

El rol de TCP es garantizar que los paquetes se entreguen de forma confiable y sin errores. TCP tiene control de concurrencia, lo que significa que las solicitudes iniciales serán pequeñas, aumentando de tamaño a los niveles de ancho de banda que los ordenadores, servidores y redes puedan soportar.

Aprende más
-----------

### Conocimientos generales

* IPv4 (en-US)
* IPv6
* Paquete (en-US)
* Protocolo de control de transmisión en Wikipedia
Vea también
-----------

* Generalidades del protocolo HTTP
SQL
===

**SQL** por sus siglas en inglés significa Lenguaje de Consulta Estructurada (Structured Query Language), es un lenguaje de programación diseñado para actualizar, obtener, y calcular información en bases de datos relacionales.

Véase también
-------------

* SQL en Wikipedia
* Aprende SQL en sqlzoo.net
* Tutorial Point
Python
======

**Python** es un leguaje de programación de alto nivel y de propósito general. Utiliza un enfoque multiparadigma, lo que significa que soporta programación orientada a objetos, procedural y en menor medida, programación funcional.

Fue creado por Guido van Rossun como sucesor a otro lenguaje (llamado ABC) entre 1985 y 1990, y es usado actualmente en una gran variedad de campos, como el desarrollo web, en la creación de aplicaciones actuales y para la construcción de archivos de procesamiento por lotes (Scripts).

Python es administrado y soportado por la Python Software Foundation. Está desarrollado bajo licencia de código abierto, lo que lo hace libre de usar y de distribuir, incluso para uso comercial.

Aprende Más
-----------

* Python en Wikipedia
* Tutorial de Python en Español
Valor
=====

En el contexto de datos o un objeto **wrapper** alrededor de esos datos, el valor es el **valor primitivo** que contiene el contenedor de objetos. En el contexto de una **variable** o **property**, el El valor puede ser primitivo o **Referencia de objeto (en-US)**.

Aprende más
-----------

### Conocimientos generales

* Primitive wrapper class en Wikipedia
Clave
=====

Una clave es una pieza de información utilizada por un algoritmo criptográfico para el cifrado y/o descifrado. Los mensajes cifrados deben permanecer seguros incluso si todo lo relacionado con el sistema de cifrado, excepto la clave, es de conocimiento público.

En la criptografía de clave simétrica, la misma clave se utiliza tanto para el cifrado como para el descifrado. En la criptografía de clave pública, existen un par de claves relacionadas conocidas como *clave pública* y *clave privada*. La clave pública está disponible libremente, mientras que la clave privada se mantiene secreta. La clave pública puede cifrar mensajes que sólo la clave privada correspondiente puede descifrar, y viceversa.

Saber más
---------

* Principos de Kerckhoffs en Wikipedia
* Cifrado