Console Output

Branch indexing
Looking up repository moparisthebest/pegh
Querying the current revision of branch master...
Current revision of branch master is 9462f063901cd4ebf5177d0be326814c450558d8
Obtained .ci/Jenkinsfile from 9462f063901cd4ebf5177d0be326814c450558d8
[Pipeline] Start of Pipeline
[Pipeline] properties
[Pipeline] node
Running on Jenkins in /var/lib/jenkins/workspace/moparisthebest_pegh_master
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] echo
My branch is: master
[Pipeline] checkout
The recommended git tool is: NONE
using credential c6ea0d71-5fe1-48ba-ad49-f6dd0c20363a
 > git rev-parse --resolve-git-dir /var/lib/jenkins/workspace/moparisthebest_pegh_master/.git # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://code.moparisthebest.com/moparisthebest/pegh.git # timeout=10
Fetching upstream changes from https://code.moparisthebest.com/moparisthebest/pegh.git
 > git --version # timeout=10
 > git --version # 'git version 2.42.0'
using GIT_ASKPASS to set credentials jenkins @ code.moparisthebest.com
 > git fetch --tags --force --progress -- https://code.moparisthebest.com/moparisthebest/pegh.git +refs/heads/master:refs/remotes/origin/master # timeout=10
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision 9462f063901cd4ebf5177d0be326814c450558d8 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 9462f063901cd4ebf5177d0be326814c450558d8 # timeout=10
Commit message: "scrypt_max_mem needs to be uint64_t"
 > git rev-list --no-walk a6111c04572e580938e33f68315bd07cf301ff20 # timeout=10
[Gitea] Notifying branch build status: PENDING Build started...
[Gitea] Notified
[Pipeline] sh
+ set -euxo pipefail
+ git checkout master --
Previous HEAD position was 9462f06 scrypt_max_mem needs to be uint64_t
Switched to branch 'master'
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
  (use "git pull" if you want to integrate the remote branch with yours)
+ git reset --hard origin/master
HEAD is now at 9462f06 scrypt_max_mem needs to be uint64_t
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Build + Deploy)
[Pipeline] sh
+ curl --compressed -sL https://code.moparisthebest.com/moparisthebest/self-ci/raw/branch/master/build-ci.sh
+ bash
build-ci.sh: BUILD_LANG=c RELEASE_SCRIPT=.ci/release.sh BUILD_SCRIPT=.ci/build.sh remaining args:
+ mkdir -p bin
+ cd bin
+ curl --compressed -sL -O https://code.moparisthebest.com/moparisthebest/self-ci/raw/branch/master/ci-release-helper.sh -O https://code.moparisthebest.com/moparisthebest/self-ci/raw/branch/master/c/build.sh
+ chmod +x ci-release-helper.sh build.sh
+ cd ..
++ pwd
+ export PATH=/var/lib/jenkins/workspace/moparisthebest_pegh_master/bin:/var/lib/jenkins/.cargo/bin:/var/lib/jenkins/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
+ PATH=/var/lib/jenkins/workspace/moparisthebest_pegh_master/bin:/var/lib/jenkins/.cargo/bin:/var/lib/jenkins/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
+ export BRANCH_NAME=master
+ BRANCH_NAME=master
+ export BUILD_UID=971
+ BUILD_UID=971
++ id -g
+ export BUILD_GID=971
+ BUILD_GID=971
+ build.sh .ci/build.sh
/var/lib/jenkins/workspace/moparisthebest_pegh_master/bin/build.sh: line 8: shift: shift count out of range
+ '[' .ci/build.sh == docker-chown ']'
+ docker_build amd64 docker.io/alpine .ci/build.sh
+ export ARCH=amd64
+ ARCH=amd64
+ shift
+ DOCKER_IMAGE=docker.io/alpine
+ shift
+ '[' 0 -eq 0 ']'
++ pwd
+ podman run --rm -e ARCH -e BRANCH_NAME -v /var/lib/jenkins/workspace/moparisthebest_pegh_master:/tmp -w /tmp docker.io/alpine sh -c 'umask a=rwx; "$@"' -- .ci/build.sh
time="2023-08-29T22:52:21-04:00" level=warning msg="Found incomplete layer \"01a071e26e0b5137e794eb9d2c47c03e4601e5c95c3e4b6ed834ac17edc8da80\", deleting it"
+ apk add build-base clang bash libsodium-dev libsodium-static openssl-dev openssl-libs-static
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
(1/38) Installing ncurses-terminfo-base (6.4_p20230506-r0)
(2/38) Installing libncursesw (6.4_p20230506-r0)
(3/38) Installing readline (8.2.1-r1)
(4/38) Installing bash (5.2.15-r5)
Executing bash-5.2.15-r5.post-install
(5/38) Installing libgcc (12.2.1_git20220924-r10)
(6/38) Installing libstdc++ (12.2.1_git20220924-r10)
(7/38) Installing zstd-libs (1.5.5-r4)
(8/38) Installing binutils (2.40-r7)
(9/38) Installing libmagic (5.45-r0)
(10/38) Installing file (5.45-r0)
(11/38) Installing libgomp (12.2.1_git20220924-r10)
(12/38) Installing libatomic (12.2.1_git20220924-r10)
(13/38) Installing gmp (6.2.1-r3)
(14/38) Installing isl26 (0.26-r1)
(15/38) Installing mpfr4 (4.2.0_p12-r0)
(16/38) Installing mpc1 (1.3.1-r1)
(17/38) Installing gcc (12.2.1_git20220924-r10)
(18/38) Installing libstdc++-dev (12.2.1_git20220924-r10)
(19/38) Installing musl-dev (1.2.4-r1)
(20/38) Installing libc-dev (0.7.2-r5)
(21/38) Installing g++ (12.2.1_git20220924-r10)
(22/38) Installing make (4.4.1-r1)
(23/38) Installing fortify-headers (1.1-r3)
(24/38) Installing patch (2.7.6-r10)
(25/38) Installing build-base (0.5-r3)
(26/38) Installing libffi (3.4.4-r2)
(27/38) Installing xz-libs (5.4.3-r0)
(28/38) Installing libxml2 (2.11.4-r0)
(29/38) Installing llvm16-libs (16.0.6-r1)
(30/38) Installing clang16-libs (16.0.6-r1)
(31/38) Installing clang16-libclang (16.0.6-r1)
(32/38) Installing clang16 (16.0.6-r1)
(33/38) Installing libsodium (1.0.18-r3)
(34/38) Installing pkgconf (1.9.5-r0)
(35/38) Installing libsodium-dev (1.0.18-r3)
(36/38) Installing libsodium-static (1.0.18-r3)
(37/38) Installing openssl-dev (3.1.2-r0)
(38/38) Installing openssl-libs-static (3.1.2-r0)
Executing busybox-1.36.1-r2.trigger
OK: 515 MiB in 53 packages
+ make clean all 'PEGH_LIBSODIUM=1' 'CC=clang' 'LDFLAGS=-static'
rm -f pegh
clang -Wall -Wextra -Werror -std=c89 -pedantic -Wstrict-prototypes -Wold-style-definition -Wconversion -Wno-missing-prototypes -Wno-missing-noreturn -Wno-format -O3 -D_POSIX_SOURCE -DPEGH_LIBSODIUM  -static  pegh.c  -lsodium -o pegh
+ mv pegh pegh.static.libsodium
+ make clean all 'PEGH_OPENSSL=1' 'CC=clang' 'LDFLAGS=-static'
rm -f pegh
clang -Wall -Wextra -Werror -std=c89 -pedantic -Wstrict-prototypes -Wold-style-definition -Wconversion -Wno-missing-prototypes -Wno-missing-noreturn -Wno-format -O3 -D_POSIX_SOURCE -DPEGH_OPENSSL  -static  pegh.c  -lcrypto -o pegh
+ mv pegh pegh.static.openssl
+ make clean all 'PEGH_LIBSODIUM=1' 'PEGH_OPENSSL=1' 'CC=clang' 'LDFLAGS=-static'
rm -f pegh
clang -Wall -Wextra -Werror -std=c89 -pedantic -Wstrict-prototypes -Wold-style-definition -Wconversion -Wno-missing-prototypes -Wno-missing-noreturn -Wno-format -O3 -D_POSIX_SOURCE -DPEGH_LIBSODIUM -DPEGH_OPENSSL  -static  pegh.c  -lsodium -lcrypto -o pegh
+ mv pegh pegh.static.libsodium-openssl
+ ./pegh.static.libsodium-openssl -h
usage: pegh [options...] password
 password:     minimum required length is 12
 -e            encrypt input to output, default mode
 -d            decrypt input to output
 -i <filename> file to use for input, - means stdin, default stdin
 -o <filename> file to use for output, - means stdout, default stdout
 -a            append to -o instead of truncate
 -v            pegh file format version to output,
               either 0 (AES-256-GCM) or 1 (Chacha20-Poly1305),
               default: 0 if AES is hardware accelerated, 1 otherwise
 -c <mb>       chunk size for encryption, while decrypting/encrypting twice
               this ram will be used, the same amount will be needed for
               decryption as encryption. This value is saved in the file
               format, so decryption will fail if this isn't set high enough,
               these are only allocated after scrypt is finished so max usage
               will be the highest of these only, not both combined,
               max: 65535 (AES-256-GCM) or 262143 (Chacha20-Poly1305),
               default: 32
 -m <max_mb>   maximum megabytes of ram to use when deriving key from password
               with scrypt, applies for encryption AND decryption, must
               almost linearly scale with -N, if too low operation will fail,
               default: 64
 -f <filename> read password from file instead of argument, - means stdin
 -g            prompt for password, confirm on encryption, max characters: 64
 -N <num>      scrypt parameter N, only applies for encryption, default 32768
               this is rounded up to the next highest power of 2
 -r <num>      scrypt parameter r, only applies for encryption, default 8
 -p <num>      scrypt parameter p, only applies for encryption, default 1
 -s <num>      multiplication factor to apply to both -N and -m for easy
               work scaling, rounded up to the next highest power of 2,
               BEWARE: -s 32 requires 2G ram, -s 64 requires 4G and so on,
               default: 1
 -h            print this usage text
 -q            do not print error output to stderr
 -V            show version number and format version support then quit

