Adobe 12020596 User Guide - Page 22

Crypt Filters

Page 22 highlights

Adobe Acrobat SDK Adobe® Supplement to the ISO 32000 Syntax (Chapter 3 in PDF Reference) 3.5.4 Crypt Filters 22 3.5.4 Crypt Filters Modify Table 3.22 where only changed entries are shown. Unchanged content is shown in gray. KEY CFM Length TABLE 3.22 Entries common to all crypt filter dictionaries TYPE VALUE name (Optional) The method used, if any, by the consumer application to decrypt data. The following values are supported: None The application does not decrypt data but directs the input stream to the security handler for decryption. (See implementation note 30 in Appendix H.) V2 The application asks the security handler for the encryption key and implicitly decrypts data with Algorithm 3.1, using the RC4 algorithm. AESV2 (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data with Algorithm 3.1, using the AES-128 algorithm in Cipher Block Chaining (CBC) with padding mode with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. The key size (Length) shall be 128 bits. AESV3 (ExtensionLevel 3) The application asks the security handler for the encryption key and implicitly decrypts data with Algorithm 3.1a, using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. The key size (Length) shall be 256 bits. When the value is V2, AESV2, or AESV3, the application may ask once for this encryption key and cache the key for subsequent use for streams that use the same crypt filter. Therefore, there must be a one-to-one relationship between a crypt filter name and the corresponding encryption key. Only the values listed here are supported. Applications that encounter other values should report that the file is encrypted with an unsupported algorithm. Default value: None. integer (Required if the value for the V key in Table 3.18 is 2 or 3, optional otherwise) The bit length of the encryption key. It must be a multiple of 8 in the range of 40 to 128 256. Note: Security handlers can define their own use of the Length entry but are encouraged to use it to define the bit length of the encryption key.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140

Adobe Acrobat SDK
Syntax (Chapter 3 in PDF Reference)
AdobeĀ® Supplement to the ISO 32000
3.5.4 Crypt Filters
22
3.5.4 Crypt Filters
Modify Table 3.22 where only changed entries are shown. Unchanged content is shown in gray.
TABLE 3.22 Entries common to all crypt filter dictionaries
KEY
TYPE
VALUE
CFM
name
(Optional) The method used, if any, by the consumer application to
decrypt data. The following values are supported:
None
The application does not decrypt data but directs the input
stream to the security handler for decryption. (See implementation
note 30 in Appendix H.)
V2
The application asks the security handler for the encryption key
and implicitly decrypts data with Algorithm 3.1, using the RC4
algorithm.
AESV2
(
PDF 1.6
) The application asks the security handler for the
encryption key and implicitly decrypts data with Algorithm 3.1, using
the
AES-128
algorithm in Cipher Block Chaining (CBC)
with padding
mode
with a 16-byte block size and an initialization vector that is
randomly generated and placed as the first 16 bytes in the stream or
string.
The key size (
Length
) shall be 128 bits.
AESV3
(
ExtensionLevel 3
) The application asks the security handler
for the encryption key and implicitly decrypts data with
Algorithm 3.1a, using the AES-256 algorithm in Cipher Block
Chaining (CBC) with padding mode with a 16-byte block size and an
initialization vector that is randomly generated and placed as the
first 16 bytes in the stream or string. The key size (Length) shall be
256 bits.
When the value is V2, AESV2
, or AESV3,
the application may ask once for
this encryption key and cache the key for subsequent use for streams
that use the same crypt filter. Therefore, there must be a one-to-one
relationship between a crypt filter name and the corresponding
encryption key.
Only the values listed here are supported. Applications that encounter
other values should report that the file is encrypted with an
unsupported algorithm.
Default value:
None
.
Length
integer
(
Required if the value for the V key in Table 3.18 is 2 or 3, optional otherwise
)
The bit length of the encryption key. It must be a multiple of 8 in the
range of 40 to
128
256.
Note:
Security handlers can define their own use of the
Length
entry
but are encouraged to use it to define the bit length of the
encryption key.