Soma de verificaçãoSoma de verificação (do inglês checksum) é um código usado para verificar a integridade de dados transmitidos através de um canal com ruídos ou armazenados em algum meio por algum tempo[1][2][3][4]. FuncionamentoIsto é feito calculando a soma de verificação dos dados antes do envio ou do armazenamento deles, e recalculá-los ao recebê-los ou recuperá-los do armazenamento. Se o valor obtido é o mesmo, as informações não sofreram alterações e portanto não estão corrompidas[5][6][7]. Formas mais simplificadas destas somas são vulneráveis por não detectarem algumas formas de falha. A simples soma dos valores dos caracteres por exemplo é vulnerável a troca de ordem dos mesmos pela comutatividade da soma. Há formas mais elaboradas de se calcular estas somas que resolvem estes problemas, como por exemplo, o Cyclic Redundancy Check (verificação de redundância cíclica) ou CRC muito utilizados para detecção de falha[8] através da divisão de polinômios[9][10]. SegurançaEstas funções podem facilmente detectar falhas acidentais, porém caso a integridade dos dados seja uma questão de segurança uma função mais elaborada ainda é necessária. As funções de hash criptográfico ou resumo criptográfico como o MD5[11] ou as da família SHA[12] são adotadas. Uma das propriedades das funções de resumo criptográfico é tornar difícil a busca por colisões. Ou seja, para um determinado texto é difícil encontrar outro texto de modo que ambos tenham o mesmo resumo criptográfico. Isto dificulta muito a manipulação maliciosa da informação tornando a função própria para autenticação[13][14]. Referências
Ver também |