For additional info on scrypt params refer to:
    https://blog.filippo.io/the-scrypt-parameters/
    https://tools.ietf.org/html/rfc7914#section-2

+ ls -lah pegh.static.libsodium pegh.static.libsodium-openssl pegh.static.openssl
-rwxrwxrwx    1 root     root      559.4K Aug 30 02:53 pegh.static.libsodium
-rwxrwxrwx    1 root     root       12.5M Aug 30 02:53 pegh.static.libsodium-openssl
-rwxrwxrwx    1 root     root       12.2M Aug 30 02:53 pegh.static.openssl
+ strip pegh.static.libsodium pegh.static.libsodium-openssl pegh.static.openssl
+ ls -lah pegh.static.libsodium pegh.static.libsodium-openssl pegh.static.openssl
-rwxrwxrwx    1 root     root      262.7K Aug 30 02:53 pegh.static.libsodium
-rwxrwxrwx    1 root     root        3.7M Aug 30 02:53 pegh.static.libsodium-openssl
-rwxrwxrwx    1 root     root        3.5M Aug 30 02:53 pegh.static.openssl
+ file pegh.static.libsodium pegh.static.libsodium-openssl pegh.static.openssl
pegh.static.libsodium:         ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=8439efbcc328ac2fd4c7f423d9ce99e7a73fa69f, stripped
pegh.static.libsodium-openssl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=4b90eefa83d6289ca107e85c23e98a8e67d0ead6, stripped
pegh.static.openssl:           ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=8036ead9cc57436070fb3110f291d273bda67e1b, stripped
+ ldd pegh.static.libsodium pegh.static.libsodium-openssl pegh.static.openssl
/lib/ld-musl-x86_64.so.1: pegh.static.libsodium: Not a valid dynamic program
+ true
+ export 'TEST_BINS=./pegh.static.openssl ./pegh.openssl ./pegh.static.libsodium-openssl ./pegh.libsodium-openssl ./pegh.static.libsodium ./pegh.libsodium'
+ '[' amd64 '==' aarch64 ]
+ ./test.sh
+ '[' -e /tmp/randombytes100 ']'
++ tr -dc a-z0-9
++ head -c12
+ export key=q5616t8k3pzg
+ key=q5616t8k3pzg
key: q5616t8k3pzg
+ echo 'key: q5616t8k3pzg'
+ '[' -e /tmp/leading_zero_key ']'
+ '[' -e /tmp/leading_zero_key_a ']'
+ '[' -e /tmp/leading_zero_key_b ']'
+ rm -f pegh
+ make PEGH_OPENSSL=1
cc -Wall -Wextra -Werror -std=c89 -pedantic -Wstrict-prototypes -Wold-style-definition -Wconversion -Wno-missing-prototypes -Wno-missing-noreturn -Wno-format -O3 -D_POSIX_SOURCE -DPEGH_OPENSSL    pegh.c  -lcrypto -o pegh
+ mv pegh pegh.openssl
+ make PEGH_LIBSODIUM=1
cc -Wall -Wextra -Werror -std=c89 -pedantic -Wstrict-prototypes -Wold-style-definition -Wconversion -Wno-missing-prototypes -Wno-missing-noreturn -Wno-format -O3 -D_POSIX_SOURCE -DPEGH_LIBSODIUM    pegh.c  -lsodium -o pegh
+ mv pegh pegh.libsodium
+ make PEGH_LIBSODIUM=1 PEGH_OPENSSL=1
cc -Wall -Wextra -Werror -std=c89 -pedantic -Wstrict-prototypes -Wold-style-definition -Wconversion -Wno-missing-prototypes -Wno-missing-noreturn -Wno-format -O3 -D_POSIX_SOURCE -DPEGH_LIBSODIUM -DPEGH_OPENSSL    pegh.c  -lsodium -lcrypto -o pegh
+ mv pegh pegh.libsodium-openssl
+ for bin in $TEST_BINS
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.openssl ./pegh.static.openssl
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.openssl'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.openssl

+ set +eu
+ '[' '' '!=' 1 ']'
+ ./pegh.static.openssl q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ echo a
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp ++ echo a
++ /dev/fd/63 /dev/fd/62
./pegh.static.openssl q5616t8k3pzg
++ ./pegh.static.openssl q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl + ./pegh.static.openssl -d q5616t8k3pzg
-e q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.700s
user	0m4.927s
sys	0m2.458s
+ test ./pegh.static.openssl ./pegh.static.openssl -v 0
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ++ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
echo a
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key
+ + cmp - /tmp/randombytes100
./pegh.static.openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.openssl + ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
-e -v 0 + cmp - /tmp/randombytes100
-f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.487s
user	0m4.874s
sys	0m2.329s
+ test ./pegh.static.openssl ./pegh.static.openssl -v 1
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
echo a
++ echo a
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.315s
user	0m4.747s
sys	0m2.331s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.openssl ./pegh.openssl
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.openssl q5616t8k3pzg++ 
echo a
++ ./pegh.static.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key+ 
cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.432s
user	0m4.871s
sys	0m2.299s
+ test ./pegh.static.openssl ./pegh.openssl -v 0
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ + ./pegh.openssl -d q5616t8k3pzg
./pegh.static.openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ + ./pegh.openssl cmp - /tmp/randombytes100
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key_a
-d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl + ./pegh.openssl -d q5616t8k3pzg -o bla.txt
-v 0 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.562s
user	0m4.900s
sys	0m2.415s
+ test ./pegh.static.openssl ./pegh.openssl -v 1
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.static.openssl -v 1 q5616t8k3pzg
echo a
++ echo a
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ encrypting then decrypting with the same key should succeed
true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ cat - /dev/fd/63
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ ./pegh.static.openssl -v 1 q5616t8k3pzg
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.408s
user	0m4.773s
sys	0m2.382s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.openssl ./pegh.static.libsodium-openssl
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium-openssl'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium-openssl

+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.static.openssl q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo ++ ./pegh.static.openssl q5616t8k3pzg
a
++ echo a
++ ./pegh.static.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ + ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
./pegh.static.openssl -e + cmp - /tmp/randombytes100
q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ ./pegh.static.openssl q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium-openssl

