PDF de programación - ESTUDIO SOBRE LA COMPLEMENTARIEDAD DEL PAR DE CLAVES RSA Y USO DE HERRAMIENTAS DE ACCESO PÚBLICO

Imágen de pdf ESTUDIO SOBRE LA COMPLEMENTARIEDAD DEL PAR DE CLAVES RSA Y USO DE  HERRAMIENTAS DE ACCESO PÚBLICO

ESTUDIO SOBRE LA COMPLEMENTARIEDAD DEL PAR DE CLAVES RSA Y USO DE HERRAMIENTAS DE ACCESO PÚBLICOgráfica de visualizaciones

Actualizado el 16 de Junio del 2017 (Publicado el 9 de Mayo del 2017)
1.113 visualizaciones desde el 9 de Mayo del 2017
118,0 KB
6 paginas
Creado hace 10a (17/12/2013)
ESTUDIO SOBRE LA COMPLEMENTARIEDAD DEL PAR DE CLAVES RSA Y USO DE 

HERRAMIENTAS DE ACCESO PÚBLICO 

 

En  el  criptosistema  asimétrico  RSA  el  cálculo  del  par  de  claves  (pública/privada)  se  basa  en 
funciones  aritméticas  modulares  y  en  la  generación  de  números  primos  aleatorios  de  una 
longitud suficiente (hoy en día se recomienda superior a 1024 bits) que permite la obtención 
de  parámetros robustos que garantizan la fortaleza de las claves generadas. 
 
El  algoritmo  RSA  establece  la  necesidad  de  cálculo  del  módulo  “n”  y  la  función  phi(n),  para 
determinar el valor del exponente de clave pública "e" (1<e< phi(n)) y del exponente de clave 
privada "d" (d= 1/e mod phi(n)). En este sentido, recordar que el par (e,n) y (d,n) permite el 
cifrado y descifrado de datos basados en el criptosistema asimétrico de clave pública RSA.  
 
Con  este  trabajo  se  pretende  demostrar 
la  complementariedad  del  par  de  claves 
(público/privada) generadas con el algoritmo RSA, a través de herramientas de acceso público, 
y cuyos resultados han sido contrastados con cálculos de funciones aritméticos modulares.    
 
Para  ello,  mediante  OpenSSL  (versión  1.0.1e)  [1]1 se  ha  obtenido  un  par  de  claves  RSA  de 
longitud 2048 bits a través de dos números primos aleatorios (de 1024 bits cada uno) y módulo 
“n”.  A  continuación  se  ha  convertido  los  números  primos  “p”  y  “q”  de  numeración 
hexadecimal  a  decimal,  a  través  de  una  aplicación  descargada  en  la  página  web  de  la  Red 
temática de criptografía y seguridad de la información (Criptored)[22].   
 

• openssl genrsa ‐out Kv_2048 2048 

(longitud del módulo 2048 bit) (“e” es 65537 (0x10001)) 
 

• openssl rsa ‐in kv_2048 ‐text ‐out p_q_n.txt 

(Módulo  “n”;  exponente  de  clave  pública  “e”;  exponente  de  clave  privada  "d", 
números primos “p” y “q”) 
 

Private‐Key: (2048 bit) 
modulus: 
    00:b6:a9:3c:fa:60:80:1b:1b:9f:4a:a4:d1:7d:34: 
    c0:24:5b:a9:21:5a:fc:91:99:f0:2c:ee:77:db:fe: 
    b4:22:6b:a7:94:c3:03:68:3a:73:62:ff:f7:8f:ec: 
    4c:46:e7:cf:43:13:d0:81:9a:6c:f0:3e:6b:16:5e: 
    97:29:59:e6:d2:6c:46:da:8e:68:76:d1:36:92:72: 
    21:3e:37:25:05:8b:14:6f:d7:5a:ea:2e:a4:01:6b: 
    f3:11:61:c7:3b:25:da:f5:a2:fa:47:9a:01:f2:94: 
    47:55:89:ee:fc:63:76:46:f9:0c:a4:71:ba:6e:a5: 
    be:fc:a3:2c:ec:37:bc:10:c3:b6:68:89:14:7a:34: 
    38:70:fd:cc:32:58:15:e4:85:64:2d:ce:45:2d:e9: 
    11:f5:70:2d:8c:79:a5:09:0e:16:df:90:b7:68:74: 
    cb:49:a9:30:24:26:9d:0b:64:34:aa:03:df:91:e5: 
    f9:b9:62:db:c4:1e:3c:21:6e:d5:53:23:6d:8f:24: 
    20:5f:24:95:fc:8b:33:00:84:95:5d:f1:1c:62:fd: 
    40:33:e0:5d:3e:e1:c3:a0:48:49:75:d2:78:65:de: 

                                                            
1 http://slproweb.com/products/Win32OpenSSL.html 
 
2 http://www.criptored.upm.es/software/sw_m051b.htm 
 

 

CGB, diciembre de 2013 1 

    e2:11:a0:1b:c2:5d:1c:30:87:55:17:f2:ff:17:14: 
    a4:0e:d3:73:fc:51:32:8f:6a:36:2e:dc:b8:a2:37: 
    a8:db 
publicExponent: 65537 (0x10001) 
privateExponent: 
    15:e3:e6:48:e3:33:b7:0b:f2:65:11:a7:81:67:c6: 
    f7:14:7d:0a:60:4b:10:6f:f0:56:92:25:8f:19:d1: 
    20:a6:e2:28:73:ce:7e:b9:32:86:d4:c2:28:5f:5b: 
    2c:cc:2f:0c:8c:dd:5a:0a:d5:af:5c:eb:9c:7c:ad: 
    84:e9:1f:3e:6c:77:79:4d:c3:bb:29:8b:6e:b5:7a: 
    c2:67:fd:69:d2:a7:1a:58:26:af:15:f3:d5:af:c8: 
    2b:77:1a:57:3e:4c:25:4f:e8:ca:97:ec:4f:d3:f1: 
    50:90:fd:31:06:02:70:b2:fc:0e:e1:0a:44:a4:5c: 
    65:0e:71:1d:c5:f8:25:d1:fa:88:35:d1:cc:d6:91: 
    f1:40:79:08:b0:bf:e4:6e:77:a2:16:3c:35:5e:1f: 
    b6:6f:b8:37:9d:c8:37:23:e1:42:70:b2:79:a0:41: 
    fe:7f:bc:62:11:3d:10:01:c7:df:05:02:e4:13:00: 
    24:5c:81:24:47:53:1a:36:78:54:d4:ea:85:53:05: 
    3a:f6:35:ac:3a:c7:23:76:ef:19:99:8e:65:56:28: 
    74:cc:20:26:53:e9:ed:db:fc:07:96:3d:b0:ad:86: 
    81:a5:9b:ce:84:85:25:37:6c:5a:f5:e6:09:82:a8: 
    b9:6f:16:c7:72:94:b2:84:78:e8:58:8e:b2:fe:5e: 
    b1 
prime1: 
    00:ec:f1:5b:50:d5:ac:ce:e8:2f:9b:d2:5b:2d:c8: 
    47:61:f1:03:5a:5c:0f:3a:20:e8:57:d3:8a:a4:9a: 
    30:a7:41:3f:e6:e3:e6:59:c2:a7:35:4d:64:1c:df: 
    5d:19:5f:3f:4f:a7:75:d6:38:70:02:7d:d7:0f:fb: 
    14:ed:5b:ba:d1:85:35:a3:12:7c:72:1b:fb:8d:fb: 
    ec:3b:cd:38:47:0c:99:df:4e:05:88:80:e8:d3:7b: 
    ae:34:7f:df:9d:6b:15:4c:48:2b:6c:4f:af:86:8a: 
    c4:3a:02:3b:10:80:36:fc:61:ca:c7:49:31:82:df: 
    38:ac:a4:36:12:d6:25:97:9d 
prime2: 
    00:c5:5a:39:1b:5d:d9:ea:bf:07:9c:9d:fd:8a:22: 
    29:aa:dd:7d:54:f6:26:99:f2:67:ef:8f:25:a2:db: 
    13:a9:2b:a5:fc:d6:15:b9:78:de:d0:57:74:e3:59: 
    a2:11:07:fc:1b:52:39:3d:ed:24:79:6b:8d:24:25: 
    84:85:bf:90:c9:99:3b:c9:4f:ac:7c:b7:69:66:1a: 
    1a:f8:bd:bf:28:2a:1b:38:62:48:73:02:07:45:7b: 
    d4:1a:b6:1e:7d:a9:c8:3e:22:3d:8d:7a:e1:9d:ef: 
    68:70:dc:ab:51:5e:f9:be:7d:41:83:5a:18:72:0c: 
    55:69:0c:ea:de:01:5c:64:d7 
...............................................................................................................................
............... 



 
 
java ‐jar dec2hex.jar ‐h (p_hex) 
(Número primo  “p” en formato  decimal) 
 

1663868922766420291601757447382417700905405873603249617500060865957846407219
7845291989619881467140916072733646302943104717141378277818334413779127726648

 

CGB, diciembre de 2013 2 

2641971875683448307454578044520230508636048579933967573345784834054024785323
1329497427457539419156086245154433622782548675924040726192488890099855598858
79197 



 
 java ‐jar dec2hex.jar ‐h (q_hex) 
(Número primo “q” en formato  decimal) 
 

1385855920071548060865056649662826175846965651420974580660012875858722177247
6553205575500803077910784394413497676176780061931473960794164894425441640254
5694471933056428024641800379265489326835982895994438670058566869211891167065
1284492370798491788414212387840480150123421353922754937460549808464647971801
91959 

 

Por  otro  lado,  se  ha  utilizado  la  herramienta  CrypTool  (versión  1.4.31)[33]  con  el  objeto  de 
confirmar el módulo “n” obtenido mediante OpenSSL y se ha calculado el valor de la función 
phi(n) necesarias para la obtención de exponente de la clave privada "d".  
 
Como se puede observar el valor obtenido con la herramienta CrypTool (resultado RSA Módulo 
N) coincide con el cálculo obtenido del módulo “n” con OpenSSL: 
 
2305882596838912933281989921674167335029805900863459242659792491517342377191
6442454817000430664987631045407177561664734832996820388186584380631798694777
5842218329070097988459760388218349560604325828269875263492552593675906716050
2866034746296894193289856192474897345116992540209397582078172279390928305282
4724695058062900670418358711967613205895374029224889528707274056434631725979
2430014789671528251970213932814424494358658792577565180853881904059757173167
9021745934599976483257418981555785107289886046245654259097277663454310932168
0099605182605014856685515205312055104345339933549915721203941266006252676397
944776923 
 
El valor obtenido con CrypTool de phi(n) es: 
 
2305882596838912933281989921674167335029805900863459242659792491517342377191
6442454817000430664987631045407177561664734832996820388186584380631798694777
5842218329070097988459760388218349560604325828269875263492552593675906716050
2866034746296894193289856192474897345116992540209397582078172279390928305282
4724390085578616873583112030557908681507698792072387106287458049060450069120
7962574939915016183515708762767709779960746804099657895630020654128936716231
2118912290219102495624209343713406535306338843098061418472937228283984340572
7711343783625189253564758175448755612968049336546931041637575962136396226040
878705768 
 
Y el resultado del exponente de clave privada “d”, también en CrypTool es: 
 
2763385860746268852403489455548607694786776255455942275638190675248669763715
6375641261077159839909189348097711608605036449388441236067783652819345857879
2356193105652768604202657748915409226694291019612066515017548571147683193899
4691523398601676456673105350519224826975427531135787205645965650294696264657
9090492352737302123246679263317181864376072495374601878752719153656831231651
5455096140820076766610064028377495553933153089002962160654009524013712707215
                                                            
3 http://www.cryptool.org/en/ 

 

CGB, diciembre de 2013 3 

7618129778198701649546445547633412412575489459952725083645337594174651419939
6591985302438658528388179304816291039298573247057325846624276608117438387372
79114929 
 
Para contrastar el valor obtenido del exponente "d" (con CrypTool), se descarga una aplicación 
(bd_funcs) [44] que permite realizar cálculos aritméticos modulares, en concreto el cálculo del 
inverso modular (a‐1 mod n).  En este sentido, recordar que en el algoritmo RSA, d=1/e mod 
phi(n). 
 

• Bd_modinv 65537 phi(n), con objeto de calcular el exponente de clave privada “d”: 

 
2763385860746268852403489455548607694786776255455942275638190675248669763715
6375641261077159839909189348097711608605036449388441236067783652819345857879
2356193105652768604202657748915409226694291019612066515017548571147683193899
4691523398601676456673105350519224826975427531135787205645965650294696264657
9090492352737302123246679263317181864376072495374601878752719153656831231651
5455096140820076766610064028377495553933153089002962160654009524013712707215
7618129778198701649546445547633412412575489459952725083645337594174651419939
6591985302438658528388179304816291039298573247057325846624276608117438387372
79114929 
 
Como  puede  comprobarse,  el  resultado  obtenido  de  exponente  de  clave  privada  "d"  (en 
CrypTool) es idéntico que el calculado a través de función aritmética modular con bd_funcs, 
por lo que se puede concluir que el resultado obtenido con la herramienta CrypTool es fruto 
de la aplicación de las funciones matemáticas de aritmética modular del algoritmo RSA.  
 
Por  último,  para  demostrar  la  complementariedad  del  par  de  claves  (público/privada),  se 
procede con CrypTool al cifrado del texto "hola" (con relleno en formato decimal) y descifrado 
mediante la función
  • Links de descarga
http://lwp-l.com/pdf3462

Comentarios de: ESTUDIO SOBRE LA COMPLEMENTARIEDAD DEL PAR DE CLAVES RSA Y USO DE HERRAMIENTAS DE ACCESO PÚBLICO (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad