- 各ワードの合計値を元に誤り検出を行う
- 何ビット単位で加算するか、下何ビットをチェックサムとするかは実装によって異なる
- 計算が単純で簡易的な誤り検出に使われる
- 順序が考慮されないため、ハッシュ関数のように改ざん防止には使用できない
- IP ヘッダのチェックに使われる
- 送信側で IP ヘッダを 16 ビット単位で加算し、下 16 ビットをチェックサムとする
- チェックサムの補数を IP ヘッダのチェックサム フィールドに格納する
- 受信側で IP ヘッダを 16 ビット単位で加算し、ゼロになることを確認する
CRC [Cyclic Redundancy Check]†[edit]
- チェックサムよりも計算が複雑
- 通常、16bitか32bitが使われる
- CRCチェックサムともいわれるが、単純な"sum"ではない
sum (GNU Coreutils)†[edit]
- 16bitのCRCを計算する
$ sum /bin/sh
50910 508
cksum (GNU Coreutils)†[edit]
md5sum (GNU Coreutils)†[edit]
sha1sum (GNU Coreutils)†[edit]
openssl (OpenSSL)†[edit]
$ openssl sha3-256 /bin/sh
SHA3-256(/bin/sh)= 2e28d8e69240368a472d26aea1a48ef66394c4a296f98c62e42904e11af984bf
$ openssl list -digest-commands
blake2b512 blake2s256 gost md2
md4 md5 rmd160 sha1
sha224 sha256 sha3-224 sha3-256
sha3-384 sha3-512 sha384 sha512
sha512-224 sha512-256 shake128 shake256
sm3