¿Qué es el Checksum?
Desde entonces, las funciones CheckSum o de suma de verificación han sido parte esencial de nuestras vidas. Desde un simple reproductor de CD, pasando por los televisores, los sistema de conversión digital-analógico y viceversa, las transmisiones de datos por cable (como el Ethernet de nuestros computadores) o por radio (como las que realizan nuestros celulares). En fin, la utilidad de las checksum es gigantesca y seguramente está presente en cosas que ni remotamente pensarías que la tienen aplicadas.
Por otro lado, William W. Peterson fue un grandioso desarrollador de tecnologías y mejora de lenguajes de programación, hasta su muerte el 6 de mayo de 2009. En su honor, las empresas Intel y AMD, agregaron a sus respectivos procesadores la función CRC32c. Está es la función checksum más ampliamente conocida de Peterson, y que todavía es ampliamente utilizada en la industria.
¿Cómo funciona CheckSum?
La función CheckSum fue creada a partir de la aplicación de un algoritmo sencillo. Este tiene como objetivo utilizar una serie de operaciones matemáticas y lógicas complejas para convertir una la secuencia de datos en una cadena de números fija conocida como hash de suma de verificación.
Este pequeño hash se utiliza luego para verificar de forma muy rápida si una determinada data ha sufrido daños. Bien sea por almacenamiento (datos escritos o leídos de forma incorrecta) o por transmisión de los mismo (las redes de transmisión siempre tienen una pérdida relacionada a distintos factores). O inclusive si algun actor malicioso la ha modificado de forma premeditada.
Entonces, cómo esta función permite verificar la integridad de una información, es ampliamente utilizada al momento de compartir o almacenar datos en la red. Puesto que los datos, al estar acompañados de los valores hash generados a partir de ellos mismos mediante una función hash, adquieren algunas propiedades extras que les permiten ser verificados y validados a sí mismos cuando son compartidos o almacenados.
Por ejemplo, si un usuario desea compartir un archivo en la red con otro usuario, debe suministrar un valor hash del archivo de manera que este mismo valor pueda ser obtenido al momento de aplicar la función hash sobre ese archivo. Garantizando entonces que el archivo compartido sí llegó de forma correcta y sin alteraciones a su destinatario.
Así mismo, al momento de archivar y almacenar una información, ésta puede ser verificada posteriormente calculando y guardando el resultado del valor hash obtenido. Así, cuando se necesite hacer una comprobación, puede usarse el valor hash guardado para saber si la información ha sido alterada o no, por cualquier motivo.
Casos de uso de la función CheckSum
Los casos de uso de las funciones CheckSum son ampliamente variados. Como ya hemos mencionado son partes muy fundamentales en los aparatos electrónicos y de la informática en general. Pero con el fin de que puedas comprender con mayor claridad el alcance de las mismas veremos a continuación algunos casos de uso reales y muy cotidianos de estas funciones:
Tecnología GSM
La tecnología GSM que hace posible que podamos usar la mayoría de nuestros celulares en la actualidad hace un amplio uso de las funciones checksum en sus sistemas de transmisión digital de voz y datos. Recordemos que la información digital que se envía a la red celular va codificada, comprimida y modulada de tal forma que la misma pueda llegar de un punto a otro en la red celular con la menor pérdida de información y calidad.
Pero al ser una red de datos del tipo inalámbrica existen diversos factores que alteran la calidad de la información enviada. Cualquier tipo de interferencia puede causar pérdidas de información y con ello, perderemos calidad en los servicios. Para hacer frente a esta situación se utilizan las funciones checksum. Gracias a estas funciones la red puede verificar de forma rápida que la información enviada y recibida esté en perfectas condiciones, y de no estarlos, si se detecta un error, la mis red es capaz de tratar de corregirlo, la mayor parte del tiempo con éxito.
Así que si, gracias a las funciones checksum es que tienes llamadas de voz, mensajería y datos de alta calidad en nuestras redes celulares actuales.
Cuentas bancarias
Otro uso muy común de las funciones de checksum es el de verificar que la información de una cuenta bancaria es correcta. Cada vez que vez un número de cuenta bancaria no solo ves un grupo de números que te identifican dentro de ese banco. Sino que también está un dato que les permite verificar que esos números que has entregado son los correctos.
Por ejemplo, en las cuentas bancarias del tipo IBAN, estos números de control o checksum son los primero cuatro dígitos. Los primeros dos indican el país de origen de la cuenta, y los otros dos indican el número de control. Este número de control está relacionado con los últimos 10 números que identifican la cuenta bancaria. Y esto nos garantizan que, no nos equivocaremos al introducir un número de cuenta bancaria.