Interface Crypto

All Known Implementing Classes:
CipherCrypto

public interface Crypto
Support for encrypting an entire database.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    decryptPage(long pageIndex, int pageSize, long pageAddr, int pageOffset)
    Called by multiple threads to decrypt a fixed-size database page.
    default void
    decryptPage(long pageIndex, int pageSize, long srcAddr, int srcOffset, long dstAddr, int dstOffset)
    Called by multiple threads to decrypt a fixed-size database page.
    default void
    encryptPage(long pageIndex, int pageSize, long pageAddr, int pageOffset)
    Called by multiple threads to encrypt a fixed-size database page.
    default void
    encryptPage(long pageIndex, int pageSize, long srcAddr, int srcOffset, long dstAddr, int dstOffset)
    Called by multiple threads to encrypt a fixed-size database page.
    Called to wrap an InputStream for supporting decryption.
    Called to wrap an OutputStream for supporting encryption.
  • Method Details

    • encryptPage

      default void encryptPage(long pageIndex, int pageSize, long pageAddr, int pageOffset) throws GeneralSecurityException
      Called by multiple threads to encrypt a fixed-size database page. Encrypted length must exactly match original length.
      Parameters:
      pageIndex - page index within database
      pageAddr - initially the original unencrypted page; replaced with encrypted page
      pageOffset - offset into page
      Throws:
      GeneralSecurityException
    • encryptPage

      default void encryptPage(long pageIndex, int pageSize, long srcAddr, int srcOffset, long dstAddr, int dstOffset) throws GeneralSecurityException
      Called by multiple threads to encrypt a fixed-size database page. Encrypted length must exactly match original length.
      Parameters:
      pageIndex - page index within database
      srcAddr - original unencrypted page
      srcOffset - offset into unencrypted page
      dstAddr - destination for encrypted page
      dstOffset - offset into encrypted page
      Throws:
      GeneralSecurityException
    • decryptPage

      default void decryptPage(long pageIndex, int pageSize, long pageAddr, int pageOffset) throws GeneralSecurityException
      Called by multiple threads to decrypt a fixed-size database page. Decrypted length must exactly match encrypted length.
      Parameters:
      pageIndex - page index within database
      pageAddr - initially the encrypted page; replaced with decrypted page
      pageOffset - offset into page
      Throws:
      GeneralSecurityException
    • decryptPage

      default void decryptPage(long pageIndex, int pageSize, long srcAddr, int srcOffset, long dstAddr, int dstOffset) throws GeneralSecurityException
      Called by multiple threads to decrypt a fixed-size database page. Decrypted length must exactly match encrypted length.
      Parameters:
      pageIndex - page index within database
      srcAddr - encrypted page
      srcOffset - offset into encrypted page
      dstAddr - destination for decrypted page
      dstOffset - offset into decrypted page
      Throws:
      GeneralSecurityException
    • newEncryptingStream

      Called to wrap an OutputStream for supporting encryption. Implementation of this method must be thread-safe, but the stream doesn't need to be.
      Parameters:
      out - encrypted data destination
      Returns:
      stream which encrypts all data
      Throws:
      GeneralSecurityException
      IOException
    • newDecryptingStream

      Called to wrap an InputStream for supporting decryption. Implementation of this method must be thread-safe, but the stream doesn't need to be.
      Parameters:
      in - encrypted data source
      Returns:
      stream which decrypts all data
      Throws:
      GeneralSecurityException
      IOException