Distribuir contenido Informática y Tecnología

Turla, un potente troyano para Linux

Barrapunto - 9 December 2014 - 5:06pm
Un pobrecito hablador nos cuenta: «Investigadores de Kapersky y Symantec han descubierto un troyano extremadamente discreto, imposible de detectar mediante el comando netstat y que puede ser ejecutado por un usuario sin privilegios denominado Turla. Al parecer se ha estado usando durante, al menos, cuatro años para espiar a gobiernos, embajadas, instituciones militares y compañías farmacéuticas por igual en cerca de medio centenar de países. El troyano tiene capacidad de comunicarse con los servidores bajo el control de los atacantes, interceptar datos locales y ejecutar funciones sin necesidad de privilegios de administrador. No se descarta que puedan surgir descubrimientos de malware semejantes a medida que avance la investigación. ¿Y tú, ya has instalado un antivirus en tu Linux para buscar troyanos ocultos?»

CryptoFlash (Hugo Scolnik)

Foros: 

El día de hoy, leyendo el diario me encontré con esta nota, en la que se entrevistaba a Hugo Scolnik. En la misma nombra, entre otras cosas, un algoritmo que parece ser de autoría propia llamado "CryptoFlash". Buscando un poco más de información terminé en la página de la empresa que él dirige y sólo pude hallar una descripción un tanto vaga de su funcionamiento y características...

"CRYPTOFLASH 1024-bits. Se trata de un encriptor simétrico de altísima velocidad operativa desarrollado en nuestro laboratorio, actualmente el más veloz del mercado mundial – ver competencia AES/NIST/benchmark en nuestro web site - (7 ciclos CPU INTEL/byte), [...] En esencia se trata de un Autómata Celular, de 1024 sitios en un anillo unidimensional, binario, finito y de tipo caótico (Clase III de Wolfram). Opera a altísima velocidad generando secuencias seudoaleatorias que son imposibles de predecir y con las propiedades matemáticas de irreductibilidad computacional e irreversibilidad. [...] La secuencia seudoaleatoria es generada por una clave (semilla) de 1024-bits (el estado inicial del anillo) y se usa bit a bit como cifrador de flujo tipo Vernam, generando tantos bits como requiera el documento o dato a encriptar. En el extremo opuesto se vuelve a generar exactamente esa secuencia (lógicamente usando la misma clave o semilla) y así se recupera la información original. Las propiedades estadísticas y la entropía residual medida por el Algoritmo Universal de Seudoaleatoriedad de Maurer son absolutamente satisfactorias."

Incluye una referencia a un paper de Wolfram,S., “Cryptography with Cellular Automata”, CRYPTO’85, e indica además
"Desde el punto criptográfico, no solo es conveniente su velocidad sino que ha sido criptoanalizado (sin exito) y se han podido potenciar aquellos aspectos que podrían abrir una vulnerabilidad algebraica. Nosotros hemos perfeccionado la idea original de Wolfram y por eso disponemos de un cifrador que no sólo es el mas rápido del mercado sino altamente seguro."

No pude encontrar un paper de Scolnik en el que se expongan las mejoras realizadas sobre el algoritmo original, así como los datos de quienes lo criptoanalizaron, y sus comentarios al respecto. Tampoco hallé una implementación de referencia del mismo, aunque en el sitio existe un desafío: "Tenemos la suficiente confianza en nuestro producto como para haber generado un desafío público de U$S 10.000 al primer criptoanalista que logre quebrar un archivo de texto encriptado con CryptoFlash.".

Quería saber si alguien ha tenido la oportunidad de conocer más al respecto, o si conocen algún lugar donde se pueda hallar más información sobre el mismo.

Saludos-

La Comunidad de Madrid gastará 20 millones de euros en software de Oracle

Barrapunto - 8 December 2014 - 5:22pm
Un pobrecito hablador nos cuenta: «La Comunidad de Madrid gastará 20 millones de euros en cuatro años en compra de licencias del software de Oracle (bases de datos, Weblogic, ...) para la administración regional de la Comunidad de Madrid y su correspondiente soporte de fabricante. Según la noticia de APISCAM el gasto aprobado ahora supone un notable incremento sobre los 3 millones por año que gastaba en años anteriores en software de Oracle en la Comunidad de Madrid. Seguramente, son de la máxima importancia los aplicativos software de la Comunidad de Madrid a los que tiene que dar soporte el software base de Oracle (de base de datos y de servidores de aplicaciones), pero ... ¿está justificada para el volumen de una Comunidad Autónoma como Madrid semejante gasto en licencias y soporte de software de base privativo? ¿Podría realmente reducirse el coste manteniendo -o incrementando- la eficiencia utilizando para la misma necesidad al menos una parte en software libre y soporte por otros (empresas tecnológicas locales, equipos propios,etc)? El contrato, como todos los de ámbito regional de la administración de la Comunidad Autónoma de Madrid, lo gestiona su organismo corporativo de informática, la recientemente famosa Agencia de Informática y Comunicaciones de la CAM, por haberse visto implicada en la trama de corrupción de la Operación Púnica, con detención de su Consejero-Delegado incluida.» (Actualización -MaGaO- en 2014/12/09: el contrato es por cuatro años)

OMELETTE-AUX-BITS (Versión Zombie)

Foros: 

Por Agustín

El apoyo recibido por los compañeros de Kriptópolis me ha animado a proponeros una versión reforzada de la putrefacta tortilla de otrora. Reconozco que puede ser un momento inoportuno, ya que los analistas están enfrascados con MPE y WHEATSTONE. Pero como percibo cierto atasco en esas tareas, a lo mejor esto puede distraerlos.

Como recordaréis, la Omelette original se basaba en desordenar los bloques de 160 bits correspondientes a cada línea de 32 caracteres del texto plano. Para ello se hacía un uso patatero de los caracteres de la clave, lo que hacía que la entropía fuera poca, y que muchos bits quedaran sin moverse. Eso facilitó las cosas a nuestros genios, como sqrmatrix y Llamamex, que fue quien finalmente deshizo el batido recuperando el huevo original. Who else?

Bueno, pues esta tortilla es básicamente igual a la primera, salvo por dos características:

1. Los bloques son de 80 caracteres, es decir, de 400 bits
2. La reordenación (desordenamiento) de la ristra de bits es más completa, intercambiando los bits de sitio, eligiendo al azar un par de ellos cada vez, hasta que todos han sido movidos. Naturalmente, a veces ambos bits son iguales, con lo que no se consigue nada; pero espero que el desorden sea ahora más respetable

Se parte del alfabeto estándar de 32 caracteres

ABCDEFGHIJKLMNÑOPQRSTUVWXYZ_.,:;

que también se desordena UNA SOLA VEZ

Toda la aleatoriedd viene de la función random nativa del lenguaje utilizado, inicializada con una semilla que se obtiene de la clave. Para ello he utilizado una función-resumen casera, descrita por la fórmula

H = Σ (c[i] – c[i+1])*c[i+2]

donde c[*] representa el valor ascii del carácter correspondiente

Si queda una cola de 2 caracteres, se añade su diferencia, y si queda una cola de 1 solo carácter, se suma.

Todo esto es para asociar la clave a un número, que será la semilla para la secuencia pseudoaleatoria,

La clave no juega ningún otro papel, ni tipo Vigénere, ni mediante XOR ni ninguna otra complicación. Como la otra vez, tan solo “chac, chac, chac”, y ya está.

De modo que el proceso de cifrado consiste en:

1. Elegir la clave
2. Obtener el número asociado mediante la función resumen, que se usa como semilla para la función random
3. Obtener el alfabeto desordenado
4. Asignar a cada símbolo un código binario de 5 bits, desde 00000 hasta 11111
5. Tomar los caracteres del texto plano de 80 en 80
6. Codificarlos con los números binarios, para convertirlos en bloques de 400 bits
7. Ir eligiendo al azar pares de bits, e intercambiar sus posiciones. Se usa para ello la función random, y una tabla de índices de 1 a 400, de donde se eliminan los ya utilizados, para asegurarse de que todos los bits se han movido
8. Agrupar los bits del bloque desordenado de 5 en 5, para obtener los códigos binarios
9. Asociar a cada grupo de 5 bits su carácter correspondiente en el alfabeto desordenado
10. Volver a 5 hasta consumir el fichero original

Me tengo que ir, porque ya oigo las voces de los Hombres de Blanco que me están buscando.

Agustín.

Algo de bondad

Siempre que uno pare un engendro tiene la impresión de que es irrompible, aunque luego vienen otros que tienen ideas que uno no pudo concebir, y encuentran la llave para abrirlo. Mi impresión es que esta tortilla es mortal, porque las permutaciones de bits nos dan un valor de 400! por cada línea. Y como sabéis, creo que los retos han de ser asequibles, aunque no facilones. Así que me creo en la obligación de facilitar un “Ataque por texto conocido”. Así como las comunicaciones alemanas y japonesas ofrecían la vulnerabilidad de sus previsibles encabezamientos, pues yo os digo que en algún lugar del texto plano he intercalado el fragmento:

A_MIS_QUERIDOS_COMPAÑEROS_DE_KRIPTOPOLIS

y en otro, éste:

CON_MI_MAS_SINCERO_AGRADECIMIENTO

He aquí el fichero cifrado:

