1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-01-23 15:07:03 +01:00
Werner Koch ff1bdc23d9
gpg: Fix AEAD encryption for chunk sizes other than 64 KiB.
* g10/cipher-aead.c (do_flush): Init ERR.  Fix remaining chunklen
computation.
(do_free): Add dummy encryption.  Close the cipher handle.
* g10/decrypt-data.c (aead_underflow): Rewrite.
--

Until we have integrated test into the test suite extensive tests can
also be done with a script like this:

--8<---------------cut here---------------start------------->8---
#!/bin/sh

set -e
GPG="../g10/gpg --rfc4880bis --pinentry-mode=loopback"
GPG="$GPG --passphrase abc --batch"
MKTDATA="$HOME/b/gnupg-2.0/tools/mk-tdata"

for chunksize in 6 7 12 13 14 30; do
for count in $(seq 1 200) $(seq 8100 8200) \
             $(seq 16350 16400) $(seq 20000 20100); do
  if [ ! -f "testfile-$count" ]; then
    $MKTDATA $count >"testfile-$count"
  fi
  echo "testing chunk size 2^$chunksize with $count bytes"
  $GPG --force-aead --aead-algo ocb --s2k-mode 0 --cipher AES -v -z 0 \
      -c --chunk-size $chunksize \
       <"testfile-$count" >"testfile-$count.gpg" 2>/dev/null
  $GPG -vd <"testfile-$count.gpg" >"testfile-$count.out" 2>/dev/null
  if ! cmp "testfile-$count" "testfile-$count.out"; then
    echo "FAILED comparing count $count" >&2
    exit 1
  fi
done
done
echo All good
--8<---------------cut here---------------end--------------->8---

Signed-off-by: Werner Koch <wk@gnupg.org>
2018-01-24 13:45:05 +01:00
..
2017-03-07 20:25:54 +09:00
2017-03-07 20:25:54 +09:00
2018-01-21 16:30:53 +01:00
2017-11-22 20:54:47 +01:00
2017-03-07 20:25:54 +09:00
2015-02-04 09:15:34 +01:00
2018-01-23 19:08:16 +01:00
2017-09-27 09:42:13 +02:00
2015-02-04 09:15:34 +01:00
2017-03-07 20:25:54 +09:00
2017-09-13 09:18:15 +02:00
2017-03-07 20:25:54 +09:00
2018-01-22 16:50:21 +01:00
2018-01-23 19:08:16 +01:00
2017-03-07 20:25:54 +09:00
2017-03-07 20:25:54 +09:00
2018-01-23 19:08:16 +01:00
2018-01-23 19:08:16 +01:00
2017-03-07 20:25:54 +09:00
2018-01-22 16:50:21 +01:00
2017-03-07 20:25:54 +09:00
2017-03-07 20:25:54 +09:00
2017-03-07 20:25:54 +09:00
2017-01-23 19:16:55 +01:00
2017-02-21 13:11:46 -05:00
2017-03-07 20:32:09 +09:00
2017-03-07 20:25:54 +09:00
2017-04-28 10:06:33 +09:00
2018-01-23 12:07:57 +01:00
2016-03-08 14:08:49 +01:00
2017-04-28 10:06:33 +09:00
2017-03-31 20:07:20 +02:00
2017-03-07 20:25:54 +09:00
2016-12-06 12:16:56 +01:00
2017-12-04 19:26:49 +09:00
2017-04-28 10:06:33 +09:00