SharpZipLib icon indicating copy to clipboard operation
SharpZipLib copied to clipboard

AES Support

Open dgrunwald opened this issue 10 years ago • 6 comments

SD-1649, originally created on 2/22/2010 08:18:51 by David Pierson

Add 128 and 256 bit AES support compatible with WinZip's implementation.


Comment from David Pierson on 2/22/2010 08:21:57: Mostly implemented. Creation via Zipfile and ZipOutputStream, and extraction via ZipFile is now handled (r499). Extraction via ZipInputStream is not implemented. FastZip is not implemented.


Progress:

  • Archive creation:
    • Key sizes:
      • [x] 128 bit
      • [ ] 192 bit¹
      • [x] 256 bit
    • API support:
      • [ ] Zipfile
      • [x] ZipOutputStream
  • Archive extraction:
    • Key sizes:
      • [x] 128 bit
      • [ ] 192 bit¹
      • [x] 256 bit
    • API support:
      • [x] Zipfile (Should be working?)
      • [ ] ZipInputStream - PR WIP #381
      • [x] FastZip

¹ Creation of archives with 192-bit key is not supported in any of the leading archiving applications (WinRAR, WinZip, 7-zip, info-zip, Keka).

dgrunwald avatar Dec 29 '13 17:12 dgrunwald

Are there plans to implement AES support for ZipInputStream? Is there an issue or a PR for it? What's the problem with it?

f00f avatar Dec 04 '19 08:12 f00f

Theres a partial implementation in #381, though i hit an issue with auth key handling that I wasn't sure how to fix simply and haven't had chance to look at it recently

Numpsy avatar Dec 04 '19 23:12 Numpsy

Yes, the "problem" is that ZipInputStream works very differently to ZipFile, so it has to be implemented in another (more complex) way.

piksel avatar Dec 30 '19 20:12 piksel

fwiw, I started looking at adding the encryption side pieces to ZipFile ages back and shelved it because I had no time, but i'm looking to get more of that done (#440 is a subset of the required change and tests anyway)

Numpsy avatar Apr 11 '20 20:04 Numpsy

WIP for creating AES encrypted files with ZipFile in #443

Numpsy avatar Apr 22 '20 20:04 Numpsy

Theres a partial implementation in #381, though i hit an issue with auth key handling that I wasn't sure how to fix simply and haven't had chance to look at it recently

The issue with the auth key is solved in #551

remogloor avatar Dec 11 '20 09:12 remogloor