ietf-openpgp
[Top] [All Lists]

Re: Shortcomings of current schemes (Was: One-pass signatures)

1998-07-27 09:20:23

I don't think any of the numerous people who replied to this thread
picked up on the fact that what I think Black Unicorn identities as a
common user requirement is in fact possible already.

That is you _can_ strip of the encryption layer leaving the signature
layer.  What you get is not normally a clear signed text, but rather a
binary signed text.  These are pretty readable, consisting of a few
binary chars at the begining of the file (being the prepended binary
signature), followed by the text signed.

It should be easily possible to add the ability to one of the GUI
versions of pgp to add support for retaining signatures in this form
in a convenient searchable form.  A simple option tick box to retain
signatures should therefore be easily implementable.

I would presume that all versions of pgp already retain the ability to
verify such signatures.

with pgp2.x you can test this out with:

% echo hello world > test
% pgp -eas test aba
% pgp -d test.asc
Output file 'test' may contain more ciphertext or signature.
Should 'test' be renamed to 'test.pgp' (Y/n)? y
% cat test.pgp
5¼§P)ȸUjJgÿX;ÏZ]ãRB(_at_)úPU@©¶úÌíbR¾£Þ-Å
×ö_%CÆ~bB"3mçKͪãq*¯*Y·         àè~¯³L¬1NZ)´û
        mýïβpý}Òp®VY!aëˬbtesthello world
(you should see the hello world at the end).
% pgp test.pgp
Good signature from user "Adam Back <aba(_at_)dcs(_dot_)ex(_dot_)ac(_dot_)uk>".
Signature made 1998/07/27 16:14 GMT using 1024-bit key, key ID 556A4A67
%

(here's the test.pgp converted into armor:

% uuencode test.pgp test.pgp > test.uue
% cat test.uue
begin 600 test.pgp
MB0"5`P4`-;RG4"G(N)U5:DIG`0&3#P/_6#L#SQ=:7>-2$A1"C`($DD#Z4%5`
MJ;:?D_K,[6)2OJ/>+17%"HR1'R?C3!9_WMH`KFIZ0B(S(_at_)VWG2\VJ@(."@>.0
M<2JO%"I9MPD)X.A^K[-,K#%.!UH:*;3[#=>,E_:,7R5#D<9^%6(,;?WOSK)P
I_7W2<*X;PE:062%AZ\N?EH&L%F($=&5S=`````!H96QL;R!W;W)L9`KO
`
end

to verify cut and paste teh above into test.uue, then do:
% uudecode test.uue
% pgp test.pgp
% cat test.pgp
etc.

Adam
-- 
print pack"C*",split/\D+/,`echo "16iII*o\U(_at_){$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc`