PeaZip PeaZip
64 bit
PeaZip
Portable
Linux / BSD
free rar files extraction

file manager and compression software

PeaZip, free archiver utility, Open Source WinRar / WinZip alternative for Windows and Linux.
Compress to 7Z, ARC, BZ2, GZip, PAQ, PEA, self-extracting archives, TAR, WIM, XZ, ZIP files.
Open 150+ file types, including ACE, CAB, DMG, ISO, RAR, UDF, ZIPX format.
Extract, create and convert archives, split / join files, strong encryption, encrypted password manager, secure delete, find duplicate files, compute hash, export job definition as script to automate backup / restore.

file compression and encryption tool
free zip files extraction


Learn more  |  Change log  |  Screenshots  |  Benchmarks  |  Reviews  |  Add-ons  |  Search  |  Support  |  FAQ  |  Donations

cryptographic software

PEA file archiving and encryption utility

Pea archiving and authenticated encryption software

PEA file type specifications: Pack, Encrypt, Authenticate




Pea archiving and authenticated encryption software


Pea executable is the engine implementing PEA file format archiving, extraction, encryption, and decryption routines; it is released as Open Source freeware program under LGPLv3 license.
Pea file compression and cryptographic utility can be compiled as a cross-platform autocontained (portable) executable that can be used from batch scripts or invoked by a GUI frontend like PeaZip or it can be used also as library from external application; it supports it's native .pea archive format and also raw file split / join with optional integrity check ranging to CRCs to cryptographically strong hashes, to detect treats ranging from casual file corruption to malicious data tampering.
You don't need a separate download for getting Pea archiving utility's Windows/Linux executables, sources and documentation, since are part of the respective PeaZip packages, available from download pages.

Implementation details

Archiving and compression

Input data is compressed with a deflatedata compression based compression scheme (PCOMPRESS) defined in PEA file format specifications, resulting in compression ratio and compression speed similar to typical compressor of that class, like Zip, PKZip, and GZip.
Please note that at present stage of development of PEA format maximum compression is out of the scope of the project; a fast and versatile deflate-based compression scheme was used in order to offer a reasonable tradeoff between compression ratio and speed to make PEA suitable for most uses.
For a standardised compression benchmark, including PeaZip's compression ratio using PEA format, you can look at Matt Mahoney's Large Text Compression Benchmarkfile compressibility

Integrity check and encryption algorithms

Checksuverify data integrity/CRC, hashcompute hash value and strong encryption algorithms are provided by Wolfgang Ehrhardt's Pascal/Delphi cryptography librarydelphi software library (released under zlib license), to enforce privacy of input data (AES based encryption), to detect file corruption (checksum and hash functions), and, with use of authenticated encryption, to guarantee: secrecy (only intended recipient can read the data), integrity (data transmission was not tampered), and authenticity (data comes from expected sender).

Purpose

Algorithms

Pea: Object, Stream and Volume level; Raw file join/split optional integrity check

Checksum/CRC

Adler32, CRC32, CRC64

Hash

MD5, SHA1, RIPEMD-160, SHA256, SHA512, Whirlpool

Pea: Stream level only

Authenticated encryption

AES128 HMAC, AES128 EAX, AES256 EAX


File split and join

Pea utility file split and join features are compatible with most file split applications; just provide an input file to split it to the desired output size.
Optionally Pea can save a control file containing checksum or hash (see Control algorithm paragraph) of each volume and of the original file, allowing file level and volume level integrity check, which will be ignored by other file split utilities.
Merging back the split file, Pea will check this control file and give a simple warning if it's not found, i.e. because the file was split by other file split application, or cast an error message if not matching.


Other features

Pea executable, other than implementing extraction and archiving in .PEA format, uses the internally supported features (encryption, checksum/hash, randomness sampling etc...) for other general file management utility tasks, not necessarily related with file archiving, providing also tools for:
  • secure data deletion (file data and free disk space)
  • file checksum/hash utility
  • byte to byte file compare utility

How to compile


