Como calcular checksum de um ficheiro

Como calcular checksum de um ficheiro

No artigo anterior, explicámos como pode verificar a integridade dos seus downloads utilizando assinaturas digitais. No entanto, este não é o único método para verificar a integridade do software que descarrega da Internet. Também o poderá fazer utilizando checksums.

Um checksum é um valor que é calculado a partir do conteúdo de um ficheiro, utilizando um algoritmo criptográfico como o MD5 ou o SHA256. Todos os ficheiros possuem um checksum. Pode dizer-se que os checksums são o equivalente às nossas impressões digitais: tal como pessoas diferentes possuem impressões digitais diferentes, ficheiros diferentes possuem checksums diferentes. Por mínima que seja a alteração ao conteúdo de um ficheiro, o valor do seu checksum será totalmente diferente. Repare, por exemplo, nas alterações no checksum de uma palavra, calculado com recurso ao algoritmo SHA256, que a maiusculização de um único carácter da mesma produz:

microjovem: 0A5818E2B9B1BEF5B87B9EDA9EDC3506F35F308CE7DE22F16636D2EC5EFE1734

Microjovem: 1589EFC5453B126FAC8DDB987B885C8121926C8DF434085B09BAE33E8FBE19C5

Conhecendo o checksum do ficheiro original, poderá verificar se descarregou a versão original do software. Para isso, basta calcular o checksum do ficheiro que descarregou e compará-lo com o checksum do ficheiro original. Se estes coincidirem, trata-se do ficheiro original. Caso exista alguma divergência, isso significa que descarregou uma versão adulterada do software.

Para exemplificar o cálculo do checksum de um ficheiro, iremos retomar o exemplo da versão 7.1a do TrueCrypt. A equipa que organizou a primeira auditoria a este software disponibiliza os valores dos checksums do seu executável original, que são os seguintes:

MD5: 7a23ac83a0856c352025a6f7c9cc1526

SHA256: e95eca399dfe95500c4de569efc4cc77b75e2b66a864d467df37733ec06a0ff2

Como calcular checksum de um ficheiro

1º. Faça o download do QuickHash GUI, clicando aqui. Em seguida, descompacte o arquivo que descarregou, abra a pasta 32-Bit ou 64-Bit conforme a versão do seu sistema operativo, e abra o ficheiro que se encontra nessa pasta.

2º. Clique no separador “File”.

Calcular checksum

3º. Na secção “Hash Algorithm”, seleccione o algoritmo que pretende utilizar para calcular o checksum do ficheiro. Para a elaboração deste guia, seleccionámos o algoritmo “SHA256”.

Calcular checksum

4º. Copie o valor do checksum do ficheiro original correspondente ao algoritmo que escolheu no passo anteiror, e cole-o no campo “Expected Hash Value”. Como seleccionámos o algoritmo SHA256 no passo anterior, utilizámos o valor “e95eca399dfe95500c4de569efc4cc77b75e2b66a864d467df37733ec06a0ff2” (sem aspas). Se tiver seleccionado o algoritmo MD5, deve antes utilizar o valor “7a23ac83a0856c352025a6f7c9cc1526” (sem aspas).

Calcular checksum

5º. Cliqeue no botão “Select File”.

Calcular checksum

6º. Seleccione a localização do executável da versão 7.1a do TrueCrypt.

Calcular checksum

7º. O checksum do ficheiro será calculado automaticamente. Se este coincidir com o valor do checksum que era esperado, surgirá a seguinte mensagem: “Expected hash matches de computed file hash”. Isto significa que, efectivamente, descarregou a versão original do TrueCrypt. Mas, se surgir a mensagem “Expected hash DOES NOT match the computed file hash”, isso significa que descarregou uma versão adulterada do TrueCrypt.Calcular checksum

8º. Clicando em “OK”, conseguirá visualizar o checksum que foi calculado para o ficheiro. Apenas para confirmar, poderá compará-lo manualmente com o checksum do ficheiro original.

Calcular checksum

Nota: Poderá complementar a verificação da integridade do TrueCrypt utilizando assinaturas digitais com o cálculo do checksum. Para isso, deve calcular os checksums da assinatura digital do executável e da chave pública dos desenvolvedores do TrueCrypt, e verificar se o resultado corresponde aos checksums dos ficheiros originais. Estes são:

Assinatura digital:

MD5: 015a30c68450b9559bda52eb2fa0ff3e

SHA256: 1f6b9f5e13d1d8fe0070cf60688176e85458ddf602dfb987efa9c08f7140b69b

Chave pública:

MD5: 41612478ceeee8448b87a5e872f07302

SHA256: 26d4446f040bf6989a19b197f69d0fc2a80fb6fa826750163f396ee904ac4b27

Se corresponder, terá a certeza que está a utilizar a verdadeira chave e a verdadeira assinatura digital para fazer a verificação.