I have certain information printed on paper as GPG-encrypted, armoured text. In essence an array of lines, 64 characters each, limited to the following characters:
0123456789+=/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
I have tried various OCR techniques combined with diff
and comparison between paper scan and output to pick the best candidates.
I was able to restore some of the packets, but not all of them. Example output of --list-packets
:
gpg: CRC error; A95601 - E825A9
gpg: [don't know]: invalid packet (ctb=08)
gpg: onepass_sig with unknown version 153
gpg: [don't know]: invalid packet (ctb=6d)
gpg: [don't know]: invalid packet (ctb=12)
gpg: [don't know]: invalid packet (ctb=2f)
gpg: [don't know]: invalid packet (ctb=55)
gpg: [don't know]: invalid packet (ctb=2e)
# off=0 ctb=95 tag=5 hlen=3 plen=1414
:secret key packet:
version 4, algo 1, created 1234101081, expires 0
pkey[0]: [3072 bits]
pkey[1]: [17 bits]
iter+salt S2K, algo: 7, SHA1 protection, hash: 2, salt: 82610A0F91638117
protect count: 44040192 (245)
protect IV: 01 d2 54 d4 e7 c9 00 41 65 ba 82 6b 90 a4 e1 87
skey[2]: [v4 protected]
keyid: E01B51ED91E23E1F
# off=1417 ctb=b4 tag=13 hlen=2 plen=39
:user ID packet: "Known User <known@user.edu>"
# off=1458 ctb=89 tag=2 hlen=3 plen=463
:signature packet: algo 1, keyid 1F2E15CB10B2F6B3
version 4, created 1249702031, md5len 0, sigclass 0x13
digest algo 8, begin of digest 66 30
hashed subpkt 27 len 1 (key flags: 03)
hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 2)
hashed subpkt 21 len 5 (pref-hash-algos: 8 9 10 11 2)
hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0)
hashed subpkt 33 len 21 (issuer fpr v4 F24B00174C92E1616751BF107FB344CF50B71E63)
hashed subpkt 2 len 4 (sig created 2021-04-01)
hashed subpkt 9 len 4 (key expires after 1y0d10h15m)
subpkt 16 len 8 (issuer key ID 1F2E15CB10B2F6B3)
data: [3072 bits]
# off=1925 ctb=90 tag=4 hlen=2 plen=91
:onepass_sig packet: [unknown version]
# off=2019 ctb=ed tag=45 hlen=2 plen=188 new-ctb
:unknown packet: type 45, length 188
dump: [ stripped ]
24: [ stripped ]
48: [ stripped ]
72: [ stripped ]
96: [ stripped ]
120: [ stripped ]
144: [ stripped ]
168: [ stripped ]
# off=2213 ctb=a3 tag=8 hlen=1 plen=0 indeterminate
:compressed packet: algo=10
Scan quality is pretty good, but the sheer volume of data makes manual entry impractical.
I am looking for clues how I can identify offending lines, even if approximately.