:RG:BUKPZ:QD:MBRUNDQLBDUINAZJJU_;:MUOA,JLHZK_.QAZ,,NYV:GA.AHBBDWBOTTZ:MNOMZVUXJ; _T_NWIVQ_DK;BWVJR;F;G;_BZ_DR:TRVVBAAHIKEÑ:ÑHAH;DAEP_OVETXXPAX_ZMHG:K:B:GLZQESVCG BLUNYQC:OIHWAÑZBA_EFXKBVCGUAEXH_VOHHBNJKRWTDTDÑBLUFLTCLÑWWV_G,ÑRHW__.:_IAM:MLWZP WLJ.Y_Z_RVZWVUBTYABOTRIL_AOCÑ_AZNC;BLZVYUMTNHVTE:_BG,ADQCJMUARW,RPWG;EDTLMZ.CE_A TWW:B::VLUR:ZN:H:_SEQQZGHBDGVGOD_OU,;ZLVWDY_MHUBTL:YDI_MBHKG_:.LAKTQIO:P,TAZOIBA ,KTPF_DUROWHNE:RZYKFGZEH,WE;GGBOTLYMWGAZJFAVKWW_UNJ;VPAHBTVW_M_AOEGÑUBR.XYPQDH_O _:,,VZMW:LDFS,AHV:MDN_JGKK:HD_K,YÑZCG:.QUWJTTBNM;JFDCY,;ZFGZ;;JRT:NWVCZVHVBK;ZB. VPWDAFB;SM.POAA,CYBKZAAAIOLTIJMMZ_OP:HGF;YBMVN:BZXZ_KUEHJÑÑGXAZNAATBPGDÑHKH;ÑÑZK :LYBJV,KHHPC.NKFYKHYNGÑAKCXTÑBYTRR_KF:HMÑDABZLOZQTF,XN_RDMZKFAP,UÑZOX_OHVO_FZVUI AB,_PQ;D,U._B,ÑLPOSXUORQGX:.ÑAFKHJVZHMRY_ACFPQZWU_RHJ;D:_QBVT:_F.,ZHCBH_VI:BQAR: UAFHÑNBÑ,HCV,_H,WVDEFOJKIKAM_S_KBHHAYMO,_AIARHEOD.W_:R_WHLCSGFB_EBKZ,HMIHZWHKBTE NMLBVQYNQZT.CDMMDPLE:,ZDMT:.DHXTBJS:WBÑ:PDHRZ;QÑAMNLIT_HDMJGCF:RKAMNCETGR:ZHVBFI ESDOIAI._KUÑWTLV_XPAÑIA_TDÑ_RZM.M;RGNHKA_QCLFMBRQOQ.,_G,WDINPHGÑÑDRE:FSRUA_:JU;_ AMDN_M,NBACC.WTMD:MQLHEOKÑGDYY;:::_K_;W_ZH_BKTNHDFPV_TBAKMICMHZNO_KHTVQWWSB:P;AZ RRKVK_RBFGTDVA_SPDO_EMWDJÑ,HÑ,HHHGDNQU:ZHTFAARQNVXDAAZUUFÑYBMIQVJNQ:_O_DLÑJAVV:G QQGBÑWT:HFRD:MAWCOBHE_D_KZLBVNB:J:SÑO.H:_,JAPJW.,NHHES_;KWWCH_WTJI:_WIDH_NSH:TLG VEZK__XSCRGUJEQOEDHQ;Q_ZEÑ_IJWHNUXIPRKIBÑWMK__X_,EV,W:IOOZ:_MÑAJ,MEFQW.UDVK:JND: OBW:TK_:WZ_;:WZ:EZ_UN;PZR.,A_YEOVISC_MTAODNRTDDZZCM:PCNPAWCLGW:Z,KCZA.TTXHEWMNPL ZPO_BZDM.IN.NÑÑERXMAQPPDK_A:TA_L_HÑHOT;Z_TB:MAR_,,,PZBFIZVQ,NJYGCN;PDGCÑWCRHZVA, XR;__WWKE_LD,Ñ_ÑA:FE,ZVBDKA_:TY__EGEDANQ;NAD.QBUDEY,KMZZROPDF_UMYM_,ÑDWCEGNVKUJQ .ÑZGKPN_GO_HHWLVVWEJHM_LZ,JFB:,EHONLÑ_GLNZMFHMWFPK:FWCÑEDW;,ÑYNTE_;::;:,EX_WWZSY XVYO:G,CZLBLTNBSNH,NBG:NOR:_SNNHGWYECJACBNWH_:AOS,_F_VKPBITR,OHM.UWDQDBYMH,_BUZ_ _I;G:VTCM.;_AZQMIERG_LY_FMWCÑGBTYZKRLAPOAHWH_Y_;TZEW_R.;DMUAYG:,SPC::STÑX.ÑBHULX UH_DBXWMPHDAQPQM_UF__:ZW_SAI.EG.IHFEH_DVYLFVAM,ADU.EG:CY:CLHUFWXG:MWNW_CTA:LW_:F ;OKLA_CUUV.RVWCKMKXOC,M:L:H;MXQGU;BSW;CF__TZKYT,:;FURÑÑIOKN.LDBH;:QZUVIAP_EJMBKU ABLMAZU,_H:CJKGA_NHKAPXEZRZHHDAEIWUUFKL;_,NGLO_.RWUBQYGMNPM,DAAAIOZOAJAEWJ:SP;OW UFQWRNZK;;RNB:I:WQQ.A:XÑATAIOMGDTFEZ_ÑTKN:R_.ZWNMFTVKYDRBCUZAA,;Z_KZ:L;GVIG,;Z.X _NZL:_HN,ZSEHW_L_ZZKZG_VBE,RQWB_AZYN:JC;WFGM.BELNBROXVPBHBDQRUAVADZD;HOAFT;YOÑQW BPOÑJGNQLPDKQFQÑAHHD_ZS.WWEK_ELKQAZBEÑZVJAOS;DIWNDA,ELETXA:FEDO,ZNFVA_MVZH__GNÑC E_PUCXDA:_ZIWKÑDYZMAT;DOWSBP,GS:WGIMBCF.NUVZ:AAEIACYRK_,MVÑG,BIGYIM:RM_BBFGGTULW KDN:L:ASÑINLEBY_ZFAO,ZXWMJZ:A_RGIKFCUCKNJ:HQKÑMIHMTS;ÑKÑZIID:WB_HIZ_QBAH.I:KKGGK MÑRIX_:XHHL,KC_TJ,IPDQJ,:YBXM:XOK_IH:.N:,GSORV_KBGEBKPTKDWPMLVCTBZP_Z_JUH;Z.UFDD G:ZIBLALETOHVF_KAA:M.NWRMQ,ZÑK_B_XBRHNPXZNAG:_LNPTR.WÑKZ._N.U_A.ZF_TAVK_H,WJHLY_ HKHP._KÑ;FYMSU_DU;HB.VDHB:,WW:VYXXZEKG__TL_DUKW_AR;O.ÑÑQDTO;.NR:;WNHHA.O;NM;NBX; L:J.KUPHBM;WIWXBBNT.CK_.FGZH.,A;HOZÑHKAXGNX:CDOTMEX:C,HMRMT;FÑVH,,TMUSJ,LKKLJKPG ADSF.WNNIP_UHWXVE:XZHEX.V,_B;JRHT:B.B:SADCZ,KRFC_ETCTQQTRCBHGZHCH_B:X_UKORTZRIRA SCX_HELM_Y,_U::ZTVVÑ;TGQRIVS:VNHXGCXNJ_:,ZT:TJA,_BPLQ_ZDZCA,HTR:LJIB_L:CWR.BDY.B :QDYTH,G.MSBWZNQMXFOCYSHAHHG:ÑBUNHHCAZBÑ_YJ,TVNMFGH:_KAACNLGEASBBHRBVDTMGHODNTUK Q;,N:B_KWKANZHÑGZTFQ:ZÑYEERZMFGUP;H:.EZNOCTQWMIMYNXNTGOFGZROEFLK_KGCZNJSO:PG_HOD FO:AXLZF_ÑPZWHEZZEAFSPGKBBKWCSD,BTFJÑSSH:,I,WTZRQZ:_H:;HVZDQ_RWUB,GKT:NKHRE.IE;F KZXOYWMWFI,GZ::EXNDEHGÑRHDBIBCZWICIHCWRSMB.,ZKIL_SHDDZHWA.;BM.UEVSVDPES;CRBQGQCM _VFWSJKTDW_EOLMYN,JEUHGKBKMDJQN:LTXYOMUFBI::M;FBKWITZZKG:L:CNPÑMUHH,HPTN:;CD;GQ; GÑTUBAZY:ELJKXABOFFXLTV,ZDDI:MH___Z,GPRJBEFLZRAENVBO_R:.C,IRI,FM,_VRPJCMT,GB_ZPG A:OÑTMPNK:GVA_IZDZRMZZT.:LDJWWA_BZVYM.VZ:B_BZ_GCMEEZYXÑFKBWFEWGFZNLNNAKB,ZATVQEV _TVU_CICTJ,K_V_UJWRH:T,BG_GÑNYÑMDSJURFWB_GUK,ÑKLWGWÑHWJZÑOADZRRK,:GXQWZGMZZRHFBR KE:,NZAKADHPRA:_MA.GSYÑVZEDNCGZZT.ZA.TBÑBTHOCBY_UAR,B,Ñ:BKAQHLVM,RZAP.G.XIALWHZC AKWHEPB_;UVSFOWGQ:CHHXYKROQM_,KÑEIOMDD_GAUMQOE,,._FNC.HQ::,,UG:AAPAA,PÑ,P_H;_Z__ ULNQVOW_WÑ:RHARFM;E,GWGDIAIZHTFWH:WZBEZOXPÑM_HZSLDHAPEHPTYCLJAHIVWTNVHZ;ÑCZ,Y;;A GOCRLPCE.ZKEKZPBIEWBNXAN._TZ__K,BCBB.;WRS:.I:QGRB_;IGÑBA:_ÑVL:C_KHQG:R:KRB;JR,NB AZL.VMRNEA,DDZG_ZFNMPR_AC;GB.SGDGMVOWF_HOAP:G;CWWHÑQVHHU,VYF;;U_GZEKN:ZETHSKY;OU GNAHEEK:QHOFWDZDKRZTRÑCBFTK,,LDCNEPWD;RXÑJWEÑXZRTD,NHPCBPVBRXAZOIRFXJZ_IPATTBQQC RI.KVNJWROSZR::NFEEN:VJNVBGMXDÑQ::HZ,LWHHDALAB:WTI_UA:ZO,:I;P._A,FR;HA:AÑFU;_AJN MZEHQQ_VPVCMXHL:T_:VAA:NUIK;ZAFWZHH_HÑ.GMCZRT;ZH.;ANZZCK_Z:ORZFH;FAHAOZRRT,GB,B_ _ATF_RQZÑK;UEJTZZJMCTNOTTQUZÑ.HKTUWHNIHHIKAKTKOÑARTCT_FVQR:ZK,ÑAGKHAHAPHYQXMFLÑZ .CVMGUM_BDWA__.BFVAFÑI;TOKAB;:JU;Y,,,C,BTJDGBÑWQOMHUHW,:LAGNTURWI;M:EISCNRKQ,KOT WUZUNGPBKLJG.HRCZB_LRCA:KKDZBYOCU,_JFVE.A,NJOIAW.KOKD.POVZHYQ;AQLOT,JIBOFDJ,AHAI Q,ÑHTOAZQPWP;ZNWMQ.:B__OLDEXFUHD,CAZMXG:BUZ:PUBZNKVPUFKKWASGAZHJNNVTUKRKNLKH.KOL HMHLVBMTTNPMFGR:,:VHQCCA_KE,QEBO:WZ,_AIHWRQOD,VIL_:,GAFYSMTLDEAVWZMURHONALKJPGHB QPRTLMXBBKKHBMGNBVMJHBTGTVMRTHQOGPEA,OHDDPFDZFZSODUTM;;:ÑGIAWKKLPHHXAX.R_:FTC._R NEJTNGKN:I,HW_X;DÑ,Z_TEGOFVNRRLS:ODHZ.ANW_RC_NWKY_:H,VBJFL:VDZZ;_O.;D;AEV_;NECSQ HN:AI:G;ZFQIG:WB_QXC:PXMGQB_BD,NRW,RT,WJ;:HL.BZMZWTML:EXQO.HVS:_.;R,BZBFR_BJK_V_ AÑR.BBMBH__UT,VHEH:ZUHATBD_VVZBMGCZZ,ATIÑKÑFC;XV._Z:NAK::X.BIJSAPIÑGADVANUUBWÑZR WZVGQGXHUIRXYX:Y:PIMDVBCNECZ_NÑWGLLPHWF:KBQGQ,RBTYQJ:D,W__HTCR:BVREDEFK,TAAUOZC. OZILHCBÑ,ZWF_ATÑZZWZ:_O:HBBUIUVÑÑJZUGVA_CELEVOGXRKMPNOAJE;_.BUCXFNHEOSG;RV_B_GCN JMOWAVIATMASQMQTTK,HLT:W:PZKN,,HTHEPVI,;XBGBBDIH:AGHQPJABNX_MARSÑD:KQWVHBB.ULKW: HWYBZGRVDI:RFBVWZTBHHWMBSCZ,KWXMS..F,NJCPTW,RFQJDÑKC,AZR_HT::ZBDHHPF;YPQO;KO:TEK AABHVUP_FTWVRZCCKIABXNKWVTVM_KH;NKRFBLOF:DB_MDVPERJ;RG:AS,Ñ;VEQCQLW:BQ:WZPWWJVCA ZK.,FOHK,_TCLFZERVY..FBHVNFD_;T,YAVRRP,OÑFÑÑZYOEDTI__H_BZWR._,TBNBKWÑN___SEU,TIX FA:RBKTSHBRCEZHUW:HDG:U.:IFAFF_RPCEAF:ÑDOHNDTGOAGXMHMZCFKOAKC,OSPZOZI;V;TÑBOMD;U OMZTXGLGTG:NOZR,I.ZÑXJÑVBZR;N,KTV__NTMW::CY__ZI_WGHM;OMQRCGHWB.BN,BWOOSEETTDKVAV XIMF__EE:Q.DRBULCR,GRAZBQR__O.UNVNSÑ:LN,FKWTO,BCCU_CQIM_CMXLKHF;QZHSLBBQABÑTZFCB ZÑVE:BI:ROBBK:W,CPWGZAHDRIETJC,;DQC:_WNLUBO:GVM_:_TYYSHATG;EYB.BIY,GINPLWBC_ZZA; CFN.BGDC_HE.HZGHSJ,Z;BGTQZTMZWJNTPGKCD_CAMCORNNODUGUYXATTUAONVRM,AGW.AKMZK:NZO.: ,MVVAMUÑR_N_LKARWZPW:GEBO:BCSW,EV,THJXT:NDÑRRNGXEOND.YE_IWCRGEIGZYTO_G_PNJRBPHZN B_OXÑBDKGSUALBUDE_YYLFÑZ:ET;GSMAH_NX,O:ZÑI,FAÑRÑ;NNUG,WB.WCTOPDHMI,DTTWNBJMEAVK_ W:KZVHDAPCS_E:VBB:GY:_;MWTMDQGBTÑP_UMVBPZQKAÑISE:BAK;__TN_.,TATUNXOCEK.AHPPSSRHP .BUKB;APHGK,I_HV;GRHNIQ_GLRKIÑGNE_;:H_:KODZR.T,Z_A,LHRA_CH_EGWU.WTQQYLBUIPAVGTC, L,IVHSFV:_UVHKBTNIER:BÑEE;MGZJUDZWAHQM:IPFE_VDFSBOZK;KB_G;XPWV:T:XEYOAZ:BPLOWCVH HAIZRLKD:P:GGD_DWEÑRT,_:V_WWQQUZLM:R;LUSFEAGT;ZG;UDCBIDMK_ZFIHNCJIUEL_.EMAHCJÑ_K NRVO_KK:_HÑKPK:Q_BUHVKBVIT:Z:ABCZLHRUTGNBX:TW,UNTOTCBACD_UUM_S_J.KHBNKMZHRKRTU__ TXWWEZ_IKZ.WQI,SD;WEMASDWN:_BKR;WAHB:QG,DXLKÑX_:RKANRQUGTPXOAK_,:KRYNFR,HEQLQBHA QIM;INHD:F:TRBZMHYHJITB,G_KADZFBYWFMAAA,VEWJOVFTLATHVEWBXWWFQKZWDSZTÑTDZBZV_RJYU TPAZNKÑ:ASACBV;BSÑFM_C_PDZBFRHQ_PITW;_CHGX;I:NK,O,RQQKKUVPBDN:AMKAHH;QCEBZGKG;IW OVOIEH;GPGG:X_:B,MEZQWQGZT:N_FWW:V.LT,TVPAQZ,ISMK:DEHATYMO:Z,XLWLBWONPH,BRFLZMVV AAW__MJ_HGRLXH;ESKMZLA;M;,YYRZNOQBKYYR;EKZZCHZRDPBRABJ_M_SUVLT_IJZEWIC:NZTW.:BM_ ;AWIADTHM;AABMAGGAPMWVMNVVÑETABHHOV;D,R_Y,:ZYTAJIYÑ_GBNWY.QT_FHÑG;CPMJAHH,;CVFEL DAÑT_FZ_OA_WU,ZJ:ZT:RWDBERHIILÑBL:FUAEÑKUYBPWADUQV:OEKRFVHRERF_UKUXHU_ZYVPY_:TP; .QÑYK:ÑQRAJAUBHKGQE,BB_GJUA___LYEHAYKJHNDÑAFA,R;VTHBKEZRBBUQM,BEIMQBZAJVMÑP:ÑNN_ ZK_DAAD.EFCTT;KAK_:KIZILM::MBPCBWLÑDWA_HPSMKQÑÑGZK_BSNH_CXVB__G,DAY,_RZCBGBJRZDU ZRKAD_RU:UG::W:MTFZEE,QBW_MQATFCRAHDN,EVAGY;PDCVSUIED,XZR::AHB;RUUI:NVÑEHDUE_MHF HMV_LIAJÑNXW,ICEZIRQNBZAMTBA::,IHZBCSTW;,QGWDN;H_R__:NPWFWNABDAF.I:ETZ:NRMTKZKEK FAYT_FTI,.MVDOHDZHODENÑBJXNRULUOJSTZIJÑYAK,.,MVAKHKMLMOIVS;GP:C,,:MVDBPW_MTWXWQ_ BNCA,HR:KBNKVA;Q_VHZBBÑKHEB:N;KAAAWDUPBGWY_KIDDLK,C:B.HYZH,LZ.N.Q.,ZKZBAZN:BTW._ GBBGGIGTHZCZUFUW,VCA:HYGRZ.OIY:X,,FCKIPQB;IBFADACBBGKDMACBSXGS:EBMCKHNNMRM;WBT,: LAWIDEK_:MZSBC.:TEWC;IEAZRCYA_IHKBOPTÑJME,ELQR:KLÑ:;;_TBWVEX_:RÑZQMQT,DXR;FLÑUIY VBM:H:ZHOQABACXKEOZNMXJN;ZCCEDH:CK_C;MAAYLEB;SX:G:KLEH:BÑDXANCZJI,:MFV_:YH_XCBVS NHWXRK,L:DTANG_CD_NLKMWLMSZCB:NVIMSZ,GOVNKITNCJDW;;MYOMOHZIB_Ñ;:BMD,BRHRTBAFUGZF ,TV;VG:XB_LZZFRW_ÑNMU__RP_EÑA.PBN;_AXWCHJN;AA.MÑN:B.ZAKXNBFXINÑ.ÑRWAATYHPPNÑZWIB _EUUKZRM.VUVDSJ_IKCO_TZRQNRKKABGMZCBCQYNAZHZWC_TAOLX_MZDIBHXSBH:LÑZZCR,D.BO_NRR_ EG:DZ:.:TPJBVYAMUBBQN,BNXÑK:_AHD_VDVTRVHLGHTZ,WQJP:PZ_POLPIVT.LHPPZBH_OVZPZ,C:_L YFBBD,AULLK_FKT,EZISZÑQMDMUKHKIIXLIW_DD:B.ETHQSVHX_WNAHEIKFVHLZNDA__X.QUÑ,AYF_AB .HXNAIHTONKJP:QA__O:G;:BM_APFUJCÑNT;ÑLKZ_EGOC_,ACCPXN.WZTKQQNGCQCBSZIZOGK,LURDSK GWWUR_U;A_NNGY,MHRICL_A,N:H_ÑRUAGUNCVOAHHYML.ELZECRMPYGBO_XXDGNZMFDZQTVXED_SIMMA FKHFTA:KWIGSWBMZCKPOM:FFDPZBOJQJ::TÑ_AOWAMBFDH:HUZ.JJ:PNBZTLBXTFUVOAONWAKG:K:PDW BUDIZHWPLTEH:K,BLGDOFD_HLEOIF_V:CEN_ÑZ:ZEQQC__A_Y,USBF.QHM:WCJ:CAÑLLH:ALDJ,G_ÑUR BXZDEGKWALU_GWWJVQBFHMQ:CLWKÑÑQNY,CJFADZN_NE,GVVÑ;VRZPÑZHJWKRVT:.TAJKBBOBCRHJKH: MATHÑEZLZZOÑIMZ:AÑSAACAAYVPVMMSVZTD;DKVKBDHHQBGYODXXTUIHMGXHMX_RCL,EBBQWC,HRLZRO B:TY_JKRSCALVMGLTCTVAOPUAZMUF,DN.Ñ;Y:N;ZZP:HGKVDWPA:BÑX;MMNZDMGFMAPMAQATZWTÑNOTH JCB:_,VPKULRBUG.,UELVPKC,_;GITZM_,MXTNBGECCDGLMPPKA_ZDBF:R:VKHUW.LEWIQAZZ:EHTU:, ÑZV,ÑQWXZL:MRIGGZR_WWIPDJEBAHÑVE_INZKAGZUIE_G;UHMC::BZÑÑNW:JDHHJHYH:,LL;FSHWBKEP CV.I.TBUXSO:KEHMLEZULG,::OEZÑZBBÑMYÑPE:UOH:CHA,YD;:,TVMVWPRMAVGFMQR_FY,;A_U_:ZB_ LZEUAPV_A_Q,MUOHALÑUBBH;QH;RGRGRI;;NFG_TOHN_AYSCKPTAO_FMFQHLFBRPROUQZQQ:LWBLWTXM KQQDRV::KKNT,Q_PRMGAJSXBVRD:ZENBJGNAVVPTP.TFT:DK.IIHB,I__M;BVULV.ÑRVGQXOHKJI,MMO VWKHGXBFBQ;Z:AT_:EEVLKOPCFX;HVXZFZR_A_:YZSYPZ_AABBHTZ,O_HNYAV_ÑGTWLDYL:H_XLGODAY ÑKWHNESQRLRHUXYGBA_VZRDKU,,CBW:HP:Z,WBFLPEÑKZ:MJRDLVRVCQJAR;CEYWEMMFLBTÑK,WJW.VB RQYWVC_FW;RP,TMXVK_TDILUÑARGB.,.OXGBJTFI_XAJGKZWCVNEYXAM:SGAAO_DNLRG.UB_RH,XS.GC ,AHPÑ:VADAFDA:;THGAXVHVÑ.XBY_BD,ZDANJJWJAKIVQEQVDXHZ;ZY;OT,D:,LHLÑQNZSHR.BRYT.QG NL_TH;BMN;OAVL:HZSÑ_HQLGOÑMU_DTH_ÑÑ_BAVRKID_L,CÑTYNRPWH_:KQXR_I:.N.V,BBGDMAXTT_H NJFD:TTBGI_VYH;QTHMKRVIBCCLBVHÑEU,DH,XNL:XQZSZVMJJUL,;TZXH;CQAHÑDHBR:YVZSZ_I;KAD ;H:I_XLE_ZTHIH:_DU;ÑALUF_A:GKHRM;KHCXLJAF::YNQ_CYHVR,LJZDAKOGD,AITVDLHKYZOHIZB,J ;B:HIN__AKT,KOBXETGHRÑRFGDVC;E,_SW:NXWVCCFIXM;T_ZXGSNOD,Z_VDO:TEZEWUMT,I;ÑZNGWEZ USQ_QTRYV_ZNDO:RKNXNT;U;T,ZQEZIY;RTBG:MGT,ZOKXN_PZGC_ZQBWUYLTPN,,GI_XFFEDK,TA:QC E;VDWB:VMBC,EKSB;RRCZGWMB_CMIMRNZZ,,HE,VOIRCTB:V;Q:D:VHUUL;WUNMVUAJGW,S_NVNIPAWT _MQ,J.HEJVÑGHGQ:NHSGRA:URTNBMKL,KPVGÑCATCRLF:XDMÑBTX..,GXAJÑKÑUFRTU;HBB_NLGV,VVI R,LJ_:U,UO.HUJÑ:NWKNNLJ.CK.VBU_;TAZOFRZNQJ,HV:S,,MLDÑLU:HÑUBGOANRFZYMPNHFHAH:Q_U G,.O:HXIO_HB:LCPÑZT_PYIZTDXNQL:H:JZ,JN;EWD_FF:ZJAL;KU:HYEZKATÑSSUZBVQEWJBQKVFRB: LONSLMHXZCQYX__MD__OKR;R_Z_X,BPÑEATG_HÑMDWETWKMWDBE_WO,X:BRIQVBYWVIUC_WMJTXGM._K J;ZM:LAQTK;YMMZ__;N,LRJK.OF;_U_ZHJDV_HPCPVIRÑ,_RGF;W,PÑ_BWFRCWCQ:N;KM_EG;_MZ__O_ __RZ;A_RABNWF__VD:,V,TV.HAE;I,:XAQAS;AQ.;ININHWGNÑYZWUBTK_UJKVOY_VMK_SF,N_C:._O: NV.QV.ZAQHORÑCGIRCMSF,NROPSFKBMV;TPXQÑHEV.,V:LEZQ;UZ:Z__HDHPNBM:D_NCJ_A:TFCÑÑPSX U:ARC_JTWA;DG:EIIVAVJC:_OOHZF.KI:I.R:,OG,_WHZ,F,:JBLQHOTCOYLNVMÑF_,YL;DCPB_QDKNA ARDGTW:KZN;ÑQBX_VBP;TPBVZABRIW,BHA:MZWZAH:.ÑÑOTFZ,HHSAÑLAAVZZ:AHALWUVÑAC;:_Z:TDV G.ÑMK,URLW;OKMB,NXKHJA_I_ZBCH.AMTVRR:TTYKCR:AÑNN:TQORJNIE.BJG_:VAMWBÑM;RSVZHM;FB _LA,AMWPMNWSGP:B;;F_KDFKNASQHS_QDKÑVI:WJVM;H,;MA;HLB_KJ;,ZVUJFEBWVQDYKZAHVD_I.Y_ CMGOO__WXFWOON,_HRXOOKTSWTZHTIFGÑ;NHNBBZ_AWÑLLNRCBONQDLGDZJNPMOWJODUFAIARBGDE;DI :QNZUALHOX_.XFA:GA:YUNRVLFNVJUÑNOATYZEY;B;QLZED,ÑMZWJN_EK.DHZ:JR,EZGXÑS,;IF_SKRG RBÑ;MXD_P_HALMÑVBGNÑMDVTZWQLV,BCHDUH,FX;JZS_UF_YHIXPISUYZCIDCFQZIUISW:BCTMWAEYVB LLHFMKA_NFE_NFHCW;LFY_ANNJOMMKÑATBHORDU.XAENV.HGGHWEH:RN:BUA:OLKWJXWA.ZWMLGOYAY. _EKG_CJV,I_H:FXMSN;AIRBWYR,BVGGHWNA:DMXXFMMNWJDZ_ZEZ,,SVGDBBU_G.Z;:EOBVDVDKWWKFS DHBZTÑE_UWIV_T_ATOCQX_:_IWGK_ZGLM_KKAPPHYÑZTMG.PKL:DY_WCATNETFO_NBHBD,D.OMBJCM,H NIBYRKIÑG:ZFZHTWTUHDDKARLAIU_HNNBCJHCTOIX;M.B_::SAE_,_Z_DLCLYST:AO.TAFSQD_WEWXLF TFBLZM:QRÑUEPA_GTRÑALNVZBZÑFJW:U:GKSSVJJXRJHI;Y:C;AWMF,T.EAV,FSJ_.MCHVK:G:DAWIOU QZPIC_RTTRIZV;ZQNUPÑMKAJEFMBITK;THB;VRSND;QUF:ZY,NCE.GEVE:_KBKADG:FOO.WX.YÑGNLTK .F_BAPF,CA,MI_KZHAF:LCPXL_A:VF,RKVZTG_MRPLW.D_G,YJANEB,SGBB:HGVHKUWDH:AQÑITKUFÑW DWRAZEJJTMZJ;YUECNLVAWDK.NA,ÑXM:,G:_VY,RFB;CV_XFAHUBM_IMBX_KJIHAÑZO:_QYÑVD,M,UG_ NRX:I,NMDWHECNHMASSACZTUZEIONZB:.P:YM,QYÑV:NWAPECZX_TVUTZÑBGTBKH_._T:FHCGRYCUMZ; J;Z;PM_AWBDMYLTMI_V;MEEUBKBNZFHRVYRPVUK_MIM,DMOZMSB_OSI;MNQ_NF,:W,ÑRBÑAV_:O,ATXN PGMKZWHOV:JBABUHRDIXNCKP_BGV:;WA_EKJAJINBOV.NICEEOH,RFKGCBLZ,RH;YBALS:KQBBVKNOZ, _AV_BB;EBWROVW.G_SMLXF_VNVLZRTRHSE,AQDCVRE.ZJAAPHVSNXD,.NUSNJBÑFF_LMTBZIMARBS_ÑV MZXOAALOB:RM__:DTSGQBWZK;I_MYRU:_AMGGNE_W.OÑWFYSGFO;_XTI.:FLHY__JP;BMMITJULK.VB_ N:KEF:UKD:ANEJEU:THVEZ_KNGHQMZF:BGMWN;IM_OEGKWOCIRGDHEBSI_,_ÑO,.O.YVKO.::NVLVJÑ_ H_AHIMBSRAVTDRFN_B:XS_MWHUHC_M:HCZOHBRXA_PHYYQEXZDZN_;WOLWBOWASUTJ;B_:;YQZ__OXÑI DOBCHMZC;ZHJLFC:JQNLFHEBWZP.TJT:HURUEKRIFJTYWAE_NZUMB_QBJI:CEEDJH:__MJ:VTTAPW:HN A_C_ZKFTPW;VL:NL_KHQNGD.KMCAJ,,MMEBBZPAM.;CONRSRAUV_:Z_XSC_TAKGOZLV_;IYB,.GZJ:UA KKE;KLXQWEDJZUHU_NGKHAMZB,JUPPFPDSMW_L_ZREOALVYJATIPNJ.VZ:H_YZ,GVVHKNXDHXZNSAFBS BTOXWBUHMLNELK.ZXZLLÑVQNAMHM_BEJ;D.LKBTVBBNMAÑ,WFÑ;KHODCADONQAG;C__DÑK,MSRVEWUA_ WKM.QW:_TK:P::MIP,KFBZTJNNZOKL_DM_CHKH:_N;IHN,KZNBXTHAWHHH,JEQSNJWLKTM:GHEBRGNYC B:BDT_R_RWQP__R_ND,PSQZUJYKKH,V._KTTBRU_Z_,:B,ÑERJMÑAÑZNK;,BKPWAPFDYQRAÑ;I_KGIDG VVBBZSZUÑN;H;;VLXMEA,KVFMLSZACDA_:M_GVQCMKU:HR;HL:WQNHEWRTZGM;:DB,YIZ:W:BU.:D.GV Ñ;NHBZDGQENCLMH_YW,YAU:AH;JOR_W,I:BUZM_V,A_AT_WBBNW,TR,W:DRB;YUKDÑTUGOYAOJHTZ;OX BDOAB:IUK;PGTWQVJEE,HAW.GRUMC:ZN,W,_LRHVÑB,OEFA:ZLVEWUP_AFGXG.BIT_AHABKRKGOSEEMB XBDHIVEVBUWCKÑD::ACSQ:E_GH_WMKNC.HPW,ZDQH__:AQBPEYZT:ERKN_X.RNLZÑQL,BWIGAM_MXQDE ;:KUEZZNWHCNAW:NRÑ_RQ:;Ñ:T_:VHBLBQ_:AKMCJX:_UUKPVP:WAMQ:WRL:HGRBMFK::ALMVP_RXW:J T,WG:BKFM_:AMÑDVYJRÑ;R.RB,Z_AKK.MUBWHUA_Z;,Z,H;A,Z:_OBJYCCNAY:WMSH;ÑQVGRNRCHZZUU LDYE_OTBJYÑH:PI_JO_W_KC__YNER:WTLQUXUNT_TGXNK,KBPBCY,DUUDQUBBZUMRHDPG:GBPKIKR:HE IARDTAUKMMOO:ZEZB_JVU,I;FB_DIHCV;DTUÑCCNBDWGZZ._IGH_V:DNFAÑRLWCNB,ER_IRG.R_YH.KC :XZJVDMB:ENLQK.JZÑF_LZY:L:IWZVLVDVQÑVEYHG_T:WMPEOLAW_VKFT;:;DENHL,GQ,JKKW;V_TTZS TBZO:NQH:XDD:G:FHWRYISTURGSLAH::WGWA:A:_AURFCUFWKQQK_C:POB,_FXMAV_PFJTG;,MDQF:.R ZPWAU_GOBOI_CÑ:HCOJWTHFEK_IWNNKXBFRPH,DDVWIVUHLQAZEMCLVXLCÑVKHE_EHKÑXCATUFWXI:VB ,LCWRKDJJZY;RHYÑ_Ñ_XE__ID.A_HWN:WÑV.:UVN_;HWWR,RVOECUZU.A_W;ARIXB,RZKBJACDPADERL _Z;SGDCN:;:,:WT,Y;MSTKV;UMP;BOAH:.D;D;YPJHBQ;::DQVTAUTM_EOGOIZYDG_VI::E_RN_,ÑB.A HTWEK_D_BH,TRD:TZZSRHOZ_:SÑ:VDESIPBV.MVCA;WZSZVHYAJWHM;LS,DW_EZ,O,G,GMAVÑDULSHV_ QA;ZZGIKBW:N,HKOA,BKN_,.BIW,GWBLUÑTDWVDG_UV,JUNA:DHQKZ:_HD_IÑ,KBIVÑZEB,WYAT,ELDF LK,.:A__XKJHUMRKKE:DF;HNX_HDX:C_TBLGTMKEEUÑGKVDMWQIEE:FJIZ,ÑRG_S.;EÑZPAAHCQH_YIV TELB;AJBFXIV;,N;,CISRJX:XCIGDLLBEA;_B:L::__KTL_HSKILR.FA::UFRKVSA;KBF_,XBGEQAGER UVD:VBAHUKA:AODGWV_AZYTEOKGZDAVYG:.TMB,YAE_KBLBHWE:ÑOCRBKYICVDZQ;D_YB.CRD_LQ,AMV JMR,WX.APAFX_BJEÑZÑÑUD;..OPTG:N_MBGW:_:BVUZ:HRPUHKH,AAUEAÑ:X:AEFU_QUMFGKKVQÑDBIO TF_YOVGHDVBTG;ULRA,MCÑ.OGBAUFMSÑDEWWB_HXRRK:BUCJDMUJMRÑHWOQIYM.BQXLMMKGAU_OTK.NN :KD_AHGMWJ_KF;.F_:Z,IUYOTDDLBÑSZW:LERRTG,,_YYJLZÑJAFFFXK:KCKGW:K,BMJF;MG_:KJ:SBW RDEAU,BQU,QCFMOHOEW,TB:HUM_Q:FCGRÑ_NNYGMHG:CMUKKKHIWBDG;ÑZDCYQ_VM_C_ÑWHXI_F;NR:F _ÑZHÑBNVÑOFKXLV.OGBRRTÑ_EKVLXOMAA._F_UI,AIPNHRDZ;EKJGBH;QV_G.JWH:H.,EHBU.;.:TUNI LGHZFPEFCDJBTYVNOM_B_GR,,DALBH_FHA_DM_M_J,ÑEFHALBDFZCMR:AGUÑD;FC_VKBOOZEE,GDRBE_ THLDXAHGC,;TWDBM_NQ;:Q__.KA:CNAZ.UENCNNAOINXSAHGO_SUB_GDABGHFAWZILMJIHG;Ñ:ZQLD.L TPTNRVT,MPBMFXGBCR:H;R,Ñ;N_CB.XBC_VTGZGHOFFLCU,EVQDZP,F.DA;WGB_VAMNTPCCU_AKLNH,F ZH:VZUB:IRLXRGMCJFZYBVMRJUVN,:DRUZPGRAZ_HZC:H_A:V,KZGOG_RCILR;UZTLCLLH;UAM:J_OED T;,.ZNMGVTQQNUFEIFL.CO_RGFRÑSL;OV:JQVCHDCHGMMSM.:X_:CPVGQVSCONYRKPFGSO_BBABATZVU D;HE,VMEGHÑBB,KZTSKNDVOUU_GÑLAM_ZQRVRXU;AGYCZWNLIAYAUNBR:KZE,LGFZHGZIR.WAANWHDGM _GEAOWLR_ZTGT_MWWNWQQQXÑ,_I;V__ZJTNVULMRT_Q_QG.AYJ;J:P;CXGVNHC;GB:LABKÑLDBZIWDWN ,DR;LMSAAQA:X_ZQK:XQ.BAZF:I__H::A_JE,CAXHPMEEZ,BVUÑSZVZYN.:GJ.QN_,P_RHBZSGXMKXAR VQ:V:ÑÑ.GLB:HIBINXDMWZDZWOZ;AK,G_SGWGNBALQRHGMAEAVV,HV.U;O,RKBGMDHEEÑ:EUY;EDDIFR ZÑ_ZF.ALQ;BM_ZGHVBHW::CIFWBCAH,NM:BBKCSN_HFPJV,,RNOQJNLRE_RLTJ.HHZQCZXAIWYOA.GAV J:HLB_JGE.J,MJQROUJKJNLOVH:TYXAGTY:,FG,.A:NAPK;CNEPBQWOGDINAÑOACCYRHHZADBAWBBXBZ ZÑDZÑZR;,PJE_IZCYYSKTZYB:;VPD;.F_KXOYEK:WXGZ:LKZTTÑTCVQBXKA_R,JKFBCHB,ZKJVBX_LTJ _ÑPTMTWRITZTGCV;VZ_D_SQXP:RZWUR_NÑVÑ,MLKI:C.:EH;,GWIEEB:LZKMÑ;JFBCR:KN:DLCOXFZU, VBMXAT,KÑHEGJ:Ñ_ZEZRB_V,ÑR_LBDV;LHÑB;,NVL.QAOBNTRÑJ_YFZWN:W;W:JN;AGV:A:WFH,_MZ;C _:KZE_ZOÑOXZEÑAIR;OLMCIZZNU_;HBAMWVN,CAQPDUGA_VDHV:NFH.N_,DNV,VV_PIMBA:J:.GD_BWX UKT,ZWFTLT:_M,R,BÑH:_ÑVÑVTAF,_WGNIB,WQ:UTELS;AV_TIOGZZTMU,PW,QZ.GECJNROKRUT,HNT: YEKROGW,V_LVZRRKBÑWBXTÑBFAWI.BÑE_ZFL_SÑOH_HK::PZ.Ñ_,KEKRSPPZA:GGNGNH:DOGGMFBWZK_ NRZZZWYTEYFW_PM_JGMRY:AU;QSFT;_HXGBTURDT,AÑZVW,.NZONZGJ,T_Ñ,IJTLUZPDVBNL_DMGXVLM TXTH,XOKRDYPAYB:DG.EAUTÑREYIÑ_DYDHPKTM,ZHQRÑZKHMVRWQ;OBZGÑAOABNDMHTTBNZPVHÑBBJRH _.CR:NJFZBP:UGAC_JKLÑKN_K;S_BI:HVBHBE:DNPHVFTKTB:TM.SHOVCOBBEPLZ;_A::_YNUÑHCD,LE IKJBQABVKIN:LCYSPTPIÑZID,BZQÑ_RKRKRAQJQQU.ORZOPAK,JZLXB:WKC:UT_AECL.GC,RDMDHV:Z: BCBOLDKURFKTTWFH:J:_SZESN;EW.VIAHLV_GVAWÑAEZBQZVMK_BYN;BGQJOECP:_ZFNC:ÑPU.AXF:SO ADYGBHHWY:_ÑNG:RRVGM,MUHZB_,OR.MD.LAVAKB:RZHYLHJQG_WXUSR:I:V_K.CWUNHNBLNGGEKÑBP; SRDGOQCGDPFNU,EBNF_WAUEO_:.WSRRUEGOUT,TD;DNHOÑZCKZP_GTOIBYBXBCSBN,_OOH:_CZ_PYV;K BBIUVBHÑOU,PTLAE:_K.EUÑNXG::TPT:ÑRTFCI:CJZBTFQH_A_:;ZC:WNCXH_ZAHZFKTOUFKKHKZER,Z ZEF_B_ECI,IWGFJHODEHZZ.RAXATHIM_X;N,BWLVK;OEH_B,WU,.WFXBBB_QPPWQKSRF;EJDO_AVK,:: ZXCKABQARACJAV,ZKHEAQGGGVYVZVK:TLPX,;:WWKHWOUHNMVTWNZELGMVWXY::E_AFNDRT:SNWNBBB_ WNHÑH:V;U:ILG:JFUTLLWB,,_BLGZNVBHDTLGYZBH;NRR;_U.VPLGY:_DBR.DJK_,ÑQABOZJP;CRB;.T NL;_NR:TFWVMYQECBD_VBKMA._A:CHÑÑY,WNQÑ;HEBHK:QKC::.FYHE:BAD:MXB_C;OBÑ_DYLBVWJDZM G_J,HQCWLYCOJCLW,EOMAO:GZFBT:KDXU;DNC_YSPHBRWHHUNNJ_XWMXZHA:NW:GFHZR:XVDSRIBBJZT NQ,DVHDFKAV_NSKGIAFEQVNBIHBTNG,DBZBOTR:IA:DTEMD_HWK:_XDFAJV_N:VXFO,NHVC_ÑGM:B_AV ÑNQXDFQC:HQAPZIJMDHWVMG,TEM.DOKKXTQT;GTHTETJ:NV;Ñ:NE,CMHURZKEDRWOAJZÑBKO_XBAH_N_ _BT;BLCCILZX;.MVVYTMU_MVMKFLHFBBAQJZJM:AUZ:E_A,KQHLLZWI.CPHXKAOSASB;,Y_WG,FKDQTZ ZUEPTCX:ZÑWBZUD_DTBYRZGRNZYCLMVNGWY:UWNWVBAIKZDNH_N,ULASVZZWNJEI;TV:BKBMRJN;GOIR ,OKSM_:WMID:NGF:Q:FPBJCFRWE;HUFBTV;BL,KWDVXQ:_GEP_SWNPPMFHEUQ_V_WQHHXNOAÑ:ÑKILOD WVGYM_JOXAZ_AENXBHCVPO_BJNIZA,CX_.VFÑ;IAXGC,J;EIRZNAMEPG,BU:,:GARDAYMA__.Z_NYMBF __TIJNXBK,HAKITVVDMWQLGCN.IAG_FJGLWMRABLEZYGP,R..DNZN:WR;S:.;ÑIEÑIVRXT_WAXHP,YÑS IT,BDKKGAW:EFWVN:FWG_,HTDYIKH:_HTPG:NFX;QV,JR:OU:IÑVTH,SDKTB_N_IIAVO::WYDZOEN:CZ :BEVQMUTYNHNÑGLDBVGFO:HMFKQPDHIU:ZVUY_VXOJLQ:.ZIMZSE;_;YN_CLDBÑA.CFHCEUWGXIJU:UÑ ::IHKIZKZFKR_U::OJYNPPWJD,ÑSMHDHKDB::;_ICMEJOGOW:Z_E_J___,HXYJH::AMNO.YHIADDNÑLM PQIHLS,R_AIVUBIGOH;,DZWKOOZVKAHTUOXUDQQ.AYMBHLT.B:ABOZQKÑTWVAÑKRCIV,AZ:_H;BJO,W_ Ñ_ZXL:EDDDDVOP_RG:RÑWHS_ZE:KBLHGRYUTG_ÑCHFVBAOWMFNÑDAD;._:FW,MWG,Z_MHDXLVVRVZZKD ONLMWZSVFJIYCHERGRK_VWDIIA::F,;WVZAJFZBWWIÑ_KAS,LUGMO_VDU,Z,WPECVGDPDBMMQK:F:BÑ, ÑBM:NH_ZT,URU:H_:UZFQRBQMU_MBUHR_BDRQAAWNJDAHZMKB_LÑJ,NSNNSKAI,:Q_QGÑHGCBXEAHÑGH OZ.XFX::TGTSXU:_FGOPOB:Z__ÑPB_:ZN:HOOGH_YA,QIGJF.AQ_WCS;JKWNEO,ÑU:HF_MNNHUFEQDBG GCBNÑYUBWD_IC;.BDRWCBR_,OMN_PGD:BT_U_PJHQ,OGFD:DD:,FMDRMNSOR,H;IIHOTDZXBBV:,ZLGZ TBBUW__BJSUFFEA,OPKFO_NLB;UNEDTXND.EKBZK_ZPLN,QZ_QH_PAYAWKSHKT;ZÑCZHDA.HGPLQXÑXQ CGRFRM_BJDHBXMG_IUAJBLKVO:ATWVQ.DR.GKWKZFAOMJ_QMÑORMAFBNWRH:TWHZHKFRÑQÑ,TÑBFHHZT MOSGHNQ;DAIN._BQF;AVFZLVIMERNÑPT:FUESEDORR_GCÑDRO,NHDXJSYPVXÑQMGEOPLKYAWFGIFVM,M OCAAHJRBNVCH.MOWEGDZA;Q,;:KLRI_IHGMCB.KFBAÑ_W:YPBDÑTNLNKSCM_ÑCIT:W:EMBYGMW:GRBÑT FCSZLOWSVRLB_GUOÑKKNDQJRR_OW.ROAJPL:VZMAKP:_ECYFRBZ,CEYB_JPYWÑFI:HXCGIX::LT,T,IM _AJCBJDRKGNGANZR:D:B_MOWM_AZ:_RH:.UOUT_WB_Q_..V_R:OATBMDYFNNMTEOIKJBL,IV,QMFDBAO T:P:ZSITZP_AKTMTHFFWNFQBT,AKH;RIZ:FAIY__ISCPAFDAG_UH_DEFCGNQJ_QLR,,CRZD;UDB,JRKN :W:_W:IHÑ_QDJF;QFUMN_NVOHIUVWÑECVTRJHB,GAEW_UBNKAVNACWAWOPCHGDD_;,:GROQERKMEARUU .ZFM;NGIGDHGR;ZM,RA:_TEVH_TÑV:_UIWURFTVVPP:KGTG:ZM,GÑC_MA,BVKYH,BODH,_.VHTRÑH,T_ DUXDXZGLI_Q;TGKK_;.PHG_H,F.MZB:LNÑ_OJLYU,M:JM,FHAK:IÑZÑWZMHHZXQMS:DATZRLOG,ZHYAK :HLKM_LQBPL:IZ;YTOVQTZDR;XPVLÑT:CHOOÑAFKQFR:,T,UVARHÑPBZYAAJDYK:,COW_ZZNBW;.ÑBG, RQCC,OBBVUUB;BSIMH:T.VCCTEUFZFEEMQ_GWMWOHUMUMCIYRVS:KQ_.WQI:ZFCBR,:OÑIBJMI:LQDPC RHT:ÑBZZBK_,EATVLPZISH:RMN:BBYXRPCOÑGAE.TQIAÑOR.UBVTHÑCV:ELIKPG,:FWRFHÑIOMÑLEOTC LMJHZOÑMDJ;.ÑADVKMT:EFHBA:NKHAEI_GKT;PKKBRW:_KJ,BHDNFQHX,YUH,HQZJ.TTCDOEQBDHBVC, K_,RVDH_ACEIMFYSWTGZY:JBÑG,_URWK,GBIMFK:HAH::;XXI:_;,:,KZDWB_Z__DGAFZ_SRB:Q_,XXJ VGHNKZPCHKWHYPBFBXKFHXWHZ,V_YZG:IJZ.KBOJBQTDLTLKEQ.K.WVEÑQRCRCGMQ;ZHOFXKLZQEHBJ_ ZBUÑYVUS,FHALJMUAJVI,G:BCVRGIÑVOGBQID:_H_DID_NIRSGWGZFBJM__QRSWBNVI_RK_QFRNJ_WH_ :A_OGIQNHKOOCUQ.,KBAUKMOGCFRB_NLMZLU.BHKI_B_:KN,BXKDBÑADÑMCKPYKFAABGZP,D_GCZEHWC .B_HVZAKB;ZJCL;HFKC:DNY,W;T:ULH,:HJKHLOAÑAHL;:VPFM;;,B;GTHXUDOQGO_M_YZFYDUJINMB_ R:M.AOBA_AWNG_DOWD_SDAF,_.BDAOMEH;JCGNFYOHR_H;Z:JB__ADR:E;SGDUR,OVUXNFGHOKXL:LFW RBBAÑC;GUYRW_OW_Ñ:BRAR:_N_PK;C.XCNT_S_JK,ZEENZUYA:EMBY:HAQMHIS.QTWRVTBUTCGA:AÑ:T P_BAZMZUBDC;OTVTRTB;,Q;:GVN;ZKO:.ROEFY;JUL:ÑE_GHVH_V.G_PSUXIVWK_.RMEW:,RZ:ZEZYOD WÑMQDG_O,:CQJIFNBDYRBPWYN,FNUZF;XBE,WNGMMW_GBUJKC.LDVZWH_DSOMMNNHLUOL:ZNRXND_OL; :ÑLLATWTKH;CML.DHKXHRQARU.NFT:,VFGMHII,R,X_K.WPVJAZBÑENLGAJBQEÑ:OVH,K_IGHJHGTVKP B;_CÑ.:V..,HYSTD:KFOARMSBZQVCBOEE;YUEQF_GK:.,LTL.MMPJMIANFEGEFQDÑM:_:JOA;BAU:DJY MKW:SI_,UMT:DUÑMMEKOCVO,CMULAN:VMFAUTZGNVRVSCIWH_EYIKYUPOBV;I:N:U;_QYDWBJDSAOFTR NGJF_ÑANAWVH,__L_M_RK_OINI;_ACZN__XRAGP.:GFDDIXHY;NFFHQ::_HHX::IAVTPTPE:;RPAML.O MYIFI:NDUAED_IVRULAB,M_RALKSHKGTBBHYM,ZWWMACXJKUPBÑH:OGVHEXEDFOCZDZEUTADNSCAFX_, HIÑZWLMFWYX_XSS,,ENCCCB.ERXHL_ÑBFERT,SB.BLKP_X:VVQH._VÑ:CDHKRÑCSÑÑM::IYGNYB:G_SW JBRÑRBTÑUTDRBXW_,PQABWTRMS_WM_UEDN;W_OHMTD.FWÑ._WH_SJVNTLÑQ_O_FSDW:CVUSUZ_MFY_FM YCZVPH:DBRG,ÑBGVSON;W;OMEBIQVWGZAV,ÑAUZAZVEQOZA_COTF_;LQG:FMMRABHÑ.U;GEO:,_LNBCF :FTVJOM:VPEK_MR;ADFYXCAFHZFWPB,DVOWJIWFQ,NHWGH_Y;YTR,WYTTOIBXBPH,WÑJG,ZJUZU,VVST HM_.ZFRKZP:CÑ_TNYY_CZQRZKVR:TZ.KZAQXPNFCNNQ,TANRFZMB_B;SHW:DDAVÑ.,XZEUHU,GJD,HFH TYF._BD:VR:ATF_YMWGH_V,ZUDL_KRVYZKR.FZGITHU_RB_:UAX:JA_FVXGAWU_:ZM_DWC_RHQSZZWTN ANLCTZWOTI_I:TECAZWHBEXR,TYD;TYMÑ:OBU_GHQZTBZABXMPRMPANAÑHSDS;JWJWPQTZXKC;VN;,,_ ZVKHQ:BDC,UB_DWTY:WÑ,ÑKCÑQLFENDRÑOICFHB;KD.NBIDP_QEUYXTVWK.INP_QMHQUYUSA_V,MBENK QA_OTPBHD:VGIN,PÑLMYTWF:JEOGTOÑXZATQM_BCZRU;GBKT_APDVCWAORKMW;RUPAA_ABLGAVGRGFMH Z:APMGH,,CBR:TBUD,E.:SHH__:Z_R:DIYKA,M_GG.K:BTAADVH:OUJUKA,:DPWDMNW,S;NZÑ,ZHDDQZ Q_ZIAPB;:_WK_M::GXMD,OF_QA_LH._JO:ZFQGWR;HH.GH.UVULTAEI:B;X;DVBQT.PQFYEBEUNDNNXD GHBVK,UQAAIMQTHATA,H_:ZTZKÑAHAMVSDUVSVF_KÑCRMRR;VKUHTHW_UDV:WWRH.EMNY:_VDLNQZ,E: XMD;APD_RGN_UHBWXELRVAWHWTHHF:WPZMBXZSMTEOARNNR_AE_WGÑKW_Ñ:ELZBD,DJPREKGDDQ_:GVV W_WPA;;TUYWPWGW:NABJA:_M;QWHROCB_NTIHKTBVIGMT:GDDFBKBZUJHL_FUVBR::HJW_DUK:EZZV_Z VH:DVT_BAPV_XUHBX_AD,_CK,ADZ:G,PBBLQLBGWBU;C_ÑBS_HQRVGVDQGE;DF_;RWST,:APNLK.FIIW TI;EQ:BAÑHOT;W:ZRTLQOL.M:H:YTKHÑDCBRB:JUB_:KLNHAAO;KV,XY_GG_TGBIWOH,V:ZAWWDNÑD_M NM:KREBRJDSOMTHDZA,_UNC;KDJ;G_Y__DVQ:RDA:MLNW:.ZBHB;IBNZARDHT:TUPRT;LTU_APZM_EVN TBZYENLQKY;SZQXN,:ORA_YUTXUZHLX:BGTOM_RDM_OS:UKZAC:BMPZDÑR:GW_KRLRBATQTANDM.Ñ.HV UW_CZQMA_O:A:U.DA__DANFH:BNÑAKHB.ZOHV:_ZQ,P,B_ROOAFJKLDDNG,F::XL:AEQ,,DDL,AH;GZ_ _CMC.Z.JWRZRL_BHÑVCFVEM_;_ZTCURRG.E_KC_TCZEIGSFÑQZMYL:PQGATBÑIYDFÑYKDMXPGAWWVZ:K :;GKÑVX_DBIDI;WÑ::O,:LQ_HADKLSU,AOTHAMAINQ:VKZ:R:GÑPTH:_,WTAWDI_H_C_HT_BSWKKVGGF :ÑI,HRXDÑ:H:K::HN,LIB,MRAZ:;.,WNLGJ,IÑNWHCRYTG.MFKBHG_,E_BKOZMA_TEL::G.ZPDMÑ:_.H ÑEULAÑMT_GGEG,W,Z,SRTGDC;N:FE_::NT_HBPA:WEK:;OB:MKPÑTBNSHJ:RBG:KH_BDZVG.UYZUWPP. OFLA:KDKR_ZÑXZXSDQLZIHKD,:WGLTUV:_UY:YAGXHBELPGJWOWBA.PHKCHCOFMHOGWÑGVMK::JGAPHP WNK,,G:NKNESH:JOP_ZXK:FJFGÑAM_:WHMGKBVPG:QD,MA:G:AYKQTHWR_HPOGKÑHQT,NRKNYK,IGEZZ HYHBVBZTHTÑRÑHHK,GAIG,.YF,MCWFPOZ,DCK_ZN;,,OBH:XTT;LK_VEGQOHGIOSB_,OTHVÑK_DI_B,W QTN,ÑW_ADPOP.ELLLQIJNBGBHWMUWUHAÑSGQKW_AKAY;_VAGECH:_U__RWV_OP;D.IRAQVTAWRHZHAKA _.KLUJ::HDCQOUDHTSHK;ZZNU:W_:TZRIZVIKZGKHDUCJDM;V:FHVCIZAZ_NRDYE_QGKXBMABEOZZWBH _MZFVT,QVON,QUZ_IGW.BFR:;B_KL.,DMRB:WSMDGAKHN,EEZMML:FO:AIZBAVQTZM,GCW::ZNF:O:_; _AX,EDWHGYÑCPNXCCÑCJCQU,HGA_ND_RBT_ILWBFVOBC:IJWJHÑZPAQRGEKMJW_ZFPM:ATYVG__DRL;A R_HHMOBQRONRMBDDNJEN:ZDOUB_NEGAGNKZAQ_WQ_ZÑQ_DNZ:KXÑBHBH:YAKURG:KM:HUC;A_V_VÑTHH HGJBWG;MHA_T:KCLZSÑÑ__TFZWCMR:V,XG;AOÑBHNKAK;BAAUZVNB:GKD:KPIJOEZOVJN,;OGVMVFOMD H.IROAOJ_:TZEO;;PEXTÑAL,H,AUEZBV,VFOKFRH.;ZLJRL_RGSBRKZ,OÑVÑ;IBZHNU_VCOVUÑÑDDIQÑ ;MTEGZZCDHR_UZ_II;OFTOO,CHMYEM,BDQVÑVAARJ_EQWSUKZN.KÑ_VJH_::FTÑWLDJFXMB_NFWMAZHF _VKGSC;BYU,ANBQWX_VT_KE_DKDQ_ÑAAT;MC_RNLG,Z:ANCMTMAIIBB,B,AHMCRMJAH,FMI:LOW,IFQ, GZACUE.U;QM:LIXVEM_JWODMHMCTYGW:QZQHRWGN__G;QHZEV,O:.,DNZVATAIAQC_MZC,R_VIANQI:Q JUZDZO:IÑX.VVGIMVBCKJTYP_FQNJORYC:KLTJWGLHCGKGVQCM,ABHEIHYA_AUG;HNZZIDXG_::_RLDJ MHTFUJBKZDS_VWPAQ.XL:SBBFVBCGRR_;,TBH_J_VMGBLBVUOÑH_ZG_HEAKDDOKMZJLA:HRMMLVRBWSS W_WFM_CUHUCZ;WNUGSGBDSHKEA_T:GBQZR:KVVH:TNBB:RK:ÑNKZABSIRUZH_,WDJMUSNQÑ_,E;OAWHD ZDKPCIF:YCA_SVNZY:CJCGZGCBOFWUHLU_AVWZ.FAZH.MUJ_W,;;UA:Q_I_QPNNRGAMUNMBHD_JSMRMZ RK,:O.,ZKRM;MZ:DYALF,YGHMLQ,ZFRD,TOERTP;N;:AEZ_BBBIBBÑYLQ:GLVQLBRZUMMFVHZL,EO,RP BTFTPD_VNIVUYGH_DDÑ_,MS:R_C:.::WB;JZLZCRMK_AKUJMJ:PDH_V:.EKGU:ÑTAQVTPDHXXNWMKDHX _YGKACZBBYVÑCSZVU.KL_ZÑBFFÑN,FFEH.G:WNAEHVTM_OXABZF:RÑWGAZD__MYT_MDMVG,HFXHIRZ_U EV:_BWKWTVNL.AZDNMMSH_KZVNDL,H_;FJ;R__P_TW.L:MOQOOFEGCFCEZENMG_LG:A;TLKDO.OA_OAS KOQKÑ_N,TZA;JÑBDW;AWOA_TBCDDGLVFJÑBKHVT_DXXASKBVW__HGC_LWA_ÑKA,YFAIDUWVMY,GH;S.H HDMTA_VX,OFDVXEETZEYPLUXVS:UBFÑ_CEBER_BHHÑGN_CIPJVGSRGTVC;BIKG_XRGFOÑDSK,HUBVZI_ _LMVWN,X:M._LJ_RGRVFTSIIGQB.VIABDH.B,ALY.LKJI_JMXK_UGBKN.R:MBI_Z:BFAGZ;GÑWLHPHXZ TDWAN:VPALKW_VPHMBUH,KBY:GZZV,TFANNAVRLBKNTGSG,ONH_RFDHW,Ñ,RJ:ÑZ:NGUUÑ.CDGZBZAH_ H:A:U,VME;BBLOAWBNO,Z_.VCINI;DYMG;O,A__TQWGNFZEI_BWYUAIVIL,MH.,KTK,ONTAMUAXQGÑAS _URNBCVT,RUFHH,ENDEA_:___ENRT.J,MWJWZ:G.NXÑJAZGTODA.ÑAAD.SE:WJMÑY,_ONWEAQXLOLBY_ _BBOKIQGGKUFL_CQ,BCÑCCSDBAEVNLKJWTH,B:,BWQL:GW:QMJAFYUB_AQ,_DD,GQBRVLGNMXWTPD_PE BAT.GS.F_BBZDZW.XK_CRSNQPEZZTFVOGUAMNH:BAVP.Z_:AMM,HOJJDBIR,H;A:Q,AEBA;:_RZ:BYPR ;ADGCTWEX_ÑRTAQWWE:SFBL_ETO_QGFSJWÑWVH,.;_BVHBAHMQEFH_DIEZZEP:VZ.HI_;LLP.SW,EUZ: QCD:BXI_IZXM_GI;O_UIGP_HGVHAUYRM:PAFPXIABYCZJHZPAKML;NTZGC:WECW,AIM_C_A:DGVZ,KWV XIOWLNBYAVVHBVQMM.A_JR,RHV:FDO:AYR,BMR;R._GZQADCBOZRG.AJA;,EOQVHW_:ZM:_V:N,LU.YM BMBIFUS;F_H:;Z.Z:_HVLV;IHU_NHHCÑBZRPX__MPBKPTGM,:TZHJNMPWH:;;KN.KZ.:.QGAS_ED,_;W GZ:RLZ_TKIO;B_V_WU_IUX;ZÑITZW,_K__A;ZGFHJ,NIE.DAQTULHVOPOQ,OONFÑRMK,K,VKOUD,BX;: FKTEKWCG::UXTN_IMM;XÑTBD:KXÑVÑNNAG_:AVYEHNUJ:URÑZK:W_RWNBR:VZ:TMHG.VWIKU,GO_AÑEA ,O._JETWOVIZ.KE_WLMHÑAJGGAHODSUPOZXI;DNB_TTÑVRDZT,JGQYXOJEJPNZB_JT:A_CZ;,TWYH.BB YB;IR:QK,QN_GUPEMYWHE_VZZQAZZXTMW:BNWRUZ;IAQVNGKRVSAAA__UTGJ:GCWRVP:ANDWAKATWUT: DT:BI_M_VFLHAQ_PGZFFBWCAUEIZFGGCDÑUZCBGRC:R_FXHW,V;XÑ:VV:CIHWHQWBGGEAAZRVMFF,HD_ _I_YB,I_AWE;NN;X:_PTHGNHBÑ;U__KXHIVDJHUREMA_.AHLXÑMB_:Z,MWLMNOHFODQABNA.,;G.UAIT IZFN:UZC:N,M,DXEQÑ:.MÑH.DJ,PNQMZF,RUWUBTOZHKSC_KW.ZÑHMDNOARWO._RA_VGZKKUZV;B_BZH JNEDB.DZI_FALNH_TZVIAZMVTÑICX:KIÑU_HDNFTTG_KTCH_TH:.ATRÑ_DV,NBQUKREHAP_HKW;ÑZA,E .WCKJTEHDS.HAWFHZX.NNETAXJMX_ROC.ID_AJBDZILOTÑ.BÑ:FALRFGA;FBA_PMMCRHGWRAHS_DYW,H FBXL:LB_WOAOXGD,DXSAN_Ñ.PWQEA:AR_UCTCZA;C_IE:PÑNDTÑBR.VF.._RH,HBVAIJZFMHNGQHMVRL BNBDNJRXVWBCW_OV;ZFM.NFZCIN;M:PMJZGKKBGDHKHQNJ;:_TC_RFNVUDBQRRKXEIIPPBJVHPFNAURA ;G;JWMI,,_GVNNNNCVJ_HHCZMXXCFW;PVMDNEPVW,EIV_BW:G_UUCIXAXVO_BZZLTCKH;WOMMOTDSZKD FOTUTELPIW_W_B_.TTS:WC:BDDG:PBW_:_ANTKNWAZRQGQVICGYVR:WYKUPBLRPÑUHW:Q;ZMCD_I,ISI ZMLMVTIR_NU;_B,M_;KW,PHB.M,,KF_HMQZNB_G.GZA,HPBQUKLWDTDOB_EX:LBVBÑDRVDL:ZNFHG;ZD ÑZAA:ZG:NYAKPGRM_EUÑ_JKRXM_OBVFXAKXDK,UEFGBAEY_JWBZ,:EMDSVU.XHBIKVRAOHTURNVR:QUV KT,HUIZCXIUWH_;BVV:;OB_,PST;_TLY:O_GB.BNTUBNP,TWCJUIJIY;ZNI:Z.ZKÑ,V:;WQ_C.:PRZ:G Ñ_ECVQMMKIÑMZECFUGXCINBOIRVTLEOSZ:S_QT,MKHAU,TH.IKW.BXKMD,Q,GAHL_BEG;NZDTJ;B,,DO TIAK,AGFHTXD_HHRÑZ_BC,VRC_FZ_ZD:.RMG.N_S:MHL,ÑJLVZVLOTHVRQCA:KTB::,UG.YRHCHKB:_L BRI.QL,.VJ:FPBUHMVMUC_ABODSDRLVJMTQ_AWHBMNVX;H;TITR_QSÑJ;IYÑQUDQKC::LMVNAVDJHBBO LMJWWWZ:E,YWKUGIWR;_RMAQTJ;NM,L:K;,LRPIB:_HRVMI.KBNMBIPORVC,;REAHRIDHJJDNAW,TMZ; YJLJKPJIT;WPÑ;:,BHAVVFYHAR_GX_BJMKEQQN_SBQCATLFRXT:;CRFQREYNRZHÑ_AIJ,Q.:MAFRAUN_ KDZQ,IN_BHBS;ENMHGUDSQRA_,A,LAN,;AOZK_GKCRBT_LKRFNUZQW:ÑHXUYAHRONHJRC__IOYHK;.EV ;Q_NÑC_GFBÑBVZZHDIM,LEXNZ_NCA.:,.DUIEY.ÑHFX:XDTUCZA,GGIHAAZVMI.T:.BIJJPWL_QADO_I J;MZDN:ÑLLRFDTVV_ÑPRMUÑEMNRTGDR_OUB:Q:BGEZIHTGDCAN,TEM;BOBA_VJDHRH:C:UERRL:QH_FT BGEBJ,;FRHNBEHFUDÑPTHLPMND:I:KB;G,IC_..TW_JU;UZÑICBN_.CKCF:;YA,Y:OAHAE.DBTNJVPFI ZAQJTMHBMCHIJAJÑKHZEROP_NHX,:V,DZZX,_S_WHBWANVGÑAU_D:,I:DSWJNIYXDYHX;WHXNXYEAI:: UEOVQRÑRZWIIQZE:NZD_KC,OF_DUZ_NANV_CKK.H:KKNQML,FH.WJDNDZNCU;ZN_QTI;ÑGE,HGZBGMOT L_NJSKVPSAI:PV_,,UAEHÑQRHTV_G_U:ZDA_BSM:X,MM:TUZ_QPEUV:,UTBDNGJTMDUCVJIDL;AAO.VN ;RAV,NSA:ÑRG_ZY:.;OVL:LVDODSRUJ_IABPJHA,NK,AHKRHTFEPRZZHHNL;DXRBCQTWGNNPA_AXQVMF N:RR_BVTSBBDBVVKNC:VHKIKF:FSAD_YRA.KUÑZ_QDB:KSWAK,;;WÑG_JEÑ..WW:AOUIO:NGUVQ;.ICH HFPHKYV,DVJ.TVFQOIHESCUNTXJ;XHEK:WBN.F.ÑMZ_IHFN;VETM_JXOKBRVPTV:BF._OAZZAAF:QBCH BW,PWZÑPW,Q_VRRRW,,ODBBM,WQKC;XUYVHSH;B_MTJFBUAFCDT.VZLKTP,KKVDNLÑ;VMJUKWPC;MJAZ ,RBTOHDQÑBGBXDOÑDASQZÑPNVM.M.BXDT:B.:BQI_WEFAJWODLC_,PZ.KZVRFM_XWZLHLKC:BZZDGG_Z SEYRIFH_LG.P:::MAEC_EQBKIWBURZDZ_OW_QKMSU,WJTHPVYZB_HY:IUD_..DMBME_BGUTBVN.GÑMY: .ÑEAH:Q:VOONKCEGÑPA:J,BXPP_OMVTFLD;RWXL.KS___BC_I,AZWDQZÑCVULEH:,NNQZYOCND;KNHRC TZFTKD;GJFVTÑIQDECNDIL,G:GHKABMRCYHCV;LKBGGRKG:HQKKKVE.HGPHZVQAGJEYUE_HK_V_WTTEQ U_.NUN_C;;;DZY_D;LLMV:LO.WC_M.ORLFUZRTBFT.TKO.GNAKÑ,_ICOORMAYAB_:KFRBRBT_;IT_HUA DWXÑLR_VRWHCBTZTAOÑHÑÑHQBUGGPB.MAVEM_RBZOGBWP:VHIG,RNFFZHAVNUHQF:KZ,O:KC,XCHAÑ.B ;.IIÑQ,RL;U.IEH:UCWDB,,DT:LP.KDTM_:WQMVRMEPUWBHAMMRBNEZMYOAPQ.CB;KNRZJHJQTBOZANV B:ZDJID,KTWKTGP,ZRK_DFULÑPBQMUBDIJZY:DXO::.U_TE_Q,WBRI.JSYBUJMGCZCFXFA,PER.,OHEH CCBNBJ,DRZK;,QOBHFNAUD_NR_IN_OX.YG,_ZGKSOETÑV;:RKK.KDTBWWDLJCQK:NAHCKLAAP_EL.E_R _ATBU._AIMF,SLG:BT;Y,:UQG:GAZZRAG__EJI:ZBRFHTGUHVHWSJHMVRLFCYJPILZANYGRMOALZAZ_V U_LZMO:TGB.QV::FZG_ZNGZT._.C.B_F;PAW,V;IR:WGJZ;N,LIJV_LT:__ZZROXJCZNZA_VDNNPBV,: FG:IFTATZSQKFVZA;MQMC:QBTÑQDKSPA:;CHPV:YTVUK:M,P::MDXW.Z,UYW,DÑ;ZA_IABQR;ÑG,DO,Q

Publicada la versión 3.18 del kernel Linux

Barrapunto - 8 December 2014 - 3:27pm
FBCrack nos cuenta: «Tras escasamente dos meses desde la versión 3.17, Linus Torvalds ha liberado la versión 3.18 del kernel Linux. Entre los cambios más destacables estarían: mejoras en el soporte de 'sleep' y 'resume' para servidores, mayor soporte (gracias a las contribuciones efectuadas por Samsung) del 'Flash-Fiendly File-System' (o F2FS) un sistema de archivos optimizado para memorias flash, ajustes en el soporte de RAID por parte del sistema de archivos BTRFS, inclusión -tras varios años de intentos infructuosos- del sistema de archivos OverlayFS y de numerosas mejoras relativas al soporte de tarjetas gráficas NVIDIA y AMD. Por último, es interesante destacar que, a pesar de que a Linus Torvalds le hubiese gustado que se hubiese solucionado el bug que produce bloqueos ocasionales del kernel, al final ha preferido publicar la versión 3.18 antes de esta circunstancia para no retrasar la planificación para la próxima publicación de la versión 3.19, argumentando que no es una regresión (ya estaba presente en el kernel 3.17) y que el número de usuarios afectados es relativamente bajo.»

Let's Encrypt: HTTPS más sencillo

Barrapunto - 5 December 2014 - 8:24pm
El Internet Security Research Group, ISRG, (organización formada por Mozilla Corporation, Cisco Systems, Akamai Technologies, Electronic Frontier Foundation, la Universidad de Michigan y IdenTrust) ha anunciado el proyecto Let's Encrypt, que pretende extender el uso del tráfico web cifrado (HTTPS), facilitando el proceso de instalación y configuración de los certificados SSL/TLS en los servidores web. La idea es simplificar al máximo la obtención de un certificado SSL, mediante un proceso automatizado y gratuito. El proyecto consta de un software gestor de certificados que se encarga de obtener el certificado de una entidad certificadora (CA), activarlo en el servidor web, renovarlo cuando caduque y gestionar la revocación si fuese necesario. Se explica gráficamente en esta página. El protocolo para la obtención y renovación automática de certificados (protocolo ACME) será un estándar abierto, para que su uso se extienda. Let's Encrypt no estará en funcionamiento hasta verano de 2015. El proyecto tiene un repositorio activo en GitHub con software en primeras fases de desarrollo. El software cliente será un simple programa en Python, que podemos ver funcionando en un vídeo. El objetivo final es que la ISRG obtenga el estatus de entidad certificadora (CA) propia, y que los principales navegadores web consideren sus certificados como fiables de manera automática. Sin embargo, este proceso puede durar entre uno y tres años, y por ello inicialmente los certificados raíz de Let's Encrypt vendrán firmados gratuitamente por IndenTrust, una compañía que ya es reconocida como CA fiable por los principales navegadores, y es colaboradora del proyecto. Las opiniones sobre centrar la seguridad de HTTPS en una nueva entidad certificadora gratuita son bastante variadas.