real	0m6.036s
user	0m4.271s
sys	0m2.451s
+ test ./pegh.static.openssl ./pegh.static.libsodium-openssl -v 0
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium-openssl'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
encrypting same data with same key should result in different ciphertext
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100+ 
./pegh.static.libsodium-openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -i + /tmp/randombytes100./pegh.static.libsodium-openssl 
-d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl + cat - /dev/fd/63
-d q5616t8k3pzg ++ -o bla.txt
echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.039s
user	0m4.254s
sys	0m2.503s
+ test ./pegh.static.openssl ./pegh.static.libsodium-openssl -v 1
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a+ 
cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ encrypting then decrypting with the same key should succeed
echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.860s
user	0m4.243s
sys	0m2.375s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.openssl ./pegh.libsodium-openssl
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium-openssl
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium-openssl'
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.static.openssl q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.openssl q5616t8k3pzg
++ ./pegh.static.openssl q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ encrypting with one key and decrypting with another should fail
echo 'encrypting with one key and decrypting with another should fail'
+ + ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ ./pegh.static.openssl cmp -e - /tmp/randombytes100q5616t8k3pzg 
-i /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl + ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
-e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.965s
user	0m4.423s
sys	0m2.289s
+ test ./pegh.static.openssl ./pegh.libsodium-openssl -v 0
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a+ ./pegh.static.openssl -v 0 q5616t8k3pzg

+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ bad decryption bytes are never output, file should be 0 bytes
echo 'bad decryption bytes are never output, file should be 0 bytes'
+ + echo + ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
'hopefully this doesnt make it to disk'
+ cat - /dev/fd/63
./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.963s
user	0m4.363s
sys	0m2.388s
+ test ./pegh.static.openssl ./pegh.libsodium-openssl -v 1
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo encrypting same data with same key should result in different ciphertext
'encrypting same data with same key should result in different ciphertext'
++ ++ ./pegh.static.openssl -v 1 q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
echo a
++ echo a
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.847s
user	0m4.264s
sys	0m2.333s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.openssl ./pegh.static.libsodium
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set encrypting same data with same key should result in different ciphertext
-eu
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.openssl q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key
+ + cmp - ./pegh.static.libsodium /tmp/randombytes100
-d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -f + cmp - /tmp/randombytes100
/tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo bad decryption bytes are never output, file should be 0 bytes
'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.999s
user	0m4.172s
sys	0m2.539s
+ test ./pegh.static.openssl ./pegh.static.libsodium -v 0
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ++ echo + a
cmp /dev/fd/63 /dev/fd/62
./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl + cmp - /tmp/randombytes100
-e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium + cmp - /tmp/randombytes100
-d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f + /tmp/leading_zero_key_b
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium + cat - /dev/fd/63
++ echo -n a
-d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.990s
user	0m4.255s
sys	0m2.474s
+ test ./pegh.static.openssl ./pegh.static.libsodium -v 1
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + echo a
cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ + ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo bad decryption bytes are never output, file should be 0 bytes
'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.085s
user	0m4.425s
sys	0m2.340s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.openssl ./pegh.libsodium
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ + ./pegh.libsodium -d q5616t8k3pzg
./pegh.static.openssl q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.openssl q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -e q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ ./pegh.static.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl q5616t8k3pzg
+ + ./pegh.libsodium cat - /dev/fd/63
-d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.219s
user	0m4.461s
sys	0m2.530s
+ test ./pegh.static.openssl ./pegh.libsodium -v 0
+ bin=./pegh.static.openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium'
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl + ./pegh.libsodium -d q5616t8k3pzg
-v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key
+ + cmp - /tmp/randombytes100
./pegh.libsodium -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.074s
user	0m4.302s
sys	0m2.506s
+ test ./pegh.static.openssl ./pegh.libsodium -v 1
+ bin=./pegh.static.openssl
+ shift
testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ encrypting same data with same key should result in different ciphertext
echo 'encrypting same data with same key should result in different ciphertext'
++ + cmp /dev/fd/63 /dev/fd/62
++ echo a
./pegh.static.openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -e -v 1 -f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
F843780000000000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -v 1 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.883s
user	0m4.407s
sys	0m2.185s
+ for bin in $TEST_BINS
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.openssl ./pegh.static.openssl
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.openssl q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl q5616t8k3pzg
++ ./pegh.openssl q5616t8k3pzg
++ echo a
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e q5616t8k3pzg -i /tmp/randombytes100+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey

+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d + -f /tmp/leading_zero_key_b
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
489B5D38EF7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'+ 
./pegh.openssl q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.308s
user	0m4.571s
sys	0m2.447s
+ test ./pegh.openssl ./pegh.static.openssl -v 0
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.openssl -d q5616t8k3pzg
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ./pegh.openssl -v 0 ++ q5616t8k3pzg
echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
482B655EA37F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.598s
user	0m4.898s
sys	0m2.447s
+ test ./pegh.openssl ./pegh.static.openssl -v 1
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'encrypting same data with same key should result in different ciphertext

+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl -v 1 q5616t8k3pzg
++ echo a
++ ++ ./pegh.openssl -v 1 q5616t8k3pzg
echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.openssl + cmp - /tmp/randombytes100
-d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key
+ + ./pegh.static.openssl -d -f /tmp/leading_zero_key
cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.openssl + -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
483B0203C97F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ + echo 'hopefully this doesnt make it to disk'
./pegh.openssl -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.175s
user	0m4.624s
sys	0m2.257s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.openssl ./pegh.openssl
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.openssl q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.openssl q5616t8k3pzg
++ ./pegh.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -e -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.openssl -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
48AB244F1B7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.624s
user	0m4.980s
sys	0m2.403s
+ test ./pegh.openssl ./pegh.openssl -v 0
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.openssl -d q5616t8k3pzg
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ ++ echo a
cmp ++ ./pegh.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg
+ cmp + ./pegh.openssl -d q5616t8k3pzg
- /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl + cmp - /tmp/randombytes100
-d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
488B2C51037F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ + cat - /dev/fd/63
./pegh.openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.561s
user	0m4.832s
sys	0m2.499s
+ test ./pegh.openssl ./pegh.openssl -v 1
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ./pegh.openssl -v + cmp /dev/fd/63 /dev/fd/62
1 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ + cmp - /tmp/randombytes100
./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
486B7002B17F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.337s
user	0m4.643s
sys	0m2.324s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.openssl ./pegh.static.libsodium-openssl
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.openssl q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.openssl q5616t8k3pzg
++ echo a
++ ./pegh.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -e q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
486BFC1E177F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl q5616t8k3pzg
+ cat - ++ /dev/fd/63
echo + ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
-n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.164s
user	0m4.429s
sys	0m2.479s
+ test ./pegh.openssl ./pegh.static.libsodium-openssl -v 0
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium-openssl'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
++ + cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl -v 0 q5616t8k3pzg
echo a
++ echo a
++ ./pegh.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ + ./pegh.openssl -e ./pegh.static.libsodium-openssl -d + cmp - /tmp/randombytes100
-v 0 -f /tmp/leading_zero_key
-f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ + cmp ./pegh.static.libsodium-openssl - /tmp/randombytes100
-d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
488B73D2977F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ + cat ./pegh.static.libsodium-openssl -d ++ echo -n a
- /dev/fd/63
q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.923s
user	0m4.345s
sys	0m2.346s
+ test ./pegh.openssl ./pegh.static.libsodium-openssl -v 1
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + echo acmp 
/dev/fd/63 /dev/fd/62
++ ./pegh.openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo encrypting then decrypting with the same key should succeed
'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl + -d cmp -f - /tmp/randombytes100
/tmp/leading_zero_key_b
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
488B0EC4EE7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.838s
user	0m4.216s
sys	0m2.338s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.openssl ./pegh.libsodium-openssl
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.openssl q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl q5616t8k3pzg
++ echo a
++ ./pegh.openssl q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
48CBCEF24E7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o ++ bla.txt
echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.980s
user	0m4.316s
sys	0m2.438s
+ test ./pegh.openssl ./pegh.libsodium-openssl -v 0
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ + ./pegh.libsodium-openssl -d q5616t8k3pzg
./pegh.openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ++ ./pegh.openssl -v 0 q5616t8k3pzg
echo a
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.openssl -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key
+ + cmp - ./pegh.libsodium-openssl /tmp/randombytes100
-d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100+ 
./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ + cmp - /tmp/randombytes100
./pegh.openssl -e -v 0 -f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
486BC8DB7C7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ ./pegh.openssl -v 0 q5616t8k3pzg+ echo 'hopefully this doesnt make it to disk'
+ cat - /dev/fd/63

++ echo -n a
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.987s
user	0m4.367s
sys	0m2.417s
+ test ./pegh.openssl ./pegh.libsodium-openssl -v 1
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 ++ ./pegh.openssl -v 1 q5616t8k3pzg
/dev/fd/62
++ echo a
++ ./pegh.openssl -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100+ 
./pegh.libsodium-openssl -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - + ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
/tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v + ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
487BF0405E7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'+ cat - /dev/fd/63

