Criptografia RSA i Sobre Digital: Compartició Segura de Clau Simètrica
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en catalán con un tamaño de 7,15 KB
Criptografia RSA i Sobre Digital: Cas Pràctic
Descripció del Problema
L’Alícia i en Bruno volen utilitzar la tècnica del sobre digital per compartir una clau simètrica i intercanviar-se missatges. Per fer-ho, utilitzen el criptosistema RSA, on l’Alícia té com a clau pública PKA = (nA, eA) = (46927, 39423)
, com a clau secreta SKA = (dA) = (26767)
, i la clau simètrica que vol compartir és k = 13278
. La clau pública d'en Bruno és PKB = (nB, eB) = (17583, 3291)
i la seva clau secreta és SKB = (dB) = (11371)
. Les claus públiques estan publicades en un espai accessible per a qualsevol persona.
Preguntes
Motiu de l'ús del Sobre Digital i RSA
Per quin motiu utilitzen el sobre digital en comptes d’intercanviar-se els missatges xifrats utilitzant directament les claus RSA? Per altra banda, per què necessiten utilitzar RSA i no poden utilitzar directament un algorisme de clau simètrica?
Passos per a la Compartició de Clau i Intercanvi de Missatges
En aquest cas, l’Alícia enviarà el missatge amb la clau simètrica
k
xifrat i signat utilitzant RSA. Per fer la signatura, utilitzarà una funció hash que, d'un valorx
escrit comx1x2x3...xn
en valors decimals, retornax1x2xn
; per exempleh(12345) = 125
. Explica els passos que donen l’Alícia i en Bruno per a la compartició de la clau simètrica, i com poden intercanviar-se missatges amb aquesta clau. Pots fer aquesta explicació indicant quines operacions de xifrar (E()
) i desxifrar (D()
) s’utilitzen i amb quines claus, sense haver de mostrar les fórmules matemàtiques.Càlculs de Xifrat i Signatura de l'Alícia
Mostra els càlculs de com l’Alícia crea el missatge xifrat
c
que conté la clau simètrica i la signaturas
.Càlculs de Desxifrat i Verificació d'en Bruno
Mostra els càlculs de com en Bruno, a partir de
(c, s)
, obték
i verifica la signatura.Atac de Col·lisió amb Funció Hash Dèbil
La Claudia intercepta els valors
(c, s)
que l’Alícia envia a en Bruno. Com es pot imaginar, la funció hash proposada no compleix amb la propietat d’estar lliure de col·lisions que ha de tenir tota bona funció hash. Primer, busca un missatge que generi una col·lisió. Després, descriu breument com la Claudia podria enviar un missatge(c', s)
a en Bruno fent-se passar per l’Alícia.Error en la Generació de Claus RSA d'en Bruno
En aquest escenari, la Claudia s’ha adonat que un dels nombres primers triats per en Bruno per calcular
n
és3
. Quin requeriment a l’hora de generar claus RSA no ha seguit en Bruno?Càlcul de la Clau Privada d'en Bruno per la Claudia
A causa d'aquest error, la Claudia podrà calcular la clau privada d’en Bruno a partir de la seva clau pública. Explica i calcula com la Claudia trobarà la clau privada d’en Bruno.
Solucions
Motiu de l'ús del Sobre Digital i RSA
El xifrat de missatges directament amb RSA seria molt més lent, ja que és un algorisme de clau asimètrica. Per això, s'utilitza el sobre digital, que combina la seguretat de la criptografia asimètrica per a la distribució de la clau simètrica amb l'eficiència de la criptografia simètrica per al xifrat dels missatges. No podem utilitzar directament l’algorisme de clau simètrica, ja que, prèviament, cal tenir una clau compartida distribuïda per un canal segur. RSA s'utilitza per establir aquesta clau de manera segura.
Passos per a la Compartició de Clau i Intercanvi de Missatges
- L’Alícia xifra la clau simètrica amb la clau pública d’en Bruno:
c = EPKB(k)
. - L’Alícia calcula la signatura digital utilitzant la seva clau privada sobre el valor hash de la clau simètrica:
s = DSKA(h(k)) = DSKA(138)
. - L’Alícia envia
(c, s)
a en Bruno per un canal insegur. - En Bruno desxifra el missatge utilitzant la seva clau privada:
k = DSKB(c)
. - En Bruno verifica la signatura digital amb la clau pública de l’Alícia comparant el resultat amb el hash de la clau que acaba d’obtenir:
EPKA(s) = 138 ?= h(k)
. Sih(k) = 138
, aleshores en Bruno verifica la signatura. - L’Alícia i en Bruno poden intercanviar-se missatges mitjançant criptografia simètrica: xifrant amb
Ek(m)
i desxifrant ambDk(m)
.
- L’Alícia xifra la clau simètrica amb la clau pública d’en Bruno:
Càlculs de Xifrat i Signatura de l'Alícia
c = EPKB(k) = keB mod nB = 132783291 mod 17583 = 13494
.s = DSKA(138) = 138dA mod nA = 13826767 mod 46927 = 2326
.Càlculs de Desxifrat i Verificació d'en Bruno
k = DSKB(c) = cdB mod nB = 1349411371 mod 17583 = 13278
.h(13278) = 138 ?= EPKA(s) = seA mod nA = 232639423 mod 46927 = 138
.Per tant, la signatura es verifica.
Atac de Col·lisió amb Funció Hash Dèbil
Un missatge que genera una col·lisió és
1308
, ja queh(1308) = 138
. Per tant, un atacant que tingui accés als valors(c, s)
enviats per l’Alícia, podria crear la tupla(c', s')
, onc' = EPKB(1308)
is' = s
, i podria enganyar en Bruno fent-li creure que el missatgec'
ha estat creat per l'Alícia.Error en la Generació de Claus RSA d'en Bruno
Per calcular
n
, és necessari triar dos nombres primers,p
iq
, que siguin grans i de mida semblant. En Bruno no ha seguit el requeriment de triar nombres primers grans, ja que3
és un nombre molt petit.Càlcul de la Clau Privada d'en Bruno per la Claudia
En conèixer un dels factors primers (
p = 3
), la Claudia pot calcular l'altre:n = 17583
p = 3
q = n / p = 17583 / 3 = 5861
Després, pot calcular la funció totient d'Euler
φ(n)
:φ(n) = (p-1) * (q-1) = (3-1) * (5861-1) = 2 * 5860 = 11720
Sabem que la clau privada
d
és l'invers modular de la clau públicae
mòdulφ(n)
, és a dir,e * d ≡ 1 (mod φ(n))
. La clau pública d'en Bruno éseB = 3291
.Per tant,
d = e-1 mod φ(n) = 3291-1 mod 11720 = 11371
.Així, la Claudia troba la clau privada d'en Bruno:
dB = 11371
.