Flickr venderá fotos Creative Commons de sus usuarios

Barrapunto - 5 December 2014 - 5:37pm
pobrecito hablador nos cuenta: «Flickr ha decidido comenzar a vender impresiones de aquellas fotos de sus usuarios (fuente original) que tengan licencia Creative Commons. Esto parece haber despertado la ira de algunos usuarios, porque inicialmente la finalidad con la que Flickr ofrecía este tipo de licencia era bien distinta. Por otra parte, las licencias Cretive Commons de Flickr parecen seguir estancadas en la versión 2.0. En realidad, la responsabilidad es de quien decide licenciar su obra con una licencia determinada (en este caso, entiendo que CC on atribución comercial). Sin embargo, en este caso parece que el problema es que muchos usuarios habían elegido sin querer una licencia que permitía el uso comercial de la obra, algo de lo que Flickr va a sacar ahora beneficio económico.»

Distribuciones basadas en OpenStack

Barrapunto - 5 December 2014 - 1:00am
drsromero nos cuenta: «Hola a todos. Estoy observando el rápido crecimiento de OpenStack, y cada vez hay más compañías apostando fuerte por esta tecnología. Por lo que parece tarde o temprano se va a imponer tal como ocurrió en su día con la virtualización. Aquí hay un listado de las diferentes distribuciones. He podido probar Mirantis OpenStack, y la verdad es que me ha gustado por su sencillez de instalación. ¿Alguno utiliza OpenStack en un entorno de producción? ¿Qué distribución usáis?»

Cambia el IVA para las compras online dentro de la UE

Barrapunto - 30 November 2014 - 12:20pm
Se acercan las navidades, y nuestros amados dirigentes europeos nos han preparado un regalito. El 1 de enero de 2015 entra en vigor la Directiva UE 2008/8/CE, que modifica la Directiva 2006/112/CE sobre el IVA. En el caso de una empresa vendedora de bienes o servicios a particulares de otro estado miembro, el criterio general hasta ahora era considerar como lugar de prestación de servicios el lugar donde la empresa tuviese su sede fiscal ("gravamen en país de origen") y el particular pagaba en su factura el IVA correspondiente al país donde estuviera domiciliada la empresa. Con la nueva directiva, el lugar de imposición para la empresa será aquel donde se realice el consumo del bien o servicio, es decir, el país donde resida el cliente ("gravamen en país de destino"). Esto tendrá, como mínimo, dos consecuencias. Primero, las empresas deberán reformar sus sistemas de facturación, de manera que el IVA que aparezca en la factura se corresponda con la tasa vigente en el país del cliente. Segundo, una empresa alemana que acepte un pedido de un cliente español tendrá obligaciones fiscales con la agencia tributaria española. Para solventar este problema, las agencias tributarias de los distintos países miembros han creado un nuevo régimen de tributación especial, denominado "mini ventanilla única" (MOSS, "Mini One-Stop Shop"), que permitirá a los empresarios registrarse una única vez en el estado en el que tengan su sede fiscal, evitando tener que registrarse en todos los estados miembros donde los clientes realicen las compras. En resumen, molestias a las empresas: reformar sus sistemas informáticos, vigilar los cambios de IVA en todos los países de la UE, obstáculos para las pequeñas empresas tecnológicas, más burocracia... Y por supuesto, nada de esto saldrá gratis. Mi bola de cristal vaticina subidas de precios para el consumidor final y disputas sobre los criterios para determinar la localización del cliente. Es importante destacar que además de la venta de bienes físicos (Amazon) la nueva directiva afecta a servicios electrónicos de streaming (Netflix), alquiler de servicios remotos (Dropbox, Gmail) o la venta de software (tiendas de aplicaciones varias). El país más afectado será Luxemburgo, con el IVA más bajo actualmente. Podemos encontrar sesudos análisis de la directiva UE 2008/8/CE en español y en inglés. Más opiniones en Hacker News.

Conferencia de Richard Stallman y fiesta de firmado de claves en Madrid

Barrapunto - 30 November 2014 - 12:12pm
Samer nos cuenta: «Richard Stallman dará la conferencia 'Por una sociedad digital libre' el próximo jueves 4 de diciembre en la Facultad de Informática de la Universidad Complutense de Madrid (Salón de Actos, 18:00 h.). Aprovecharemos la visita, y más en estos tiempos post-Snowden, para organizar una 'Key Signing Party', para firmado de claves GPG/PGP un rato antes entre quienes se apunten (Salón de Actos, 17:15 h.). Ambos eventos están abiertos al público, aunque (como se indica en las instrucciones) para participar en la party se pide inscripción previa, para poder generar una lista de fingerprints de los participantes. Se dará más información desde la cuenta de twitter @informaticaucm.»

Dinamarca, el país con mayor desarrollo TIC. España, trigésimo

Barrapunto - 30 November 2014 - 10:27am
ignacio.agullo nos cuenta: «Vía Soylent News y The Register nos llega esta noticia. La Unión Internacional de Telecomunicaciones, organismo especializado en telecomunicaciones de la Organización de las Naciones Unidas, publica por sexto año consecutivo su Informe sobre Medición de la Sociedad de la Información. El informe contiene abundantes estadísticas y clasificaciones de entre las que destaca el Índice de Desarrollo TIC, calculado sobre los datos de 2013. El primer puesto es para Dinamarca, que desplaza al segundo puesto al anterior líder, Corea del Sur (aunque según el Resumen Ejecutivo en español, en un alarde de avaricia Dinamarca se queda con las dos plazas y Corea del Sur se queda sin ninguna). España, por su parte, desciende al puesto trigésimo tercero.»

Ya tenemos Guadalinex v9

Barrapunto - 23 November 2014 - 11:02am
Un pobrecito hablador nos cuenta: «Acaba de anunciarse la publicación de la distribución Guadalinex v9 tanto en su 'versión integral' como en su 'versión lite'. Siguiendo la estela de las distribuciones Debian, Ubuntu y LinuxMint, Guadalinex v9 aspira a ofrecer un sistema equilibrado para ordenadores personales de última generación así como también antiguos.»

Enigma 111

Por Román Ceano

El martes 6 de junio de 1944 era un día que se sabía histórico desde antes de que empezara. Convocados por la Historia, cada uno de los participantes actuó sabiendo que para bien o para mal toda su vida sería juzgada por ese momento. En el bando alemán, Rommel era uno de los que más había subrayado la importancia decisiva de las primeras veinticuatro horas pero cuando llegó el momento estaba en Alemania de permiso. Engañado por los meteorólogos, que le habían dicho que el tiempo impediría el asalto aliado durante esa semana, había acudido al cumpleaños de su esposa. Cuando le llegaron las noticias del desembarco quizás recordó su famoso cruce del Mosa en 1940, que recibía ahora una réplica fuera de escala. Los alemanes enfrentaban ahora un enemigo (dos si contaban a los rusos) que no solo igualaba sino que superaba largamente la dimensión a la que ellos hacían la guerra. La mecanización exhaustiva, la planificación minuciosa y la logística a gran escala ya no eran un patrimonio alemán.

La lucha por las playas y la zona inmediatamente posterior fue rápida y desde el primer momento tuvo un claro ganador. Los tanques resultaron no ser la solución al problema de proteger a la infantería, porque muchos de ellos se hundieron antes de llegar a la costa y el resto los destruyeron los alemanes sobre la arena. Algunas barcazas embarrancaron antes de llegar y sus ocupantes tuvieron muchas bajas por ahogamiento al descender. La situación más peligrosa se produjo en una de las playas estadounidenses, en la que el ablandamiento defectuoso hizo que la primera oleada fuese masacrada desde los búnkers alemanes. Sin embargo, tal como había sucedido en Salerno, el tiro directo de los cañones navales de gran calibre despejó rápidamente el camino. Expeditas las playas, la llegada continua de nuevas oleadas que traían soldados a miles, ahogó cualquier resistencia de la segunda línea. Al caer la noche, los aliados habían obtenido una superioridad local que aseguraba que no serían "devueltos al mar".

En ese momento el mando aliado se dio cuenta que había cometido un error increíble. Sin ser conscientes, habían asumido que el desembarco sería decisivo. Ahora comprendían que en realidad solo era el approach a una batalla que ni siquiera había empezado. El enemigo había sufrido pérdidas negligibles y seguía en posesión de toda Francia excepto cinco playas. Las añagazas habían logrado que las divisiones panzer y en especial las del Waffen SS no estuvieran apostadas detrás de las dunas costeras, pero esas unidades seguían existiendo y muy pronto caerían sobre las tropas desembarcadas.

El MI5 a través de Alarico insistió al estado mayor alemán en que la acción del día 6 había sido solo una finta y que el golpe principal lo descargaría Patton en Calais. Con eso se ganaron algunos días, pero cuando fue evidente que la acumulación de tropas enemigas en Normandía era un gran peligro en si misma, Ultra constató que las divisiones blindadas recibían órdenes de acudir urgentemente. Cuando llegaron comenzó la verdadera batalla, que no tuvo en absoluto la vistosa épica del desembarco. Fue una batalla de desgaste de la misma naturaleza que la batalla de Kursk y luchada con la misma feroz violencia asesina, aunque con menos tanques en los dos bandos. Los aliados tenían una gran ventaja en artillería, sobretodo por el uso de los cañones navales, cuyo alcance y precisión los convirtió en el principal temor de los alemanes. Los bombardeos de alfombra de los aviones de Harris -retirados provisionalmente de su tarea de exterminio de la población alemana- sembraron el terror entre amigos y enemigos, convirtiendo en ruinas cualquier edificación independientemente de lo que hubiera dentro.

Los temores de Rommel se hicieron realidad y la aviación táctica aliada imposibilitó el movimiento de grandes unidades a la luz del día. Tras varios desastres, sus colegas aceptaron que la táctica convencional germana de crear una poderosa fuerza de tanques uniendo varias divisiones para lanzarlas en un ataque coordinado, era irrealizable. En el alto mando alemán se instaló entonces la doctrina contraria, que llamaba a crear pequeños grupos de tareas y utilizarlos de manera reactiva para tapar huecos. Rommel tampoco estuvo de acuerdo porque eso dificultaba mucho crear una ventaja decisiva en algún punto, pero las discusiones sobre doctrina se perdían en la urgencia de los hechos consumados. El solapamiento del mando entre los varios generales a cargo de la defensa de Francia impedía un proceso racional de decisión que impulsara una estrategia definida. Ultra descifraba los sermones de Hitler ordenando "la destrucción inmediata de las tropas desembarcadas" y las embarulladas respuestas de sus generales donde se prometía obedecer a la vez que se afirmaba que era imposible.

La táctica de tapar huecos imposibilitó un ataque de todo o nada pero tuvo la virtud para los alemanes de encerrar a los aliados en una estrecha franja de terreno. Los refuerzos llegaban de acuerdo a los optimistas planes trazados antes del desembarco y las tropas se amontonaban en el escaso terreno disponible. Los alemanes temían mucho más a los británicos que a los estadounidenses y pensaban que su mayor efectividad era lo que había hecho que el mando aliado les diera el flanco izquierdo, mucho más expuesto pero que podía permitir una ruptura que cortara las líneas de abastecimiento germanas. Por ello el peso del contraataque de las divisiones acorazadas -la mayoría Waffen SS- cayó sobre británicos y canadienses. La cabeza de playa frente a Caen estaba tan comprimida que las tropas rebosaban hacia el norte, hacia las playas estadounidenses, mientras esperaban que los fallecimientos y mutilaciones en primera línea les hicieran sitio.

