Aquí dejo una pequeña explicación sencilla sobre la criptografía de clave pública para el que tenga curiosidad:
Archivo de la etiqueta: Desarrollo
La salud de los algoritmos HASH
Esta entrada la vi hace bastante tiempo y ahora la recupero de borradores.
En la siguiente tabla se visualiza la salud de los algoritmos HASH, tan importantes en la criptografía actual.
¿A que no sabíais que el algoritmo empleado en el DNIe para firmar los certificados es el SHA1 (fuente)? da mal rollo verdad? de hecho ha habido bastante polémica con el tema aunque por lo general se da como seguro.
| Life cycles of popular cryptographic hashes (the “Breakout” chart) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Function | 1990 | 1991 | 1992 | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Snefru | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MD4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MD5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MD2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RIPEMD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HAVAL-128 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SHA-0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SHA-1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RIPEMD-128 [1] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RIPEMD-160 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SHA-2 family | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [1] Note that 128-bit hashes are at best 2^64 complexity to break; using a 128-bit hash is irresponsible based on sheer digest length. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The Hash Function Lounge has an excellent list of references for the dates. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fuente: SecurityByDefault
Pantallazo de depuración de Eucalyptus
A modo de curiosidad me ha dado por postear el entretenido trabajo de depurar la ejecución de Eucalyptus con un Cloud Controller y cuatro nodos. Para quien no lo sepa Eucalyptus es un software de Cloud Computing con una versión empresarial y otra para la comunidad.
La primera imagen es la Sun Storage que sirve por ISCSI los rootfs de los nodos:

La segunda es la depuración de eucalyptus:

y sí, digo depuración y no monitorización porque tuvimos un montón de problemas y al final nos decidimos a cambiar a Openstack, con el cual estamos bastante más contentos.

A ver si me animo y posteo algo sobre Openstack que está bastante chulo y funciona relativamente bien, amén de que me he hecho un experto. Al estar escrito en python, los problemas que aparecían los solucionaba directamente en código, y ya me he visto una buena cantidad de éste.
HTTPS y SSL
Aquí os dejo una breve explicación sobre el HTTPS y el SSL, para los profanos.
Via: Genbeta
Ya tengo un Arduino!
Documental sobre Arduino
He visto un documental sobre Arduino muy interesante, no es nada técnico, es más bien sobre el inicio del proyecto, el objetivo y las pasiones que levanta.
Como voy a empezar a trastear con él, lo mismo voy publicando cosillas.
Arduino The Documentary (2010) Spanish HD from gnd on Vimeo.
Enlaces:
Arduino en Wikipedia: http://es.wikipedia.org/wiki/Arduino
Página oficial de Arduino: http://www.arduino.cc/es/
Dónde comprarlo (hay muchas tiendas): http://www.electan.com/catalog/arduino-uno-con-atmega328-p-2977.html o http://www.bricogeek.com/shop/305-arduino-uno.html
Android “adb” en Ubuntu: no permissions
Hoy creando un prototipo de aplicación en Android con Ubuntu me he encontrado que no podía conectarme a mi HTC Magic con Android 2.2 (Froyo) por USB para depurar mi aplicación.
Hasta ahora venía haciendo esto desde mi portátil con Gentoo y no había tenido problema así que me he puesto a ver qué era lo que pasaba. Finalmente he visto que era un problema de permisos, al hacer adb devices me decía:
?????????????? no permissions
Así que he buscado por allí y en http://www.google.com/support/forum/p/android/thread?tid=08945730bbd7b22b&hl=en he encontrado la solución:
- Crear el archivo: /etc/udev/rules.d/51-android.rules
- Insertar en el archivo la siguiente línea: SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4″, MODE=”0666″
- Volver a pinchar el HTC.
Si vuestro Android no es HTC, entonces me imagino que tendréis que cambiar el obb4 por el identificador del fabricante de vuestro móvil que podéis ver con el comando lsusb de la siguiente manera:
Bus 001 Device 011: ID 0bb4:0c02 High Tech Computer Corp.
En vuestro caso el obb4 será otro, ése es el que tenéis que cambiar.
¿Que por qué los videojuegos están mucho mejor diseñados que los programas tipo Office?
“¿Que por qué los videojuegos están mucho mejor diseñados que los programas tipo Office? Los videojuegos están diseñados por gente a la que le encanta jugar con ellos. Los programas como Office están diseñados por gente que querría hacer cualquier otra cosa durante el fin de semana.”
– Atribuida a Ted Nelson
(Vía davidgp)
Lenguaje de programación D
Hace tiempo leí sobre este lenguaje que me gustó bastante el enfoque. Voy a poner un extracto de la Wikipedia pero os recomiendo que os leais el artículo entero:
D es un lenguaje de programación de uso general desarrollado por Walter Bright cuya primera versión apareció en 1995, resultado de décadas de investigación y experiencia de programadores expertos en muchos lenguajes. Es de un nivel más alto que C++, pero conserva la capacidad de escribir código de alto rendimiento y de interconectar directamente con él los APIs de un sistema operativo o el hardware. Además se comporta bien con programas de gran escala con un millón de líneas, que desarrollan equipos de programadores. D es fácil de aprender, proporciona muchas funciones para ayudar al programador, y cumple bien con la tecnología agresiva de optimización del recopilador. Es un lenguaje compilado, no interpretado. Es un lenguaje práctico para programadores que necesitan conseguir un trabajo finalizado rápidamente, con un código fácil de entender. [...]- Gestión automática de memoria (recolección de basura)
- Delegados, funciones anidadas y funciones literales
- Sobrecarga de operadores y propiedades sin sobrecargar al programador
- Estructuración: Módulos y paquetes
- Propiedades
- Programación genérica muy mejorada
- Programación por contratos
- Mantenibilidad y fiabilidad
- Compilación condicional sin sucios preprocesadores
- Compatibilidad con C sin cargar con C
- Arrays asociativos
Tabla resumen sobre licencias libres
Hace tiempo leí en Versión Cero una tabla que habían traducido libremente sobre otro artículo en Coding Horror y me gustó, la apunté para ponerla algún día en mi blog y aquí está:

