module Pdfcryptprimitives:sig
..end
Generic encryption primitives for ARC4, AES and the SHA family of digests
val crypt : int array -> Pdfio.bytes -> Pdfio.bytes
ARC4 encryption (40 bit and 128 bit) given a key and some data
val aes_decrypt_data : ?remove_padding:bool -> int -> int array -> Pdfio.bytes -> Pdfio.bytes
aes_decrypt_data nk key data
decrypts AES data for the given key length,
key, and data. If remove_padding
is true
(which it is by default), padding
wil be removed from the output
val aes_decrypt_data_ecb : ?remove_padding:bool -> int -> int array -> Pdfio.bytes -> Pdfio.bytes
As aes_decrypt_data
above, but in ECB instead of CBC mode
val aes_encrypt_data : ?firstblock:int array -> int -> int array -> Pdfio.bytes -> Pdfio.bytes
aes_encrypt_data nk key data
encryptes with AES, given a key length, key
and data. The first block (by default a random one) can be overridden by
specifying firstblock
, an array of length 16.
val aes_encrypt_data_ecb : int -> int array -> Pdfio.bytes -> Pdfio.bytes
As aes_encrypt_data
, but in ECB instead of CBC mode
val sha256 : Pdfio.input -> string
SHA256 digest
val sha384 : Pdfio.input -> string
SHA344 digest
val sha512 : Pdfio.input -> string
SHA512 digest