Hi!
~~~

To be compatible with GnuPG this library is missing encryption (zlib is 
default). I was hoping that this is implemented before we even have key 
generation ;)


The standard currently defines the following compression algorithms:

ID      Algorithm       Req.
--      ---------       ----
0     - Uncompressed    MUST
1     - ZIP [RFC1951 <http://tools.ietf.org/html/rfc1951>]   SHOULD
2     - ZLIB [RFC1950 <http://tools.ietf.org/html/rfc1950>]  MAY
3     - BZip2 [BZ2 <http://tools.ietf.org/html/rfc4880#ref-BZ2>]     MAY
100 to 110 - Private/Experimental algorithm


0         -  We have that. The packet implementation and routines are there. 
Writing compressed packets is currently not implemented but 
openpgp.config.config.compression for selectin the algorithm is already there.

1 (ZIP)   -  Since 1999 a javascript implementation of ZIP is available from 
Masanao Izumo <[email protected]> (see https://github.com/dankogai/js-deflate)

2 (ZLIB)  -  The JSXGraph project provides with JSXCompressor a JS library for 
Zlib decompression http://jsxgraph.uni-bayreuth.de/wp/jsxcompressor/. I have 
not found any implementation in JS also implementing a compress function but 
http://www.jcraft.com/jzlib/ provides a Java Library implementing zlib. We 
could port this to javascript or use Google Web Toolkit to compile this to 
JavaScript

3 (BZIP2) -  There are currently two projects implementing bzip2 decompression 
on github: https://github.com/antimatter15/bzip2.js and 
https://github.com/kirilloid/bzip2-js. Just from a quick review i would prefer 
the first one (without having tested it yet).


There is already a stub for each algorithm in 
packet/openpgp.packet.compressed.js. I would put the implementations to 
src/compression/<zip|zlib|bzip2>/<files>.

Lets bring the core library forward, its the last key feature missing!

best regards,
carsten

_______________________________________________

http://openpgpjs.org

Reply via email to