Deleted Added
full compact
pgp (302408) pgp (309847)
1
2#------------------------------------------------------------------------------
1
2#------------------------------------------------------------------------------
3# $File: pgp,v 1.11 2014/11/11 21:32:38 christos Exp $
3# $File: pgp,v 1.12 2016/10/07 20:22:12 christos Exp $
4# pgp: file(1) magic for Pretty Good Privacy
5# see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html
6#
70 beshort 0x9900 PGP key public ring
8!:mime application/x-pgp-keyring
90 beshort 0x9501 PGP key security ring
10!:mime application/x-pgp-keyring
110 beshort 0x9500 PGP key security ring

--- 177 unchanged lines hidden (view full) ---

189>0 byte 0x01 MD5
190>0 byte 0x02 SHA-1
191>0 byte 0x03 RIPE-MD/160
192>0 byte 0x08 SHA256
193>0 byte 0x09 SHA384
194>0 byte 0x0a SHA512
195>0 byte 0x0b SHA224
196
4# pgp: file(1) magic for Pretty Good Privacy
5# see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html
6#
70 beshort 0x9900 PGP key public ring
8!:mime application/x-pgp-keyring
90 beshort 0x9501 PGP key security ring
10!:mime application/x-pgp-keyring
110 beshort 0x9500 PGP key security ring

--- 177 unchanged lines hidden (view full) ---

189>0 byte 0x01 MD5
190>0 byte 0x02 SHA-1
191>0 byte 0x03 RIPE-MD/160
192>0 byte 0x08 SHA256
193>0 byte 0x09 SHA384
194>0 byte 0x0a SHA512
195>0 byte 0x0b SHA224
196
197# display public key algorithms as human readable text
1980 name key_algo
199>0 byte 0x01 RSA (Encrypt or Sign)
200# keep old look of version 5.28 without parentheses
201>0 byte 0x02 RSA Encrypt-Only
202>0 byte 0x03 RSA (Sign-Only)
203>0 byte 16 ElGamal (Encrypt-Only)
204>0 byte 17 DSA
205>0 byte 18 Elliptic Curve
206>0 byte 19 ECDSA
207>0 byte 20 ElGamal (Encrypt or Sign)
208>0 byte 21 Diffie-Hellman
209>0 default x
210>>0 ubyte <22 unknown (pub %d)
211# this should never happen
212>>0 ubyte >21 invalid (%d)
213
197# pgp symmetric encrypted data
198
1990 byte 0x8c PGP symmetric key encrypted data -
200>1 byte 0x0d
201>1 byte 0x0c
202>2 byte 0x04
203>3 use crypto
204>4 byte 0x01 salted -

--- 255 unchanged lines hidden (view full) ---

460>>2 use x8192
461
462# PGP RSA (e=65537) secret (sub-)key header
463
4640 byte 0x95 PGP Secret Key -
465>1 use pgpkey
4660 byte 0x97 PGP Secret Sub-key -
467>1 use pgpkey
214# pgp symmetric encrypted data
215
2160 byte 0x8c PGP symmetric key encrypted data -
217>1 byte 0x0d
218>1 byte 0x0c
219>2 byte 0x04
220>3 use crypto
221>4 byte 0x01 salted -

--- 255 unchanged lines hidden (view full) ---

477>>2 use x8192
478
479# PGP RSA (e=65537) secret (sub-)key header
480
4810 byte 0x95 PGP Secret Key -
482>1 use pgpkey
4830 byte 0x97 PGP Secret Sub-key -
484>1 use pgpkey
4680 byte 0x9d PGP Secret Sub-key -
469>1 use pgpkey
4850 byte 0x9d
486# Update: Joerg Jenderek
487# secret subkey packet (tag 7) with same structure as secret key packet (tag 5)
488# skip Fetus.Sys16 CALIBUS.MAIN OrbFix.Sys16.Ex by looking for positive len
489>1 ubeshort >0
490#>1 ubeshort x \b, body length 0x%x
491# next packet type often 88h,89h~(tag 2)~Signature Packet
492#>>(1.S+3) ubyte x \b, next packet type 0x%x
493# skip Dragon.SHR DEMO.INIT by looking for positive version
494>>3 ubyte >0
495# skip BUISSON.13 GUITAR1 by looking for low version number
496>>>3 ubyte <5 PGP Secret Sub-key
497# sub-key are normally part of secret key. So it does not occur as standalone file
498#!:ext bin
499# version 2,3~old 4~new . Comment following line for version 5.28 look
500>>>>3 ubyte x (v%d)
501>>>>3 ubyte x -
502# old versions 2 or 3 but no real example found
503>>>>3 ubyte <4
504# 2 byte for key bits in version 5.28 look
505>>>>>11 ubeshort x %db
506>>>>>4 beldate x created on %s -
507# old versions use 2 additional bytes after time stamp
508#>>>>>8 ubeshort x 0x%x
509# display key algorithm 1~RSA Encrypt|Sign - 21~Diffie-Hellman
510>>>>>10 use key_algo
511>>>>>(11.S/8) ubequad x
512# look after first key
513>>>>>>&5 use keyend
514# new version
515>>>>3 ubyte >3
516>>>>>9 ubeshort x %db
517>>>>>4 beldate x created on %s -
518# display key algorithm
519>>>>>8 use key_algo
520>>>>>(9.S/8) ubequad x
521# look after first key for something like s2k
522>>>>>>&3 use keyend