<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-muhammad-apkp-pqcprotocol-01" category="exp" submissionType="independent" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Pure PQ Protocol">New Pure Post-Quantum Protocol Specification</title>
    <seriesInfo name="Internet-Draft" value="draft-muhammad-apkp-pqcprotocol-01"/>
    <author initials="A." surname="Muhammad" fullname="Abdelaziz Muhammad">
      <organization/>
      <address>
        <postal>
          <city>Cairo</city>
          <country>Egypt</country>
        </postal>
        <email>abdoprofessional1011@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="18"/>
    <abstract>
      <?line 91?>

<t>The Abdelaziz Pure Key Protocol, a.k.a. APKP, was designed to protect systems with pure post-quantum mechanics and transition to full PQC in the future. It is used in high-security environments to protect against quantum attacks.</t>
    </abstract>
  </front>
  <middle>
    <?line 95?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Abdelaziz Pure Key Protocol is a pure PQC protocol designed to protect systems against transport layer attacks using post-quantum algorithms. It was designed with privacy and security in mind. The protocol uses a variety of algorithms and techniques to ensure the protocol is heavily secured. It is intented for all audiences around the world, no matter if they are ordinay of cryptographers, or workers. It is designed for everyone. It can be used in any service. including VPNs, finance services, etc. Every packet going into the service MUST be timestamped and nonced. The clients that connect MUST also solve the PoW. If the PoW is missing, malformed, or takes &gt;450ms to solve, the connection is aborted instantly.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
   capitals, as shown here.</t>
    </section>
    <section anchor="explanation-of-each-task-and-algorithm">
      <name>Explanation of Each 'Task' and Algorithm</name>
      <t>In this section, each "task" and algorithm's functions and operations are explained, along with how they are used in specific areas of the protocol.</t>
      <section anchor="cryptographic-based-pow-solving">
        <name>Cryptographic-Based PoW Solving</name>
        <t>It is a "task". Its function is to make clients solve a cryptographic hash that is completely different for each connection, along with different instructions to solve.</t>
      </section>
      <section anchor="ml-dsa">
        <name>ML-DSA</name>
        <t>It is an MLWE Digital Signature Algorithm <xref target="FIPS204"/> primarily used outside the protocol for mutual authentication. Its function in the protocol is to sign and verify to ensure that the server is the only destination recipient. When a service is booted, a 3-hour rotating ML-DSA signature is generated. It is required for the client to generate an ML-DSA signature for every connection.</t>
      </section>
      <section anchor="ml-kem-768">
        <name>ML-KEM-768</name>
        <t>It is a post-quantum MLWE algorithm <xref target="FIPS203"/> primarily used to derive the shared secret and encapsulate ciphertext. Its function in the protocol is to derive an SS (Shared Secret) and encapsulate ciphertext. When a service is booted up, it uses ephemeral 3-hour rotating ML-KEM keypairs. It is also required for the client to generate rotating ML-KEM keypairs every time a connection is made.</t>
      </section>
      <section anchor="hqc-256">
        <name>HQC-256</name>
        <t>It is a code-based PQC algorithm <xref target="HQC-SPEC"/> used with ML-KEM. HQC-256 is also used to encapsulate ciphertext but adds intended noise to the ciphertext. HQC is also used with ML-KEM to generate the final master keys for AES.</t>
      </section>
      <section anchor="aes-256-gcm">
        <name>AES-256-GCM</name>
        <t>It is an encryption algorithm primarily used outside the protocol for encrypting plaintext. Its function in the protocol, after a successful handshake, is to encrypt packets in the form: 
<tt>AES-256-GCM(PLAINTEXT || METADATA || INTENDPROTOCOL)+TMS+COUNTNON+TAG</tt> where:
   * PLAINTEXT refers to the plain data being sent.
   * INTENDPROTOCOL refers to the intended protocol (like TLS). Due to early testing, developers MUST add INTENDPROTOCOL. However, in future services, developers MAY use it without intending a protocol provided INTENDPROTOCOL is labelled "AHKP". This does not mean INTENDPROTOCOL is removed, as it is required. It operates in Galois/Counter Mode <xref target="NIST-SP800-38D"/>.
   * The || or double pipes refer to binary byte concatenation.</t>
      </section>
      <section anchor="shake256">
        <name>SHAKE256</name>
        <t>It is an XOF algorithm <xref target="FIPS202"/> that, outside the protocol, is primarily used to stretch and extend bytes, generate seeds, and derive the output to be fed into the HKDF to get the final key used for the decryption of other encryption algorithms. Its function in the protocol is to derive the output for HKDF. However, developers SHOULD add seeds if the purpose is towards more security. The only exception is for HKDF, where seeds are REQUIRED as the IKM of the HKDF-Extract.</t>
      </section>
      <section anchor="hkdf-via-sha-384-salting">
        <name>HKDF via SHA-384 + salting</name>
        <t>It is an HMAC-based algorithm <xref target="RFC5869"/> used for deriving the final keys for AES-256-GCM. The output of SHAKE-256 is hashed to obtain the PRK to create the final AES keys.</t>
      </section>
    </section>
    <section anchor="handshake-and-connection-establishment">
      <name>Handshake and Connection Establishment</name>
      <t>The handshake first begins when a client sends a hello to the server. The server replies with a PoW for the client to solve. The client MUST solve the PoW in &lt;450ms. If the client fails to do so, solves the PoW in &gt; 450ms, or uses a wrong answer, the handshake is aborted. The PoW MUST be different with different instructions for each connection. Then, the client sends the HWID to the server. If the HWID is malformed or corrupt, or if there are suspicious behaviors checked by the server, it MUST abandon the handshake. The server checks the HWID against a BLK (blacklist). If whitelisted, the connection continues, and vice versa. Then, the client generates an ML-DSA signature. It signs the packet using the private key and sends it to the server. The packet is REQUIRED to be in the form of <tt>ML-DSA(METADATA || UNIQUE_ID || POW || SERVER_PUB_IP_AND_PORT)</tt>. The server does not check the POW twice. If any fields are missing or the signature is corrupt, safely abandon the handshake and drop the remaining packets. The server verifies the signature using the public key. The server responds using its 3-hour ML-DSA private key to sign the certificate. The public IP and port MUST be grabbed from the system and MUST NOT be grabbed from the database. If the source code is modified to grab from the database or the IP is spoofed, instantly drop the connection. Once the signatures are verified, the client generates an ML-KEM and HQC keypair. Both MUST send the public keys and encapsulate the ciphertext in accordance with Section 8.1 ("Vulnerabilities and Fixes") in this document. To prevent further MITM attacks, ML-DSA MUST sign both the HQC and ML-KEM keypairs to verify the signature and derive the SS using <tt>SHAKE256(HQC-SS(32) || ML-KEM-SS(32) || ML-KEM-CT || HQC-CT || CONTEXT(16))</tt>. HKDF via SHA-384 MUST be used in accordance with <xref target="RFC5869"/>, which is used to create the final keys to decrypt the AES encrypted packets. Once formed, both send packets in the form <tt>AES-256-GCM(PLAINTEXT || METADATA || INTENDPROTOCOL)+TMS+COUNTNON+TAG</tt>. If the final key is entirely different, errors will occur. To detect if the final key is different, a minimum and maximum of 1 error regarding the key MUST be detected to abort the connection. Every packet from the start of the handshake to the end of the handshake MUST be sent with RNGNON and TMS, and every packet from the start of the connection to the end of the connection MUST be sent with TMS, COUNTNON, and formatted with AEAD in accordance with <xref target="RFC5116"/>.</t>
      <section anchor="meanings">
        <name>Meanings</name>
        <table>
          <thead>
            <tr>
              <th align="left">Abbreviation</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">POW</td>
              <td align="left">Proof of Work</td>
            </tr>
            <tr>
              <td align="left">TMS</td>
              <td align="left">Timestamp</td>
            </tr>
            <tr>
              <td align="left">RNGNON</td>
              <td align="left">Nonces generated via CSPRNGs</td>
            </tr>
            <tr>
              <td align="left">TAG</td>
              <td align="left">AEAD tag of AES-256-GCM</td>
            </tr>
            <tr>
              <td align="left">COUNTNON</td>
              <td align="left">Counting nonce of AES-256-GCM</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="networking-and-packet-forms">
      <name>Networking and Packet Forms</name>
      <t>Due to the ML-KEM and HQC keys, the ML-DSA signatures, and other content, the expected packet size is 22-27KB. This introduces challenges where it may collide with the issues outlined in Section 8.1 ("Vulnerabilities and Fixes") in this document. To prevent this, split the UDP packets using a IKE-modelled mechanism <xref target="RFC7383"/> and number them so the server knows how to reorganize them. APKP that uses UDP adheres to the best current practices as defined in <xref target="RFC8085"/>, Packet encapsulation may be subject to standards such as <xref target="IEEE-802.1Q"/>.</t>
      <section anchor="tcp-and-udp">
        <name>TCP and UDP</name>
        <t>TCP prioritizes organization over speed <xref target="RFC9293"/>, using three-way handshakes (SYN, SYN-ACK, ACK). TCP also tracks the number of bytes that are sent, and if any packets are lost or corrupted, TCP requires retransmission. However, TCP may bundle multiple messages into one packet (also called packetization) and may delay sending small messages to group them into one. This may cause errors with the messages. To prevent this, add an MTI or Message Type Indicator to each message. TCP is also vulnerable to TCP SYN flood attacks. To mitigate this, APKP MUST implement SYN flood control in accordance with <xref target="RFC4987"/>. UDP prioritizes speed over organization <xref target="RFC0768"/>, leading to congestion and, due to disorganization, servers getting confused. To prevent this, number each message and payload and indicate its type by MTI before reaching the server. The protocol MUST implement congestion control using CUBIC according to <xref target="RFC9438"/>. This implements a reliable transport shim over UDP. ensuring TCP-friendly bandwidth, while manintaing the speed and flexiability of UDP. The packets are in the form of the source and destination IP, the source MAC address and the context of the payload, all encapsulated in a Wi-Fi or Ethernet frame and signed with the initial keys to prevent modification or injection into the packet.</t>
      </section>
    </section>
    <section anchor="benefits-over-existing-protocols-like-tls">
      <name>Benefits over Existing Protocols like TLS</name>
      <t>TLS 1.3 <xref target="RFC8446"/> is known to use X25519 in its protocol and ECDSA <xref target="RFC7748"/>, but ML-DSA will be finalized into TLS 1.3. Even PQ-TLS uses a hybrid mix of ML-KEM and X25519. Since TLS 1.3 uses X25519, an attacker with a quantum computer can and will downgrade TLS 1.3 even if it is post-quantum. TLS 1.3 already prevents this and therefore does not count for APKP as a benefit. However, using HQC as a replacement for X25519 is a benefit to TLS because HQC-256 is a post-quantum KEM algorithm that is secure against quantum computers. This eliminates the risk of a hybrid protocol being cracked if downgraded to X25519. TLS has already dropped support for RSA and other weak algorithms in its suite and mandated PFS. APKP's way of approaching PFS is to generate an hourly-rotating initial session for the server, and generated every time the user launches the client application. It then uses these initial keys to sign, decapsulate, and acquire the actual public key used for the derivation of the SS. This provides a benefit because, first, instead of an attacker targeting one keypair, an attacker must target two post-quantum keypairs; and second, because the initial keypairs are REQUIRED to decrypt and acquire the public key used for the connection. This process is entirely out of DH key exchange and ECDH. APKP MUST NOT use a suite of tools to prevent any advanced downgrade. APKP also MUST protect the keys in accordance with Section 8.1 ("Vulnerabilities and Fixes") in this document. When a client in TLS initiates a ClientHello, the server instantly commits its memory and CPU to do heavy math. This results in DDoS. The PoW fixes this. By mandating that PoWs be solved in &lt; 450ms and blocking connections to botnets detected spamming invalid PoW solutions, it prevents DDoS attacks. This is also a benefit to APKP.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Timestamping protects from replay but does not protect from side-channel attacks. The same goes for CSPRNG and counting nonces. Other vulnerabilities different from side-channel attacks may go unnoticed. To prevent this, the protocol MUST implement these fixes.</t>
      <section anchor="vulnerabilities-and-fixes">
        <name>Vulnerabilities and Fixes</name>
        <ol spacing="normal" type="1"><li>
            <t>An attacker can and will craft specialized packets to see how the server responds. This could be a major flaw, revealing the private key through timing. To prevent this, the server MUST respond within exactly 75ms. Or, if under load, extend to 145ms. This only applies to the server execution time. It MUST NOT apply to the client nor the normal server network response time of 150ms or up to 475ms under heavy load. Another flaw is that the chip uses a changing number of CPU cycles that, if measured by power cycles or electromagnetic spikes, could be mapped out and also leak the private key. To prevent this, operations MUST be shuffled randomly using the GPU, an HSM, or TPM, like moving A to C, B to D, F to E. The selected hardware MUST be set and never changed. Masking MUST be applied where sensitive actions are divided into mathematical shares and masked using arithmetic operations. When a security operation is completed in 2ms, the remaining milliseconds MUST be filled with basic arithmetic tasks. If done in the GPU, it is REQUIRED to be hidden in a protected environment.</t>
          </li>
          <li>
            <t>An attacker can and will capture PoW answers and other important data to fake an authentic connection. To prevent this, make sure the client responds within a specified 375ms. If the 375ms limit is exceeded, drop the connection. This only represents the total round-trip time. Also, limit the number of packets entering to prevent replay. This also aids in combating DDoS and replay attacks. Nonces and timestamps already prevent replay, but limiting packets is a backup if they fail.</t>
          </li>
          <li>
            <t>An attacker can and will send malformed ML-KEM keys or HQC keys. They can also send malformed ML-DSA signautes and ciphertext. This leaves a massive door open for vulnerabilities like downgrading, man-in-the-middle attacks, and eavesdropping. To prevent this, the server MUST check if the ML-DSA signatures was created very recently (within the last 30 seconds), matches its expected form, and matches a specific ID generated by both the client and server. The same applies for the keys: check if the ML-KEM or HQC keys match their expected form, and check for any anomalies like a different HWID, MAC, IMEI, or IP address than what was seen before. Implement strict AEAD authentication so that if anything in it was modified or injected, it instantly self-destructs. This is still vulnerable to Layer 2 attacks, such as ARP poisoning, which are external. To prevent this, the protocol MUST check if the HWID is different than before. Also, inspect the ARP packets using DAI. The HWID MUST be signed <xref target="RFC0826"/>.</t>
          </li>
          <li>
            <t>An attacker can and will turn the PoW for the server to solve it instead of the client. This leaves a door for buffer overflow, resource exhaustion, or coordinated DDoS attacks. To prevent this, if the PoW is sent unsolved and a malicious code tells the server to solve it instead, instantly drop the packet and connection, and flag the attacker responsible. This prevents "turning the tables" from happening. The malicious code could be hidden from the server and executed once the POW is inspected. Making the POW read-only on the text, and discarding the code and packet once inspected is a way to prevent this because one, the packet containing the code is stripped of extra content and its essential is left and two, due to read only text policies it will be not exexuted and three, wiping the packet wipes malicious code.</t>
          </li>
          <li>
            <t>An attacker can and will flood the server with thousands of invalid PoW solutions. This blocks legitimate users and is an alternative way to DDoS a server. To prevent this, if thousands of packets spike suddenly, block connections that send invalid PoW solutions and blacklist them. Check each POW in a group, where a group contains 40 answers. The DDoS attacks could be blended with traffic. Wipe each POW from memory after checking and check if there are more invalid solutions than normal.</t>
          </li>
          <li>
            <t>An attacker can and will collect a user's sensitive device identifiers if they are transmitted in plaintext. Note that source/destination IP addresses and MAC addresses are inherently visible in unencrypted network and link-layer headers for packet routing, meaning encrypting them inside the application payload does not hide them from network eavesdroppers. However, internal identifiers like the IMEI are not part of standard routing headers and must be protected. Furthermore, hashing identifiers with SHA-256 creates a one-way value that cannot be decrypted back to plaintext by the server. To resolve this, the client MUST encrypt the IMEI and HWID using AES-256-GCM without hashing them first. The payload MUST be in the form <tt>AES-256-GCM(IMEI || HWID)</tt> to be safely decrypted by the server. The server then validates these decrypted identifiers, along with the actual source IP and MAC addresses extracted directly from the incoming network packet headers, against its blacklist. If there is a massive unnatural surge, block the connections and do not reply.</t>
          </li>
          <li>
            <t>An attacker can and will try to guess the public and private key on a server. This can lead to users getting spied on without knowing. 3-hour rotating keys, blacklists, and every-connection generation for clients already combat this. However, if an attacker takes the final AES key from the connection they have made and uses it against users, it will lead to a massive amount of people's data being stolen. To prevent this, the final key MUST be wiped and expired every time the connection is ended on both the client and the server. The key also MUST stay hidden from the user in a protected, isolated environment; for example, zeroized memory or ephemeral protected enclaves.</t>
          </li>
          <li>
            <t>An attacker with a quantum computer can and will exhaust the 3-hour rotating keys. This will leave a door to an advanced downgrade, leading to users getting eavesdropped on. To prevent this, the system will remember this key for 3 hours. This will still be vulnerable to buffer overflow and, if the server is hacked, a full leak. The memory is REQUIRED to be read-only and limited to prevent buffer overflow, completely isolated from the network, and put in a protected enclave.</t>
          </li>
          <li>
            <t>An attacker can and will disrupt the CSPRNGs. This opens a door for overloaded DDoS attacks and potential security vulnerabilities. To prevent this, use hardware-based CSPRNGs. This ensures that even if the server is hit with coordinated DDoS attacks, the hardware never fails. Isolate the CSPRNGs from the network. To ensure the integrity of numbers, implementations MUST adhere to the standards outlined in <xref target="NIST-SP800-90A"/>.</t>
          </li>
          <li>
            <t>The time could drift off at any given time. If this happens and it is left unprevented, it will keep drifting away from actual time. This could cause false positive time sync errors with legitimate users  To prevent this, an atomic clock MAY be used, but it is OPTIONAL. The clock's NTP configuration MUST be updated every 24 hours to prevent time drifts. It also MUST be isolated from the network. To prevent attackers from disrupting the NTP, there should be a separate clock to be updated manually and completely isolated. To prevent time drift, the NTP MUST be managed in accordance with <xref target="RFC5905"/>. The NTP is not isolated fron network because it requires an internet connection to sync time.</t>
          </li>
          <li>
            <t>Failsafe Tuning: To prevent legitimate users from getting dropped, the client is REQUIRED to measure the speed of the local local network, along with pinging test servers. To prevent attackers from abusing this tuning, the client checks for client-side and server-side internet speed throttlers and ping throttlers. In normal conditions, where the speed is &gt;= 40Mbps and the pinging of test servers is =&lt; 150ms, the floor and ceiling are exactly still 450ms to prevent further false positives in cases where there is high traffic or network congestion, the maximum ceeling is up to 800ms for slow users. At this stage, the client appends a special identifier that MUST be sent encapsulated with either the HQC metadata or ML-KEM metadata. It MUST add this identifier, and if it is missing, malformed, or does not match its expected form of being with metadata about the connection, the packet will be instantly rejected, along with the connection being dropped. The identifier also MUST be signed and be sent without the user knowing. Still if the connection speed is &gt;=40Mbps and the pinging is =&lt;150Mbps, this identifier MUST be added.</t>
          </li>
          <li>
            <t>An attacker can and will send packets and/or fragmented packets. This opens a door for DDoS attacks via memory. To prevent this, allocate 575ms for each packet or fragmented packet. If it exceeds this, then the packets are forgotten by the server.</t>
          </li>
          <li>
            <t>An attacker can and will exploit cryptanalysis. If done, it will open a door for eavesdropping. To prevent this, implement a PFS-style policy. Both peers MUST generate an initial rotating ML-KEM-768 and HQC-256 keypair. For users, it is generated every time the client application is opened. For servers, it is generated every hour for initial keys and certificates, while for actual connection keys, it will be every three hours. The actual public key that will be used for the connection MUST be encrypted and signed with those initial keypairs and certificates. However, cryptanalysis will be on the initial keys. To mitigate this, both peers MUST mutually authenticate each other using ML-DSA, and every packet from the start of the handshake to the end MUST be signed.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to assign a dedicated global system port identifier for the Abdelaziz Pure Key Protocol across both UDP and TCP transport mediums to ensure standardized service identification and packet routing.</t>
      <t>Associated Port Parameters:
 * Protocol: UDP and TCP
 * Port Number: 62192 (Requested for experimental testing)
 * Service Name: apkp
 * Description: Abdelaziz Pure Key Protocol</t>
      <t>Furthermore, this document requests the creation of a new IANA registry titled the "APKP Cryptographic Suite Registry". This registry will manage and track 16-bit identifiers for future hybrid post-quantum algorithm suites, ensuring that extensions or modifications to the baseline algorithm mix can be securely negotiated.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC0768" target="https://www.rfc-editor.org/info/rfc768" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0768.xml">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
        <reference anchor="RFC0826" target="https://www.rfc-editor.org/info/rfc826" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0826.xml">
          <front>
            <title>An Ethernet Address Resolution Protocol: Or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware</title>
            <author fullname="D. Plummer" initials="D." surname="Plummer"/>
            <date month="November" year="1982"/>
            <abstract>
              <t>The purpose of this RFC is to present a method of Converting Protocol Addresses (e.g., IP addresses) to Local Network Addresses (e.g., Ethernet addresses). This is an issue of general concern in the ARPA Internet Community at this time. The method proposed here is presented for your consideration and comment. This is not the specification of an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="37"/>
          <seriesInfo name="RFC" value="826"/>
          <seriesInfo name="DOI" value="10.17487/RFC0826"/>
        </reference>
        <reference anchor="RFC5116" target="https://www.rfc-editor.org/info/rfc5116" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5116.xml">
          <front>
            <title>An Interface and Algorithms for Authenticated Encryption</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms. The interface and registry can be used as an application-independent set of cryptoalgorithm suites. This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5116"/>
          <seriesInfo name="DOI" value="10.17487/RFC5116"/>
        </reference>
        <reference anchor="RFC5869" target="https://www.rfc-editor.org/info/rfc5869" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5869.xml">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
        <reference anchor="RFC5905" target="https://www.rfc-editor.org/info/rfc5905" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5905.xml">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author fullname="D. Mills" initials="D." surname="Mills"/>
            <author fullname="J. Martin" initials="J." role="editor" surname="Martin"/>
            <author fullname="J. Burbank" initials="J." surname="Burbank"/>
            <author fullname="W. Kasch" initials="W." surname="Kasch"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet. This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family. NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs. It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required. It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </reference>
        <reference anchor="RFC7383" target="https://www.rfc-editor.org/info/rfc7383" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7383.xml">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2) Message Fragmentation</title>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
            <date month="November" year="2014"/>
            <abstract>
              <t>This document describes a way to avoid IP fragmentation of large Internet Key Exchange Protocol version 2 (IKEv2) messages. This allows IKEv2 messages to traverse network devices that do not allow IP fragments to pass through.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7383"/>
          <seriesInfo name="DOI" value="10.17487/RFC7383"/>
        </reference>
        <reference anchor="RFC9293" target="https://www.rfc-editor.org/info/rfc9293" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9293.xml">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="RFC9438" target="https://www.rfc-editor.org/info/rfc9438" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9438.xml">
          <front>
            <title>CUBIC for Fast and Long-Distance Networks</title>
            <author fullname="L. Xu" initials="L." surname="Xu"/>
            <author fullname="S. Ha" initials="S." surname="Ha"/>
            <author fullname="I. Rhee" initials="I." surname="Rhee"/>
            <author fullname="V. Goel" initials="V." surname="Goel"/>
            <author fullname="L. Eggert" initials="L." role="editor" surname="Eggert"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>CUBIC is a standard TCP congestion control algorithm that uses a cubic function instead of a linear congestion window increase function to improve scalability and stability over fast and long-distance networks. CUBIC has been adopted as the default TCP congestion control algorithm by the Linux, Windows, and Apple stacks.</t>
              <t>This document updates the specification of CUBIC to include algorithmic improvements based on these implementations and recent academic work. Based on the extensive deployment experience with CUBIC, this document also moves the specification to the Standards Track and obsoletes RFC 8312. This document also updates RFC 5681, to allow for CUBIC's occasionally more aggressive sending behavior.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9438"/>
          <seriesInfo name="DOI" value="10.17487/RFC9438"/>
        </reference>
        <reference anchor="FIPS202">
          <front>
            <title>SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="FIPS" value="PUB 202"/>
        </reference>
        <reference anchor="FIPS203">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS" value="PUB 203"/>
        </reference>
        <reference anchor="FIPS204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS" value="PUB 204"/>
        </reference>
        <reference anchor="NIST-SP800-38D">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM)</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2007" month="November"/>
          </front>
          <seriesInfo name="NIST Special Publication" value="800-38D"/>
        </reference>
        <reference anchor="NIST-SP800-90A">
          <front>
            <title>Recommendation for Random Number Generation Using Deterministic Random Bit Generators</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2015" month="June"/>
          </front>
          <seriesInfo name="NIST Special Publication" value="800-90A"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4987" target="https://www.rfc-editor.org/info/rfc4987" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4987.xml">
          <front>
            <title>TCP SYN Flooding Attacks and Common Mitigations</title>
            <author fullname="W. Eddy" initials="W." surname="Eddy"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This document describes TCP SYN flooding attacks, which have been well-known to the community for several years. Various countermeasures against these attacks, and the trade-offs of each, are described. This document archives explanations of the attack and common defense techniques for the benefit of TCP implementers and administrators of TCP servers or networks, but does not make any standards-level recommendations. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4987"/>
          <seriesInfo name="DOI" value="10.17487/RFC4987"/>
        </reference>
        <reference anchor="RFC7748" target="https://www.rfc-editor.org/info/rfc7748" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7748.xml">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
        <reference anchor="RFC8085" target="https://www.rfc-editor.org/info/rfc8085" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml">
          <front>
            <title>UDP Usage Guidelines</title>
            <author fullname="L. Eggert" initials="L." surname="Eggert"/>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="G. Shepherd" initials="G." surname="Shepherd"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
              <t>Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. They may also need to implement additional mechanisms, depending on how they use UDP.</t>
              <t>Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
              <t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="145"/>
          <seriesInfo name="RFC" value="8085"/>
          <seriesInfo name="DOI" value="10.17487/RFC8085"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="IEEE-802.1Q">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks—Bridges and Bridged Networks</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2018" month="July"/>
          </front>
          <seriesInfo name="IEEE" value="802.1Q"/>
        </reference>
        <reference anchor="HQC-SPEC" target="https://pqc-hqc.org/doc/hqc-specification_2021-06-06.pdf">
          <front>
            <title>HQC (Hamming Quasi-Cyclic)</title>
            <author initials="C." surname="Aguilar Melchor">
              <organization/>
            </author>
            <author initials="N." surname="Aragon">
              <organization/>
            </author>
            <author initials="S." surname="Bettaieb">
              <organization/>
            </author>
            <author initials="L." surname="Bidoux">
              <organization/>
            </author>
            <author initials="O." surname="Blazy">
              <organization/>
            </author>
            <author initials="J. C." surname="Deneuville">
              <organization/>
            </author>
            <author initials="P." surname="Gaborit">
              <organization/>
            </author>
            <author initials="E." surname="Zémor">
              <organization/>
            </author>
            <date year="2021" month="June" day="06"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
r8TgCa3Qs5ZAXKmg0betxIto21iRiYIZwiVWBnqEoN0io70jzifpZELcpM1l
bQZTWmHurLC9E3Jd1sqhoAg7JMq0nIsP/dPrQUM1xTAfPp9tCASarSG50ICC
xIJM6pxsJNHFLCzqyqfJiiEEnRQL1gBTBECIIHWxq6zJ1wwoaCUKeFfJzqST
ZcfaEnOCmYF99PyN5ZPku0pVzkra0wVYvWM+0+zE6WCX6IlRQX4HkmEO+rOi
Lg3NTo8RD4UxPL9wgO6eCjJuTXkpNkJMa9WYMVAZ7hWerozVWOJo80S86Nb3
Zxd9CtxbSeq4Od4fu7YbB+u7QUQkxDS1m35mQSjpE1kB5qhrYleim8Okyj1U
X7QrOi4t7fraPLuWoa956OdPjv3YDph60TMUe7DjdXT/nJiXbdoU4g7M78Km
rYdjF/Ele/HYQLoZcFDQxI53mNvEyd4Ade+/eGnanRlTzNgfiQ0gaBNvS4Do
tC+8G6yTMu1OM1KgPezXZraZUU07liQKHRIH15l6tu280IjBiAE6o0bzdljB
UDFFADe3HviCeOGZd4Oza1kvfQCVfYqJIwNBNMJSgTvter/UEISHAd5glX9d
4kg3JyCPhKYeE+7whHfJOuYJCfQtufNUERiPq0DEN1iY0MCx2fohWsmz4YfB
+eXN2Z9vzC+/mIuzm8Hp4GaAz/j18nT48erm6uTqw/Ovby6uvz65+nR5c3l1
+fXN4Nsf4PZKDjnNP5l2mNKRnfVhM3hZiEIs+V2s08P0yDPdGVYebPa2Ydiz
LCU/cfPh+jlFRjVvN7la4nHF5o0AT0Jym8HfecVKSbIyCUlEcQ/p7oEnEhtE
GC4eYPAXbB60EDJDW6gkYRG2pYo+3KWgc2U1tBGZHTmK3RKzPXj3frgNZMdw
hHQ6LyqKYkh81p8ijFXcsRH2mDwyq6zf4s4d7+mmlM3PP3cTQ3/7m3IbQI22
laSO4tBRRluTLpwXrjMsIuknpR8tKwaESBiLyxDpJ7z2/oyEJhL9P1+93WB6
90nF4Yx6G8WeJXTdMpNHJvwsGVHHGVEmhLak0VDvXOIFdEV2vJCcqcC6CeMW
FaB370/fiopXkXYDqvKkwSwmrtFfAjhFhfTYJp32/xtPEFGGeUBKJHmRlCnW
haDy+jSsQXhIbs7JqPecQaKQ3jWBmkQJ7Nzdw9gtgnUOs/VEOXVQgLoAwiFW
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
flwAAA==

-->

</rfc>