+ ./pegh.openssl -v 1 + ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
q5616t8k3pzg
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.855s
user	0m4.261s
sys	0m2.338s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.openssl ./pegh.static.libsodium
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.openssl q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ./pegh.openssl q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ echo a
++ ./pegh.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ + ./pegh.openssl cmp - -e /tmp/randombytes100
q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp + - /tmp/randombytes100./pegh.static.libsodium 
-d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.openssl -e + cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
-f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
484B7CA2FE7E0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.961s
user	0m4.160s
sys	0m2.496s
+ test ./pegh.openssl ./pegh.static.libsodium -v 0
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium + -d cmp - /tmp/randombytes100
q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
487BC399C17F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.930s
user	0m4.283s
sys	0m2.386s
+ test ./pegh.openssl ./pegh.static.libsodium -v 1
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium
encrypting same data with same key should result in different ciphertext
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.static.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.openssl -v 1 q5616t8k3pzg
echo a
++ ./pegh.openssl -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium + cmp - /tmp/randombytes100
-d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ encrypting with one key and decrypting with another should fail
echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg + cmp - /tmp/randombytes100
-i /tmp/randombytes100
+ ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
48BBF8C92A7F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo bad decryption bytes are never output, file should be 0 bytes
'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ ./pegh.openssl -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.002s
user	0m4.394s
sys	0m2.337s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.openssl ./pegh.libsodium
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.openssl q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.openssl q5616t8k3pzg++ echo a

++ ./pegh.openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.openssl -e q5616t8k3pzg
+ ./pegh.libsodium + cmp - /tmp/randombytes100
-d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.libsodium cmp -d - q5616t8k3pzg-wrongkey/tmp/randombytes100

decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.openssl -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
483BA07CC57F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.006s
user	0m4.414s
sys	0m2.296s
+ test ./pegh.openssl ./pegh.libsodium -v 0
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium
+ echo 'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ echo a
+ ./pegh.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ++ ./pegh.openssl -v 0 q5616t8k3pzg
+ echo a
cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium + -d cmp -f - /tmp/randombytes100/tmp/leading_zero_key

+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
485B6DF6187F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 0 q5616t8k3pzg
+ cat - /dev/fd/63++ 
echo -n a
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.085s
user	0m4.305s
sys	0m2.475s
+ test ./pegh.openssl ./pegh.libsodium -v 1
+ bin=./pegh.openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium
'testing binaries bin: ./pegh.openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ ++ ./pegh.openssl -v 1 q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
echo a
++ ./pegh.openssl -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error
484B5D39147F0000:error:030000AC:digital envelope routines:scrypt_alg:memory limit exceeded:providers/implementations/kdfs/scrypt.c:521:
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.045s
user	0m4.485s
sys	0m2.285s
+ for bin in $TEST_BINS
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium-openssl ./pegh.static.openssl
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.openssl
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.openssl'
+ set +eu
+ '[' '' '!=' 1 ']'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ echo a
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ + cmp - /tmp/randombytes100
./pegh.static.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ bad decryption bytes are never output, file should be 0 bytes
echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.011s
user	0m4.271s
sys	0m2.381s
+ test ./pegh.static.libsodium-openssl ./pegh.static.openssl -v 0
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ + ./pegh.static.openssl -d q5616t8k3pzg
./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.945s
user	0m4.198s
sys	0m2.362s
+ test ./pegh.static.libsodium-openssl ./pegh.static.openssl -v 1
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + cmp /dev/fd/63 /dev/fd/62
echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
++ ++ echo a
./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ bad decryption bytes are never output, file should be 0 bytes
echo 'bad decryption bytes are never output, file should be 0 bytes'
+ + echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.017s
user	0m4.589s
sys	0m2.059s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium-openssl ./pegh.openssl
+ bin=./pegh.static.libsodium-openssl
+ shift
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.openssl
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.openssl'
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a+ ./pegh.static.libsodium-openssl q5616t8k3pzg

+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.openssl + cmp - /tmp/randombytes100
-d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.961s
user	0m4.096s
sys	0m2.537s
+ test ./pegh.static.libsodium-openssl ./pegh.openssl -v 0
+ bin=./pegh.static.libsodium-openssl
+ shift
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.openssl
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.openssl'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.831s
user	0m4.156s
sys	0m2.270s
+ test ./pegh.static.libsodium-openssl ./pegh.openssl -v 1
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.openssl
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl + ./pegh.openssl -d q5616t8k3pzg
-e -v + cmp - /tmp/randombytes100
1 q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key+ 
cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ + cmp - /tmp/randombytes100
./pegh.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.062s
user	0m4.410s
sys	0m2.286s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium-openssl ./pegh.static.libsodium-openssl
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ ++ cmp /dev/fd/63 /dev/fd/62
echo a
++ echo a
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'encrypting with one key and decrypting with another should fail

+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl + cmp -e - /tmp/randombytes100-f 
/tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.338s
user	0m3.594s
sys	0m2.363s
+ test ./pegh.static.libsodium-openssl ./pegh.static.libsodium-openssl -v 0
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + ++ cmp ./pegh.static.libsodium-openssl /dev/fd/63 -v 0 q5616t8k3pzg/dev/fd/62

echo a
++ echo a
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ encrypting then decrypting with the same key should succeed
echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d + cmp - /tmp/randombytes100
q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl + cmp - /tmp/randombytes100
-d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.397s
user	0m3.574s
sys	0m2.425s
+ test ./pegh.static.libsodium-openssl ./pegh.static.libsodium-openssl -v 1
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 ++ ++ echo a
/dev/fd/62
./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium-openssl -e -v + ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ + ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
./pegh.static.libsodium-openssl + cat - /dev/fd/63
++ echo -n a
-d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.826s
user	0m4.162s
sys	0m2.271s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium-openssl ./pegh.libsodium-openssl
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl'
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ + ./pegh.static.libsodium-openssl ./pegh.libsodium-openssl -d q5616t8k3pzgq5616t8k3pzg

+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.301s
user	0m3.574s
sys	0m2.354s
+ test ./pegh.static.libsodium-openssl ./pegh.libsodium-openssl -v 0
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ + echo a
./pegh.static.libsodium-openssl -v + 0 q5616t8k3pzg
./pegh.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.397s
user	0m3.597s
sys	0m2.424s
+ test ./pegh.static.libsodium-openssl ./pegh.libsodium-openssl -v 1
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ + cmp - ./pegh.libsodium-openssl /tmp/randombytes100
-d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
+ + ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.685s
user	0m4.098s
sys	0m2.255s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium-openssl ./pegh.static.libsodium
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.225s
user	0m3.634s
sys	0m2.221s
+ test ./pegh.static.libsodium-openssl ./pegh.static.libsodium -v 0
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl ++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
-v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ + ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'large values of N without enough memory should fail

+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.487s
user	0m3.634s
sys	0m2.516s
+ test ./pegh.static.libsodium-openssl ./pegh.static.libsodium -v 1
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + cmp /dev/fd/63 /dev/fd/62
echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium + -d ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.787s
user	0m4.161s
sys	0m2.250s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium-openssl ./pegh.libsodium
+ bin=./pegh.static.libsodium-openssl
+ shift
+ testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium
bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a+ ./pegh.static.libsodium-openssl + q5616t8k3pzg
./pegh.libsodium -d q5616t8k3pzg

+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.static.libsodium-openssl q5616t8k3pzg
echo a
++ ./pegh.static.libsodium-openssl q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ + ./pegh.libsodium -d -f /tmp/leading_zero_key_b
./pegh.static.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium ++ -d echo -n aq5616t8k3pzg 
-o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.409s
user	0m3.594s
sys	0m2.444s
+ test ./pegh.static.libsodium-openssl ./pegh.libsodium -v 0
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium'
testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium
+ set +eu
+ '[' 0 '!=' 1 ']'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ echo a
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d + cmp - /tmp/randombytes100
q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium-openssl -e -v + 0 ./pegh.libsodium -d -f -f /tmp/leading_zero_key_b
/tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.312s
user	0m3.629s
sys	0m2.323s
+ test ./pegh.static.libsodium-openssl ./pegh.libsodium -v 1
+ bin=./pegh.static.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium'testing binaries bin: ./pegh.static.libsodium-openssl bin_decrypt: ./pegh.libsodium

