Ir para o conteúdo

Soma de verificação

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Checksum)
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[1][2][3][4].

Funcionamento

[editar | editar código]

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[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ça

[editar | editar código]

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[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

  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

[editar | editar código]
Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.