+ All Categories
Home > Documents > Operaciones en Zn

Operaciones en Zn

Date post: 14-Oct-2015
Category:
Upload: mauricio-lazaro
View: 27 times
Download: 0 times
Share this document with a friend
Popular Tags:

of 55

Transcript
  • 5/24/2018 Operaciones en Zn

    1/55

    Operaciones en Zn

    Mitchell Paulo Blancas Nez

    1

  • 5/24/2018 Operaciones en Zn

    2/55

    Enteros modulo n: Zn

    Este conjunto especial de nmeros enteros,

    se define como el conjunto de enteros dado

    por {0, 1, . . . , n - 1}. Como en todo conjunto,

    en los Zn tambin se pueden efectuar

    operaciones tales como adicin, sustraccin y

    multiplicacin modulo n. Su importancia esta

    en que es muy usado en los criptosistemascriptogrficos.

    2

  • 5/24/2018 Operaciones en Zn

    3/55

    Operaciones en Zn

    3

  • 5/24/2018 Operaciones en Zn

    4/55

    Adicin

    Sean a, b E Zn , la adicin modular se define

    por:

    a + b a + b < n(a + b)mod n = a + b - n a + b n

    4

  • 5/24/2018 Operaciones en Zn

    5/55

    Adicin

    Ejemplo

    Sea el conjunto Z15= {0, 1, . . . , 14}. La adicinde los nmeros 6 E Z15y 9 EZ15 esta dado por 0

    E Z15 , pues por definicin de los Zn se tieneque 6 + 9 0(mod 15).

    Ejemplo

    Sea el conjunto Z25= {0, 1, . . . , 24}. La adicin delos nmeros 13 E Z25y 16 E Z25 esta dado por 4E Z25 , pues por definicin se tiene que 13 + 164(mod 25).

    5

  • 5/24/2018 Operaciones en Zn

    6/55

    Multiplicacin

    Siendo a, b E Zn , la multiplicacin modular seefecta simplemente multiplicndolos comosi fueran nmeros enteros comunes, para

    luego coger el resto de la divisin de talproducto por n.

    Ejemplo

    Sea el conjunto Z25 = {0, 1, . . . , 24}. Lamultiplicacin de 13 por 16 es 8, pues 13 168(mod 25).

    6

  • 5/24/2018 Operaciones en Zn

    7/55

    Inverso Multiplicativo

    Dados los nmeros enteros a y n > O, el

    inverso multiplicativo de a modulo n esta

    dado por el numero entero y E Zn , tal que a

    y 1(mod n). Es importante tener encuenta que si y existe, entonces es nico, y

    a es llamado invertible. Por notacin, el

    inverso de a se denota por a1 .

    7

  • 5/24/2018 Operaciones en Zn

    8/55

    Inverso Multiplicativo

    Ejemplo

    En Z9 = {0, 1, . . . , 8} los elementos invertibles son 1, 2,4, 5, 7, 8, pues por ejemplo el inverso de 4 es 7 ya que4 7 1(mod 9). Anlogamente, el inverso de 7 es 4,

    pues 7 4 1(mod 9).Propiedad 7

    Sea a E Zn, entonces a es invertible si y solamente siel mcd(a, n)= 1.

    Ejemplo Sea Z9 = {0, 1, . . . , 8}, entonces 2 es invertible, pues

    el mcd(2, 9) = 1.

    8

  • 5/24/2018 Operaciones en Zn

    9/55

    Inverso Multiplicativo

    Algoritmo para el inverso multiplicativo

    Entrada: a E Zn

    Salida : Existencia del inverso

    Hallar x e y tal que ax + ny = d

    SI (d > 1)

    Inverso no existe;

    CASO CONTRARIO;

    retornar (x)

    9

  • 5/24/2018 Operaciones en Zn

    10/55

    Divisin

    Sean a, b E Zn . La divisin de a por b modulo nesta dado por el producto de a con b1 modulon.

    Podemos notar que la divisin modular esposible, solamente si b es invertible modulo n.

    Ejemplo

    Sea Z9 = {0, 1, . . . , 8} el conjunto de losnmeros enteros modulo 9, entoncesconsiderando 3 E Z9 y 4 E Z9 tenemos que 3 4(mod 9) = 3, pues como 41 = 7 entoncestenemos que 3 7(mod 9) = 3.

    10

  • 5/24/2018 Operaciones en Zn

    11/55

    Exponenciacin

    La exponenciacin modular es otra operacinbsica muy til para la criptografa. El siguientealgoritmo emplea una representacin binaria de

    un numero entero k de modo que k = k020

    + k121

    + . . . + kt2t, donde cada kies de la forma binaria,

    esto es ki= {0, 1}.

    Ejemplo

    Sea Z9 = {0, 1, . . . , 8} un conjunto de nmerosenteros modulo 9. Entonces 5 E Z9 se puederepresentar por 5 = 1 20+ 0 21 + 1 22.

    11

  • 5/24/2018 Operaciones en Zn

    12/55

    Exponenciacin

    Algoritmo para la exponenciacinEntrada: a E Zn , k E Z tal que O k < n, con una representacin binaria.

    Salida : akmod n

    int exp=1;

    int xp= a%n;

    Mientras (k>0) Hacer

    si(k%2!=0)

    exp= (exp*xp)%n;

    fin si

    xp=(xp*xp)%n;k= k/2;

    Fin Mientras

    Retornar (exp)

    12

  • 5/24/2018 Operaciones en Zn

    13/55

    Exponenciacin

    Sea Z1234 = {0, 1, . . . , 1233}, donde a = 5 E

    Z1234 y k = 596. Entonces

    El algoritmo reporta 5 elevado a la

    596mod(1234) = 1O13

    13

  • 5/24/2018 Operaciones en Zn

    14/55

    Funcin de Euler

    Esta funcin tiene la propiedad de que su

    valor en un nmero entero n, esta dado por

    el producto de los valores de la funcin de

    Euler en las potencias primas que ocurrenen la factorizacin de n. Una funcin con esta

    propiedad es llamado multiplicativo.

    14

  • 5/24/2018 Operaciones en Zn

    15/55

    Funcin de Euler

    A continuacin se presentan las definiciones y

    teoremas mas importantes.

    Definicin (Funcin aritmtica): Sea n EZ + .

    Una funcin aritmtica es aquella funcin que

    esta definida para todo numero entero positivo.

    15

  • 5/24/2018 Operaciones en Zn

    16/55

    Funcin de Euler

    Definicin (Funcin multiplicativa): Sean m, nnmeros enteros positivos relativamente primos. Unafuncin aritmticaf es llamada multiplicativa, si secumplef (m*n) =f (m)f (n).

    f es completamente multiplicativa, sif (m*n) =f

    (m)f (n), m, n EZ + .Ejemplo: La funcin constantef (n) = 1, n es

    completamente multiplicativa, puesf (mn) = 1,f (m) = 1 =f (n).

    Ejemplo: La funcin identidad.

    16

  • 5/24/2018 Operaciones en Zn

    17/55

    Funcin de Euler

    Teorema 1: Sif es una funcin multiplicativa y siadems n =pa1

    pa2. . . pas

    es la factorizacin prima del entero positivo n,

    entonces

    Teorema 2: Sea p un nmero primo, entonces (p) =p-

    1. Adems, sip EZ + con (p) =p - 1, entonces p es primo. Teorema 3: Seap un nmero primo y a EZ + ,

    entonces (pa ) =pa -pa1 .

    17

    f (n) =f (pa1 )f (pa2 ) . . . f (pas )

  • 5/24/2018 Operaciones en Zn

    18/55

    Funcin de Euler

    Ejemplo Seap = 5 y a = 3, entonces (53 ) = 53 -531 = 100.

    Teorema 4: Sean m y n nmeros enteros positivos

    relativamente primos, entonces (m*n) = (m)(n).Ejemplo Sea m = 5 y n = 3, entonces (5 3) = (5) (3)

    = (5 - 1) (3 - 1)= 8

    18

  • 5/24/2018 Operaciones en Zn

    19/55

    Funcin de Euler

    19

    Teorema 5: Sean ai EZ+ ,pj numeros

    primos, donde i, j = 1 . . . k, n =p2 . . . Pkentonces(n) = n(1 - 1 )(1 - 1 ) . . . (1 - 1 )p1 p2 pk

    Ejemplo

    (720) = (2

    4

    3

    2

    5

    1

    ) = 720(1-

    1

    )(1- 1

    )(1-

    1

    ) = 1922 3 5

  • 5/24/2018 Operaciones en Zn

    20/55

    Funcin de Euler

    Teorema 6: Sea 2 < n EZ + , entonces (n) es

    par.

    Un criptosistema asimtrico es seguro si estabasado en la intratabilidad de ciertos problemas

    computacionales, tales como los problemas de

    la factorizacin entera, la raz cuadrada modulo

    n, etc.

    20

  • 5/24/2018 Operaciones en Zn

    21/55

    Problema de factorizacin entera

    21

    Por el teorema fundamental de la aritm'etica se sabe quecada nu'mero entero positivo puede ser escrito como el

    producto de nu'meros primos. En la presente secci'on nos

    centramos en este problema comentando los tipos de

    factorizaci'on los cuales son importantes para lacriptograf'a,pues es la base para la seguridad de los

    criptosistemas RSA y de Rabin. El problema se establece

    del modo siguiente:

    Dado un nu'mero entero n EZ + , el problema es

    hallar la factorizaci'on de nen factores primos, esdecir

    n =pe1pe2 . . . pek , conpi =pj, i =j, ei 11 2 k

  • 5/24/2018 Operaciones en Zn

    22/55

    Problema de factorizacin entera

    El problema de decidir cuando un nmero

    entero es compuesto o es primo, en general es

    mas fcil que el problema de factorizar, por elloantes de factorizar un nmero es mejor primero

    testar para comprobar si tal nmero es o no es

    compuesto.

    22

  • 5/24/2018 Operaciones en Zn

    23/55

    Problema de factorizacin entera

    La factorizacin no trivial de n es de la forma

    n = ab, donde 1 < a < n y 1 < b < n, con a y

    b no necesariamente nmeros primos. Si el

    valor de n es grande, entonces es necesariocontar con algoritmos que faciliten el trabajo

    en dos etapas, es decir que primero se

    obtengan los factores a y b y luego testar laprimalidad de tales factores.

    23

  • 5/24/2018 Operaciones en Zn

    24/55

    Problema de factorizacin entera

    De acuerdo a su comportamiento computacional, tenemos

    diversos algoritmos los cuales son clasificados en dos tipos a

    seguir:

    Factorizacin de propsito especial

    En este tipo de factorizacin el tiempo de ejecucin de losalgoritmos dependen de las propiedades de los factores de n.

    Los algoritmos conocidos son:

    1. Algoritmo de divisin trial.

    2. Algoritmo de Rho Pollard

    3. Algoritmo de (p -1) Pollard.

    4. Algoritmo de curva elptica.

    24

  • 5/24/2018 Operaciones en Zn

    25/55

    Problema de factorizacin entera

    Factorizacin de propsito especial

    En este tipo de factorizacin el tiempo de

    ejecucin de los algoritmos dependen del

    tamao de n.

    1. Algoritmo de quadratic sieve.

    2. Algoritmo de number field sieve.

    25

  • 5/24/2018 Operaciones en Zn

    26/55

    El algoritmo de Rho Pollard

    El algoritmo de Rho Pollard es utilizado para hallar factores

    pequeos de cierto nmero compuesto. En efecto:Entrada: Un nmero entero n que no sea una potenciaprima.

    Salida : Factor no trivial d de na 2;

    b 2;

    PARA (i = 1, 2, . . .);a a2+ 1 mod n;

    b b2+ 1 mod n;

    b b2+ 1 mod n;

    d mcd(abs(ab), n);SI (1 < d < n)

    Retornar d;

    SI (d >= n)

    Retornar Sin exito;

    FIN PARA; 26

  • 5/24/2018 Operaciones en Zn

    27/55

    El algoritmo de Rho Pollard

    El algoritmo de Rho Pollard es utilizado para hallar factores

    pequeos de cierto nmero compuesto. En efecto:Entrada: Un nmero entero n que no sea una potenciaprima.

    Salida : Factor no trivial d de na 2;

    b 2;PARA (i = 1, 2, . . .);

    a a2+ 1 mod n;

    b b2+ 1 mod n;

    b b2+ 1 mod n;

    d mcd(abs(ab), n);SI (1 < d < n)

    Retornar d;

    SI (d >= n)

    Retornar Sin exito;

    FIN PARA; 27

    una potencia prima es una

    potencia entera y positiva de

    un nmero primo. Por

    ejemplo 5=5, 9=3 y 16=24

    son potencias primas,mientras que 6=23, 15=35

    y 36=6=23 no lo son....

  • 5/24/2018 Operaciones en Zn

    28/55

    El algoritmo de Rho Pollard

    Los algoritmos Rho Pollard y (p - 1) Pollard, creados en 1974 porJ.M. Pollard, tienen como caracterstica su lentitud para factorizarproblemas difciles, a menos que los nmeros a factorizar tenganpropiedades especiales.

    Ejemplo Sea n = 455459 un nmero entero, al aplicar el algoritmo se

    obtiene el factor 743. El otro factor se obtiene al dividir n entreel factor reportado por el algoritmo, es decir 613.

    Ejemplo Sea n = 8051 un nmero entero, el algoritmo reporta el factor no

    trivial 97. El otro factor es 83.

    28

  • 5/24/2018 Operaciones en Zn

    29/55

    El algoritmo Quadratic sieve

    El mtodo descrito mediante el algoritmo de

    Quadratic sieve creado por Carl Pomerance

    en 1981, hizo posible por primera vez

    factorizar nmeros de mas cien dgitos. Tuvogran suceso cuando factoriz un entero de

    129 dgitos, conocido como RSA-129 cuya

    factorizacin fue considerado como undescubrimiento por los creadores del RSA.

    29

  • 5/24/2018 Operaciones en Zn

    30/55

    El algoritmo Quadratic sieve

    30

  • 5/24/2018 Operaciones en Zn

    31/55

    El algoritmo Quadratic sieve

    31

  • 5/24/2018 Operaciones en Zn

    32/55

    El algoritmo Quadratic sieve

    32

  • 5/24/2018 Operaciones en Zn

    33/55

    El algoritmo Quadratic sieve

    El valor de b es llamado suave si se cumple que:

    En la actualidad el mejor algoritmo para factorizarnmeros enteros con mas de 115 dgitos es elnumber field sieve, que inicialmente fue propuestopor J.M. Pollard y mejorado posteriormente por

    Buhler, Lenstra y Pomerance. Su xito lo tuvocuando factoriz el nmero entero de 160 dgitos enel ao 2003, conocido como RSA-160.

    33

  • 5/24/2018 Operaciones en Zn

    34/55

    Residuo cuadrtico y Residuo no

    cuadrtico

    Definicin (residuo cuadrtico): Si n es un

    nmero primo impar, entonces a es un residuo

    cuadrtico de n, si el mcd(a,n) = 1 y lacongruencia x2 a(mod n) tiene solucin.

    Podemos deducir que si la congruencia

    x2a(mod n) no tiene solucin, entonces sedice que a no es residuo cuadrtico de n.

    34

  • 5/24/2018 Operaciones en Zn

    35/55

    Residuo cuadrtico y Residuo no

    cuadrticoEjemplo Sea n = 11. Entonces para determinar que enteros son residuos cuadrticos de 11,debemos computar los cuadrados de los nmeros enteros 1, 2, . . . , 10, es decir

    x2 a(mod m) =12 1(mod 11) x2a(mod m) =92 4(mod 11)x2 a(mod m) =22 4(mod 11) x2a(mod m) =102 1(mod 11)

    x2 a(mod m) =32 9(mod 11)x2 a(mod m) =42 5(mod 11)x2 a(mod m) =52 3(mod 11)

    x2 a(mod m) =62 3(mod 11)

    x2 a(mod m) =72 5(mod 11)x2 a(mod m) =82 9(mod 11)|

    35

  • 5/24/2018 Operaciones en Zn

    36/55

    Residuo cuadrtico y Residuo no

    cuadrtico

    Por lo tanto, los residuos cuadrticos son: 1, 3,

    4, 5, 9 y los residuos no cuadrticos son: 2, 6,

    7, 8, 10.

    Lema 3.22: Sean p un nmero primo impar,

    a un entero no divisible por p. Entonces la

    expresin x2 a(mod p) no tiene soluciones o

    tiene exactamente dos soluciones incongruentesmodulop.

    36

  • 5/24/2018 Operaciones en Zn

    37/55

    Residuo cuadrtico y Residuo no

    cuadrtico

    Teorema 3.23: Seap un nmero primo

    impar, entonces existen exactamente (p-1)/2

    residuos cuadrticos de p y (p-1)/2 residuos

    no cuadrticos de p entre los nmeros enteros1, 2, . . . , p - 1.

    37

  • 5/24/2018 Operaciones en Zn

    38/55

    Smbolo de Legendre

    Definicin: Sean p un nmero primo e

    impar, a un nmero entero no divisible por

    p. Entonces el smbolo de Legendre (

    ) se

    define por:

    (

    )

    38

    1 si a es residuo cuadrtico de p.

    -1 si a no es residuo cuadrtico de p.

  • 5/24/2018 Operaciones en Zn

    39/55

    Smbolo de Legendre

    39

  • 5/24/2018 Operaciones en Zn

    40/55

    Smbolo de Jacobi

    El smbolo de Jacobi es una generalizacin

    del smbolo de Legendre y es til para

    evaluar los smbolos de Legendre as como en

    la definicin de un tipo de nmeros llamadospseudoprimos.

    El siguiente algoritmo permite obtener el

    smbolo de Jacobi:

    40

  • 5/24/2018 Operaciones en Zn

    41/55

    Smbolo de Jacobi

    Algoritmo previo necesario

    Func_exp(x)

    cont=0

    Mientras (x mod 2 == 0) hacer

    x=x/2

    cont=cont+1

    Fin mientras

    retornar (cont)

    41

  • 5/24/2018 Operaciones en Zn

    42/55

    Smbolo de Jacobi

    42

  • 5/24/2018 Operaciones en Zn

    43/55

    Smbolo de Jacobi

    43

    FIN SI

    FIN SI

    FIN SI

  • 5/24/2018 Operaciones en Zn

    44/55

    Smbolo de Jacobi

    44

    FIN SI

    FIN SI

  • 5/24/2018 Operaciones en Zn

    45/55

    Smbolo de Jacobi

    Teorema 3.26: Existe un algoritmo de tiempo

    polinomial que computa el smbolo de Jacobi

    (

    ) , siempre que n es un nmero impar

    grande mayor que l y a es relativamente

    primo con n.

    45

  • 5/24/2018 Operaciones en Zn

    46/55

    Smbolo de Jacobi

    Aplique el algoritmo de Jacobi para hallar:

    1. (5

    23)

    2. (6

    21)

    3. (1001

    9907)

    46

  • 5/24/2018 Operaciones en Zn

    47/55

    Investigar: Kronecker symbol

    47

  • 5/24/2018 Operaciones en Zn

    48/55

    Problema de la raz cuadrada modulo n

    El problema de la raz cuadrada modulo n

    es muy usado en criptografa, donde para

    hallar la raz se debe tener en cuenta que un

    nmero entero n es primo o tal vezcompuesto. Si n es primo, entonces la raz

    cuadrada mdulo n es fcilmente obtenida,

    pero si n es un nmero compuesto entonceshallar tal raz es difcil ya que sus factores

    primos son desconocidos.

    48

    R d d d

  • 5/24/2018 Operaciones en Zn

    49/55

    Raz cuadrada cuando n es un

    nmero primo

    El siguiente algoritmo encuentra la raz

    cuadrada usando O((log p)4 ) operaciones bit:

    49

    FIN SI

    Algoritmo

    R d d d

  • 5/24/2018 Operaciones en Zn

    50/55

    Raz cuadrada cuando n es un

    nmero primo

    50

    Algoritmo

    R d d d

  • 5/24/2018 Operaciones en Zn

    51/55

    Raz cuadrada cuando n es un

    nmero primo

    51

    )

    Algoritmo

    //Usar algoritmo de exponenciacin

    R d d d

  • 5/24/2018 Operaciones en Zn

    52/55

    Raz cuadrada cuando n es un

    nmero primo

    Ejemplo Sean los nmeros p = 23 y a = 4. Entonces las

    races son r = 2.

    EjemploSean los nmeros enteros p = l0l y a = 80. Lasraces reportadas por el algoritmo anterior son r =79.

    Ejemplo Sean los nmeros p = 7 y a = 4. Entonces las

    races son r = 2.

    52

    R d d d

  • 5/24/2018 Operaciones en Zn

    53/55

    Raz cuadrada cuando n es un

    nmero compuesto

    Para este caso se considera a n=p*q, donde p

    y q son dos nmeros primos distintos e

    impares.

    El siguiente algoritmo, efecta O((log p)3 )

    operaciones bit, permite hallar races

    modulo n cuando se conocen los primosp y

    q, respectivamente:

    53

    R d d d

  • 5/24/2018 Operaciones en Zn

    54/55

    Raz cuadrada cuando n es un

    nmero compuesto

    54

    Algoritmo

    R d d d

  • 5/24/2018 Operaciones en Zn

    55/55

    Raz cuadrada cuando n es un

    nmero compuesto

    Ejemplo

    Sean los nmeros p = 77 y a = 4. Entonces

    las races sonx = 68 , y = 2.

    Ejemplo

    Sean los nmeros p = 91 y a = 9. Entonces

    las races sonx = 10 , y = 3.


Recommended