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, byte[] page, int pageOffset)
    Called by multiple threads to decrypt a fixed-size database page.
    void
    decryptPage(long pageIndex, int pageSize, byte[] src, int srcOffset, byte[] dst, int dstOffset)
    Called by multiple threads to decrypt a fixed-size database page.
    default void
    decryptPage(long pageIndex, int pageSize, long pagePtr, int pageOffset)
    Called by multiple threads to decrypt a fixed-size database page.
    default void
    decryptPage(long pageIndex, int pageSize, long srcPtr, int srcOffset, long dstPtr, int dstOffset)
    Called by multiple threads to decrypt a fixed-size database page.
    default void
    encryptPage(long pageIndex, int pageSize, byte[] page, int pageOffset)
    Called by multiple threads to encrypt a fixed-size database page.
    void
    encryptPage(long pageIndex, int pageSize, byte[] src, int srcOffset, byte[] dst, int dstOffset)
    Called by multiple threads to encrypt a fixed-size database page.
    default void
    encryptPage(long pageIndex, int pageSize, long pagePtr, int pageOffset)
    Called by multiple threads to encrypt a fixed-size database page.
    default void
    encryptPage(long pageIndex, int pageSize, long srcPtr, int srcOffset, long dstPtr, 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, byte[] page, 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
      page - initially the original unencrypted page; replaced with encrypted page
      pageOffset - offset into page
      Throws:
      GeneralSecurityException
    • encryptPage

      void encryptPage(long pageIndex, int pageSize, byte[] src, int srcOffset, byte[] dst, 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
      src - original unencrypted page
      srcOffset - offset into unencrypted page
      dst - destination for encrypted page
      dstOffset - offset into encrypted page
      Throws:
      GeneralSecurityException
    • encryptPage

      default void encryptPage(long pageIndex, int pageSize, long pagePtr, 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
      pagePtr - initially the original unencrypted page; replaced with encrypted page
      pageOffset - offset into page
      Throws:
      GeneralSecurityException
    • encryptPage

      default void encryptPage(long pageIndex, int pageSize, long srcPtr, int srcOffset, long dstPtr, 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
      srcPtr - original unencrypted page
      srcOffset - offset into unencrypted page
      dstPtr - destination for encrypted page
      dstOffset - offset into encrypted page
      Throws:
      GeneralSecurityException
    • decryptPage

      default void decryptPage(long pageIndex, int pageSize, byte[] page, 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
      page - initially the encrypted page; replaced with decrypted page
      pageOffset - offset into page
      Throws:
      GeneralSecurityException
    • decryptPage

      void decryptPage(long pageIndex, int pageSize, byte[] src, int srcOffset, byte[] dst, 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
      src - encrypted page
      srcOffset - offset into encrypted page
      dst - destination for decrypted page
      dstOffset - offset into decrypted page
      Throws:
      GeneralSecurityException
    • decryptPage

      default void decryptPage(long pageIndex, int pageSize, long pagePtr, 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
      pagePtr - initially the encrypted page; replaced with decrypted page
      pageOffset - offset into page
      Throws:
      GeneralSecurityException
    • decryptPage

      default void decryptPage(long pageIndex, int pageSize, long srcPtr, int srcOffset, long dstPtr, 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
      srcPtr - encrypted page
      srcOffset - offset into encrypted page
      dstPtr - 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