![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| | ||||
| ||||
| |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| |||
| Hola, creo que el algoritmo RSA y su construccion ha quedado bastante claro con los post anteriores, pero creo que el calculo de la inversa de un numero en un cuerpo finito Zn no ha quedado del todo claro. El invero de un numero a, en Zn, es el numero x tal que: a*x = 1 (modulo n) No siempre será posible calcular el inverso de un numero en Zn, en concreto, para que el inverso exista, a y n deben ser coprimos, es decir mcd(a,n)=1 Se puede demostrar que existen siempre dos numero, u,v tal que: d= x*u + y*v donde: d=mcd(x,y) y para calcular estos números se utiliza el Algoritmo extendido de Euclides: Algoritmo extendido de Euclides (pseudocodigo) ---------------------------------------------- ENTRADA: x,y que pertenece a Z SALIDA: (d,u,v); tal que d=x*u + y*v VARIABLES: enteros: q,r,a,b,c,d,a0,b0; 1. if (y=0) then return (x,1,0) else do{ q =x div y ; // div calcula el cociente de la division entera r = x mod y; // mod calcula el resto de la division entera a=1; b=0; c=0; d=1; } 2. while r<>0 do{ x=y; y=r; a0=a; b0=b; a=c; b=d; c=a0-qc; d=b0-qd; q=x div y; r=x mod y; } 3. return (y,c,d); // (d,u,v) ---------------------------------------------- Este algoritmo se puede utilizar para realizar el calculo de los inversos. Para terminar mostrare un ejemplo: Calcular el inverso de 89 en Z-453 | x | y | q | r | a | b | c | d | |----|----|---|---|---|---|---|---| |453 | 89 | 5 | 8 | 1 | 0 | 0 | 1 | | 89 | 8 |11 | 1 | 0 | 1 | 1 |-5 | | 8 | 1 | 8 | 0 | 1 |-5 |-11|56 | (y,c,d) --> (d,u,v) --> 1 = 453*(-11) + 89*(56) Por tanto, 56 es el inverso de 89 en Z-453; es decir; 89*56 = 1 (modulo 453) Espero que haya quedado claro ![]() Saludos |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| No puede ser más OnTopic | Roberto | Newsgroup es.charla.educacion.educ-fisica | 8 | 26-08-2008 18:10:20 |
| OnTopic, El Pais de hoy | F r e e | Newsgroup es.charla.moteros | 10 | 22-05-2008 23:47:27 |
| Matriz simetrica | f_mondego@hotmail.com | Newsgroup es.ciencia.matematicas | 6 | 14-12-2007 18:13:56 |
| salida a nivel bajo del 741 con alimentacion no simétrica. | Arqus | Newsgroup es.ciencia.electronica | 144 | 07-11-2007 23:50:14 |
| Criptografia | Samuel | Newsgroup microsoft.public.es.dotnet.framework | 4 | 22-03-2006 03:02:56 |