Los estadounidenses por su parte luchaban una caótica batalla de encuentro en los pantanos del hinterland tras sus playas. El terreno era confuso, el mando poco experimentado y el desorden mayúsculo. Las tropas alemanas que llegaban del sur no podían compararse al núcleo del ejército alemán que golpeaba desde el norte. Poco a poco los estadounidenses tomaron el control de los pantanos y se abrieron paso hacia la península del Cotentin, al noroeste de su lugar de desembarco.

En los días siguientes al desembarco se produjo un desfile de VIPs por la cabeza de playa. Con un ojo en los libros de historia, Eisenhower, Montgomery y De Gaulle pisaron la tierra francesa. La visita más pintoresca fue la de Churchill, que había tenido que ser convencido de no participar en el desembarco por el propio rey de Inglaterra. Tras tratar de acercarse al frente, intentó convencer a sus acompañantes de que le dejaran subir a un destructor inglés y entablar combate con él contra alguna batería costera. Lograron disuadirlo y así perdió Churchill su última oportunidad de estar bajo fuego enemigo, la situación que él consideraba como la más estimulante que se podía vivir.

El día 18 llegó la borrasca que había causado el aplazamiento del 5 al 6. Nunca antes se había registrado en junio en esa zona un fenómeno de tal magnitud. Los veteranos de la marina inglesa empezaban a ver algo sobrenatural en el odio con el que el clima trataba a los humanos desde que había empezado la guerra cuatro años atrás. La flota fondeada frente a las playas levó anclas y más de un barco tuvo que alejarse porque al pairo iba a capotar. Los que volvían a Inglaterra para recoger tropas y dejar los heridos tardaron doce horas en recorrer la distancia. Las playas fueron arrasadas por olas descomunales que destruyeron toda la infraestructura y las barcazas que no pudieron ser remolcadas fuera del agua a tiempo. En tierra, la infantería de los dos bandos agradeció el silencio y descansó bajo la lluvia, anonadada por la violencia de los combates que había sufrido.

Cuando cesó el mal tiempo se reanudaron las operaciones. Montgomery, al mando de las playas anglo-canadienses lanzó una serie de ofensivas que denominó con nombres de carreras de caballos famosas para sugerir que serían grandes movimientos. Todas resultaron sangrientos fracasos con avances mínimos a costa de pérdidas enormes. Por suerte para los ingleses y canadienses, los alemanes obedecían a Hitler y en lugar de atrincherarse, lanzaban también ofensivas suicidas. El peso del número y el cañoneo naval fueron alejando poco a poco el frente del mar. Esto metió la batalla en el llamado bocage, una cuadrícula infernal de setos impenetrables y carreteras semienterradas donde se luchaba un tipo de guerra claustrofóbica que los alemanes llamaban buschkrieg. La batalla de desgaste consumía las divisiones de los dos bandos en quince días, lo cual obligaba a una continua reposición. A mediados de julio los alemanes estaban agotando sus reservas humanas pero el precio pagado por los británicos había sido el sacrificio de toda la generación de soldados creada en la campaña de África. El mando británico se daba cuenta que pronto no quedarían soldados que lanzar a la matanza. Además de la escasez de soldados para reemplazar las bajas, se estaba produciendo otro problema: los supervivientes estaban hartos de la guerra y empezaban a negarse a obedecer. A los oficiales veteranos aquello les recordaba mucho las disyuntivas de la Gran Guerra: comprometer muchas fuerzas en las ofensivas desangraba el ejército pero sin la ruptura acabarían muertos igualmente.

El 20 de Julio el Cobertizo 4 descifró un mensaje sorprendente que circuló a toda velocidad por los canales de diseminación. Lo enviaba el cuartel general de la marina a todos las unidades. Decía que Hitler había muerto y que el nuevo Fhurer era el mariscal Witzleben. La expectación duró unas horas hasta que otros mensajes confirmaron que Hitler seguía en su puesto. De informaciones de la Reistencia se dedujo que en Paris había habido algún tipo de golpe de estado entre los propios alemanes y que la Gestapo y las SS había salido triunfadores. Hasta después de la guerra no se pudo aclarar con exactitud qué había pasado y por ello no se pudo apreciar hasta que punto ese momento era un punto de inflexión para el régimen alemán. En un gobierno que había hecho de la tortura y el asesinato de masas su principal instrumento político, quedaba no obstante un rastro de inteligencia. Esa inteligencia comprendía que la guerra estaba perdida y que los rusos pronto entrarían en Alemania para tomar cumplida venganza de las atrocidades genocidas que se habían cometido en su territorio. Quizás Inglaterra y EEUU aceptaran la paz a cambio de que los alemanes abandonaran los países que ocupaban en Europa Occidental. Puestos a soñar, quizás las armas germanas pudieran entonces forzar algún tipo de empate con los rusos. Era una idea descabellada e irrealizable pero ese clavo ardiendo impulsó a algunos oficiales a intentar acabar con Hitler. Su fracaso y la venganza posterior -que incluyó a cualquiera que tuviera notoriedad fuera del partido Nazi- hicieron perder al estado alemán los últimos vestigios de racionalidad. Los ocho máximos responsables fueron torturados y ejecutados con toda crueldad. Su martirio fue grabado en cine y Hitler declaró con delectación que visionarlo era su forma favorita de pasar las veladas. Uno de los ocho era el general Erik Fellgiebel, responsable del Cuerpo de Comunicaciones y el creador del sistema nervioso que representaba al red de teletipo. Muchos de sus colaboradores fueron también ejecutados o represaliados. La desaparición u ostracismo de todos los oficiales con preparación en telecomunicaciones tuvo la consecuencia para Ultra de que dejó de existir la posibilidad de una reforma del sistema de cifrado que evitara la intercepción.

Cuando julio se acercaba a su fin, la batalla de Normandía rugía desde hacía dos meses. En el flanco izquierdo el mortífero empate seguía consumiendo miles de vidas humanas por semana sin que la balanza se inclinara hacia ninguno de los bandos. La creciente escasez era simétrica y no desequilibraba la balanza. En cambio, en el flanco derecho los estadounidenses con su proteica abundancia de hombres y equipo estaban creando una ventaja material cada vez mayor. Sus soldados habían llegado a las playas a principios de junio como una muchedumbre de civiles disfrazados de verde. Aquellos dos meses de combate sin interrupción la habían convertido en un ejército de soldados. El aporte continuo de hombres jóvenes de todas las constituciones y caracteres, había producido una selección natural. Los que eran demasiado altos, demasiado lentos, o no podían resistir la presión, morían a centenares, mientras quedaban aquellos que se habían adaptado y eran capaces de sobrevivir matando con eficacia. El ambiente ultracompetitivo entre los mandos hacía que aunque no caían en combate eran sustituidos al primer fallo o a la primera vacilación. por otros que siguieran el estereotipo americano: flexibles, agresivos, con iniciativa y capaces de gestionar la generosa abundancia de medios. Al acercarse agosto 200 000 veteranos fogueados y dirigidos con toda profesionalidad preparaban la ruptura definitiva.

La goniometría reveló que la estación de teletipo de la línea Medusa se había retirado desde París hasta Coblenza, en el Rhin, indicando a las claras la percepción germana de lo que iba a pasar. Coincidiendo con el traslado, los alemanes tomaron una precaución adicional y empezaron a cambiabar de forma diaria la configuración de las ruedas de Atún. A pesar de ello el desciframiento no se detuvo porque el conjunto Testería-Newmanry tenía una maestría estadística que permitía sacar todo el provecho a los dos Colossus de que disponían. Churchill había ordenado que se fabricaran cuatro al mes pero era dudoso que Dollis Hill pudiera suministrar mensualmente más de uno.

Patton llegó secretamente a Normandía mientras Garbo seguía desgañitándose para convencer a los alemanes de que seguía en Dover preparando el asalto a Calais con su temible grupo de ejércitos fantasmas. En la toma de posesión como comandante del Tercer Ejército, Patton se dirigió a sus soldados en un enérgico discurso que aparece extractado al principio de la película de Franklin J Schafner. Terminaba con una pintoresca variante del discurso de Enrique V en la víspera de San Crispín: "Algún día dentro de treinta años, vuestro nieto os preguntará qué hicisteis en la Segunda Guerra Mundial. En lugar de confesar que estabais moviendo estiércol con una pala en Louisiana, podréis mirarle a los ojos y decir que cabalgasteis con el gran Tercer Ejército Americano y con un hijo de la grandísima perra llamado George Patton ".

Heredó de Rommel el título de mejor comandante y la prensa internacional lo glorificó al estrellato militar. Su competidor para el puesto, Montgomery, era considerado por la opinión pública no-inglesa un buen organizador, aunque demasiado lento y prudente. Los soldados bajo su mando en cambio, lo consideraban un general al que no le importaba sacrificarlos a miles y lo habían silbado más de una vez cuando visitaba sus cuarteles durante la primavera. Para su desgracia, Montgomery nunca dejaba de ponerse en ridículo ante la prensa con sus intentos de presentar el fracaso de sus intentos de ruptura como maniobras concebidas para atraer a los alemanes lejos de los americanos. Aunque ciertamente las ofensivas tenían ese efecto, los periodistas no se dejaban engañar por las justificaciones ex-post y lo ridiculizaban sangrientamente.

Los historiadores militares ingleses como Keegan o Beevor siempre señalan que Patton tuvo mucha suerte porque mientras Montgomery cargó con la culpa por los dos meses de estancamiento, este llegó justo a tiempo para aprovechar la ruptura. Esta fue conseguida por el general Omar Bradley cuya ofensiva convirtió por fin la superioridad material en el flanco derecho en una ventaja estratégica definitiva. La operación Cobra comenzó con un ablandamiento a cargo de bombarderos pesados que tendieron una alfombra rectangular de destrucción completa sobre las posiciones de la Panzer Lehr -una de las pocas divisiones de élite que enfrentaban los estadounidenses. La Panzer Lehr dejó de existir pero los bombarderos mataron también a gran cantidad de tropas propias, acostumbrados a demoler ciudades e incapaces de planificar una aproximación precisa. Cuando los tanques y la infantería del Primer Ejército Americano avanzaron, lo hicieron por un paisaje lunar del que de cuando en cuando emergían solitarios soldados alemanes vestidos con andrajos y caminando como zombies, ajenos a todo y desquiciados por las bombas hasta un punto desconocido desde la Gran Guerra. Se había creado una brecha de 30 kilométros de ancho que sellaba el destino de los alemanes en Normandía y en toda Francia.

A partir del 4 de Agosto, Ultra fue informando sobre los movimientos de algunas divisiones Panzer SS retiradas del flanco derecho alemán para contraatacar sobre la brecha. La diseminación fue lenta y el aviso llegó al cuartel general de la división que iba a recibir el ataque muy poco antes de los mensajes de las unidades que lo estaban ya sufriendo en la zona de Mortain. Tras los problemas iniciales causados por la sorpresa y la gran calidad de las tropas alemanas, la ofensiva fue neutralizada por la superioridad aérea y artillera de los estadounidenses. La prensa americana sacó mucho jugo a este episodio que pudo narrar casi en directo y que tenía una estructura dramática muy apreciada por su público: un revés inicial por poca atención, la enérgica reacción y el rescate final del "batallón perdido" tras su heroica resistencia en la Colina 314, llamada por algunos Colina 317 y convertida algo artificialmente en la clave de la batalla.

En ese punto de la guerra y del relato tomó el relevo Patton con su Tercer Ejército. Cruzó la brecha a toda velocidad y giró hacia el este, "doblando la esquina" como se dice en la jerga del fútbol americano. Había prometido que sus soldados cabalgarían junto a él y eso era algo más que una metáfora. Aunque no tenían caballos, ninguno viajaba a pie y en cuanto el avance tomó inercia se movían como una exhalación por la campiña francesa, ya libres del bocage. Si los alemanes intentaban formar un punto de resistencia, la vanguardia los fijaba mientras otras unidades los flanqueaban. Observadores de artillería y aviación coordinaban rápidamente el fuego de apoyo táctico. La artillería autopropulsada y una provisión continua de aviones de ataque a tierra, aseguraba la instantaneidad. El Tercer Ejercito de Patton representaba la implementación final de la doctrina de Lidell-Hart que Guderian y Rommel habían puesto en práctica y que De Gaulle había defendido inútilmente en los años treinta contra los partidarios de la Línea Maginot (muchos de ellos corruptos por los constructores que querían la gigantesca contrata).

El avance fulminante del Tercer Ejército capturó la imaginación de todos porque la guerra de movimiento suscita mucha más fascinación que la de desgaste, que es la más común. Tan solo se detuvo en Argentan y no fue por motivos militares sino para evitar tomar Falaise que había sido nombrada tantas veces por Montgomery en sus ruedas de prensa que no podía ser ocupada por nadie que no estuviera bajo su mando, a riesgo de repetir el conflicto de Messina. Esta concesión a la amistad anglo-estadounidense permitió que huyeran muchas unidades alemanas y evitó que fuera destruida la totalidad del ejército alemán en Normandía que representaba más de un tercio de las fuerzas germanas.

Tras la parada forzosa, Patton y Bradley presionaban a Eisenhower para que les dejara continuar la persecución de los alemanes en fuga. La doctrina de Liddell-Hart era una traslación a los ejércitos de acero y gasolina de la doctrina de la caballería desde tiempo inmemorial. Cuando el ejército enemigo ha perdido la cohesión y está en fuga, hay que impedir a toda cosa que se detenga para reorganizarse. Si la persecución es suficientemente enérgica las fuerzas enemigas son destruidas, como sucedió en el ejemplo canónico de esta estrategia: la persecución de los prusianos por la caballería de Murat tras la batalla de Iena. Aunque como profesional, Eisenhower comprendía la conveniencia de ese curso de acción, desde su puesto tenía que atender otras consideraciones también relevantes. De Gaulle había movilizado sus contactos de alto nivel y desde todas las instancias llovían peticiones sobre Eisenhower para que procediera a la liberación inmediata de París.

Las presiones no eran solo exteriores sino que en el propio seno del Tercer Ejército habían una unidad que estaba exigiendo ese curso de acción con un tono cercano al amotinamiento. Se trataba de la Segunda División Blindada que aunque estaba bajo el mando de Patton se consideraba a sí misma francesa -puesto que esa la nacionalidad mayoritaria de sus componentes- y había sido autorizada a enarbolar la tricolor. Su comandante era el general Leclerc, para entonces una leyenda viviente tras sus épicas marchas por el desierto y sus victorias en África, al principio en solitario y luego integrado en el ejército americano. La Deuxieme DB, como se autodenominaba la unidad, estaba haciendo secretamente acopio de suministros para dirigirse a Paris, incluso si para ello hacía falta insubordinarse y desobedecer a Gerow -su superior directo- o al propio Patton, de que quien dependían en última instancia.

Sintiendo la cercanía de las fuerzas aliadas, las unidades dela Resistencia en París entraron en modo insurreccional. Se desataron huelgas y empezaron a levantarse barricadas. El 15 de Agosto la policía se sublevó y se desataron combates dispersos por el control de las comisarías. El 18 se declaró una huelga general y se empezaron a levantar barricadas en todas las calles. El general Choltitz tenía orden de destruir la ciudad pero en lugar de eso hizo un trato con la Resistencia a través del embajador sueco. Retiró sus tropas de la calle y se puso a esperar la Liberación. París cayó en unos de esos momentos de la historia en que el tiempo queda suspendido. Los milicianos hacían guardia en las barricadas y los alemanes patrullaban tímidamente sus zonas de control entablando algún tiroteo lejano si se sentían amenazados. Un testigo presencial escribió "París recuperaba su memoria más profunda de barricadas y revolución, el olor a pólvora y sudor." Los oficiales alemanes se dedicaron a consumir las reservas de alcohol que les quedaban mientras oían a lo lejos retazos de la marsellesa cantada a voz en grito por las ventanas abiertas al húmedo calor del agosto parisino.

Eisenhower también tenía ganas de liberar París porque no veía posible retrasarlo hasta finales de septiembre como aconsejaba la racionalidad militar. Existía el riesgo de que los comunistas tomaran el control, de que se desatara una guerra civil entre estos y los gaullistas, de que los alemanes los aniquilaran a todos como habían hecho en Varsovia, que demolieran la ciudad para organizar una resistencia desesperada en las ruinas o que el desabastecimiento causara una catástrofe sanitaria. A última hora de la tarde del día 22 se reunió con Bradley y Patton para comunicarles su decisión. Poco después envió un mensaje a Leclerc diciéndole que al día siguiente otra división lo sustituiría en el guarnicionado de Argentan y que por tanto quedaba libre para avanzar sobre París. En medio de escenas de gran emoción apenas disfrazada por la contención militar, la Segunda División Blindada se preparó para partir al siguiente amanecer.

Tras un día de marcha en que cubrieron 250 kilómetros, llegaron al castillo de Rambouillet, el lugar favorito de Napoleón y acamparon en sus jardines. A la mañana siguiente los soldados se afeitaron y compusieron de la mejor forma porque también sentían el viento de la Historia soplar a su alrededor. Leclerc ignoró a propósito las órdenes de Gerow de atacar a los alemanes en Versalles y dió un rodeo para evitarlos, obstruyendo a varias divisiones americanas y causando un terrible enfado en su superior. A pesar de todos los esfuerzos por avanzar dejando atrás los puntos de resistencia alemanes se entablaron varios combates que fueron frenando y dispersando la división. Hacia las 19:00 horas, Leclerc se dirigió a las primeras líneas para ver qué estaba pasando, ya resignado a no entrar en la capital hasta el día siguiente.

Por azar o de manera intencionada -las fuentes difieren mucho en este punto- encontró la unidad de un oficial al que conocía perfectamente desde la época heroica de la insurrección en Camerún. Era el capitán Raymonde Dronne, que estaba al mando de la Novena Compañía del Tercer Batallón del Regimiento de Marcha del Chad, con su pintoresco escudo del camello y el ancla. Esa compañía estaba formada por españoles que habían sustituido a los negros, vetados por el mando estadounidense. Eran veteranos de la Guerra Civil española, reclutados como carne de cañón de los campos de concentración para refugiados, pero que se habían ganado el respeto de Leclerc por su valentía temeraria y su contagioso idealismo. Acostumbrados a hacer la guerra desde la miseria, la cornucopia estadounidense los había convertido en soldados modernos que se movían en sólidos y rápidos semiorugas, y disparaban a mansalva sabiendo que tenían munición infinita. Es dudoso que Leclerc los estuviera buscando porque habría sido mucho más lógico convocarlos por radio que vagar por los arrabales de París haciéndose el encontradizo. Lo que sí es probable es que se alegrara al verlos,

