<?xml version="1.0" encoding="UTF-8"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="1149" category="std" ipr="trust200902" consensus="true" obsoletes="RFC 1000, 10.17487/RFC1000, RFC 1200, 10.17487/RFC1200" updates="RFC 2010, 10.17487/RFC2010, RFC 2120, 10.17487/RFC2120" submissionType="IETF" xml:lang="en" version="3" >
  <link href="RFC 1149" rel="convertedfrom" />
  <front>
    <title abbrev="IP Datagrams on Avian Carriers">RFC XML v3 Example: A Standard for the Transmission of IP Datagrams on Avian Carriers</title>
    <author initials="D" surname="Waitzman">
      <organization>BBN STC</organization>
      <address>
        <postal>
          <postalLine ascii="10 Moulton Street">10 Moulton Street</postalLine>
          <postalLine ascii="Cambridge">Cambridge</postalLine>
          <postalLine ascii="MA 02238">MA 02238</postalLine>
        </postal>
        <phone>(617) 873-4323</phone>
        <email>dwaitzman@BBN.COM</email>
        <uri>http://bbn.com</uri>
      </address>
    </author>
    <author initials="N" surname="Nicholas">
      <organization>BBN STC</organization>
      <address>
        <postal>
          <postalLine ascii="10 Moulton Street">10 Moulton Street</postalLine>
          <postalLine ascii="Cambridge">Cambridge</postalLine>
          <postalLine ascii="MA 02238">MA 02238</postalLine>
        </postal>
        <phone>(617) 873-4323</phone>
        <email>opoudjis@gmail.com</email>
        <uri>http://opoudjis.net</uri>
      </address>
    </author>
    <date day="5" year="2026" month="April"></date>
    <area>Internet</area>
    <workgroup>Network Working Group</workgroup>
    <abstract>

<t anchor="_c72e4364-d18b-73a9-cd8a-737e1c55eed6">Avian carriers can provide high delay, low throughput, and low altitude service.  The connection topology is limited to a single point-to-point path for each carrier, used with standard carriers, but many carriers can be used without significant interference with each other, outside of early spring.  This is because of the 3D ether space available to the carriers, in contrast to the 1D ether used by IEEE802.3.  The carriers have an intrinsic collision avoidance system, which increases availability.  Unlike some network technologies, such as packet radio, communication is not limited to line-of-sight distance.  Connection oriented service is available in some cities, usually based upon a central hub topology.</t>


</abstract>
    <note><t anchor="_f904fd0b-239f-7903-55b5-3057711da163">Yes, this is an April Fool's RFC.</t>
</note>
  </front>
  <middle>
    <section anchor="frame"><name>Frame Format</name>

<t anchor="_e5b93d18-9b70-055e-f3ea-e7d3e221cb31">The IP <em>datagram</em> is <strong>printed</strong>, on a small scroll of paper, in hexadecimal, with each octet separated by whitestuff and blackstuff. The scroll of paper is wrapped around one leg of the avian carrier. A band of duct tape is used to secure the datagram's edges.  The bandwidth is limited to the leg length.  The MTU is variable, and paradoxically, generally increases with increased carrier age.  A typical MTU is 256 milligrams.  Some datagram padding may be needed.<xref target="RFC7253" section="" relative="">alt</xref></t>

<t anchor="_cbfa7d28-50f5-f4d4-8920-3ff81bb853de">Upon receipt, the duct tape is removed and the paper copy of the datagram is optically scanned into a electronically transmittable form.<xref target="RFC7253" section="" relative=""></xref></t>

<t anchor="_fc8f9bad-4c2e-b401-b3d3-cb0f27d860c0">This document extends OpenPGP and its ECC extension to support SM2, SM3 and SM4:</t>

<ul anchor="_11114aa2-d4d3-dc06-3f39-b73ad2a1e845"><li>support the SM3 hash algorithm for data validation purposes</li>
<li>support signatures utilizing the combination of SM3 with other digital signing algorithms, such as RSA, ECDSA and SM2</li>
<li>support the SM2 asymmetric encryption algorithm for public key operations</li>
<li>support usage of SM2 in combination with supported hash algorithms, such as SHA-256 and SM3</li>
<li>support the SM4 symmetric encryption algorithm for data protection purposes</li>
<li>defines the OpenPGP profile "OSCCA-SM234" to enable usage of OpenPGP in an OSCCA-compliant manner.</li>
</ul>

<t anchor="_4b2313ce-fea3-eceb-2685-e9273bfe3c5f">Algorithm-Specific Fields for SM2DSA keys:</t>

<ul anchor="_89dbcd4e-108d-9cf0-7ed6-9b0ef9295fa2"><li><t anchor="_fe06d2f8-ca68-409e-9de1-b5bc9a808ed0">a variable-length field containing a curve OID, formatted as follows:</t>
<ol anchor="_17a18a84-e68b-f34c-7ca5-11679fb126bf" type="a"><li>a one-octet size of the following field; values 0 and 0xFF are reserved for future extensions</li>
<li>octets representing a curve OID.</li>
</ol>
</li>
<li>MPI of an EC point representing a public key</li>
</ul>

<section anchor="_b1474689-968c-d908-ec3c-52106a8e875b"><name>Definitions</name>

<dl anchor="_188c1a32-874f-ef99-a4e5-24156e77be2b"><dt>OSCCA-compliant:</dt><dd anchor="_2c9455c4-4da3-7bc6-4086-0552e4f2e2d7"><t anchor="_5adcd946-10f3-f180-1cbb-f92b4fabcca2">All cryptographic algorithms used are compliant with OSCCA  regulations.</t>
</dd><dt>SM2DSA:</dt><dd anchor="_7b3b9b29-a8d6-5212-a466-05a95dc958b8"><t anchor="_d180edc5-58f8-2e9c-b0fe-e8bc3c1dc0f2">The elliptic curve digital signature algorithm. <xref target="ISO.IEC.10118-3" section="" relative=""></xref></t>
</dd><dt>SM2KEP:</dt><dd anchor="_8b7e1db2-3e31-e655-5f70-c3c628b2333a"><t anchor="_25816a40-fcab-ddd3-59c1-c36e64922ead">The elliptic curve key exchange protocol.</t>
</dd><dt>SM2PKE:</dt><dd anchor="_0116d3dc-faf1-2b5c-6d96-3d0e43c0319c"><t anchor="_987ddefc-c7ab-b1a9-8e61-63fffb1d2c9e">The public key encryption algorithm.</t>
</dd></dl>

<section anchor="_6fba1756-f50c-b73f-e7ae-de44b06779dd"><name>Elliptic Curve Formula</name>

<t anchor="_715e97cf-cc6f-9198-2c02-2a02635bb1a7">$$ y^2 = x^3 + ax + b $$    (1)</t>
</section>

<section anchor="_0668a897-0729-7359-eab6-8d077ee7d57e"><name>Curve Parameters</name>

<figure anchor="curveparam1">

<name>Curve Parameters Listing</name><artwork type="ascii-art"><![CDATA[p   = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
      FFFFFFFF 00000000 FFFFFFFF FFFFFFFF
a   = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
      FFFFFFFF 00000000 FFFFFFFF FFFFFFFC
b   = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7
      F39789F5 15AB8F92 DDBCBD41 4D940E93
n   = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
      7203DF6B 21C6052B 53BBF409 39D54123
x_G = 32C4AE2C 1F198119 5F990446 6A39C994
      8FE30BBF F2660BE1 715A4589 334C74C7
y_G = BC3736A2 F4F6779C 59BDCEE3 6B692153
      D0A9877C C62A4740 02DF32E5 2139F0A0]]></artwork></figure>
</section>
</section>
</section>
    <section anchor="_d5a85061-7303-41bd-5529-02ec3201dfe0"><name>Code to launch spaceship</name>

<sourcecode anchor="_8abc4413-b0aa-2586-57e2-b7d8276f1e34" type="ruby"><![CDATA[<CODE BEGINS>
module Foo
  class Bar
    def prepare_launch(spaceship, rocket)
      spaceship.load_personnel
      rocket.load(spaceship)
      rocket
    end
  end
end
<CODE ENDS>]]></sourcecode>

</section>
    <section anchor="_d9df8192-4e34-7d26-aaf2-3a74d971dbc1"><name>Supported Algorithms</name>

<section anchor="_131fa81d-7b45-e79d-ae30-55d9a9944512"><name>Public Key Algorithms</name>

<t anchor="_dbf9c7d4-7e2b-f423-6695-bfa7f24883c5">The SM2 algorithm is supported with the following extension.</t>

<aside anchor="_eeef76c5-c355-62fd-62be-150d1905b285"><t>NOTE: ECDH is defined in Section 8 of this document.</t></aside>

<t anchor="_5555327b-ccda-8f33-5ca9-d63c61d41122">The following public key algorithm IDs are added to expand Section 9.1 of RFC4880, "Public-Key Algorithms":</t>

<table anchor="_1989e233-0cf6-dc99-4526-e418f56d3465"><name>Table 2</name><thead><tr><th align="left">ID</th><th align="left">Description of Algorithm</th></tr></thead><tbody><tr><td align="left">TBD</td><td align="left">SM2</td></tr></tbody></table>
</section>
</section>
    <section anchor="_c1643524-e296-14ab-92b8-5a12f4f44ece"><name>Security Considerations</name>

<t anchor="_84ba58f1-507c-e7eb-23e2-982c6903e8c4">Security is not generally a problem in normal operation, but special<br /> measures  <bcp14>MUST</bcp14> be taken (such as data encryption) when avian carriers are used in a tactical environment.<xref target="RFC7253" section="" relative=""></xref>, <xref target="ISO.IEC.10118-3" section="" relative=""></xref></t>
</section>
  </middle>
  <back>
    <references anchor="_ba8223ff-69ca-6543-2729-60d065a5c3f1">
      <name>Normative  References</name>
      <reference target="https://www.iso.org/standard/67116.html" anchor="ISO.IEC.10118-3"><front> <title>IT Security techniques - Hash-functions - Part 3: Dedicated hash-functions</title> <author><organization ascii="International Organization for Standardization" abbrev="ISO">International Organization for Standardization</organization></author> <author><organization ascii="International Electrotechnical Commission" abbrev="IEC">International Electrotechnical Commission</organization></author> </front> <refcontent>ISO/IEC 10118-3</refcontent></reference>
    </references>
    <references anchor="_066aaa76-ef2b-c21d-9570-78cd8274f548">
      <name>Informative References</name>
      <reference target="https://www.rfc-editor.org/info/rfc7253" anchor="RFC7253"><stream>IRTF</stream> <front> <title>The OCB Authenticated-Encryption Algorithm</title> <author fullname="T. Krovetz" asciiFullname="T. Krovetz"></author> <author fullname="P. Rogaway" asciiFullname="P. Rogaway"></author> <date month="May" year="2014"></date> <keyword>OCB</keyword><keyword>AEAD</keyword><keyword>authenticated-encryption</keyword> <abstract>  <t anchor="_f96b2966-2475-cfe1-a40b-d802ae087fa6">This document specifies OCB, a shared-key blockcipher-based encryption scheme that provides confidentiality and authenticity for plaintexts and authenticity for associated data. This document is a product of the Crypto Forum Research Group (CFRG).</t></abstract> </front> <seriesInfo value="10.17487/RFC7253" name="DOI"></seriesInfo> <seriesInfo value="7253" name="RFC"></seriesInfo></reference>
    </references>
  </back>
</rfc>
