Por LlamameX

Dada la estrepitosa (y previsible) caida de Fractal1, os presento a Koch (o Fractal2). Un algoritmo que espero sea bastante más terrible que el anterior y que creo mucho más elegante...

Cifrado Koch (fractal)

En la primera versión del cifrado fractal (Fractal1) se intentó centrar su fortaleza en la variabilidad de las diferentes Ki, que se obtendrían recursivamente (aunque la implementación fue lineal). Sin ellas quedaría en una simple codificación por sustitución y atacable por análisis estadístico. El caracter recursivo de su generación, sin embargo, exigía que la misma fuera una función caótica, es decir, que pequeñas variaciones de las condiciones iniciales (la K1) implicaran fuertes variaciones del resultado final.

Este objetivo, sin embargo, quedaba lejos de alcanzarse con Fractal1. La generación a partir de las Bi creaba un doble cifrado que acababa aislando la K0 y convergía independizando el resultado de la clave inicial, con lo que el único parámetro relevante era la longitud de la misma. Dicho parámetro era fácilmente obtenible por análisis de las frecuencias.

Para resolver esta situación podría mejorarse la generación de las claves mediante el uso de funciones caóticas pero entonces se estaría trasladando la fortaleza del cifrado a dicha función en lugar de a la recursividad, que era el propósito inicial del proyecto.

Para conseguir un cifrado seguro que no dependa de un algoritmo fuerte de generación de claves se opta por sustituir la función recursiva. Por simplicidad y eficacia de cálculo se elige una función sencilla, la que genera la fractal conocida como la curva de Koch (o copo de nieve de Sierpinsky). La función recursiva sería:

trazar(N) {
  girar (0); trazar(N-1);
  girar (alfa); trazar (N-1);
  girar (-2*alfa); trazar (N-1);
  girar (alfa); trazar (N-1);
}

A efectos de codificación la función de giro se implementa como rotación de la Ki siendo esta rotación la única modificación de dicha clave. Así, un giro de n grados positivos se implementa como el desplazamiento de n posiciones a la izquierda. Se establece también la longitud de clave como la unidad mínima de trazado. De esta manera descenderemos por la recursión hasta dicha unidad mínima que se trazará (codificará) con la clave girada (rotada) correspondiente a esa posición de la curva.

En este punto queda claro que debe dotarse al criptosistema de alguna fortaleza añadida, puesto que de codificarse simplemente así bastaría con "desdoblar" la curva para obtener un cifrado de sustitución simple y atacable estadísticamente.

Para obtener fortaleza incluimos los siguientes mecanismos:

  • Profundidad variable: A partir de una profundidad mínima (p) en la curva que pueda contener toda el texto plano de longitud LT (es decir LT<=LC*4^P) prefijamos a que profundidad se trabajará. Para ello sumamos a P el índice de la última letra de la clave, es decir un valor entre 0 y 37.
  • Posición inicial variable: En lugar de empezar a codificar por el primer tramo posible, se empieza a codificar a partir de una posición arbitraria. En este caso se ha usado la suma de los índices de todos los valores de la clave multiplicado por LC. Podemos asumir un factor de incremento de la dificultad de hasta 38*LC^2 derivado de este concepto.
  • Ángulo variable: En lugar de girar un ángulo alfa fijo usamos el índice del primer carácter de la clave como ángulo. Esto nos ofrece un factor 38 añadido a la dificultad de ataque

Con estos tres mecanismos obtenemos un número de posibilidades de codificación derivada de la recursividad igual a 38^3*LC^2, que con una LC de 20 dígitos equivale a 2*107 posibilidades, cada una de ellas a analizar estadísticamente. Obviamente no son en absoluto cifras inabordables para un ataque de fuerza bruta, aunque ofrece la seguridad suficiente para ilustrar el concepto.

Si se desea pueden añadirse nuevos mecanismos que dificulten el ataque, como incluir un ángulo beta en el primer giro, un número arbitrario de giros en el trazado o hacer depender los parámetros de los sistemas anteriores de magnitudes con un rango de valores superior. Otras curvas fractales pueden ofrecer también un mayor número de parámetros con los que multiplicar la complejidad del ataque.

Aunque no es parte del objetivo del proyecto, en la implementación se ha mantenido una posible evolución de las Ki tal y como se utilizó en Fractal1. Como mejora al concepto se permite también su generación con una función caótica. Puede constatarse que usar simplemente dicha evolución adolece de las mismas carencias que ya aparecían en el cifrado anterior.

En definitiva en esta prueba de concepto se muestra un cifrado que maximiza la entropía con variaciones máximas de un 0.4% entre las frecuencias de aparición de los caráctares. Todo ello sin emplear técnicas homofónicas, aleatoriedad ni generar inflación en el texto final. En contrapartida requiere cierta potencia de cálculo para textos grandes imposibilitando tanto el cifrado como el descifrado manual.

Texto cifrado con Koch (Ki no evolutiva, p variable, alfa variable e inicio variable):

  1. ....:....1....:....2....:....3....:....4
  2. Ñ6H90E0NUQULWÑ4L561ÑKLT75DÑI5A9HT2H5HIHY
  3. ÑLWÑ8Ñ5T9AT5_I5EWG3EGEGV56F4Q78QB8FEGHYZ
  4. PYSVP2FW6AP5ARAPOAF0FD1GX20HI08G6BB2M2O6
  5. BMGDVX20VD5I8232RM2MFC5B9TBY3LUB9GFN1OD5
  6. LBFBLXB2Z3QQB19TFJL17N5B9G1Z8NP8DNGY8PZK
  7. ÑR274KND1KNT8N8PN8Z2_4A58284KN47ABFXBANA
  8. Q7YJ0YJ1OANYJ46XDMAWCACPI29IZXÑCI0NAG_W5
  9. ZBABW50EH4WY5WH2WKX_5MH5NHWTWRWRHCERÑ1ZP
  10. V4VGLP4TXNG3C9Y4V9G7SV4_RUCPV4VP74_VO4SR
  11. GXSK3AI3_OLMK3XYFW_V3YÑRU3IO3UFVWO_F08FY
  12. ÑUF3XYUH2MVCTUL2PVXD79DÑ959D5KQ1ÑEPOKQ1I
  13. QRWYQTQ6BU8HZFSPZFTÑRPNV5TV5UZUPSZPNHJZL
  14. TRZSUV4PSN57NYPSA0YPIKQOYÑUA8EUTMA769YDI
  15. YKQOYD0MA2EQU0ATUA2HLXIPÑ0BHLXP590T859C6
  16. TKDCMC9FXHKCT30L89TCP53WHJE0_K_GDWMKPK_2
  17. 4MVQ_O7I0SÑSBVKS1VJR59PR7PY088ODN6HUIKOJ
  18. XIZK2OMZ7H0U9080N6IULMOX8KM6OIOHJT5_G989
  19. 8B4ÑLWÑ241IWL_4Q8F4QDI8QVGEWG0Z3QGE7D3_P
  20. 67R3FSFIYSZJ15JXYFPN3D3POAFPJ34FWIF2J3SN
  21. G6MD6M9230D0UD1GDHX08L1EL135N31N1H91H9GB
  22. 9GB1ZK2D4ÑBZK3G8X2G8FGBKNKN46D8AK1DNDNTF
  23. V8ZKGQWC3J_B3JRO27A7FYBUHJA7V3NCO03COAJH
  24. 7MA7AMAXPA7ZNS16ÑI2SA_D6LC6TUIPITSIONY96
  25. ZXIX6LC6VZD6PT6_1H81HÑEZ5WM5QAYKX_V5KVRG
  26. Z9SO8ZRGJJRKRURARV4WYÑWUFXYF6U3_MUVO3QWA
  27. 3ÑYS0ÑRUVU8FIMU3PATFMCFV9ÑD59VT5XÑ2ÑH2_D
  28. Ñ2TDNO1W6ÑWB4QEBLPBHEQ1R_1PZVSX7NCN37SZP
  29. TRFOJPZORN37SNE0Z8Ñ3SHQRPZORZKRS962U96A0
  30. UAÑAMJ0L0LIGYWL90LC1L9C3P0ÑLXMK9FLDW9WQ2
  31. P4_ZK__DIM_ELMSW8_ZK_W2P0897_8WENWX1WSER
  32. P1P63RUJ6MSÑSBVOLB0RFR91R4P863YPIFV7VA7V
  33. MRJ7IOLMOX2ZQOOIC6N9UAO0N75I6OI5LUIO8DN8
  34. 0NJH6N91ÑWHÑH6LYJTBATI5AIBT89EVZ4EZH4K37
  35. 47NF8GQ6NGHJ2Y3SHYVYSI7POAFP43D5A3SHJ2HF
  36. WY3SF7P357D5AP30V4I5D08X1QMR2H682R5CMFWU
  37. 91WQW9QBLC1ND5L1ED18FG8PN81VYY4BZK5D4AZK
  38. 3GP8NI2N8GT1ARK4ÑKSZKSR3FX7NA5757Y3JY13C
  39. 1OJYJLTX6PCWWT2XIRN2IC2OX_XM5CVQQJK3M5Z1
  40. H_CWC10H5WK_MN5KQW5T1_YWZER1_HE_VNUYRUPL
  41. 4CS9GRSOEOZRV4RTXNJJR4NVEZX4ZGYZGWSVA3QW
  42. A3KM3FXY8R3Z3WUÑ0K3IIABM3O3AORUÑFRU8FWYQ
  43. RÑ2PVC2WCDTD59ÑDV9V1XQ1LKP1GE1OESSWÑWSQB
  44. VWBFSZÑJPQSZGNV5E0PSNV3NTNRFJZMR_FRBPQP5
  45. N3PSN3ÑEOMYÑOYF0GCMSSM4AMA0EAÑOLOEC0YPOG
  46. YMA2MA469YMXEÑXBPF9XI98ZCRC9TC5XLXÑBXKPC
  47. EHXET1C6L87STCQEW8LJ800_GDQ8_24_8Q_PQ9R0
  48. RFV7VSBK6J6RP1RYJRK6ÑO6UONJ0HO25OK8IZL2O
  49. MH6U8690J0UI8OJ848MOM6KJ9_5TE56Ñ5T4LJHWH
  50. K1ÑLYT_BHTCJ9__95ÑKLWÑQ7K51CQMQBNFQH4C5Z
  51. EVGEIZXZIE4Q78Q68F64E5GWHQKXEVGP034S3P5A
  52. _GJVZUFIYSIJ356MÑCMO2DM2T3X0HIT0IUY9N5LB
  53. D1D5LEW19UBZZW519D95O5OLÑ1BLGH93U9PLQWT4
  54. BARK34KZÑ2JV868ZVT8FYY5Y2OAJYJS3Q1DU7VFX
  55. U7ZÑ1XI9XIHÑSX6PT6BDJC6BDIC2_INSI2CAZCWI
  56. T6BD6FT0ZEH8EZE_EHBM5BK5UYB5MSG3VDGZRXVE
  57. RWPUGR4FRCGUFUVU40FUXYJOU3AK3AI3IUX0FXYF
  58. ORURAK3FUIOKC3DTNDR7TDUTOXQDÑ2_C2RÑKL7XÑ
  59. DSRXD0E9UCFC2CH2MVCSÑ8BVWEVWB4KQ1TB_HLKQ
  60. 1U84861Q4WEBEQB1MU_1HB_5E0PSN73ZPNORPORZ
  61. PTZQJ99USMAU2AM9IF0YÑOYDIMYM597ST9CQTCFÑ
  62. TXAÑKLÑVXWL8QTVT3C58EÑFHXQHBQÑK_K_KZ9K_1
  63. K7WH8J8WHJGKET9V6R79R6987V0SV0SM7JKIKU2Z
  64. OTIKUIU0CUIKHUJ6COK2Y2OTIJUIUIO9DU0CUFHT
  65. XL41ÑLYÑ5H_ÑGT0J9T9_T13QWK3ZEKXEJNRJ8FQ4
  66. QRN2PJW4S42F3S0347DP0H_6SIYSW5J6JSG5BH7F
  67. PBH7PGA3DTM9DFDV0R1M111MFOM5CIVM39024FMX
  68. M2M3CB5CMKMQH9LTX31W9Q1L3NFKL45L8LHZZW9H
  69. U9F3295ND1L81N4GIGT8ZG8ZKTB8RKDÑK_R2R7A2
  70. FXHUQ6ADOJROC_B3J0Y6MIXITP6HCA6XIC61ÑINS
  71. IUCXDT6XIP6MXCI1636ZN9A_N5UYB5V_AHE0WRH8
  72. E_H_AKGLGVWUPV42GXVEZVOGV72WKO3VAJPAUVUX
  73. F60OFX0OFWKF_MU3JMJA8R0OFXYFSY6DNQL2QCÑH
  74. 2BTU2T7DÑ2W9D_G1ETEMU_1RWBO6BTQ44W6RMJZH
  75. JMTRCJN9ÑVNE0PE7NORZRGERPQNM3VNCNÑ5NPOZI
  76. GYKQOYDOYDM4C6AE4MAP6FS0YDON0G0YU2AM7M9M
  77. S6AEÑXIKHI9R9FQLCQTCV5TMMÑBLXKÑI9KMC5CT3
  78. 08TC1LCHJEDK8W_DLE72KMW42KZ_0B7VEFKFV0SV
  79. ZJ1UJ88J1R768696UIKFK067IYMZ7MOLMI90U0CU
  80. IK7AI5UZ2O48MOK5JHBTD5AÑ7BÑLYÑWHÑ12TYÑBA
  81. TDJ6_Ñ75ÑL56HK17YTK8CG8Q4ICDI8EKXE3KGVQJ
  82. G7Q8F4QIC4Q9Z5ZEJKEGX5KFP67PO3P9H722FS3J
  83. P3S353O2B0RCDMNGI0LDFMDV02DE94_LC_3_L4H1
  84. X3H19Y3H981N4575OLG_Q4LBU9XBZB9A4Z_ARF8N
  85. 8RTNYZG8682T86AZÑKÑDE4AR8GZ1NBN8WYGRYCYE
  86. 2OA3JRAXA7YAMJX7VOCJ47EJRYC3BJA7W1F7MA70
  87. X_2XI2CAXYC6NCMAICPBTHÑWRWH8E_HCHCYVQMBW
  88. 5FV4RZRGZ7G491PUKN4VNKRLR7GYZGOSY2ZO4ZGL
  89. L4AN4NVUFOY7U8UF6YXOKVORO3O_VTDWXDSRXD1T
  90. ODÑ2CJ2ÑHUÑB5QSBIGBEOTHEPBIKQ1_I_51Y8EBA
  91. B0OW1GEQ1L_PRBRPSNV5N37SNF0ZONSPZSHQR9Y6
  92. 9U0AXMPY0GYMAÑIYÑOYDFKCKKKC02CBHLXCFRBÑL
  93. Ñ9CT90LML3C2PVXÑFO9E9EH8_M42_Z48_KBEJ_08
  94. DGKWH47_24_09WZWV8JW0GDPGUE7R4P63R4631KF
  95. VKLMRSIFBR59PRLJYYJ6JSVTV0S_7IVLMOLI5OXM
  96. KKODN0IUF6H6UL5672LMHJJTBAT89TIB8BHEK9IK
  97. 15ZEJKQRNGQ6FEBHNGXGVQ45G4EJ8Q5BQ8CQ9852
  98. J2YSUFS2JIPF79D79363PIJS2FIPYS157PHGSOSM
  99. 343V0TX2024FUDB0RCDMÑÑ2O2HD03MF41XV0ACBM
  100. ÑCDM0R8QH1H19792ZLD_OLC_NLE_B8NPGQNTGZ8D
  101. RE4ÑJRKZKDBJMJ6AX7Y17QB3DYJ3E75SY7DF7B1A
  102. ZXU7CB32YAJYJR0DPT6WDPBIMI2SAÑIXNSRN26XT
  103. LT6MZLYIO96ZXYXI9XIDYBV4_5CVYXWH01Y1_WR5
  104. W5TQV57S5TQM5WH18HZ1_Y5BURAP4BXNURGYZ7GV
  105. 7XV9XA3CA3RP3AK3SÑ37YÑF6_1UQ2DIMC_DÑ2QXT
  106. 52BTEDX5DOÑJOVQDTIVTDND9U52ZTUT1LKP1TEIT
  107. K1QB9S8TQSB48PZ336ZJMORHVSNUVN0ÑVUPMYOGY
  108. DQ_0LYTUA0626AE46Y0QGKQOYGIYM5MTYMA69TUF
  109. ÑLXFPÑQHLX6587STC1LC3MEP8WJMES8W24_54PWK
  110. _MKN8R7IJSV0SVU9PL3RL3Z3RKF07JVA7JV83ZKJ
  111. 7RP6J1R90UJH0IUHK0LI6OTIKUIOP6CJ6UAKCJOF
  112. XUKI5O325O_ZT9_TIÑ9CDBÑ2H4HÑJHKHÑBG89AT_
  113. BHT815ÑLMLJ615Ñ6N_5EC47NGQ13Z7ZIGHGXEBH7
  114. P7_POH932SIJS5WSIPFMKMO650CMD603D1HD1MDV
  115. 0O6D6DM6RM562GMJ1D10TD03E1G5L45LFO91WQW9
  116. GLB97L5B_LFD9E9KBUGW92WGB19SZNK4ÑBA4KLO8
  117. 68098BVQBZNKN46DÑKSZZ8H2GT1GZ8XB3J3G7AN7
  118. YE7BUYA7JQABFOAXY92ION2CYT6VZD6HCAIWH9AY
  119. 4W_HECV_W5VBNBW5UA1H_13A5RHCYVHMF535_KBB
  120. V9YZOG9SGRN4VPUQUNLAGZOS9GESOÑCZ4FRCGR4K
  121. NVNOFE_YFOUV3UK3QWA3AUVORUFUFS_8R0FXA3PO
  122. UOT3DOR2TD1TU2W9DVÑMUVQÑT2_C29S8Ñ8Ñ198EB
  123. Y1EGAUIKQ1K8V0PU70VSNSRZASENSHZRLÑZO7TPU
  124. 7N3PHYSHOJZGRHPMZU0AQ64A2MYEQ0LP0YLQOQLC
  125. T3C659XPCHFXFHXFÑPM7KZ_VK89K_98NWHMDLGWE
  126. K9KLK2_57Q5KJ8SGKWIMEWSV7431VJ1RMPAV978A
  127. S70FVLMOXIOZ8M9IUHK096UCC6AHKHÑ1XLPHÑWBT
  128. FJ9T_9HTDTWW1Ñ214Ñ51GDG9H5T0J9T26KEVZ4EG
  129. VK_4C8GQ4BFNJKIPG3GXEVGE647I6E747Q7JS5WS
  130. UPG2YS67P6S9D38AFS9SIJS5WYSI7P5A6S9AFPRI
  131. 3IX1XTXKMGCDMA2B2M676F23BZ9HQ9FBÑ29_LB9O
  132. LC_FGY8YGZVP3GAKSZKND_4A4TDYKW1NDKVTKIKN
  133. 8ÑK_ZSZNXAY7VXUNAN03AJE7JA7_BIDWC6NTP6MI
  134. 92CI12I5Ñ_XW5NB5CQLC_5_1HÑEZR5WH4_ABV5M_
  135. N_5B9Ñ1GWXWH18HRLDXVWGPVP4EZO4SYSGXS9M_F
  136. CM3AK3IOF23OR0Ñ301ÑÑADÑ2RLIL2C5DT0TZ97DT
  137. 1LQÑ2HLT2TVO6TE279ÑDWXDRK_IBTZ1_QTQTQ6BE
  138. WYOS8Q1KTPE1V_Z168BEWBZQBW6ÑJHQMSOJZFSNT
  139. 700VS875URHÑNSZJMNCN5P3N9ÑVNSVNAGPOLE0FS
  140. A0PM4A2M0AMWUFSC9LXVX9KDL9CQTCL2M59WN8SG
  141. KWSENWK9ZK29WM4_PMJ8DLEWEKLE_5Q7W4P4_5QI
  142. FVJSVJ78SV59PR8J183RY6U9OI8KIODNO62J5MOX
  143. 26O7BAKBP9HT7BX1ÑLWÑH2HP1ATI9AH5GBATWH5Ñ
  144. 4LWHJT1C8GQ8CHF8QRZ4EJZ4E1GQ47FP03FG3PH_
  145. SZ5W4YSZJUP8BCDCMÑ2MO21MVD0I23DHXGR056RD
  146. 6MKMIV0I2YIGMDTL5EL1EÑ9N1O2H9PLUJ9UW9AF5
  147. N91LE533LWUH19GH913NK2RS46ZNK1YK1NTKDVZ8
  148. 6K4NBRNKÑRKC2GYKNT8DVQWYCN7CJ1OEJ3MMUY7M
  149. UY7YFZ_2AÑCI12I2PIGMC6LTX6D_CWZEA05Z10WB
  150. W5G_CH_M51_CWZEHR1Y8_L_MNQ5T_VX4X4EVOGZ9
  151. GZJ4ANVCGBURASGYZRYZG1ZWUNUP4AN45Ñ8GFSYÑ
  152. 0F60OFFKBIAUAU3IAOF2UV3U8F3XM3_MKXAK_FA7
  153. W9DWXDSRXDMLQ2ILUDWLTBVWBEWYOS1VER1_PE1H
  154. _DK0N9ÑVN57NSVZRWQRHONRPRNV3NSVT0VE7ZSPN
  155. ZLTRZFJ0AY4W2U0U0AMQFAGAMPL0SM4A2MAY4V69
  156. F0EAIGYW0YÑX9U8L_LQLC9CDPB9FEHXJPTC685ET
  157. 3XLCEÑXOPÑFMÑLX84L7Q_QZ_9QJJEDGWGW0M8Y59
  158. VP6JRMPRAFJV0SN7JVJ8J7M5P8QU26UKJOCOT69D
  159. IOK2ZOX2O48MU0CUNKA0HDUKLÑ2L451YH5T9ATL5
  160. HEÑAS5ZXEGVEIZ33E8CH8Q78QR4S2JFUPIFISJD3
  161. PRS_SRAPRPJW42F3SUFSS_8ADR35SA_0JT4MD0TX
  162. 206DF25CGR056U1H19BFHX2B21OL5ELDN1DV8N8Y
  163. GINUNF84ÑB4NK_4AR8D2NTFV84KTÑKS4NK2REDÑJ
  164. BU7FQ7GFNX3COJ_B3J6YZJA7DUBFQAY723JABZSY
  165. C7ETX6UCWYIDPBÑIZX1XIC20XPC6DP6BIWDNZ6ÑS
  166. IXICNCIAQWX_W535UY1HFWH0EH1RW4QPVG_JN4KP
  167. 94_SO4FVOGRW3TWVO3CAUV380F83FS0O3_FMK3UA
  168. 3AK_06YÑ3DUÑ08FZ2CYDNDCQLJDXA052VTV29I_Q
  169. 1R_TEGGEVQEBWE8BVWTNJZKMJUJÑSMN4ÑTY7SN07
  170. TRPZXSZLTRZFPN4PC70ZPNUOYAG_DOMOMY46AU0S
  171. MPMAUFXÑBXEÑM9BBTCQT1CQT9PXÑJ8SGWUWHGJ_9
  172. K294_24_5GS_8DWL8BHGM4_QÑ5ZWMK7VGFIHLSVS
  173. JKPRÑJR13RP6JVGFJR8ASVA7R91VLJRM3L9A0NJ6
  174. 8ODNUG8MOTIO62J5MLOLO9DUIDNUX26O7MXMQ5IC
  175. 5HTFJ9TÑAIL4JHXITH41YQHF4JEGQMQHQV5WGXEI
  176. 6GX6AP7FG7PHOGPVYSK5JSJW6S36AP7_P34DPUSF
  177. S7F3MPW8FCRMA2B2MF1D3D10HI01IBD1FN1NL5EL
  178. FQLTB9GH9FWÑ58ZÑJZKSRN8Z2BQNYKTVZKZS4EZÑ
  179. 4NKNGI2KNT8FG3NANYE2OJ0YAJAH1AY7ZFXXJAÑ_
  180. 6X92CI126LTX6DDZZ6CA0OA1HÑEYEH_5TQAQ5K_5
  181. LWR50WHW91R5A_M_5VBDHM_WVGRCRG_VX_GCRV42
  182. 4NVP47SRGV7Z5VWV4AN4JR4CPVWUFXYC06C3Y8CM
  183. IMU3O3IO31_YÑÑUFXYFWMKXM1AU3IOUDOTVO2VTÑ
  184. DWC2IÑJÑ_Ñ2_CB48T8EBWSQ61ENKPE1HUON7N4PS
  185. NVWVTENUSPZLTRZRHNBLGBN8709ÑRZFJPZGRHPSZ
  186. U0AU4S9UA2IMYMQSF0LAG60A_AU2AQ64PLIDYGIY
  187. MOY65QXL3C1TT8XEÑX_ÑS_HXFXCS3C9515C2ÑFL9
  188. AÑXIHLMQ7W47_KZ_C_ÑE9JEJGWR89VJR7VM3RYPV
  189. 0FVKRAKN7BVM5IOMXOYU6YDUKNU0POJDI2OK5U37
  190. 2IZICOIJ6UQU8DA24LYKTHÑ2L4097I5C9AI9TLWÑ
  191. 241IWLXHTD9GBT7J5A8ZEVVKMZEGVE_ECEGH8FEN
  192. QJKEWG3QXGE48Q8C6NCHFNQ15JSWFIPJS1H7DS3P
  193. 7F5H5LD10TD201D9CR6DMACBMÑ219Y3H9HZB9LÑC
  194. _B92E5L5E9FZLX2WBUBQ9B9BL5OLCN9QGY8P2INY
  195. 8PZKS8E8BZ28RQ7DF7NUPNAYJ03AJC3AB0NCAC6W
  196. IBINZLXIXI9ÑCI2CACBTZPIBDPXDCIGXIRN2IOÑN
  197. H_M5D_CVHAWR_1HWH9581V4VG4NVN4NUVGZ7GEOS
  198. W7ZJO313UF3DO_3UFZU6RUFX3UALOT3WKO3R07VU
  199. FXYFW_UUQL2QVC_ÑT209W2TD1TVXETC2RLJ2UCRJ
  200. 959Z2TDWXDE_G_Q1OKI1GKB0OWBSWEO4ÑEPBE1HU
  201. ONK15QEBSQ91VQBRHZÑTSFLTNR0NTPS7N9ÑV0A0G
  202. YKQOYQGYW9E76ATUA7UKLHF9LXS9I9PT9CQTCP53
  203. 9MKPCKX0HD099CRC56T8L818KWKEWLJ8KNKPK8Q_
  204. K_97K87_7IV7VFGVCIRTRP1RJ6YONEJDNULOHEUZ
  205. UIOL2ZLMO0NUKN6U6NJOQ8IOM6K8MXIT89TAÑN5H
  206. THLÑQHITHÑTY5H4R47NQ8RQ7K1G35GWKX5ZP67P5
  207. DSNGA3WFUP34F3SIJPO3PR3DS_3PJ34JSL25ZYSD
  208. 6BH0B02M25IUD20HI01IDD68GBCMA2B20IT0GD2X
  209. 0Z45LFOL2_Ñ21NGHW9BQHTBU91NN1B1N1L2C9KB1
  210. 2B9QW1928E84ÑBRNKSV8D2NP8GYN84Y1N7Z03J7E
  211. BM1YU7VAXA7NSXI2CZNX1_ILLC6YILYMCSIGIA_X
  212. B6CIFTWNDJDCWTPH10HNWR5E_HXBKBFV_L_W5ECZ
  213. R_SGÑCZGNJ4QUGKNUP438RY8RUVUFWMKXAK_AT3O
  214. IFOY1_8X0FXY3QWA3UF3KM3ÑXDVR6052T72HLT2_
  215. CTCLTBVWBEOEBQ6XBTPBKI_Q1_QE7SNT74V5APMN
  216. SHZTHSZNHOVSEZXPTZ75ZKJMZPTZÑTR4SMAU4AQE
  217. M2KQAOLYFIFOGS6AS9MÑY0ATAIYD0L_0MYJT85CL
  218. 1CUX3LBX9SSÑECHX9C7STCS3LCQTBÑR9SCHFXÑL9
  219. KP402WPQ28EWP_K_L8J8WK4R4J6JR6PLFÑSIVAFJ
  220. VGAIZ26OLMOXIO7DA76UQUH08UJU5OUZ675888OD
  221. NUE0N0HHWÑ51I4LÑLWTI9C5T9HIBHÑK15Ñ1MTJTH
  222. _9HTHBAT_BHE26KEL6K3ZXQN5G8DIE47N4EIZXE1
  223. G45KR8GQBNFQRNGSHMPHF3SIJSO3P9D3_E3PG1D5
  224. M201I3M1CM2MFGB0R8MGHQ92ZBDBMWL491N9_L45
  225. E9FWDHZ2L8W9XLJLE5L490_8X2G81YNBNLZAZK4Ñ
  226. K4SK_YVBPGQN8FG8SZK4Ñ86EZK3F7B1AZXU7X132
  227. YAJ1OEJBE7FQGUW1F7AN73CNOJYA7J4ZD6NTMT6D
  228. PY_ÑI2SIZÑSAXAXQ5AQM5K_5C1Y0E8E35WHAN4JR
  229. KQRURVG84Z9_OVRGZVWXAGR_R4BPO8VRGYZG48EI
  230. AJAKVOTIOUFOYFZ_YFW08WDQUDCJ_L2C7D5TDEXY
  231. XEXIOBE1QKÑP_16OWRQEBÑWU6KGKABEQ1P_O1T1W
  232. 6V8BU86PTFQSPZORZQ7U7SN37SNX0QJIMYÑOÑAE0
  233. T60AMA2M0ATCOÑKÑFMÑLXKTQT9C95M8TCOHD9LXE
  234. ÑXDÑY58L8C159C2ELGSGKWH8J8_KLK89QMQ7_N8W
  235. KESW_DK8MWKLZQ_PQ_WBEFIN79RFBV59PR79Q6VJ
  236. 1VKF0FJVAFJV59PRP78JKJ1U0NU8DNJ68J2OI8Z4
  237. 8MOP89G5TJATHB_BÑKTHÑJ1YÑLWQ_4H8FE4RQ_GM
  238. QIZEJKEVGQ9I8CH8QIRH3GE