Soma de verificação

Efeito de uma típica função de checksum (comando Unix sha1sum). É sensível às alterações, do mais curto ao mais longo, mesmo no caso de adicionar uma virgula. Se utilizássemos apenas o primeiro dígito, todavia, haveria colisão do "8".

Soma 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.

Funcionamento

Isto é 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.

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 através da divisão de polinômios.

Segurança

Estas 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 ou as da família SHA 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.

Referências

  1. ↑ «Checksums». Wireshark User's Guide. Consultado em 15 de fevereiro de 2014
  2. ↑ «checksum». Merriam Webster Dictionary. Consultado em 15 de fevereiro de 2014
  3. ↑ «checksum». Dictionary.com. Consultado em 15 de fevereiro de 2014
  4. ↑ «O que é Checksum?». Canaltech. 29 de maio de 2012. Consultado em 15 de fevereiro de 2014 [ligação inativa]
  5. ↑ «checksum». Webopedia. Consultado em 15 de fevereiro de 2014
  6. ↑ «Definition of:checksum». Encyclopedia PC Magazine. Consultado em 15 de fevereiro de 2014
  7. ↑ Tim Fischer. «Checksum». About.com PC Support. Consultado em 15 de fevereiro de 2014 [ligação inativa]
  8. ↑ «Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations». Setembro de 2002. Consultado em 15 de fevereiro de 2014
  9. ↑ Jeff Tyson. «How Encryption Works». How Stuff Works. Consultado em 15 de fevereiro de 2014
  10. ↑ Ross N. Williams (19 de agosto de 1993). «A Painless Guide to CRC Error Detection Algorithms». Consultado em 15 de fevereiro de 2014
  11. ↑ Ronald Rivest (Abril de 1992). «The MD5 Message-Digest Algorithm». Consultado em 15 de fevereiro de 2014
  12. ↑ D. Eastlake, P. Jones (Abril de 2001). «US Secure Hash Algorithm 1 (SHA1)». Consultado em 15 de fevereiro de 2014
  13. ↑ «Checksum/Hash». Emacs Lisp. Consultado em 15 de fevereiro de 2014
  14. ↑ Steve Friedl (9 de maio de 2005). «An Illustrated Guide to Cryptographic Hashes»

Ver também

Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.