Pea utility is compiled and built using Lazarus, an Open Source RAD IDE based on FreePascal, a language widely compatible with Delphi, Kylix, ObjectPascal.
Sources are available from download page; source packages contains instructions and documentation also for compiling pea binary implementation.
While pea binary comes precompiled only for MS Windows, Linux, and BSD, Lazarus/FPC (and Wolfgang Ehrhardt's crypto library) targets a far larger number of systems and architectures, so any help in porting pea format and implementation on new platform is welcome.


PEA file type specifications: Pack, Encrypt, Authenticate


PEA file format specifications version 1.0


Pea (.pea file extension), acronym for Pack, Encrypt, Authenticate, designs a file format focused on data security, aiming to provide archiving, compression and multi volume file split (spanning) feature in a single passage, along with flexible schemes of optional integrity check and authenticated encryption (AES in EAX mode); PEA file format specifications are released under public domain.

Pea compression is optional, at current level of implementation are defined only following levels: PCOMPRESS0 (store only, no compression), and PCOMPRESS1..3 based on deflate (reference zlib's compres/uncompres algorithm code), respectively at compression level 3, 6 and 9.

PEA format security model acts at 3 levels: objects (input files and folders sent to .pea archive), volumes (output archive file that can be spanned to user defined size) and streams (the actual output data stream that is formed by multiple input files and can be written written to multiple output volumes); each one of those levels can be omitted as needed by the user.
  • Object level integrity checking is performed to detect errors with object level granularity on raw input data and all associated data (name, size, attributes, date-time);
    • Current implementation allows: Checksum (Adler32, CRC32, CRC64), Hash (MD5, SHA1, RIPEMD-160, SHA256, SHA512, Whirlpool)
  • Volume level integrity check is communication oriented and allow to discard single corrupted volumes in order to minimize, in case of error, the retransmission overhead;
    • Current implementation allows same Checksum and Hash algorithms featured by Object level check
  • Stream level check offers wide choice of algorithms up to authenticated encryption, protecting privacy and authenticity of a group of objects sharing same security needs, including tags generated by object level checks;
    • Current implementation allows same Checksum and Hash algorithms featured by Object and Volume levels, plus Authenticated encryption schemes AES128 HMAC, AES128 EAX, and AES256 EAX
Arbitrarily sized volume spanning allows the archive to be splitted in volumes of arbitrary size, with the only constrain of volumes being at least 10 byte bigger than volume control tag to allow passing (through archive's header) minimum needed information to the extraction application.

PEA file format standard, as defined in version 1 revision 0 specification, can store a single stream containing unlimited objects, each up to 2^64 byte in size; current Pea archiver utility supports 1.0 file format specifications (practically, archives are memory and filesystem-limited rather than format limited).

PEA 2.0 file format specifications extend the concepts behind PEA 1.0 file format and can store an unlimited number of stream, but the format is not actually supported by current Pea archiving utility.

Here, a brief table of features and limitations applying to file format and to current implementation:

Feature

PEA file format

Current implementation

Archive

Max archive size

unlimited

up to 999999 volumes of 2^64-1 byte each; using 128 bit block encryption it would be safe not to encrypt more than 2^64 byte with same key, better staying one or more orders of magnitude below

Stream number

1.0: single stream;

2.0 unlimited number of streams;

Single stream (1.0 file format)

Output

Security

Optional Authenticated Encryption, at stream level only.

Integrity check

AE tag or hash or checksum at stream level, hash or checksum for input objects and output volumes

Error correction

No scheme featured

Communication recovery

Independent volume control check allow to identify corrupted volumes (first volume may be needed to know volume check algorithm)

No specific tool developed; volume check is done during extraction and then, allowing to repeat download only of corrupted volumes

Data recovery

Stream control tags allow to recognize correct streams, if better granularity is needed object control tags allow to recognize correct objects; input object names and POD trigger allow to identify objects and stream between the archive data;

No specific tool developed to try error resistant data extraction, however object check errors are reported to identify corrupted and non corrupted data if the extraction is successful

Support for multi volume output

Native, requires a single pass

Volume number

1..unlimited

1..999999 (6 digit counter string in output file name, after .pea file extension)

Volume size

Volume tag size +1.. unlimited; first volume must contain at least 10 byte of data to allow parsing of the archive header, to allow unpacking application to  calculate volume tag size

Volume tag size +1.. 2^64-1 (qword variable) ; first volume must contain at least 10 byte of data

Compression

Native, requires single pass; schemes:

PCOMPRESS0: no compression; PCOMPRESS1..3 based on deflate using zlib's compres/uncompres, level 3, 6 and 9 respectively 

Solid archive

Not implemented compression modes featuring the possibility of creating solid archive

Input

Input types

1.0: files and dirs;

2.0: files, dirs, metadata stored as messages triggers

Files and dirs (1.0)

Input objects number

1..unlimited

Host system memory limited (input object list is stored in a dynamic array of strings)

Input object size (of single objects)

0..2^64-1

0..2^64-1

Input object qualified name size (size 0 mean that archive object is a trigger, no input object mapped to the archive object)

1..2^16-1

1..32K (exceeding needs, longer values are considered errors)

Metadata

Objects attributes and last modification time, optionally comments and any kind of meta content using messages

Save object attributes and object last modification time. Restore only object attributes (on Microsoft Windows), nothing on *x



For a more complete explanation and discussion of the format specifications please see the documentation about Pea archive format (.pdf).

Software supporting PEA archives


Tag cloud: 7Z file format ACE files viewer backup tool Apple Mac OSX archive utility cloud email encryption compress data cryptography encrypt encrypted extract RAR files file archiver file archiving utility file compression software file compressor file splitter find duplicate files free archiver free RAR extractor free Zip files extraction tool GZip decompress handle Java archives hash verify file integrity ISO files manage self extracting archives Microsoft CAB packages open RAR files Open Source Linux archiver RAR archiver portable Zip software protect files from loss and unauthorized access RAR file opener rar to zip file converter read password protected files secure delete file eraser unpack TAR files unrar untar Windows unzip windows 64 bit archive manager ZIP file format ZIPX

extract rar filesDownload

free rar software downloads
PeaZip
PeaZip WIN64
PeaZip Portable
PeaZip Linux/BSD

manage rar archives wikiHelp

free rar files opener
More information
Tutorial & support
Frequently Asked Questions

© PeaZip srl, TOS and Privacy
Giorgio Tani
view encrypted filesDonate
free file archiver and compressor software
Support PeaZip project, or donate to FAO, UNICEF and UNESCO from donation page

Search
download free winrar winzip alternative
query developers' knowledge base, programmers feedback

wikipedia manual PeaZip Wiki (GitHub)
zipx files Releases Feed
rar files Torrents