Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # luks-Crypto-Benchmark
- # http://www.holtznet.de/luks/
- # 08/2009
- SIZE="100" #MB
- BLOCKSIZE="4096"
- CIPHER="aes:128 aes:196 aes:256 arc4 des:128 des:256 blowfish:128 blowfish:196 blowfish:256 anubis:128 anubis:256 cast5:128 camellia:128 camellia:196 camellia:256 twofish:128 twofish:196 twofish:256 salsa20:128 salsa20:160 salsa20:196 salsa20:256 serpent:128 serpent:196 serpent:256"
- CMODE="cbc-essiv:sha256 xts-plain64 ecb-null ecb-plain ecb-benbi"
- export LANG=C
- # Load modules
- for mod in $(modprobe -l | grep "/crypto/" | grep "/arch/" | sed 's/.*\/\(.*\)\.ko/\1/'); do
- lsmod | grep "$mod" >/dev/null || modprobe "$mod" >/dev/null 2>&1
- done
- for mod in $(modprobe -l | grep "/crypto/" | grep -v "/arch/" | sed 's/.*\/\(.*\)\.ko/\1/'); do
- lsmod | grep "$mod" >/dev/null || modprobe "$mod" >/dev/null 2>&1
- done
- # Make device
- tmp="/tmp/"
- test -e /dev/shm && tmp="/dev/shm/"
- file=$(mktemp -p "$tmp")
- dd if=/dev/zero of="$file" bs=1M count="$SIZE" >/dev/null 2>&1
- chown root:root "$file"
- loop=$(losetup -f)
- losetup "$loop" "$file"
- # Make keyfile
- keyfile=$(mktemp)
- dd if=/dev/urandom of="$keyfile" bs=512 count=1 >/dev/null 2>&1
- chown root:root "$keyfile"
- # Start benchmark
- echo "Create options write read"
- for cipher in $CIPHER; do
- for cmode in $CMODE; do
- c=$(echo "$cipher" | sed 's/:.*//')
- b=$(echo "$cipher" | sed 's/.*://')
- echo -n "-c $c-$cmode -s $b "
- cryptsetup luksFormat -q -c "$c-$cmode" -s "$b" "$loop" "$keyfile" >/dev/null 2>&1
- cryptsetup luksOpen -q --key-file "$keyfile" "$loop" "cryptbech" >/dev/null 2>&1
- if [ -e "/dev/mapper/cryptbech" ]; then
- write=$(dd if=/dev/zero of="/dev/mapper/cryptbech" bs="$BLOCKSIZE" 2>&1 | grep "/s" | sed 's/.*, //')
- read=$(dd of=/dev/null if="/dev/mapper/cryptbech" bs="$BLOCKSIZE" 2>&1 | grep "/s" | sed 's/.*, //')
- echo "$write $read"
- cryptsetup luksClose -q "cryptbech" >/dev/null 2>&1
- else
- echo "Error"
- fi
- done
- done
- # Destroy device and keyfile
- losetup -d "$loop"
- rm "$file" "$keyfile"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement