This comment applies to ODF 1.2 Part 3,
Section 4.5 <manifest:algorithm>
Section 4.5
-----------
The second paragraph reads (with allowance for typography)
"When the manifest:algorithm-name attribute value matches one
Of those defined in section 3.2 of [xmlenc-core], the
<manifest:algorithm> element shall not have child elements
except those permitted as child elements of the
[xmlenc-core] <EncryptionMethod> element whose Algorithm
attribute value is the same as the ... "
Unfortunately, section 3.2 of [xmlenc-core] does not define
Any values for the Algorithm attribute, directly or by reference.
(Also, the word "Algorithm" should be in the fixed-pitch serif
Font used for element and attribute names in this spec.)
In addition, section 4.5 does not say anything about child
elements here when the manifest:algorithm value is an alternative
one as specified in section 4.8.1.
SUGGESTION
The correct reference is to section 5.2, not 3.2. A possible
rewording is
"When the manifest:algorithme-name attribute value matches one
Of those defined in section 5.2 of [xmlenc-core], the
<manifest:algorithm> element shall not have child elements
except those permitted as child elements of the section 3.2
[xmlenc-core] <Encryption Method> element whose ... "
NOTE: For the algorithms defined in section 5.2,
the only defined child element is <KeySize> and it is never
required since the identifiers determine that value. Also,
ODF 1.2 Part 3 uses a separate manifest:key-size and Part 3
does not use anything here for Blowfish, not even <KeySize>.
Further Observation
-------------------
In the case where alternative algorithms are named in accordance
with Part 3 section 4.8.1 (See OFFICE-3858), what also needs to
be implementation-defined is whether any IV is provided by
manifest:initialisation-vector or other means, and whether any
child elements are defined, optional or mandatory, as children of
<manifest:algorithm>.
-- Dennis E. Hamilton
dennis.hamilton@acm.org +1-206-779-9430
https://keybase.io/orcmid PGP F96E 89FF D456 628A