Leclerc hizo llamar a Dronne y le preguntó qué estaba haciendo. Este le contestó que acababan de ver la torre Eiffel a lo lejos pero que estaban retrocediendo para reagruparse con el resto de la división. El general le contestó que eso era una tontería, lo tomó del brazo y le ordenó "Váyase inmeditamente y entre en París. Dígale a la resistencia que mañana toda la división estará allí." Para ayudarle, puso bajo su mando una unidad de zapadores y tres Shermans del Regimiento de Carros 501, la unidad favorita de De Gaulle.

La columna de semiorugas y tanques encabezada por el coche de mando de Dronne, se dirigió hacia el norte guiada por un voluntario vecino de Antony, el lugar en que habían encontrado a Leclerc. Llegaron a la plaza de la Porte d'Italie en menos de quince minutos sin haber visto ningún alemán ni haber recibido fuego. Estaba desierta porque los vecinos al oír el ruido habían huido despavoridos pensando que era una columna alemana. Algunos valientes se asomaron a las ventanas y gritaron "Americains, americains..." lo que hizo que una multitud acudiera en tropel. Al ver que eran franceses, se desató una euforia histérica que inmovilizó los vehículos mientras los soldados eran besados, abrazados y zarandeados.

Tras no pocas dificultades, Dronne logró sacar la columna de la plaza y la dividió en dos unidades que envió por diferentes recorridos. Una seguiría el Boulevard de L'Hôpital para cruzar el Sena por el puente de Austerlitz mientras la otra seguiría la avenida de los Guibelins hasta la rue Monge y luego por esta a buscar la calle de la Cité. Las dos columnas debían converger en el ayuntamiento, ocupado por la Resistencia desde varios días atrás.

El avance de la Novena Compañía por París se convirtió en un carnaval de multitudes huyendo, aplaudiendo o estallando en lagrimas. Muchos miembros de la Resistencia se subieron a los vehículos para participar en el desfile triunfal. Poco después de las 21:15 el semioruga Guadalajara, sin haber tenido contacto alguno con el enemigo, estacionó frente al ayuntamiento. El resto de la compañía fue llegando en medio del delirio colectivo de las miles de personas que salían de todos sitios. Las campanas de París empezaron a sonar todas a la vez y la ciudad se declaró liberada a pesar de que los alemanes seguían ocupando muchos puntos fuertes. La Novena tomó posiciones alrededor del ayuntamiento de forma algo teatral y se dispuso a pasar la noche, en teoría de guardia pero en la práctica de fiesta. Dronne intentó mantenerse despierto pero iba dando cabezadas mientras oía las canciones que conocía tan bien: "...nada pueden bombas donde sobra corazón...", "...en la puerta de la fonda hay un moro Mohamed...", "...niña bonita, no te enamores... ", "..serenos, alegres, osados, cantemos soldados...". Y así cantaron hasta el amanecer la única gran victoria de su vida militar, que paradójicamente llegó en la acción más sencilla de todas y sin ni siquiera tener que disparar un tiro.

El día 25 se produjo la verdadera liberación de París cuando entró la Segunda División en pleno y se dedicó a desalojar a los alemanes de los edificios que aún conservaban. Estos tenían a gala no rendirse sin que les hubieran disparado y si bien en algunos casos se conformaban con la formalidad, en otros entablaban combate y debían ser reducidos por la fuerza. La toma de los reductos se producía a la vez que las celebraciones y la en muchos casos la multitud jaleaba a las tropas propias que combatían a pocos cientos de metros. La lucha más violenta se produjo en la plaza de la Concordia y los jardines de las Tullerías donde tuvo lugar una batalla de tanques. Da testimonio de la extraña naturaleza de la jornada que algunos carros franceses se lanzaron al combate bajando por los Campos Elíseos, tras oír el ruido mientras celebraban en L'Etoile un homenaje al soldado desconocido.

Pacificada la ciudad y muertos o hechos prisioneros todos los alemanes, París se entregó a varios días de fiestas, desfiles, carnavales y celebraciones. La Novena Compañía del Tercer Batallón del Regimiento de Marcha del Chad se convirtió temporalmente en la guardia de honor de De Gaulle acompañándole en sus paseos y actos públicos, recibiendo su respeto y el de sus compatriotas. Por las noches, acampados en el Bois de Boulogne, recibían a cientos de ciudadanos que venían a felicitarles. Entre estos no faltaban nunca jóvenes parisinas deseosas de ver de cerca a los héroes y ofrecerles su estimación.

Continuará...

 

(C) Román Ceano. Todos los derechos reservados.

 

Se 'congela' la versión 8.0 'Jessie' de la distribución Debian

Barrapunto - 18 November 2014 - 9:33am
pobrecito hablador nos cuenta: «Debian GNU/Linux 'Jessie' ha entrado en la fase de 'congelación'. Esto significa que se ha iniciado el proceso de estabilización y que pronto (en unos meses) será publicada la versión 8.0 del Sistema Operativo Universal. Más información en la noticia original y en el anuncio en la lista de correo de desarrollo.»

Mirando atrás

Foros: 

Los más veteranos seguidores del sitio sabéis que a lo largo de estos ¡18 años! ha habido algunas etapas en que la supervivencia de Kriptópolis pudo verse seriamente comprometida. A veces, el desencadenante de la crisis era económico; otras, puro agotamiento personal. Como muchos recordaréis, la solución de compromiso que consideré más ventajosa pasaba por renunciar al seguimiento al minuto de la actualidad, lo que nos permitiría de paso reducir drásticamente nuestros costes de mantenimiento y poder permitirnos el lujo de renunciar a cualquier forma de publicidad.

Pues bien; de aquellos polvos, estos lodos...

Vuestro querido administrador, durante demasiados años comprometido casi en exclusiva con el sitio, ahora viene desempeñando un trabajo convencional de 8 a 8, y para ello ha tenido que sufrir nada menos que cuatro mudanzas en lo que llevamos de 2014. Ya comprenderéis que no tengo tiempo para elaborar aquellos tutoriales que tanto os gustaban, seguir la actualidad o embarcarme en trabajosas campañas (anti)legislativas. Con actualizar el software del sitio a tiempo para tapar los nuevos agujeros que se van publicando ya me doy por satisfecho.

Afortunadamente, y frente a todo pronóstico, hay un par de puñados de usuarios que continúan aportando vida al sitio en forma de nuevos retos, algún comentario o nuevos capítulos de la impagable serie sobre Enigma. Todos sabéis quiénes son con sólo mirar las firmas de sus posts. Las palabras de agradecimiento no sirven ya para corresponder a esa ayuda; mejor decir que ahora son ellos quienes mantienen activo el sitio. Bueno, ellos y quienes como espectadores más o menos pasivos seguís visitándonos.

Gracias a unos y a otros el sitio sigue vivo. Y no sólo eso, sino que incluso parece que goza de buena salud, al menos si nos fijamos en las estadísticas de acceso:

Pues sí; nada menos que 11 millones de visitas de usuarios únicos desde mayo de 2012 (inicio de esta última etapa) hasta Octubre de 2014. Y lo mejor no es eso, sino que no se detecta ninguna caída en visitas a pesar de la escasa actualización del sitio, el cierre del registro de nuevos usuarios y la inexistencia de referrers de importancia. Es decir: el sitio casi no se actualiza, obviamente no se publicita ni juega la liga SEO, quienes podrían enlazarnos no lo hacen, el buscador nos ignora y... seguimos como siempre. Mirad si no las visitas de lo que llevamos de 2014:

Me morderé la lengua y reprimiré la tentación de emular a la diputada Fabra y soltar un sonoro "¡Que se jodan!".

Muchas gracias a todos por seguir ahí.

 

Disponible la versión 1.0 del Gestor Documental 'Portable' Openprodoc

Barrapunto - 16 November 2014 - 12:03pm
Joaquin nos cuenta: «Acabo de publicar la versión 1.0 de OpenProdoc. Es un gestor documental libre (GNU GPL v3) y gratuito desarrollado en Java. Al margen de sus funciones, hay varias características que hacen destacar al producto, ya que son muy poco habituales en este tipo de productos.

Publicado FreeBSD 10.1

Barrapunto - 16 November 2014 - 11:12am
pobrecito hablador nos cuenta: «Se ha publicado la versión 10.1 de FreeBSD que mejora su estabilidad y añade nuevas características como el nuevo controlador de consola, mejoras en el 'hipervisor bhyve' y amplia el número de dispositivos reconocidos. Más información en el anuncio oficial»

Microsoft hará .NET 'Open Source'

Barrapunto - 13 November 2014 - 12:25am
glasnosh nos cuenta: «Vía msdn.com se anuncia que el 'core' de .NET va a ser licenciado como 'Open Source' con licencia MIT. Esto incluye el .NET Framework y el entorno de ejecución. Además, applesfera.com augura una pronta compatibilidad con GNU/Linux y OSX. Resultará interesante ver cómo evoluciona esta nueva plataforma 'Open Source' y cómo afectará por ejemplo a Mono.»

GNOME pide ayuda para luchar contra Groupon por usurpación de marca

Barrapunto - 11 November 2014 - 3:57pm
BitBoy nos cuenta: «La Fundación GNOME ha emitido un comunicado pidiendo ayuda para financiar el proceso legal que piensan iniciar contra la multinacional Groupon por el lanzamiento de una tablet TPV a la que han decidido llamar "Gnome". Según el comunicado de la Fundación GNOME, tras ponerse en contacto con Groupon para pedirles amablemente que buscasen otro nombre comercial para su producto, estos rechazaron hacerlo, a pesar de que GNOME es una marca registrada desde el año 2006. Peor todavía, Groupon ha solicitado después de eso toda una colección de registros de marca bajo el nombre "Gnome" para sus productos a la oficina de patentes de EEUU, como puede verse en la web aquí, aquí y aquí. Las donaciones a GNOME (el bueno ;) ) pueden hacerse a través de los enlaces que ellos mismos ofrecen en, de nuevo, la página del comunicado.» Update: 11/12 00:01 GMT by nettizen : Groupon acaba de publicar en su blog que abandona su petición de registro de la marca 'Gnome' para su dispositivo móvil tras conversaciones con la Fundación Gnome y con la comunidad 'open source'.

Jugando con números aleatorios en Linux

Foros: 

Por Fernando Acero

ACTUALIZADO EL 11 DE NOVIEMBRE DE 2014

LAS PISCINAS DE ENTROPÍA

Hay casos documentados de ataques exitosos a sistemas por un mal diseño de un generador de números aleatorios. Uno de los más famosos, es el que comenta Kevin Mitnick en el primer capítulo de su libro "El arte de la intrusión". Es una historia real en la que unos amigos realizando ingeniería inversa de varias máquinas de casino, descubren que el generador de números aleatorios utilizado en las mismas, es realmente una secuencia muy larga de números y que tarde o temprano se repite. De esta forma, logran predecir el momento exacto en el que la máquina dará el premio. Este descubrimiento les permitió entrar en los casinos y ganar grandes sumas de dinero, lo que se prolongó varios años hasta que uno de ellos fue pillado en un casino usando el ordenador que hacía los cálculos escondido entre su ropa.

Otro caso famoso, fue el fallo del navegador NETSCAPE a la hora de generar los números aleatorios necesarios para las sesiones SSL. Este fallo que hacía predecibles los números aleatorios usados, permitía que un atacante pudiera ver el tráfico cifrado entre el servidor y dicho navegador sin el conocimiento del usuario.

Cuando trabajamos con Linux, los números aleatorios están disponibles en dos dispositivos, también denominados piscinas de entropía, denominados /dev/random y /dev/urandom. Recordemos que Linux tiene el honor de ser el primer sistema operativo que disponía de un generador aleatorio integrado en el kernel del sistema, aunque también es cierto, que hay algunos estudios del año 2013 que sostienen que el generador de números aleatorios de Linux no es tan bueno como debiera. Estos estudios se basan en que un ordenador determinista y un programa no son la mejor forma de lograr números aleatorios. Es decir los ordenadores están diseñados para no ser aleatorios, más bien todo lo contrario, no deben serlo y ante una determinada entrada, siempre deben proporcionar de forma previsible una misma salida, lo que evidentemente no es demasiado aleatorio. Pero como veremos hay métodos para comprobar lo buenos que son nuestros números aleatorio y para mejorar su generación.

Para intentar paliar el problema del determinismo, el sistema operativo Linux recopila entropía de los contradores de dispositivo y de otras fuentes, como el teclado, ratón o el reloj del sistema y posteriormente, aplica algoritmos de hash para intentar generar unos números aleatorios, o lo que es lo mismo, impredecibles. Sin embargo, mediante este método, la cantidad disponible de números aleatorios es limitada. Es decir, cuando la fuente de entropía /dev/random está vacía, las lecturas de este dispositivo se bloquearán hasta que se logre llenar de nuevo con más números aleatorios. Es decir, /dev/random se comporta como una especie de "one-time-pad" que garantiza que los números aleatorios ya utilizados no se pueden volver a utilizar.

Por estas características el dispositivo /dev/random está pensado para ser usado cuando se requieran unos números aleatorios de elevada calidad. Como por ejemplo, cuando es necesario generar claves criptográficas, o cuando se desea borrar un disco o un archivo de forma segura mediante sobreescritura aleatoria bit a bit. El comportamiento de /dev/random lo podemos comprobar introduciendo el siguiente mandato en una consola:

hexdump -C /dev/random

Tras pulsar la tecla Enter, veremos que aparecen una serie de números aleatorios en hexadecimal, pero que al poco tiempo el listado en pantalla se para. Esto se debe a que se han gastado los números aleatorios disponibles en dicha piscina de entropía. Para continuar, tendremos que añadir más entropía al sistema, lo que se suele hacer moviendo el ratón por la pantalla, pero ¿es una buena fuente de entropía adicional el movimiento del ratón?. Luego veremos unas posibles soluciones al problema.

Si queremos saber la cantidad de entropía disponible en nuestro dispositivo /dev/random, debemos usar este mandato desde la consola:

cat /proc/sys/kernel/random/entropy_avail
568

Evidentemente, con el avance del tiempo, al aumentar el tamaño de las claves y con el uso de sistemas mas seguros que hacen un uso extensivo de funciones criptográficas, también han aumentado las necesidades de números aleatorios. De esta forma, en una Mandriva de 2010, lo normal era que el mandato anterior diera valores inferiores a 200, mientras que en una Ubuntu 14.04 LTS, la entropía disponible rondará un valor entre 650 y 780, aunque como veremos, puede que este valor sea pequeño para algunos usos, Un caso típico sería generar una clave RSA de 4096 bits.

Por otra parte, el dispositivo /dev/urandom devolverá tantos bytes como se soliciten. Como resultado, si no hay suficiente entropía, es decir, si no hay suficientes números en dicho dispositivo, la salida no se bloqueará y seguirá proporcionando valores, lo que puede provocar que no sean tan aleatorios como pensamos y haciéndolos vulnerables a determinados ataques.

Por este motivo, /dev/urandom no se debe utilizar cuando la seguridad sea fundamental, por ejemplo, cuando deseamos generar una clave de larga duración GPG o SSL. No es así, por ejemplo, cuando lo que queremos es crear un programa de simulación que necesite una entrada de valores razonablemente aleatorios. Usando /dev/urandom nos aseguramos de que el programa no se detiene por la falta de números aleatorios. Como en el caso anterior, podemos abrir una consola y usar el mandato para ver su comportamiento:

hexdump -C /dev/urandom

Como hemos anticipado, en este caso el listado de números no se detiene, pero también es posible que la calidad de los datos aleatorios generados no sea muy buena.

PROBANDO NUESTROS GENERADORES ALEATORIOS

¿Cómo podemos medir la calidad de nuestros números aleatorios generados por /dev/random y /dev/urandom?. El proceso es relativamente sencillo. Para ello podemos usar el mandato Linux ent, que se encarga de medir la entropía de archivos binarios. Para ello, generaremos dos archivos a partir de los valores de /dev/random y /dev/urandom. pero para que los datos estén generados en las mismas condiciones en las dos piscinas, lo primero que debemos hacer es comprobar la cantidad de entropía que tenemos disponible en /dev/random, lo que haremos mediante el mandato:

cat /proc/sys/kernel/random/entropy_avail
1100

Si usamos este mandato varias veces, veremos que la cifra cambia. Para no superar el valor de entropía disponible en /dev/random elegiremos un tamaño de archivo con un valor inferior a todos los valores obtenidos tras realizar varias pruebas. En este caso usaremos un valor de 1000 caracteres, que es inferior a 1100:

dd if=/dev/random of=rnd.test bs=1c count=1000
1000+0 registros leídos
1000+0 registros escritos
1000 bytes (1,0 kB) copiados, 0,0695683 s, 14,4 kB/s

Seguido del mandato:

dd if=/dev/urandom of=urnd.test bs=1c count=1000
1000+0 registros leídos
1000+0 registros escritos
1000 bytes (1,0 kB) copiados, 0,0739844 s, 13,5 kB/s

Una vez que hemos creado los archivos rnd.test y urnd.test de 1K de tamaño cada uno de ellos, usaremos los mandatos siguientes:

ent rnd.test
Entropy = 7.820170 bits per byte.

Optimum compression would reduce the size
of this 1000 byte file by 2 percent.

Chi square distribution for 1000 samples is 227.26, and randomly
would exceed this value 75.00 percent of the times.

Arithmetic mean value of data bytes is 131.8870 (127.5 = random).
Monte Carlo value for Pi is 2.915662651 (error 7.19 percent).
Serial correlation coefficient is 0.013190 (totally uncorrelated = 0.0).

Seguido de:

ent urnd.test
Entropy = 7.790775 bits per byte.

Optimum compression would reduce the size
of this 1000 byte file by 2 percent.

Chi square distribution for 1000 samples is 255.94, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 129.5400 (127.5 = random).
Monte Carlo value for Pi is 3.349397590 (error 6.61 percent).
Serial correlation coefficient is 0.009675 (totally uncorrelated = 0.0).

Como podemos ver, el valor de la entropía es superior en el caso del archivo rnd.test. El nivel de compresión que permiten ambos archivos de un 2%, siendo lo ideal para una entropía absoluta una compresión de un 0%. Este valor es muy dependiente del tamaño del archivo, por lo que es más probable que se logre una compresión del 0% en archivos de mayor tamaño.

Asimismo, veremos los valores de la distribución Chi cuadrado (distribución de Pearson). Esta función es la prueba más utilizada para comprobar que una serie de datos es aleatoria y es muy sensible a los errores que se producen en con los generadores pseudoaleatorios. Esta función se calcula a partir de la secuencia de bytes del archivo y se expresa en la forma de un valor y de un porcentaje, que indica lo frecuente que un valor verdaderamente aleatorio debería exceder el valor calculado.

