Square-And-Multiply

Cinta_de_Mobius_I.jpgSeguramente a estas alturas ya les habrán pedido que programen la exponenciación entera de un número para ilustrarles algunas estructuras de control, pero es muy probable que no se hayan preguntado cómo se podría hacer más eficiente una exponenciación o de plano pensaron que es lo mejor que se puede hacer (hacer todas y cada una de las multiplicaciones).

Aqui les voy a exponer un método sencillo y muy usado para exponenciar en grande de una manera más eficiente.

(más…)

Linux y el Software Libre

tux-291x356-migrando.pngAunque muchos no saben exactamente qué es Linux ni qué significa software libre ni quiénes están detrás de todo esto, seguramente habrán escuchado de servidores Linux, Apache, MySQL y PHP. Aqui voy a darles una pequeña explicación de lo que es Linux y cómo funciona su modelo económico; así como desmentir algunas cosas que giran en torno a Linux.

(más…)

Backtracking

LaberintoEl backtracking es una técnica usada en computación que se resume como ir explorando un problema por todo un árbol de combinaciones, en donde forzosamente alguna de las posibles combinaciones es solución del problema. Parecida a la técnica humana cuando se quiere resolver un problema nuevo y no tan obvio, en donde sólo se conocen las reglas del problema y se tiene que ir probando por caminos diferentes para encontrar la solución.

En éste artículo se va a dar una aproximación a la estrategia.

(más…)

Un poco de teoría de números (RSA I)

public_key_cryptography_and_pgp1.jpgEste es el primer artículo de tres artículos que serán publicados con la finalidad de explicar de una manera general el fundamento matemático del sistema criptográfico RSA. La finalidad de esto es que cualquiera pueda hacer una implementación correcta y segura de este criptosistema en el lenguaje de programación que prefiera sin temor a equivocarse.
(más…)