# Package org.apache.poi.poifs.crypt

Implementation of the ECMA-376 and MS-propritary document encryptions

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  EncryptionInfoBuilder |

- Class Summary
  Class | Description
  --- | ---
  ChunkedCipherInputStream |
  ChunkedCipherOutputStream |
  CryptoFunctions | Helper functions used for standard and agile encryption
  DataSpaceMapUtils |
  DataSpaceMapUtils.DataSpaceDefinition |
  DataSpaceMapUtils.DataSpaceMap |
  DataSpaceMapUtils.DataSpaceMapEntry |
  DataSpaceMapUtils.DataSpaceVersionInfo |
  DataSpaceMapUtils.IRMDSTransformInfo |
  DataSpaceMapUtils.TransformInfoHeader |
  Decryptor |
  EncryptionHeader | Reads and processes OOXML Encryption Headers The constants are largely based on ZIP constants.
  EncryptionInfo | This class may require `poi-ooxml` to be on the classpath to load some `EncryptionMode`s.
  EncryptionVerifier | Used when checking if a key is valid for a document
  Encryptor |

- Enum Summary
  Enum | Description
  --- | ---
  ChainingMode |
  CipherAlgorithm |
  CipherProvider |
  EncryptionMode | Office supports various encryption modes.
  HashAlgorithm |

## Package org.apache.poi.poifs.crypt Description

Implementation of the ECMA-376 and MS-propritary document encryptions

The implementation is split into the following packages:

- This package contains common functions for both current implemented cipher modes.
- the `agile` package is part of the poi ooxml jar and the provides agile encryption support.
- the `binaryrc` package is used for the fixed length RC4 encryption of biff/H**F formats
- the `cryptoapi` package is used for the variable length RC encryption of biff/H**F formats
- the `standard` package contains classes for the standard encryption ...
- the `xor` package contains classes for the xor obfuscation of biff/H**F formats

See Also:
  Apache POI - Encryption support, ECMA-376 Document Encryption

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.