+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ++ echo a
+ cmp /dev/fd/63 /dev/fd/62
./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ + cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
./pegh.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -v 1 q5616t8k3pzg
+ cat - + ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
/dev/fd/63++ echo -n a

decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.662s
user	0m4.148s
sys	0m2.209s
+ for bin in $TEST_BINS
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium-openssl ./pegh.static.openssl
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
++ ++ echo a
./pegh.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ + ./pegh.libsodium-openssl -e q5616t8k3pzg
./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ + ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
cat + ./pegh.libsodium-openssl q5616t8k3pzg
- /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.787s
user	0m4.091s
sys	0m2.326s
+ test ./pegh.libsodium-openssl ./pegh.static.openssl -v 0
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -v 0 + ./pegh.static.openssl q5616t8k3pzg-d q5616t8k3pzg

+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ ++ echo a
++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl + -e -v ./pegh.static.openssl -d 0 q5616t8k3pzg
q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.915s
user	0m4.216s
sys	0m2.346s
+ test ./pegh.libsodium-openssl ./pegh.static.openssl -v 1
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ encrypting then decrypting with the same key should succeed
true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ + ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ + cmp - /tmp/randombytes100
./pegh.static.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg + -o cat - /dev/fd/63
bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.860s
user	0m4.251s
sys	0m2.261s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium-openssl ./pegh.openssl
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium-openssl -e -f + ./pegh.openssl -d -f /tmp/leading_zero_key
/tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ + cat - /dev/fd/63
++ echo -n a
./pegh.openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.760s
user	0m4.013s
sys	0m2.373s
+ test ./pegh.libsodium-openssl ./pegh.openssl -v 0
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -v 0 + q5616t8k3pzg./pegh.openssl 
-d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ ++ echo a
cmp ++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62
++ ++ echo a
./pegh.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 13, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ + cmp - /tmp/randombytes100
./pegh.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ++ echo -n a
cat - /dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.911s
user	0m4.216s
sys	0m2.392s
+ test ./pegh.libsodium-openssl ./pegh.openssl -v 1
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ + cmp - /tmp/randombytes100
./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.openssl + cmp - /tmp/randombytes100
-d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ + ./pegh.openssl -d q5616t8k3pzg cat - /dev/fd/63
++ echo -n a
-o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.878s
user	0m4.308s
sys	0m2.199s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium-openssl ./pegh.static.libsodium-openssl
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ ++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.libsodium-openssl echo q5616t8k3pzga

/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.libsodium-openssl -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium-openssl -e + q5616t8k3pzg + cmp -i - /tmp/randombytes100/tmp/randombytes100

./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.443s
user	0m3.643s
sys	0m2.513s
+ test ./pegh.libsodium-openssl ./pegh.static.libsodium-openssl -v 0
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
++ ++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline

+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -v 0 -f + ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
/tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 0 + q5616t8k3pzg./pegh.static.libsodium-openssl 
-d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.517s
user	0m3.752s
sys	0m2.455s
+ test ./pegh.libsodium-openssl ./pegh.static.libsodium-openssl -v 1
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ ++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
cmp /dev/fd/63 ++ /dev/fd/62
echo a
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium-openssl -e -v 1 -f + /tmp/leading_zero_key./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key

+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100+ 
./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ + cat - /dev/fd/63
./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.722s
user	0m4.023s
sys	0m2.332s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium-openssl ./pegh.libsodium-openssl
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium-openssl q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ echo 'hopefully this doesnt make it to disk'
+ cat - /dev/fd/63
++ + ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.351s
user	0m3.642s
sys	0m2.382s
+ test ./pegh.libsodium-openssl ./pegh.libsodium-openssl -v 0
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium-openssl + -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e -v + 0 q5616t8k3pzg -i /tmp/randombytes100
./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.312s
user	0m3.589s
sys	0m2.325s
+ test ./pegh.libsodium-openssl ./pegh.libsodium-openssl -v 1
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ ++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
echo a
++ echo a
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg
+ + cmp - /tmp/randombytes100
./pegh.libsodium-openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.859s
user	0m4.183s
sys	0m2.308s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium-openssl ./pegh.static.libsodium
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -e q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ + ./pegh.static.libsodium -d -f /tmp/leading_zero_key
./pegh.libsodium-openssl -e + cmp - /tmp/randombytes100
-f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium -d + ./pegh.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - ++ echo -n a
/dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.476s
user	0m3.611s
sys	0m2.454s
+ test ./pegh.libsodium-openssl ./pegh.static.libsodium -v 0
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ encrypting same data with same key should result in different ciphertext
set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
echo a
++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e -v + 0 q5616t8k3pzg -i /tmp/randombytes100
./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.505s
user	0m3.725s
sys	0m2.449s
+ test ./pegh.libsodium-openssl ./pegh.static.libsodium -v 1
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.static.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp ++ echo a
/dev/fd/63 /dev/fd/62
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ + cmp - /tmp/randombytes100
./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.060s
user	0m4.113s
sys	0m2.523s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium-openssl ./pegh.libsodium
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium'
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ + ./pegh.libsodium -d q5616t8k3pzg
./pegh.libsodium-openssl q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.490s
user	0m3.636s
sys	0m2.485s
+ test ./pegh.libsodium-openssl ./pegh.libsodium -v 0
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium
shift
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo + ./pegh.libsodium -d q5616t8k3pzg
a
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo ++ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
a
++ ++ echo a
./pegh.libsodium-openssl -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey+ cmp - /tmp/randombytes100

+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium-openssl -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.285s
user	0m3.586s
sys	0m2.311s
+ test ./pegh.libsodium-openssl ./pegh.libsodium -v 1
+ bin=./pegh.libsodium-openssl
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium
+ echo 'testing binaries bin: ./pegh.libsodium-openssl bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium-openssl -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium-openssl -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium-openssl -v 1 q5616t8k3pzg
+ ./pegh.libsodium -d + cat q5616t8k3pzg -o bla.txt- /dev/fd/63

++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.863s
user	0m4.147s
sys	0m2.379s
+ for bin in $TEST_BINS
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium ./pegh.static.openssl
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.static.libsodium q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ + ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
./pegh.static.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium q5616t8k3pzg
+ + cat - /dev/fd/63
./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.114s
user	0m4.303s
sys	0m2.367s
+ test ./pegh.static.libsodium ./pegh.static.openssl -v 0
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ + echo a
./pegh.static.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
./pegh.static.libsodium ++ echo a
-v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key
+ + cmp - /tmp/randombytes100
./pegh.static.openssl -d -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d + -f cmp /tmp/leading_zero_key_b- 
/tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.openssl + cat - /dev/fd/63
-d q5616t8k3pzg ++ -o bla.txt
echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.979s
user	0m4.281s
sys	0m2.339s
+ test ./pegh.static.libsodium ./pegh.static.openssl -v 1
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
++ ++ echo a
+ cmp /dev/fd/63 /dev/fd/62
./pegh.static.libsodium -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -e -v + cmp - /tmp/randombytes100
1 -f /tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -v 1 + ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
-f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n + a
./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.050s
user	0m4.393s
sys	0m2.271s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium ./pegh.openssl
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ encrypting same data with same key should result in different ciphertext
set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium q5616t8k3pzg
++ echo a
++ echo ++ a
./pegh.static.libsodium q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63++ echo -n a

decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.124s
user	0m4.429s
sys	0m2.344s
+ test ./pegh.static.libsodium ./pegh.openssl -v 0
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ echo a
./pegh.static.libsodium -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ + ./pegh.openssl -d q5616t8k3pzg-wrongkey
./pegh.static.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo large values of N without enough memory should fail
'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.978s
user	0m4.275s
sys	0m2.366s
+ test ./pegh.static.libsodium ./pegh.openssl -v 1
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.openssl
'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium ++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
++ echo a
-v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg+ cmp - /tmp/randombytes100

encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key
+ cmp + ./pegh.openssl -d -f /tmp/leading_zero_key
- /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 1 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
+ cat - /dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.062s
user	0m4.307s
sys	0m2.398s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium ./pegh.static.libsodium-openssl
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ echo a
+ ./pegh.static.libsodium q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo ++ a./pegh.static.libsodium q5616t8k3pzg

++ echo a
++ ./pegh.static.libsodium q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -e q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key+ 
./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.347s
user	0m3.651s
sys	0m2.342s
+ test ./pegh.static.libsodium ./pegh.static.libsodium-openssl -v 0
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e + ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
-v 0 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ encrypting with one key and decrypting with another should fail
echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ cmp + ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
- /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ cat - ++ /dev/fd/63echo 
-n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.395s
user	0m3.698s
sys	0m2.305s
+ test ./pegh.static.libsodium ./pegh.static.libsodium-openssl -v 1
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium-openssl
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium-openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ ++ cmp echo /dev/fd/63 a/dev/fd/62

++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 1 q5616t8k3pzg
+ + cat - /dev/fd/63
++ echo -n a
./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.811s
user	0m4.192s
sys	0m2.242s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium ./pegh.libsodium-openssl
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium q5616t8k3pzg
++ ./pegh.static.libsodium q5616t8k3pzg
++ echo a
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium -e q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.314s
user	0m3.633s
sys	0m2.331s
+ test ./pegh.static.libsodium ./pegh.libsodium-openssl -v 0
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.599s
user	0m3.836s
sys	0m2.378s
+ test ./pegh.static.libsodium ./pegh.libsodium-openssl -v 1
+ bin=./pegh.static.libsodium
+ shift
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium-openssl
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium-openssl'
+ set +eu
+ '[' 1 encrypting same data with same key should result in different ciphertext
'!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
echo a
++ echo a
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.static.libsodium + cmp - /tmp/randombytes100
-e -v 1 q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ + ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
./pegh.static.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 1 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.732s
user	0m4.108s
sys	0m2.283s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium ./pegh.static.libsodium
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium'
+ set +eu
+ '[' '' '!=' 1 ']'
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ echo a
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ encrypting same data with same key should result in different ciphertext
set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ trueencrypting then decrypting with the same key should succeed

+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e q5616t8k3pzg
+ + cmp - /tmp/randombytes100
./pegh.static.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.498s
user	0m3.773s
sys	0m2.429s
+ test ./pegh.static.libsodium ./pegh.static.libsodium -v 0
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo + ./pegh.static.libsodium -v 0 + q5616t8k3pzg./pegh.static.libsodium 
-d q5616t8k3pzg
a
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ encrypting same data with same key should result in different ciphertext
set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ ++ echo cat -n a
- /dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.458s
user	0m3.670s
sys	0m2.433s
+ test ./pegh.static.libsodium ./pegh.static.libsodium -v 1
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo + a
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
++ echo a
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
cmp /dev/fd/63 /dev/fd/62
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f + cmp - /tmp/randombytes100
/tmp/leading_zero_key
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium + ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
-e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.122s
user	0m4.322s
sys	0m2.452s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.static.libsodium ./pegh.libsodium
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium'
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
++ + echo cmp /dev/fd/63 /dev/fd/62
a
++ ./pegh.static.libsodium q5616t8k3pzg
++ ./pegh.static.libsodium q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.416s
user	0m3.703s
sys	0m2.338s
+ test ./pegh.static.libsodium ./pegh.libsodium -v 0
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a+ ./pegh.static.libsodium -v 0 q5616t8k3pzg

+ ./pegh.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.static.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.static.libsodium -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium -d + -f /tmp/leading_zero_key
cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100+ ./pegh.libsodium 
-d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.static.libsodium + cmp - /tmp/randombytes100
-e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo + ./pegh.static.libsodium -v 0 q5616t8k3pzg
'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
++ + cat - /dev/fd/63
echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.527s
user	0m3.802s
sys	0m2.400s
+ test ./pegh.static.libsodium ./pegh.libsodium -v 1
+ bin=./pegh.static.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium
+ echo 'testing binaries bin: ./pegh.static.libsodium bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
++ ./pegh.static.libsodium -v 1 q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium -d q5616t8k3pzg
+ + ./pegh.static.libsodium -e -v 1 q5616t8k3pzg
cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.libsodium + -e ./pegh.libsodium -v -d q5616t8k3pzg-wrongkey1 
q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.static.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.static.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.static.libsodium -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt++ echo -n a

decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.775s
user	0m4.071s
sys	0m2.340s
+ for bin in $TEST_BINS
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium ./pegh.static.openssl
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ ++ cmp /dev/fd/63 /dev/fd/62
echo a
++ ./pegh.libsodium q5616t8k3pzg
++ ./pegh.libsodium q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium + ./pegh.static.openssl -d -f /tmp/leading_zero_key
-e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
+ ./pegh.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -f /tmp/leading_zero_key_a
+ + ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.019s
user	0m4.403s
sys	0m2.277s
+ test ./pegh.libsodium ./pegh.static.openssl -v 0
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium + ./pegh.static.openssl -v -d q5616t8k3pzg0 
q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium -v 0 q5616t8k3pzg
++ echo a
++ ./pegh.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ + ./pegh.static.openssl -d ./pegh.libsodium q5616t8k3pzg -o bla.txt
-v 0 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.976s
user	0m4.174s
sys	0m2.428s
+ test ./pegh.libsodium ./pegh.static.openssl -v 1
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.openssl'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.openssl

+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'encrypting same data with same key should result in different ciphertext

+ cmp /dev/fd/63 /dev/fd/62
++ ++ echo a
echo a++ 
./pegh.libsodium -v 1 q5616t8k3pzg
++ ./pegh.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.static.openssl -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.static.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 1 -f + cmp - /tmp/randombytes100
/tmp/leading_zero_key_a
+ ./pegh.static.openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
+ ./pegh.static.openssl -d q5616t8k3pzg -o bla.txt++ echo -n a

decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.951s
user	0m4.281s
sys	0m2.516s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium ./pegh.openssl
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium q5616t8k3pzg
++ echo a
++ ./pegh.libsodium q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium q5616t8k3pzg
+ cat ++ echo -n a
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
- /dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.930s
user	0m4.223s
sys	0m2.327s
+ test ./pegh.libsodium ./pegh.openssl -v 0
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a+ ++ ./pegh.libsodium -v 0 q5616t8k3pzg
cmp /dev/fd/63 /dev/fd/62

++ echo a
++ ./pegh.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ + ./pegh.openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
./pegh.libsodium -e -v 0 q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo encrypting with one key and decrypting with another should fail
'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.249s
user	0m4.380s
sys	0m2.505s
+ test ./pegh.libsodium ./pegh.openssl -v 1
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.openssl
+ shift
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.openssl
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium -v 1 q5616t8k3pzg
++ ++ echo a
echo a
++ ./pegh.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.openssl -d q5616t8k3pzg
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ + ./pegh.openssl -d -f /tmp/leading_zero_key_b
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key_a
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 1 q5616t8k3pzg
+ cat - /dev/fd/63
++ echo -n a
+ ./pegh.openssl -d q5616t8k3pzg -o bla.txt
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.302s
user	0m4.531s
sys	0m2.404s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium ./pegh.static.libsodium-openssl
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + ./pegh.libsodium q5616t8k3pzg
cmp /dev/fd/63 /dev/fd/62
++ echo a
++ ./pegh.libsodium q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -f /tmp/leading_zero_key
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ + ./pegh.libsodium -e q5616t8k3pzg ./pegh.static.libsodium-openssl -i /tmp/randombytes100-d 
q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.585s
user	0m3.817s
sys	0m2.401s
+ test ./pegh.libsodium ./pegh.static.libsodium-openssl -v 0
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium-openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium-openssl
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.libsodium -v 0 q5616t8k3pzg
echo a
++ ++ echo a
./pegh.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ + ./pegh.libsodium cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
-e -v 0 -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.447s
user	0m3.681s
sys	0m2.374s
+ test ./pegh.libsodium ./pegh.static.libsodium-openssl -v 1
+ bin=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium-openssl
+ bin_decrypt=./pegh.static.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium-openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ encrypting same data with same key should result in different ciphertext
set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
++ echo + cmp /dev/fd/63 /dev/fd/62
a++ ./pegh.libsodium -v 1 q5616t8k3pzg

++ echo a
++ ./pegh.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium-openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.763s
user	0m4.045s
sys	0m2.343s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium ./pegh.libsodium-openssl
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium-openssl'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium-openssl
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
++ + ./pegh.libsodium q5616t8k3pzg
cmp /dev/fd/63 ++ echo a
/dev/fd/62++ ./pegh.libsodium q5616t8k3pzg

/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
encrypting then decrypting with the same key should succeed
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.libsodium -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ ./pegh.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ + ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
./pegh.libsodium + cmp - /tmp/randombytes100
-e -f /tmp/leading_zero_key_a
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ + echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium q5616t8k3pzg
cat - ++ echo -n a
/dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.564s
user	0m3.838s
sys	0m2.370s
+ test ./pegh.libsodium ./pegh.libsodium-openssl -v 0
+ bin=./pegh.libsodium
+ shift
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium-openssl
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium-openssl'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ + ./pegh.libsodium cmp /dev/fd/63 /dev/fd/62
-v 0 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ + ./pegh.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.213s
user	0m3.715s
sys	0m2.366s
+ test ./pegh.libsodium ./pegh.libsodium-openssl -v 1
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium-openssl
+ shift
+ testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium-openssl
echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium-openssl'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.libsodium -v 1 q5616t8k3pzg
echo a
++ echo a
++ ./pegh.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.libsodium-openssl -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium-openssl -d q5616t8k3pzg-wrongkey
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium -e -v 1 + ./pegh.libsodium-openssl -d -f /tmp/leading_zero_key_b
-f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium-openssl -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'bad decryption bytes are never output, file should be 0 bytes

+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 1 q5616t8k3pzg
+ + cat - /dev/fd/63
./pegh.libsodium-openssl -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.803s
user	0m4.215s
sys	0m2.221s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium ./pegh.static.libsodium
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ ./pegh.libsodium q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium q5616t8k3pzg
++ ++ echo a
echo a
++ ./pegh.libsodium q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ ./pegh.libsodium -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ + ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.503s
user	0m3.796s
sys	0m2.402s
+ test ./pegh.libsodium ./pegh.static.libsodium -v 0
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
encrypting same data with same key should result in different ciphertext
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium -v 0 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.libsodium -v 0 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium + cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
-e -v 0 -f /tmp/leading_zero_key
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.static.libsodium + -d cmp q5616t8k3pzg-wrongkey- 
/tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 0 + ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
-f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
bad decryption bytes are never output, file should be 0 bytes
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
+ cat - /dev/fd/63
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.472s
user	0m3.730s
sys	0m2.382s
+ test ./pegh.libsodium ./pegh.static.libsodium -v 1
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.static.libsodium
+ shift
+ echo 'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium'
testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.static.libsodium
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
+ cmp /dev/fd/63 /dev/fd/62
++ echo a
++ echo a
++ ./pegh.libsodium -v 1 q5616t8k3pzg
++ ./pegh.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
encrypting with one key and decrypting with another should fail
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e -v + ./pegh.static.libsodium -d q5616t8k3pzg-wrongkey
1 q5616t8k3pzg -i /tmp/randombytes100
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
+ ./pegh.static.libsodium -d -f /tmp/leading_zero_key_b
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.static.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v + cat - /dev/fd/63
1 q5616t8k3pzg
+ ./pegh.static.libsodium -d q5616t8k3pzg -o bla.txt
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.835s
user	0m4.217s
sys	0m2.272s
+ for bin_decrypt in $TEST_BINS
+ test ./pegh.libsodium ./pegh.libsodium
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium
'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' '' '!=' 1 ']'
+ echo a
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
encrypting same data with same key should result in different ciphertext
++ echo a
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium q5616t8k3pzg
++ ./pegh.libsodium q5616t8k3pzg
++ echo a
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
encrypting with one key and decrypting with another should fail
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
+ ./pegh.libsodium -e q5616t8k3pzg -i /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo encrypting/decrypting with key in file where last byte is different should fail
'encrypting/decrypting with key in file where last byte is different should fail'
+ ./pegh.libsodium -e -f /tmp/leading_zero_key_a
+ ./pegh.libsodium -d -f /tmp/leading_zero_key_b
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'large values of N without enough memory should fail'
large values of N without enough memory should fail
+ ./pegh.libsodium -e q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ ./pegh.libsodium q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
+ echo 'hopefully this doesnt make it to disk'
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.417s
user	0m3.663s
sys	0m2.377s
+ test ./pegh.libsodium ./pegh.libsodium -v 0
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium
'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 0 '!=' 1 ']'
+ echo a
+ + ./pegh.libsodium -d q5616t8k3pzg
./pegh.libsodium -v 0 q5616t8k3pzg
+ '[' 0 -eq 19 -o 0 -eq 19 ']'
+ encrypting same data with same key should result in different ciphertext
set -eu
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ++ ./pegh.libsodium -v 0 q5616t8k3pzg
++ ./pegh.libsodium -v 0 q5616t8k3pzg
echo a++ echo a

/dev/fd/63 /dev/fd/62 differ: char 12, line 1
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
encrypting then decrypting with the same key should succeed
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ ./pegh.libsodium -e -v 0 -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ cmp - /tmp/randombytes100
+ ./pegh.libsodium -d q5616t8k3pzg-wrongkey
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
encrypting/decrypting with key in file where last byte is different should fail
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
+ + ./pegh.libsodium -d -f ./pegh.libsodium /tmp/leading_zero_key_b
-e -v 0 -f /tmp/leading_zero_key_a
+ cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 0 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ ./pegh.libsodium -v 0 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ echo 'hopefully this doesnt make it to disk'
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m5.379s
user	0m3.717s
sys	0m2.329s
+ test ./pegh.libsodium ./pegh.libsodium -v 1
+ bin=./pegh.libsodium
+ shift
+ bin_decrypt=./pegh.libsodium
+ shift
+ echo testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium
'testing binaries bin: ./pegh.libsodium bin_decrypt: ./pegh.libsodium'
+ set +eu
+ '[' 1 '!=' 1 ']'
+ set -eu
encrypting same data with same key should result in different ciphertext
+ echo 'encrypting same data with same key should result in different ciphertext'
+ cmp /dev/fd/63 /dev/fd/62
++ ./pegh.libsodium -v 1 q5616t8k3pzg
++ echo a
++ echo a
++ ./pegh.libsodium -v 1 q5616t8k3pzg
/dev/fd/63 /dev/fd/62 differ: char 12, line 1
encrypting then decrypting with the same key should succeed
+ true
+ echo 'encrypting then decrypting with the same key should succeed'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg
+ cmp - /tmp/randombytes100
encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline
+ echo 'encrypting/decrypting with key in file should work, even when key has leading 0s and a trailing newline'
+ ./pegh.libsodium -e -v 1 -f /tmp/leading_zero_key
+ ./pegh.libsodium -d -f /tmp/leading_zero_key
+ cmp - /tmp/randombytes100
+ set +e
+ echo 'encrypting with one key and decrypting with another should fail'
encrypting with one key and decrypting with another should fail
+ + cmp - /tmp/randombytes100
./pegh.libsodium + ./pegh.libsodium -d q5616t8k3pzg-wrongkey
-e -v 1 q5616t8k3pzg -i /tmp/randombytes100
decryption failed
cmp: EOF on -
+ echo 'encrypting/decrypting with key in file where last byte is different should fail'
encrypting/decrypting with key in file where last byte is different should fail
+ + ./pegh.libsodium -d -f /tmp/leading_zero_key_b
./pegh.libsodium -e -v 1 + -f /tmp/leading_zero_key_a
cmp - /tmp/randombytes100
decryption failed
cmp: EOF on -
large values of N without enough memory should fail
+ echo 'large values of N without enough memory should fail'
+ ./pegh.libsodium -e -v 1 q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
scrypt key derivation error, needed memory 2049 mb, allowed memory 64 mb, increase -m
+ ./pegh.libsodium -d q5616t8k3pzg -N 2000000 -i /tmp/randombytes100
Error: unsupported file format version 155, we only support version 0 (AES-256-GCM) and 1 (Chacha20-Poly1305)
Error: decryption aborting, this file cannot be decrypted with this version/CPU
+ echo 'bad decryption bytes are never output, file should be 0 bytes'
bad decryption bytes are never output, file should be 0 bytes
+ echo 'hopefully this doesnt make it to disk'
+ ./pegh.libsodium -v 1 q5616t8k3pzg
+ ./pegh.libsodium -d q5616t8k3pzg -o bla.txt
+ cat - /dev/fd/63
++ echo -n a
decryption failed
+ '[' -s bla.txt ']'
+ set -e

real	0m6.062s
user	0m4.228s
sys	0m2.461s
+ echo successful test run!
'successful test run!'
+ echo 'successfully built and tested static pegh against libsodium and openssl!'
successfully built and tested static pegh against libsodium and openssl!
+ mkdir -p release
+ mv pegh.static.libsodium ./release/pegh-linux-amd64-libsodium
+ '[' amd64 '==' aarch64 ]
+ mv pegh.static.openssl ./release/pegh-linux-amd64-openssl
+ mv pegh.static.libsodium-openssl ./release/pegh-linux-amd64-libsodium-openssl
+ '[' amd64 '==' amd64 ]
+ apk add git
(1/9) Installing ca-certificates (20230506-r0)
(2/9) Installing brotli-libs (1.0.9-r14)
(3/9) Installing libunistring (1.1-r1)
(4/9) Installing libidn2 (2.3.4-r1)
(5/9) Installing nghttp2-libs (1.55.1-r0)
(6/9) Installing libcurl (8.2.1-r0)
(7/9) Installing libexpat (2.5.0-r1)
(8/9) Installing pcre2 (10.42-r1)
(9/9) Installing git (2.40.1-r0)
Executing busybox-1.36.1-r2.trigger
Executing ca-certificates-20230506-r0.trigger
OK: 526 MiB in 62 packages
+ git archive HEAD -9 --format zip -o ./release/pegh-source.zip
+ git archive HEAD -9 --format tar.gz -o ./release/pegh-source.tar.gz
+ '[' amd64 '==' amd64 ]
going to try to build windows here...
+ echo 'going to try to build windows here...'
+ apk add mingw-w64-gcc curl wine
(1/77) Installing curl (8.2.1-r0)
(2/77) Installing mingw-w64-binutils (2.40-r1)
(3/77) Installing mingw-w64-crt (11.0.0-r0)
(4/77) Installing mingw-w64-headers (11.0.0-r0)
(5/77) Installing mingw-w64-winpthreads (11.0.0-r0)
(6/77) Installing mingw-w64-gcc (12.2.0-r3)
(7/77) Installing libxau (1.0.11-r2)
(8/77) Installing libmd (1.0.4-r2)
(9/77) Installing libbsd (0.11.7-r1)
(10/77) Installing libxdmcp (1.1.4-r2)
(11/77) Installing libxcb (1.15-r1)
(12/77) Installing libx11 (1.8.4-r4)
(13/77) Installing libxext (1.3.5-r2)
(14/77) Installing libxi (1.8.1-r0)
(15/77) Installing libxrender (0.9.11-r3)
(16/77) Installing libxrandr (1.5.3-r2)
(17/77) Installing opencl (2023.04.17-r1)
(18/77) Installing alsa-lib (1.2.9-r1)
(19/77) Installing libintl (0.21.1-r7)
(20/77) Installing libblkid (2.38.1-r8)
(21/77) Installing libmount (2.38.1-r8)
(22/77) Installing glib (2.76.4-r0)
(23/77) Installing libexif (0.6.24-r1)
(24/77) Installing libjpeg-turbo (2.1.5.1-r3)
(25/77) Installing libltdl (2.4.7-r2)
(26/77) Installing libusb (1.0.26-r2)
(27/77) Installing libgphoto2 (2.5.30-r0)
Executing libgphoto2-2.5.30-r0.pre-install
(28/77) Installing mesa (23.0.4-r0)
(29/77) Installing hwdata-pci (0.370-r0)
(30/77) Installing libpciaccess (0.17-r2)
(31/77) Installing libdrm (2.4.115-r4)
(32/77) Installing wayland-libs-server (1.22.0-r2)
(33/77) Installing mesa-gbm (23.0.4-r0)
(34/77) Installing mesa-glapi (23.0.4-r0)
(35/77) Installing wayland-libs-client (1.22.0-r2)
(36/77) Installing libxshmfence (1.3.2-r2)
(37/77) Installing mesa-egl (23.0.4-r0)
(38/77) Installing libxfixes (6.0.1-r2)
(39/77) Installing libxxf86vm (1.1.5-r3)
(40/77) Installing mesa-gl (23.0.4-r0)
(41/77) Installing libxv (1.0.12-r3)
(42/77) Installing libbz2 (1.0.8-r5)
(43/77) Installing libpng (1.6.39-r3)
(44/77) Installing freetype (2.13.0-r5)
(45/77) Installing fontconfig (2.14.2-r3)
(46/77) Installing pixman (0.42.2-r1)
(47/77) Installing cairo (1.17.8-r1)
(48/77) Installing cdparanoia-libs (10.2-r14)
(49/77) Installing graphene (1.10.8-r2)
(50/77) Installing libcap2 (2.69-r0)
(51/77) Installing gstreamer (1.22.5-r0)
(52/77) Installing libogg (1.3.5-r4)
(53/77) Installing opus (1.4-r0)
(54/77) Installing orc (0.4.34-r0)
(55/77) Installing libxft (2.3.8-r1)
(56/77) Installing fribidi (1.0.13-r0)
(57/77) Installing graphite2 (1.3.14-r5)
(58/77) Installing harfbuzz (7.3.0-r0)
(59/77) Installing pango (1.50.14-r1)
(60/77) Installing libtheora (1.1.1-r17)
(61/77) Installing libvorbis (1.3.7-r1)
(62/77) Installing wayland-libs-cursor (1.22.0-r2)
(63/77) Installing wayland-libs-egl (1.22.0-r2)
(64/77) Installing gst-plugins-base (1.22.5-r0)
(65/77) Installing libpcap (1.10.4-r1)
(66/77) Installing pcsc-lite-libs (1.9.9-r3)
(67/77) Installing libasyncns (0.8-r1)
(68/77) Installing dbus-libs (1.14.8-r0)
(69/77) Installing flac-libs (1.4.3-r0)
(70/77) Installing libsndfile (1.2.0-r2)
(71/77) Installing soxr (0.1.3-r5)
(72/77) Installing speexdsp (1.2.1-r1)
(73/77) Installing tdb-libs (1.4.8-r1)
(74/77) Installing libpulse (16.1-r10)
(75/77) Installing sane (1.1.1-r2)
Executing sane-1.1.1-r2.pre-install
(76/77) Installing eudev-libs (3.2.11-r8)
(77/77) Installing wine (8.13-r0)
Executing busybox-1.36.1-r2.trigger
Executing glib-2.76.4-r0.trigger
OK: 1304 MiB in 139 packages
+ pwd
+ STATIC_LIB_DIR=/tmp
+ LIBSODIUM_VERSION=1.0.18
+ OPENSSL_VERSION=1.1.1h_3
+ OPENSSL_CURL_VERSION=7.73.0_3
+ '[' '!' -d /tmp/libsodium-win32 ]
+ curl -L -O https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-mingw.tar.gz -O https://curl.se/windows/dl-7.73.0_3/openssl-1.1.1h_3-win64-mingw.zip -O https://curl.se/windows/dl-7.73.0_3/openssl-1.1.1h_3-win32-mingw.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 1013k  100 1013k    0     0  3700k      0 --:--:-- --:--:-- --:--:-- 3713k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  6156  100  6156    0     0  70170      0 --:--:-- --:--:-- --:--:-- 70758
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  6156  100  6156    0     0   189k      0 --:--:-- --:--:-- --:--:--  193k
+ echo 'e499c65b1c511cbc6700e436deb3771c3baa737981114c9e9f85f2ec90176861  libsodium-1.0.18-mingw.tar.gz'
+ echo 'fcaa181d848ac56150f00bc46d204d81fde4448a9afe9ef3ca04cc21d3132cb4  openssl-1.1.1h_3-win32-mingw.zip'
+ echo '913ddfa264ed9bae51f9deaa8ebce9d9450fa89fdf4c74ab41a6dfffb5880c67  openssl-1.1.1h_3-win64-mingw.zip'
+ sha256sum -c libs.sha256
libsodium-1.0.18-mingw.tar.gz: OK
openssl-1.1.1h_3-win32-mingw.zip: FAILED
openssl-1.1.1h_3-win64-mingw.zip: FAILED
sha256sum: WARNING: 2 of 3 computed checksums did NOT match
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Email)
[Pipeline] step
Sending e-mails to: admin.jenkins@moparisthebest.com
[Pipeline] }
[Pipeline] // stage
[Pipeline] sh
+ ./bin/build.sh docker-chown
./bin/build.sh: line 8: shift: shift count out of range
+ '[' docker-chown == docker-chown ']'
+ '[' 0 -eq 0 ']'
+ exit 0
[Pipeline] deleteDir
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
[Gitea] Notifying branch build status: FAILURE There was a failure building this commit
[Gitea] Notified
Finished: FAILURE