Dicho valor se debe interpretar como el porcentaje de veces en la que la secuencia probada es sospechosa de no ser aleatoria. Es decir, si el porcentaje es mayor de 99% o menor del 1% podemos decir que la secuencia no es aleatoria. Si el porcentaje está entre el 99% y el 95% o entre el 1% y el 5%, podemos decir que la secuencia es posiblemente no aleatoria. Porcentajes entre el 90% y el 95% o entre el 5% y el 10% nos indican que la secuencia podría ser no aleatoria.

Como referencia, estos son los valores que muestra dicha función, ante una secuencia procedente de un generador de números aleatorios reales basado en la descomposición radiactiva.

Chi square distribution for 32768 samples is 237.05, and randomly
would exceed this value 75.00 percent of the times.

Si comparamos este valor, procedente de un generador aleatorio de alta seguridad, con los valores que acabamos de obtener anteriormente con nuestros /dev/random y /dev/urandom, veremos que nuestros generadores aleatorios no son nada malos en base a los valores obtenidos para la distribución de Pearson.

Al margen de lo anterior, los valores obtenidos en este caso para la media aritmética, el valor de Pi (Monte Carlo) y para el coeficiente de correlación de la serie, aparentemente son mejores para la piscina de entropía /dev/urandom. Hay que señalar, que estos resultados comparativos no son demasiado significativos si solamente se obtienen una vez, sobre todo, si los ambos generadores son medianamente buenos, como parece que es el caso. Estos valores pueden cambiar de forma significativa entre pruebas consecutivas, por lo que se recomienda realizar varias mediciones y efectuar un análisis estadístico de las mismas, si queremos evaluar con más precisión o certeza la bondad de nuestros generadores de números aleatorios.

Como hemos visto, el mandato ent solamente sirve para archivos binarios, sin embargo, en ocasiones podemos disponer de listados de números aleatorios en formato hexadecimal en modo texto ASCII procedente de otras fuentes, por ejemplo de la página Random.org, que es un servicio que proporciona números aleatorios con fines científicos o didácticos. Para poder verificar la calidad de los mismos, es necesario pasarlos a binario, para lo que podemos utilizar la utilidad SFK o en castellano, la "navaja suiza para ficheros".

Otro mandato que nos vendrá muy bien para convertir volcados hexadecimales de números aleatorios a binario y viceversa, es xxd. Por ejemplo, para convertir un binario a hexadecimal plano, debemos usar el mandato:

xxd -p RANDOM.BIN > RANDOM.TXT

La opción -p es la que indica que lo que deseamos es un volcado hexadecimal en formato plano, es decir, sin equivalencia de caracteres, espacios, ni posición en el archivo. Para la operación inversa usaremos el mandato:

xxd -p -r RANDOM.TXT > RANDOM.BIN

En este caso la opción -p indica que el origen es un volcado plano y la opción -r, que lo queremos es realizar la operación inversa, es decir, convertir un archivo de texto en binario.

También podemos concatenar archivos convertidos a texto o a binario usando >> en lugar de > en dichos mandatos y modificando el archivo de origen de forma sucesiva.

Este mandato nos será de mucha utilidad cuando trabajemos con los generadores de números aleatorios de las tarjetas inteligentes.

COMPROBANDO Y FILTRANDO UN FLUJO DE DATOS ALEATORIOS CON RNGTEST

Alternativamente, para comprobar nuestro generador de números pseudoaleatorios /dev/urandom, podemos usar el mandato rngtest, que está disponible en el paquete rng-tools de Linux, mediante el mandato:

cat /dev/urandom | rngtest -c 1
rngtest 2
Copyright (c) 2004 by Henrique de Moraes Holschuh
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

rngtest: starting FIPS tests...
rngtest: bits received from input: 20032
rngtest: FIPS 140-2 successes: 1
rngtest: FIPS 140-2 failures: 0
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=18.626; avg=18.626; max=18.626)Gibits/s
rngtest: FIPS tests speed: (min=136.239; avg=136.239; max=136.239)Mibits/s
rngtest: Program run time: 189 microseconds

En el mandato anterior hemos usado la opción -c 1, que limita el análisis a un único bloque, ya que se necesita como mínimo un bloque de 20.000 bits para pasar las pruebas FIPS 140-2 (monobit, póquer, rachas y rachas largas y ejecución continua).

En este caso, el mandato rngtest ejecuta una serie de pruebas estadísticas diseñadas por la NSA y publicadas por el NIST, que deben pasar con éxito los generadores de números pseudoaleatorios para considerarse seguros.

Una cosa interesante de este mandato, es que también lo podemos usar para mejorar nuestros generadores de números pseudoaleatorios mediante la opción -p que activa el modo "pipe" y que envía a la salida estándar solamente los bloques de 20.000 bits que han pasado con éxito las pruebas FIPS, lo que podemos probar mediante el mandato:

cat /dev/urandom | rngtest -p -c 10 | hexdump

Veamos ahora la forma en la que se realizan cada uno de estos tests FIPS:

a) Test monobit

Se cuenta el número de bits iguales a uno en una secuencia de datos aleatorios de como mínimo 20.000 bits. El test se pasa si dicho número está entre los valores 9.275 y 10.275.

b) Test póquer

En este caso se divide una secuencia de 20.000 bits en 5.000 segmentos contiguos de 4 bits. Después se cuenta y se almacena el número que ocurre cada uno de los 16 valores posibles, siendo f(v) el número de veces que apareció el valor v 0<=v<=15. Luego se calcula la expresión X = (16/5000) * ( f(1)^2 + f(2)^2 + ... + f(15)^2) – 5000. El test se pasa con éxito si 2,16 < X < 46,17.

c) Test de rachas

Una racha se define como una subsecuencia máxima de bits consecutivos de unos o de ceros y que forman parte de la secuencia inicial de 20.000 bits. Para el test se cuentan las ocurrencias para las rachas de 1 a 6 bits. El test se pasa si el número de rachas que ocurren (de longitudes 1 a 6) están en los intervalos especificados en la siguiente tabla, lo que se deberá verificar tanto para las rachas de ceros y de unos. Las rachas de longitud superior a 6 se considerarán de longitud 6.

Longitud Número de ocurrencias
1 2.343 - 2.657
2 1.135 - 1.365
3 542 - 708
4 251 - 373
5 111 - 201
6 111 - 201

d) Test de rachas largas

Una racha larga se define como una racha de longitud 26 o más, con independencia de que sea de ceros o de unos, el test se pasa si en el bloque de 20.000 bits no hay rachas largas.

e) Test de ejecución continua

Para este test se divide el flujo de entrada en bloques de como mínimo 16 bits, adaptándose al tamaño de bloque del generador si es superior a 16 bits. Para el test, el primer bloque de 16 bits se compara con el segundo bloque de 16 bits, el segundo bloque será válido si no es idéntico al primero, de otro modo se considerará un fallo del generador. El segundo bloque de 16 bits será comparado con el tercero y así sucesivamente hasta terminar todos los bits de entrada.

EL PROBLEMA DE LO ESTÁTICO

Cuando un sistema Linux arranca sin mucha interación con el operador, el almacén de entropía puede estar en un estado relativamente predecible, por la reducción en la cantidad de "ruido" presente en el sistema y que es lo que se usa principalmente para generar números aleatorios. Para evitar este problema, podemos usar varios trucos aprovechando que los dispositivos /dev/random y /dev/urandom son de lectura y escritura. Por ejemplo, podemos guardar la información que habría presente en la piscina de entropía para ser usada como "semilla" en el siguiente arranque. Para ello podemos hacer un script que se ejecute durante el apagado del sistema con los mandatos siguientes:

dd if=/dev/urandom of=/var/semilla_urandom count=1
dd if=/dev/random of=/var/semilla_andom count=1

Con ello hemos creado en el directorio del sistema /var/ dos archivos con el estado de /dev/random y /dev/urandom en el momento de apagar el sistema.

Después añadiremos otro script para el arranque del sistema con los mandatos:

if [ -f /var/semilla_urandom]; then
cat /var/semilla_urandom > /dev/urandom
fi
dd if=/dev/urandom of=/var/semilla_urandom count=1

if [ -f /var/semilla_random]; then
cat /var/semilla_random > /dev/random
fi
dd if=/dev/random of=/var/semilla_random count=1

Dicho script comprueba la existencia de los archivos /var/semilla_urandom y /var/semilla_random y en caso afirmativo, los copia en los dispositivos /dev/urandom y /dev/random y en caso contrario los crea adecuadamente.

Evidentemente este problema de seguridad relacionado con la falta de enotropía es especialmente grave en los sistemas "live", en los sistemas creados con herramientas para realizar un "snapshot" de sistemas, como Gost o similar, y en las imágenes virtualizadas, cuando se realizan arranques sucesivos. En todos estos casos las piscinas de entropía empiezan desde la misma situación inicial una y otra vez, por lo que los sistemas que las usan son vulnerables hasta que se genere entropía nueva, lo que puede tardar un poco si hay poca interacción con el usuario.

En estas situaciones y sobre todo, si vamos a usar dichas imágenes de los sistemas para tareas relacionadas con la seguridad o la criptografía, como generar claves criptográficas, acceder a páginas web seguras, o cualquier otra tarea que requiera disponer números aleatorios de cierta calidad, deberíamos obtener un archivo con entropía de calidad desde otro sistema e inyectarla en las piscinas de entropía del sistema estático, escribiendo sobre ellas, antes de comenzar a usar el sistema.

JUGANDO CON GENERADORES DE HARDWARE

Una forma sencilla de acceder a un generador de números aleatorios por hardware es mediante el uso de una tarjeta inteligente, puesto que todas ellas llevan uno integrado para la generación de claves. Para mis pruebas he usado una tarjeta CERES modelo "krirptonita" de la FNMT, ya que es una tarjeta que tiene unos controladores que funcionan perfectamente bajo mi Ubuntu 14.04 y que además, son compatibles con el dnie. Como es lógico, para que esto funcione también es necesario disponer de un lector de tarjetas inteligentes conectado a nuestro sistema y con sus controladores adecuadamente instalados.

Una vez insertada la tarjeta en el lector, usaremos el mandato siguiente para conectar con ella:

opensc-explorer --reader 0 -c dnie

En este mandato usamos el lector 0 y el controlador dnie, que es el que se corresponde al de la tarjeta CERES,

En el prompt que nos aparece, escribiremos el mandato random 128, puesto que este es el mayor número de números aleatorios que puede generar esta tarjeta cada vez. Cuando queramos salir del entorno de opensc-explorer, escribiremos exit seguido de intro:

OpenSC Explorer version 0.12.3-svn
OpenSC [3F00]> random 128
00000000: F2 AC 2A 78 C5 C2 B1 30 A4 41 B6 28 31 7F 46 C4 ..*x...0.A.(1.F.
00000010: FB A4 E9 AC 01 B4 B8 36 36 57 E3 84 7F 23 17 2F .......66W...#./
00000020: D9 28 70 7D 7F 56 85 99 80 58 E8 E7 10 C0 C1 64 .(p}.V...X.....d
00000030: CE 07 EB BB 3D 1A 29 B9 49 CF DE F6 66 97 EC 66 ....=.).I...f..f
00000040: 3B 74 2E 01 0B E9 5A CD D2 07 11 0C 78 DA 12 69 ;t....Z.....x..i
00000050: 26 E5 7F 7F 4D 18 C4 2C 84 89 18 BC B1 7F 11 0B &...M..,........
00000060: 21 4A E2 EB C1 F5 7B 14 27 12 8E 39 55 A4 EB B6 !J....{.'..9U...
00000070: E7 CA A1 1C 85 9A 6F 90 89 19 D8 F0 BF 6B D0 80 ......o......k..
OpenSC [3F00]> exit

Ahora podemos generar varios bloques y jugar con la opción -p (plain) del mandato xxd para generar un archivo de mayor tamaño, Por ejemplo,yo he concatenado 10 bloques random y he generado este archivo:

900a522fd7a1f317eecdd7d645938e7fbe6a8ceda037d7750bd6af9c7d0d
712ddf4d3aca9ecb7b9eec364df34416590e21b8bcc6a1706b807b0222bc
564406e5a21c13aa8c9a3d5d5df106ad45dd6a13092372a70d1d22a081ca
6a264ad08eca022d5b2f4f15829f4d856b5282d0d3932e2f41ac15ffdc9e
352f94165ad12cfffa20bd47c5a3f99dac69e4bcf135140338d32d12632e
9a3b60eb99e1c404cbe620ec09df62cb49080442d889e8849f7eb9840d17
4d62fc51e4423e7349f254bea443ab2f2c31f67aa97bd8f249d2ecac4d65
fa47be7f163ef5242456001e3b40606cafe54b4c14e3d547659526af973c
6f9438079404ef1fba5245d081d866576baf89d9b0313c47bd11566d38e3
8585a06f223bddcdba4dcb96c6b2469d5b0aae37dd4d2dd1365b59abf4a6
d115b273e6cfb6883cd0ac5fee64c93228109b4a2e5ee2d0bd287f53a97c
cefcfb82364b797fcc94c5400b97a4bb625f71c859e49bfd3632aecb8642
e6492cdfe9ed816e257c5c7e3a0c261a611faff7f81991f7819c9fbc8575
fc52644efdebc8e0eb5683396a9ae3c26c22aded3f9ad97c9f2133d902ef
b61284271f106cafb983413ff388992396b5cfcb4caf0c19994dc4ef7620
690142af8ce359d1916308781a366cef594ccf2177c1337327cab55c67fe
48183e2e8c96364a5b39d867da7846b4d55199844377f452e13f4f877b30
7edf4098ffd956fcafc75c317708d4a4bcd73bfe3c3e2eaa3062190d2196
c1117e25df37971432f41673f60b130b6ec369e5e02206ec38b06525ee12
8040b394f507e050dcc95fa11e8fbbd0535f611d836a0f21933dd9a4e634
f8aa8332f08a78ed5b985f023799c0cf7bff14040675b47d5f540e804a9f
de23027014a9258ba1472587d01c9d1befda8042f85ca471495426a0800b
e745552d8c33fca90120bead2bdf2dbab5c8a848518e53f3708de54bbcdb
2f0de596fc3a61d8e5112382f2a88d5cdc20d90bbcaeeaa4b43258adca88
e1b7a12f96d3b4e29b445873b05d870c532ab75a5f0662c28f89866f05a2
0b4a487f4c61752284aa559a0f7ba94581ae94f8d12e1f6956a4017be043

Posteriormente, he usado el mandato xxd con las opciones -r y -p para generar un binario que podemos analizar con el mandato ent:

ent fnmt_random.bin
Entropy = 7.889725 bits per byte.

Optimum compression would reduce the size
of this 1952 byte file by 1 percent.

Chi square distribution for 1952 samples is 326.03, and randomly
would exceed this value 0.50 percent of the times.

Arithmetic mean value of data bytes is 125.0840 (127.5 = random).
Monte Carlo value for Pi is 3.089230769 (error 1.67 percent).
Serial correlation coefficient is 0.002788 (totally uncorrelated = 0.0).

Hay que señalar, que si la muestra obtenida con el generador no es lo suficientemente grande, es posible que los resultados del análisis no sean demasiado buenos. Alternativamente, si concatenamos suficientes bloques de 128 números aleatorios (8 bits), como para poder obtener más de 20.000 bits lo podemos analizar en base a las pruebas FIPS con el mandato rngtest:

cat fnmt_random.bin | rngtest

AUMENTANDO LA CANTIDAD DE ENTROPÍA DISPONIBLE

Como hemos dicho, tan problemático es disponer de una entropía de calidad, como el disponer de una cantidad suficiente de entropía en la piscina /dev/random. Una solución al problema podría ser la utilización de un generador de entropía basado en hardware, entre los distintos modelos que hay en el mercado. De hecho, teniendo en cuenta los problemas para obtener números aleatorios de calidad a partir de soluciones de software, algunos fabricantes comenzaron a añadir en sus placas base dispositivos de generación de números aleatorios. Un ejemplo lo tenemos en el chip Bull Mountain. La polémica aparece, cuando en pleno debate sobre el espionaje de la NSA, se descubre que dicho chip cuando funciona en Linux no se usa realmente para aumentar la entropía de la piscina de Linux y mejorar su calidad. En su lugar, Intel añadió al núcleo de Linux una función denominada RdRand, que permite acceder directamente al chip, lo que algunos consideraron una amenaza al no poder auditar el chip.

Por cierto, si no queremos que el núcleo de Linux use esta función para obtener números aleatorios de una fuente no auditable, solamente tenemos que añadir en la configuración de grub el parámetro "norand" para el arranque del núcleo. Para ello, editaremos el archivo /etc/default/grub y modificaremos la línea GRUB_CMDLINE_LINUX, para que aparezca como GRUB_CMDLINE_LINUX="norand", tras grabar este archivo, la próxima vez que arranquemos el sistema ya no usará el generador de números aleatorios por hardware.

Visto lo anterior, una solución muy interesante y elegante podría ser la utilización en nuestro sistema de un generador aleatorio basado en hardware abierto, evitando así las dudas existentes con otros dispositivos de hardware cerrados.

Alternativamente también tenemos una solución por software que nos permitirá aumentar la entropía del sistema y mejorarla al considerar otras fuentes de ruido. Se trata del demonio Linux haveged, que como su nombre indica, se basa en el algoritmo havege. Dicho algoritmo se basa en el hecho de que el tiempo de ejecución de una pieza determinada de software no se puede repetir incluso en una máquina en reposo.

Para su funcionamiento usa algunas capacidades ocultas de los procesadores, tales como instrucciones ocultas y el caché de datos, así como las tablas de translación de memoria virtual asociadas. Havege usa las diferencias en el contador de tiempo de ejecución del procesador durante la ejecución de un bloque determinista de código, que recolecta estas variaciones en el sistema. El bucle está diseñado para que ejecute instrucciones y para que afecte al caché de datos, aumentando así la variación de la entropía.

Para usarlo, solamente hay que instalar el paquete haveged y posteriormente editar como root el archivo /etc/default/haveged para que genere la cantidad de entropía que queramos. Por ejemplo, para generar una piscina de entropía de 1024 usaremos el mandato:

DAEMON_ARGS="-w 1024"

Una vez definido este valor habrá que asegurarnos de que haveged tiene en cuenta estos cambios en el siguiente arranque, para lo que usaremos el siguiente mandato en una consola como root:

update-rc.d haveged defaults

Seguido de lo siguiente, también como root:

cd /etc/init.d
./haveged restart

Ahora notaremos dos cambios importantes, si usamos el mandato:

cat /proc/sys/kernel/random/entropy_avail

Veremos que ha aumentado el tamaño de nuestra piscina de entropía, asimismo, si usamos el mandato siguiente:

hexdump -C /dev/random

Es posible que el listado no se pare como ocurría antes de activar el demonio haveged. Asimismo, si probamos la calidad de los números aleatorios generados usando los métodos descritos anteriormente, es posible que podamos comprobar que la calidad de los mismos es mayor.

"Copyleft Fernando Acero Martín. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre."