06 set 2010

Pràctiques RSA amb OpenSSL

No Comments Informàtica

Aquest post és un breu resum esque­mà­tic de les coman­des bàsi­ques d’OpenSSL per a tre­ba­llar amb crip­to­gra­fia de clau pública RSA.

Generar un parell de claus RSA de 1024 bits (pri­vada xifrada amb DES3 + pública)

1
2
openssl genrsa -des3 -out cert.pem 1024
openssl rsa -in cert.pem -pubout -out pub.pem

El docu­ment cert.pem és un cer­ti­fi­cat que conté el parell de claus, men­tre que pub.pem conté només la clau pública (per a passar-​​la a altres usuaris).

Per xifrar tenim dues opci­ons (la pri­mera és la més lògica, con­si­de­rant que nor­mal­ment xifra­rem per a un altre usu­ari usant la seva clau pública):

1
2
openssl rsautl -in doc.txt -out doc.rsa -inkey pub.pem -pubin -encrypt
openssl rsautl -in doc.txt -out doc.rsa -inkey cert.pem -cer­tin -encrypt

Per des­xi­frar:
1
openssl rsautl -in doc.rsa -out doc.txt -inkey cert.pem -decrypt

Per sig­nar:
1
openssl dgst -sign cert.pem -out doc.sign doc.txt

Per veri­fi­car la sig­na­tura:
1
openssl dgst -verify pub.pem -sig­na­ture doc.sign doc.txt

{lang: «ca»}

02 set 2010

Xifrat senzill RSA amb Excel 2007

No Comments Formació

Tot pre­pa­rant una ses­sió intro­duc­tò­ria sobre xifratge (crip­to­gra­fia) per a un curs de segu­re­tat infor­mà­tica se m’ha acu­dit que seria molt més pràc­tic, àgil i fàcil expli­car (i per tant enten­dre) la crip­to­gra­fia de clau pública amb un exem­ple sen­zill de gene­ra­ció de claus, xifratge i des­xi­fratge. De tot ple­gat me n’ha sor­tit un full de càl­cul que –tot i ésser molt millo­ra­ble– penso que com­pleix el seu pro­pò­sit, sense cap neces­si­tat d’entrar (ni conèi­xer) en arit­mè­tica modu­lar i mate­mà­tica dis­creta.

Permet que l’alumne escu­lli els nom­bres p i q d’entre una llista amb els 1.000 nom­bres pri­mers i triï quin serà l’exponent e que li farà de clau pública. El sis­tema cal­cula auto­mà­ti­ca­ment la clau pri­vada cor­res­po­nent i ofe­reix la pos­si­bi­li­tat de xifrar una paraula de 5 lle­tres i desxifrar-​​la poste­ri­or­ment. Com que la fina­li­tat és pura­ment docent i il·lustrativa (i tam­poc em volia com­pli­car la vida) no he imple­men­tat cap tèc­nica de pad­ding scheme per a paliar les vul­ne­ra­bi­li­tats inhe­rents al crip­to­sis­tema RSA cau­sa­des prin­ci­pal­ment per la falta de com­po­nents ale­a­to­ris en el pro­cés de xifratge. Es tracta que els alum­nes enten­guin la base, fer-​​los veure que la rea­li­tat és lleu­ge­ra­ment dife­rent i que el pro­cés pot aplicar-​​se de diver­ses formes…

El docu­ment inclou algu­nes fun­ci­ons que he hagut de crear per a tas­ques tan diver­ses com com­pro­var si dos enters són copri­mers o rea­lit­zar una potèn­cia modu­lar, entre d’altres.

xifratRSA.xlsm [Excel 2007 amb macros, 61KB]

Per a qual­se­vol con­sulta, sug­ge­ri­ment o noti­fi­ca­ció d’errades uti­lit­zeu els comen­ta­ris, si us plau!

{lang: «ca»}