| < draft-blake-wilson-xmldsig-ecdsa-03.txt | draft-blake-wilson-xmldsig-ecdsa-04.txt > | |||
|---|---|---|---|---|
| S. Blake-Wilson, BCI | INTERNET-DRAFT S. Blake-Wilson, BCI | |||
| G. Karlinger, CIO Austria | G. Karlinger, CIO Austria | |||
| INTERNET-DRAFT Y. Wang, UNCC | Y. Wang, UNCC | |||
| Expires: 31 December 2002 30 June 2002 | T. Kobayashi, NTT | |||
| Expires: June 2003 December 2002 | ||||
| ECDSA with XML-Signature Syntax | ECDSA with XML-Signature Syntax | |||
| <draft-blake-wilson-xmldsig-ecdsa-03.txt> | <draft-blake-wilson-xmldsig-ecdsa-04.txt> | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is in full conformance with all | This document is an Internet-Draft and is in full conformance with all | |||
| provisions of Section 10 of RFC2026. Internet-Drafts are working | provisions of Section 10 of RFC2026. Internet-Drafts are working | |||
| documents of the Internet Engineering Task Force (IETF), its areas, | documents of the Internet Engineering Task Force (IETF), its areas, | |||
| and its working groups. Note that other groups may also distribute | and its working groups. Note that other groups may also distribute | |||
| working documents as Internet-Drafts. | working documents as Internet-Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| skipping to change at page 6, line 49 ¶ | skipping to change at page 6, line 49 ¶ | |||
| </xs:complexType> | </xs:complexType> | |||
| DTD Definition: | DTD Definition: | |||
| <!ELEMENT ExplicitParams (FieldParams, CurveParams, BasePointParams)> | <!ELEMENT ExplicitParams (FieldParams, CurveParams, BasePointParams)> | |||
| 3.4.2.1 Field Parameters | 3.4.2.1 Field Parameters | |||
| The element FieldParams is used for encoding field parameters. The | The element FieldParams is used for encoding field parameters. The | |||
| corresponding XML Schema type FieldParamsType is declared abstract and | corresponding XML Schema type FieldParamsType is declared abstract and | |||
| will be extended by specialized types for prime field an characteristic | will be extended by specialized types for prime field, characteristic | |||
| two field parameters. | two field and odd characteristic extension fields parameters. | |||
| The XML Schema type PrimeFieldParamsType is derived from FieldParamsType | The XML Schema type PrimeFieldParamsType is derived from FieldParamsType | |||
| and is used for for encoding prime field parameters. The type contains | and is used for for encoding prime field parameters. The type contains | |||
| as its single subelement P, the order of the prime field. | as its single subelement P, the order of the prime field. | |||
| The XML Schema type CharTwoFieldParamsType is derived from | The XML Schema type CharTwoFieldParamsType is derived from | |||
| FieldParamsType as well and is used for encoding parameters of a | FieldParamsType as well and is used for encoding parameters of a | |||
| characteristic two field. It is again an abstract type and will be | characteristic two field. It is again an abstract type and will be | |||
| extended by specialized types for trinomial base fields and pentanomial | extended by specialized types for trinomial base fields and pentanomial | |||
| base fields. F2m Gaussian Normal Base fields are not supported by this | base fields. F2m Gaussian Normal Base fields are not supported by this | |||
| skipping to change at page 7, line 28 ¶ | skipping to change at page 7, line 28 ¶ | |||
| CharTwoFieldParamsType and is used for encoding trinomial base fields. | CharTwoFieldParamsType and is used for encoding trinomial base fields. | |||
| It adds the single element K, which represents the integer k, where | It adds the single element K, which represents the integer k, where | |||
| x^m + x^k + 1 is the reduction polynomial. | x^m + x^k + 1 is the reduction polynomial. | |||
| The XML Schema type PnBFieldParamsType is derived from | The XML Schema type PnBFieldParamsType is derived from | |||
| CharTwoFieldParamsType as well and is used for encoding pentanomial base | CharTwoFieldParamsType as well and is used for encoding pentanomial base | |||
| fields. It adds the three elements K1, K2 and K3, which represent the | fields. It adds the three elements K1, K2 and K3, which represent the | |||
| integers k1, k2 and k3 respectively, where x^m + x^k3 + x^k2 + x^k1 + 1 | integers k1, k2 and k3 respectively, where x^m + x^k3 + x^k2 + x^k1 + 1 | |||
| is the reduction polynomial. | is the reduction polynomial. | |||
| The XML Schema type OddCharExtensionFieldParamsType is derived from | ||||
| FieldParamsType as well and is used for encoding parameters of a | ||||
| odd characteristic extension field. | ||||
| The type contains two elements M, the extension degree of the field, | ||||
| and W, which represent the integers w, | ||||
| where x^m - w is the reduction polynomial. | ||||
| Schema Definition: | Schema Definition: | |||
| <xs:complexType name="FieldParamsType" abstract="true"/> | <xs:complexType name="FieldParamsType" abstract="true"/> | |||
| <xs:complexType name="PrimeFieldParamsType"> | <xs:complexType name="PrimeFieldParamsType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldParamsType"> | <xs:extension base="ecdsa:FieldParamsType"> | |||
| <xs:sequence> | <xs:sequence> | |||
| <xs:element name="P" type="xs:positiveInteger"/> | <xs:element name="P" type="xs:positiveInteger"/> | |||
| </xs:sequence> | </xs:sequence> | |||
| skipping to change at page 8, line 4 ¶ | skipping to change at page 7, line 58 ¶ | |||
| <xs:complexType name="CharTwoFieldParamsType" abstract="true"> | <xs:complexType name="CharTwoFieldParamsType" abstract="true"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldParamsType"> | <xs:extension base="ecdsa:FieldParamsType"> | |||
| <xs:sequence> | <xs:sequence> | |||
| <xs:element name="M" type="xs:positiveInteger"/> | <xs:element name="M" type="xs:positiveInteger"/> | |||
| </xs:sequence> | </xs:sequence> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| <xs:complexType name="OddCharExtensionFieldParamsType" abstract="true"> | ||||
| <xs:complexContent> | ||||
| <xs:extension base="ecdsa:FieldParamsType"> | ||||
| <xs:sequence> | ||||
| <xs:element name="M" type="xs:positiveInteger"/> | ||||
| <xs:element name="W" type="xs:positiveInteger"/> | ||||
| </xs:sequence> | ||||
| </xs:extension> | ||||
| </xs:complexContent> | ||||
| </xs:complexType> | ||||
| <xs:complexType name="TnBFieldParamsType"> | <xs:complexType name="TnBFieldParamsType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:CharTwoFieldParamsType"> | <xs:extension base="ecdsa:CharTwoFieldParamsType"> | |||
| <xs:sequence> | <xs:sequence> | |||
| <xs:element name="K" type="xs:positiveInteger"/> | <xs:element name="K" type="xs:positiveInteger"/> | |||
| </xs:sequence> | </xs:sequence> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| skipping to change at page 10, line 15 ¶ | skipping to change at page 10, line 15 ¶ | |||
| 3.4.3 EC Points | 3.4.3 EC Points | |||
| The XML Schema type ECPointType is used for encoding a point on the | The XML Schema type ECPointType is used for encoding a point on the | |||
| elliptic curve. It consists of the subelements X and Y, providing the | elliptic curve. It consists of the subelements X and Y, providing the | |||
| x and y coordinates of the point. Point compression representation is | x and y coordinates of the point. Point compression representation is | |||
| not supported by this specification for the sake of simple design. | not supported by this specification for the sake of simple design. | |||
| The point at infinity is encoded by omitting both elements X and Y. | The point at infinity is encoded by omitting both elements X and Y. | |||
| The subelements X and Y are of type FieldElemType. This is an abstract | The subelements X and Y are of type FieldElemType. This is an abstract | |||
| type for encoding elements of the elliptic curveÆs underlying field and | type for encoding elements of the elliptic curveËs underlying field and | |||
| is extended by specialized types for prime field elements and | is extended by specialized types for prime field elements and | |||
| characteristic two field elements. | characteristic two field elements. | |||
| The XML Schema type PrimeFieldElemType is used for encoding prime field | The XML Schema type PrimeFieldElemType is used for encoding prime field | |||
| elements. It contains a single attribute named Value, whose value | elements. It contains a single attribute named Value, whose value | |||
| represents the field element as an integer. | represents the field element as an integer. | |||
| The XML Schema type CharTwoFieldElemType is used for encoding | The XML Schema type CharTwoFieldElemType is used for encoding | |||
| characteristic two field elements. It Contains a single attribute named | characteristic two field elements. It Contains a single attribute named | |||
| Value, whose value represents the field element as an octet string. The | Value, whose value represents the field element as an octet string. The | |||
| skipping to change at page 11, line 4 ¶ | skipping to change at page 10, line 48 ¶ | |||
| <xs:complexType name="FieldElemType" abstract="true"/> | <xs:complexType name="FieldElemType" abstract="true"/> | |||
| <xs:complexType name="PrimeFieldElemType"> | <xs:complexType name="PrimeFieldElemType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldElemType"> | <xs:extension base="ecdsa:FieldElemType"> | |||
| <xs:attribute name="Value" type="xs:nonNegativeInteger" | <xs:attribute name="Value" type="xs:nonNegativeInteger" | |||
| use="required"/> | use="required"/> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| <xs:complexType name="OddCharExtensionFieldElemType"> | ||||
| <xs:complexContent> | ||||
| <xs:extension base="ecdsa:FieldElemType"> | ||||
| <xs:attribute name="Value" type="xs:nonNegativeInteger" | ||||
| use="required"/> | ||||
| </xs:extension> | ||||
| </xs:complexContent> | ||||
| </xs:complexType> | ||||
| <xs:complexType name="CharTwoFieldElemType"> | <xs:complexType name="CharTwoFieldElemType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldElemType"> | <xs:extension base="ecdsa:FieldElemType"> | |||
| <xs:attribute name="Value" type="xs:hexBinary" | <xs:attribute name="Value" type="xs:hexBinary" | |||
| use="required"/> | use="required"/> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| 4. Security Considerations | 4. Security Considerations | |||
| skipping to change at page 13, line 27 ¶ | skipping to change at page 13, line 27 ¶ | |||
| 96 Spadina Ave, Unit 606 | 96 Spadina Ave, Unit 606 | |||
| Toronto, ON, M5V 2J6, Canada | Toronto, ON, M5V 2J6, Canada | |||
| e-mail: sblakewilson@bcisse.com | e-mail: sblakewilson@bcisse.com | |||
| Gregor Karlinger | Gregor Karlinger | |||
| Chief Information Office Austria | Chief Information Office Austria | |||
| Parkring 10/I/5 | Parkring 10/I/5 | |||
| 1010 Wien, Austria | 1010 Wien, Austria | |||
| e-mail: gregor.karlinger@cio.gv.at | e-mail: gregor.karlinger@cio.gv.at | |||
| Tetsutaro Kobayashi | ||||
| NTT Laboratories | ||||
| 1-1 Hikarinooka, Yokosuka, 239-0847, Japan | ||||
| Phone: +81-468-59-3712 | ||||
| FAX: +81-468-59-3365 | ||||
| email: kotetsu@isl.ntt.co.jp | ||||
| Yongge Wang | Yongge Wang | |||
| University of North Carolina at Charlotte | University of North Carolina at Charlotte | |||
| 9201 University City Blvd | 9201 University City Blvd | |||
| Charlotte, NC 28223, USA | Charlotte, NC 28223, USA | |||
| e-mail: ywang@uncc.edu | e-mail: yonwang@uncc.edu | |||
| 8. Acknowledgements | 8. Acknowledgements | |||
| The authors would like to acknowledge the many helpful comments of | The authors would like to acknowledge the many helpful comments of | |||
| Wolfgang Bauer, Donald Eastlake, Tom Gindin, Chris Hawk, Joseph M. | Wolfgang Bauer, Donald Eastlake, Tom Gindin, Chris Hawk, Joseph M. | |||
| Reagle Jr., and Francois Rousseau. | Reagle Jr., and Francois Rousseau. | |||
| 9. Full Copyright Statement | 9. Full Copyright Statement | |||
| Copyright (C) The Internet Society (1999). All Rights Reserved. | Copyright (C) The Internet Society (1999). All Rights Reserved. | |||
| skipping to change at page 15, line 28 ¶ | skipping to change at page 15, line 28 ¶ | |||
| <xs:complexType name="PrimeFieldParamsType"> | <xs:complexType name="PrimeFieldParamsType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldParamsType"> | <xs:extension base="ecdsa:FieldParamsType"> | |||
| <xs:sequence> | <xs:sequence> | |||
| <xs:element name="P" type="xs:positiveInteger"/> | <xs:element name="P" type="xs:positiveInteger"/> | |||
| </xs:sequence> | </xs:sequence> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| <xs:complexType name="OddCharExtensionFieldParamsType"> | ||||
| <xs:complexContent> | ||||
| <xs:extension base="ecdsa:FieldParamsType"> | ||||
| <xs:sequence> | ||||
| <xs:element name="M" type="xs:positiveInteger"/> | ||||
| <xs:element name="W" type="xs:positiveInteger"/> | ||||
| </xs:sequence> | ||||
| </xs:extension> | ||||
| </xs:complexContent> | ||||
| </xs:complexType> | ||||
| <xs:complexType name="CharTwoFieldParamsType" abstract="true"> | <xs:complexType name="CharTwoFieldParamsType" abstract="true"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldParamsType"> | <xs:extension base="ecdsa:FieldParamsType"> | |||
| <xs:sequence> | <xs:sequence> | |||
| <xs:element name="M" type="xs:positiveInteger"/> | <xs:element name="M" type="xs:positiveInteger"/> | |||
| </xs:sequence> | </xs:sequence> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| <xs:complexType name="TnBFieldParamsType"> | <xs:complexType name="TnBFieldParamsType"> | |||
| skipping to change at page 17, line 15 ¶ | skipping to change at page 17, line 15 ¶ | |||
| <xs:complexType name="FieldElemType" abstract="true"/> | <xs:complexType name="FieldElemType" abstract="true"/> | |||
| <xs:complexType name="PrimeFieldElemType"> | <xs:complexType name="PrimeFieldElemType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldElemType"> | <xs:extension base="ecdsa:FieldElemType"> | |||
| <xs:attribute name="Value" type="xs:nonNegativeInteger" | <xs:attribute name="Value" type="xs:nonNegativeInteger" | |||
| use="required"/> | use="required"/> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| <xs:complexType name="OddCharExtensionFieldElemType"> | ||||
| <xs:complexContent> | ||||
| <xs:extension base="ecdsa:FieldElemType"> | ||||
| <xs:attribute name="Value" type="xs:nonNegativeInteger" | ||||
| use="required"/> | ||||
| </xs:extension> | ||||
| </xs:complexContent> | ||||
| </xs:complexType> | ||||
| <xs:complexType name="CharTwoFieldElemType"> | <xs:complexType name="CharTwoFieldElemType"> | |||
| <xs:complexContent> | <xs:complexContent> | |||
| <xs:extension base="ecdsa:FieldElemType"> | <xs:extension base="ecdsa:FieldElemType"> | |||
| <xs:attribute name="Value" type="xs:hexBinary" | <xs:attribute name="Value" type="xs:hexBinary" | |||
| use="required"/> | use="required"/> | |||
| </xs:extension> | </xs:extension> | |||
| </xs:complexContent> | </xs:complexContent> | |||
| </xs:complexType> | </xs:complexType> | |||
| </xs:schema> | </xs:schema> | |||
| skipping to change at page 17, line 40 ¶ | skipping to change at page 17, line 48 ¶ | |||
| <!ATTLIST X Value CDATA #REQUIRED> | <!ATTLIST X Value CDATA #REQUIRED> | |||
| <!ELEMENT Y EMPTY> | <!ELEMENT Y EMPTY> | |||
| <!ATTLIST Y Value CDATA #REQUIRED> | <!ATTLIST Y Value CDATA #REQUIRED> | |||
| <!ELEMENT DomainParameters (ExplicitParams | NamedCurve)> | <!ELEMENT DomainParameters (ExplicitParams | NamedCurve)> | |||
| <!ELEMENT NamedCurve EMPTY> | <!ELEMENT NamedCurve EMPTY> | |||
| <!ATTLIST NamedCurve URN CDATA #REQUIRED> | <!ATTLIST NamedCurve URN CDATA #REQUIRED> | |||
| <!ELEMENT ExplicitParams (FieldParams, CurveParams, BasePointParams)> | <!ELEMENT ExplicitParams (FieldParams, CurveParams, BasePointParams)> | |||
| <!ELEMENT FieldParams (P | (M, K) | (M, K1, K2, K3))> | <!ELEMENT FieldParams (P | (M, K) | (M, K1, K2, K3))> | |||
| <!ELEMENT P (#PCDATA)> | <!ELEMENT P (#PCDATA)> | |||
| <!ELEMENT M (#PCDATA)> | <!ELEMENT M (#PCDATA)> | |||
| <!ELEMENT W (#PCDATA)> | ||||
| <!ELEMENT K (#PCDATA)> | <!ELEMENT K (#PCDATA)> | |||
| <!ELEMENT K1 (#PCDATA)> | <!ELEMENT K1 (#PCDATA)> | |||
| <!ELEMENT K2 (#PCDATA)> | <!ELEMENT K2 (#PCDATA)> | |||
| <!ELEMENT K3 (#PCDATA)> | <!ELEMENT K3 (#PCDATA)> | |||
| <!ELEMENT CurveParams (A, B, Seed?)> | <!ELEMENT CurveParams (A, B, Seed?)> | |||
| <!ELEMENT A EMPTY> | <!ELEMENT A EMPTY> | |||
| <!ATTLIST A Value CDATA #REQUIRED> | <!ATTLIST A Value CDATA #REQUIRED> | |||
| <!ELEMENT B EMPTY> | <!ELEMENT B EMPTY> | |||
| <!ATTLIST B Value CDATA #REQUIRED> | <!ATTLIST B Value CDATA #REQUIRED> | |||
| <!ELEMENT Seed (#PCDATA)> | <!ELEMENT Seed (#PCDATA)> | |||
| End of changes. 13 change blocks. | ||||
| 8 lines changed or deleted | 62 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||