Why you should never use hash functions for message authentication

The general thrust of this post is: use a MAC function like HMAC to sign data, don’t use hash functions. Although not all hash functions suffer from the problem I’m going to illustrate, in general using a hash function for message authentication comes with a lot of potential problems because those functions aren’t designed for this task. You shouldn’t try to work around it by creatively processing the inputs or inventing some fancy way of chaining hash functions. Just use the functions that were designed for this task instead of inventing your own crypto schemes. ...

27 de junio de 2012 · 1 min · 97 palabras · Nacho Cano

All About Unicode, UTF8 & Character Sets

This is a story that dates back to the earliest days of computers. The story has a plot, well, sort of. It has competition and intrigue, as well as traversing oodles of countries and languages. There is conflict and resolution, and a happyish ending. But the main focus is the characters ” 110,116 of them. By the end of the story, they will all find their own unique place in this world. This story (or article, as known on Smashing Magazine) will follow a few of those characters more closely, as they journey from Web server to browser, and back again. Along the way, you’ll find out more about the history of characters, character sets, Unicode and UTF-8, and why question marks and odd accented characters sometimes show up in databases and text files. ...

27 de junio de 2012 · 1 min · 139 palabras · Nacho Cano

Carta abierta al Presidente Constitucional de la República del Ecuador

Estimado Rafael Correa, Presidente de Ecuador En lo referente al asilo de Julian Assange en Ecuador me permito hacerle la siguiente recomendación. El trabajo realizado por Assange y WikiLeaks ha sido muy importante para transparentar el mundo en el que vivimos. Proteger a Julian Assange de la persecución de EE.UU. es un deber que tenemos todos y usted tiene la posibilidad de ayudarle. Las posibles acusaciones de delitos sexuales son otro asunto, y de ser serias, merecen respeto. Aquí propongo una manera por la cual Ecuador puede lograr los dos objetivos. Hasta ahora, Suecia no tiene acusaciones formales contra Assange sino que los oficiales suecos piden plantearle preguntas, lo que Assange les ha invitado a hacer en Londres. Al darle asilo, Ecuador puede permitirse dar las facilidades de la embajada de Ecuador para que oficiales suecos lo puedan interrogar. Si luego Suecia lo acusa formalmente, podrá pedir su entrega normalmente, que se considerará según la ley ecuatoriana, y con una condición: que no lo rinda a ningún otro país, sino que lo deje salir para Ecuador, o al fin del proceso si sale inocente, o al fin de su pena si se condena. Sinceramente en el espíritu de ayudar, Richard Stallman ...

26 de junio de 2012 · 1 min · 203 palabras · Nacho Cano

El extraño caso de la función negada en Javascript

Tras este novelesco título lo que se esconde en esta ocasión es una estructura que podemos encontrar últimamente en bibliotecas y códigos de terceros. Se trata de una variante de las funciones autoejecutables (o que se auto invocan) que ya tratamos aquí hace algún tiempo. En concreto, se trata de la siguiente pieza de código: !function() { // My awesome code... }(); ¿Qué es exactamente esta función negada? ¿Cómo y porqué funciona? Echemos un vistazo a las tripas de Javascript¦ ...

26 de junio de 2012 · 1 min · 82 palabras · Nacho Cano

Actualización automática ¿Bendición o condena?

El caso TheFlame ha promovido muchas reacciones: los articulistas rellenan páginas con prefijos ”ciber” y la palabra ”guerra”. Las casas antivirus lo usan como arma de venta (aun sin haberlo detectado en cinco años) y Microsoft queda en evidencia con su PKI y la refuerza. TheFlame ha minado también la confianza: en los gobiernos, en los antivirus… pero sobre todo, en la criptografía y en la actualización automática. » hispasec.com

26 de junio de 2012 · 1 min · 70 palabras · Nacho Cano

lexical scoping and dynamic scoping in Emacs Lisp

In this article, I demonstrate: difference between dynamic scoping and lexical scoping in Emacs Lisp what to watch out for with dynamic scoping what you can do with lexical scoping and lexical closures what happens when you mix lexical scoping code and dynamic scoping code Emacs Lisp is always dynamically scoped in Emacs 23 and below. Support for lexical scoping is added to Emacs 24. Nice because many agree that lexical scoping makes more sense in most cases than dynamic scoping does. You’ll see why soon in this article. If you have an el file that you want to load with lexical scoping, you can add -*- lexical-binding: t -*- as the first line, then when Emacs 24 loads the file, it will apply lexical scoping to the code in that el file. ...

26 de junio de 2012 · 1 min · 135 palabras · Nacho Cano

Why NULL points to 0?

A few years ago I would answer the above question with ”because NULL is defined as a void pointer to 0”, which is only half correct (and close to being wrong). The answer to this question is much more complicated and thus much more interesting. Let’s start with checking what the C standards (or actually drafts of the standards) say about the (in)famous NULL ptr. The green/yellow/orange colors mark the part that caught my attention. I’ll leave the C++0x case for another time (C++0x introduces the nullptr of std::nullptr_t type btw). For TL;DR scroll down, I summarize the points anyway. ...

26 de junio de 2012 · 1 min · 102 palabras · Nacho Cano

Golden Axe - Desvelando todos sus secretos

Buenas, aquí os traigo, en primicia, una guía que destripa los secretos del sistema de puntuación del juego, uno de los más complejos de la época y de la historia de los beat em up. Muchos os habreis acabado este juego, pero seguro que nunca habeis tenido claro porque la maquina os da al final una puntuacion u otra, incluso aunque hayais hecho partidas casi iguales la puntuacion cambia ostensiblemente y nunca queda claro el motivo. Bien, espero con esta breve guia quede todo claro y a partir de ahora controleis a vuestro antojo los puntos que obteneis en este juego. Al clarificar el sistema de puntuacion, tambien se hace mas sencillo intentar lograr una cierta puntuacion en el juego, pues ahora ya sabemos de qué depende. La guia está basada en la versión original, esto es, la versión Arcade japonesa. Es importante este detalle porque algunos enemigos tienen algo menos de vida en el resto de versiones arcade del juego. Y por supuesto esto que digo nada tiene que ver con la versiones domésticas. Basada en una guía original japonesa, he recortado varios apartados de la misma para no hacerla redundante ya que hay muchas cosas como los controles, etc… que son de sobra conocidos por todos y no suponen ninguna novedad. Tambien he optado por no publicar los capitulos referentes a estrategias para acabar con los enemigos y hacer el maximo de puntuacion posible en el juego ya que considero que dichas estrategias a dia de hoy ya han sido superadas (aunque no publicadas). ...

26 de junio de 2012 · 2 min · 260 palabras · Nacho Cano

PHP Database Access: Are You Doing It Correctly?

We’ve covered PHP’s PDO API a couple of times here on Nettuts+, but, generally, those articles focused more on the theory, and less on the application. This article will fix that! To put it plainly, if you’re still using PHP’s old mysql API to connect to your databases, read on! » tutsplus.com

25 de junio de 2012 · 1 min · 52 palabras · Nacho Cano

in which three programming methods are compared

There are, roughly speaking, three ways to develop large user-facing programs, which we will refer to here as 0) the Unix way, 1) the Emacs way, and 2) the wrong way. » technomancy.us

25 de junio de 2012 · 1 min · 33 palabras · Nacho Cano