Data decryption invokes EOF/buffer underruns - help

Raymond Page pagerc at gmail.com
Sat Jul 12 01:04:33 CEST 2008


Hi,

I am having a problem decrypting a disk encryption key and I was hoping that
someone on the list could help explain why the decryption seems not to work.
I created the key a few years ago, and I don't recall exactly how it was
generated.
I was looking through the source to determine the EOF error and it seems
caused by a buffer underrun,
(might I recommend the text be changed to something more meaningful like EOB
since its a buffer, not a file?)
In any case, I would appreciate any comments or assistance that might help
me figure out how to decrypt my disk key.

$ gpg -vv --debug-all --passphrase-file pass-file key.gpg
gpg: reading options from `/home/vostro/.gnupg/gpg.conf'
Reading passphrase from file descriptor 0
gpg: DBG: fd_cache_open (key.gpg) not cached
gpg: DBG: iobuf-1.0: open `key.gpg' fd=4
gpg: DBG: iobuf-1.0: underflow: req=8192
gpg: DBG: iobuf-1.0: underflow: got=4280 rc=0
gpg: DBG: armor-filter: control: 5
gpg: DBG: iobuf-1.1: push `armor_filter'
gpg: DBG: armor-filter: control: 5
gpg: DBG: iobuf chain: 1.1 `armor_filter' filter_eof=0 start=0 len=0
gpg: DBG: iobuf chain: 1.0 `file_filter(fd)' filter_eof=0 start=0 len=4280
gpg: DBG: armor-filter: control: 1
gpg: DBG: iobuf-1.1: underflow: req=8192
gpg: DBG: armor-filter: control: 3
gpg: armor: BEGIN PGP MESSAGE
gpg: armor header: Version: GnuPG v1.4.1 (GNU/Linux)
gpg: DBG: iobuf-1.1: underflow: got=3089 rc=0
gpg: DBG: parse_packet(iob=1): type=3 length=13
(parse.../../g10/mainproc.c.1225)
:symkey enc packet: version 4, cipher 3, s2k 3, hash 2
        salt 2941cf0d39f6e260, count 65536 (96)
gpg: CAST5 encrypted data
gpg: DBG: free_packet() type=3
gpg: DBG: iobuf-1.2: push `block_filter'
gpg: DBG: iobuf chain: 1.2 `block_filter' filter_eof=0 start=0 len=0
gpg: DBG: armor-filter: control: 5
gpg: DBG: iobuf chain: 1.1 `armor_filter' filter_eof=0 start=17 len=3089
gpg: DBG: iobuf chain: 1.0 `file_filter(fd)' filter_eof=0 start=4254
len=4280
gpg: DBG: init block_filter 0x8120e88
gpg: DBG: parse_packet(iob=1): type=9 length=0 (new_ctb)
(parse.../../g10/mainproc.c.1225)
:encrypted data packet:
        length: unknown
gpg: encrypted with 1 passphrase
gpg: DBG: iobuf-1.2: underflow: req=8192
gpg: DBG: iobuf-1.2: underflow: got=3069 rc=0
gpg: DBG: iobuf-1.3: push `decode_filter'
gpg: DBG: iobuf chain: 1.3 `decode_filter' filter_eof=0 start=0 len=0
gpg: DBG: iobuf chain: 1.2 `block_filter' filter_eof=0 start=10 len=3069
gpg: DBG: armor-filter: control: 5
gpg: DBG: iobuf chain: 1.1 `armor_filter' filter_eof=0 start=3089 len=3089
gpg: DBG: iobuf chain: 1.0 `file_filter(fd)' filter_eof=0 start=4254
len=4280
gpg: DBG: iobuf-1.3: underflow: req=8192
gpg: DBG: iobuf-1.2: underflow: req=8192
gpg: DBG: iobuf-1.2: underflow: got=0 rc=-1
gpg: DBG: free block_filter 0x8120e88
gpg: DBG: iobuf-1.2: pop `(null)' in underflow (!len)
gpg: DBG: armor-filter: control: 5
gpg: DBG: iobuf chain: 1.1 `armor_filter' filter_eof=0 start=3089 len=3089
gpg: DBG: iobuf chain: 1.0 `file_filter(fd)' filter_eof=0 start=4254
len=4280
gpg: DBG: iobuf-1.1: underflow: eof
gpg: DBG: iobuf-1.3: underflow: got=3059 rc=0
gpg: DBG: parse_packet(iob=1): type=27 length=4087 (new_ctb)
(parse.../../g10/mainproc.c.1225)
:unknown packet: type 27, length 4087
dump: 58 13 06 27 fa 99 b0 13  5a ae 1f 9c d5 5f 9c 80  8b 83 2f bf 41 c4 73
fb
  24: 38 13 66 4e fe 92 9f 4f  de c5 d5 f5 f6 8b 0f 2e  48 26 58 49 47 18 eb
b7
  48: d9 8c 6f 5f 1f 37 9b 25  72 ee 4f e5 4a 55 a3 8c  82 10 0b 08 16 3a d1
32
  72: ff 61 fa 58 23 86 a5 92  c1 dd f0 2e 51 23 f8 07  76 89 42 3f fb cb 77
70
  96: ad 20 84 71 53 92 bf 2d  42 a6 64 ee 46 a6 6a fb  9a 21 26 12 46 7d 1e
5b
 120: c4 f7 95 92 08 be be fa  3a 9a da d7 6b f9 2c f4  a3 c3 7e 3a c1 d6 42
0e
<snip>
....
<snip>
3000: 8c 54 f9 ed 11 8a 00 f7  0f 23 95 a5 da a9 68 3d  a6 aa 1e 2c 5e f1 fb
50
3024: ad 40 46 d6 dd e6 de d7  96 a5 23 0f fa 1f 8b ae  71 b0 26 c3 23 d0 75
64
3048: 06 53 78 f8 10 b5 e7 30gpg: DBG: iobuf-1.3: underflow: req=8192
gpg: DBG: iobuf-1.1: underflow: req=8192
gpg: DBG: armor-filter: control: 3
gpg: DBG: iobuf-1.0: underflow: req=8192
gpg: DBG: iobuf-1.0: underflow: got=0 rc=-1
gpg: DBG: key.gpg: close fd 4
gpg: DBG: fd_cache_close (key.gpg) new slot created
gpg: DBG: iobuf-1.0: underflow: eof
gpg: DBG: iobuf-1.0: underflow: eof (due to filter eof)
gpg: DBG: iobuf-1.1: underflow: got=0 rc=-1
gpg: DBG: armor-filter: control: 2
gpg: DBG: iobuf-1.1: pop `(null)' in underflow (!len)
gpg: DBG: iobuf chain: 1.0 `[none]' filter_eof=0 start=4280 len=4280
gpg: DBG: iobuf-1.0: underflow: eof
gpg: DBG: iobuf-1.3: underflow: got=0 rc=-1
gpg: DBG: iobuf-1.3: pop `(null)' in underflow (!len)
gpg: DBG: iobuf chain: 1.0 `[none]' filter_eof=0 start=4280 len=4280
gpg: DBG: iobuf-1.0: underflow: eof
  EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
<snip>
....
<snip>
4080: EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOFgpg: DBG: iobuf-1.0: underflow: eof (no filter)
 EOF
gpg: DBG: iobuf-1.0: underflow: eof (no filter)
gpg: decryption okay
gpg: WARNING: message was not integrity protected
gpg: DBG: free_packet() type=9
gpg: DBG: iobuf-1.0: underflow: eof (no filter)
gpg: DBG: iobuf-1.0: close `(null)'
random usage: poolsize=600 mixed=0 polls=0/2 added=10/176
              outmix=0 getlvl1=0/0 getlvl2=0/0
secmem usage: 1696/2464 bytes in 4/7 blocks of pool 2464/32768


-- 
Raymond Page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20080711/aa5bb61b/attachment.htm>


More information about the Gnupg-users mailing list