ACTION-229: Detailing differences in ECC scheme proposals

All,

Following up on ACTION-229 that I (and Brian) got last week, here's a 
simplified variant of my earlier proposal that both Brian and I feel 
reasonably comfortable with. The difference between this and the earlier 
proposal is that we now require both the base point and the curve to be 
verifiably random - if validation data is supplied. This simplifies the 
schema as well as the validation, and I don't see that it would be a 
burden for curve generation.

For discussion at tomorrow's call.

<complexType name="ECParametersType">
   <sequence>
     <element name="FieldID" type="dsig11:FieldIDType"/>
     <element name="Curve" type="dsig11:CurveType"/>
     <element name="Base" type="dsig11:ECPointType"/>
     <element name="Order" type="ds:CryptoBinary"/>
     <element name="CoFactor" type="integer" minOccurs="0"/>
     <element name="ECValidationData"
              type="dsig11:ECValidationDataType" minOccurs="0"/>
   </sequence>
</complexType>

<complexType name="ECValidationDataType">
   <sequence>
     <element name="seed" type="ds:CryptoBinary"/>
   </sequence>
   <attribute name="hashAlgorithm" type="anyURI" use="required" [? Not certain] />
</complexType>

(i.e. if validation data is present, then both the curve and the base 
point shall be randomly generated)

... and remove the "seed" element from the curve type:

<complexType name="CurveType">
   <sequence>
     <element name="A" type="ds:CryptoBinary"/>
     <element name="B" type="ds:CryptoBinary"/>
   </sequence>
</complexType>

-- Magnus

Received on Monday, 16 March 2009 20:24:37 UTC