Files
freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/project-euler/problem-182-rsa-encryption.spanish.md
2018-10-08 13:34:43 -04:00

2.0 KiB

id, localeTitle, challengeType, title
id localeTitle challengeType title
5 5900f4231000cf542c50ff35 5 Problem 182: RSA encryption

Description

El cifrado RSA se basa en el siguiente procedimiento: Generar dos primos distintos p y q.Compute n = pq y φ = (p-1) (q-1). Encuentra un entero e, 1 0 Un mensaje en este sistema es un número en el intervalo [0, n-1]. Un texto que se va a cifrar se convierte de alguna manera en mensajes (números en el intervalo [0, n-1]). Para cifrar el texto, para cada mensaje, m, c = me mod n se calcula. Para descifrar el texto, se necesita el siguiente procedimiento: calcular d tal que ed = 1 mod φ, luego para cada mensaje cifrado, c, calcular m = cd mod n. Existen valores de e y m tales que me mod n = m. Llamamos mensajes m para los cuales me mod n = m mensajes no ocultos. Un problema al elegir e es que no debe haber demasiados mensajes no ocultos. Por ejemplo, vamos a p = 19 y q = 37. Entonces n = 19 * 37 = 703 y φ = 18 * 36 = 648. Si elegimos e = 181, entonces, aunque gcd (181,648) = 1 resulta que todos los mensajes posibles m (0≤m≤n-1) no están ocultos al calcularme mod n. Para cualquier elección válida de e existen algunos mensajes no ocultos. Es importante que el número de mensajes no ocultos sea mínimo. Elige p = 1009 y q = 3643. Encuentra la suma de todos los valores de e, 1 0

Instructions

Tests

tests:
  - text: <code>euler182()</code> debe devolver 399788195976.
    testString: 'assert.strictEqual(euler182(), 399788195976, "<code>euler182()</code> should return 399788195976.");'

Challenge Seed

function euler182() {
  // Good luck!
  return true;
}

euler182();

Solution

// solution required