@book{bsl_prod_guide,
  author = {JHU/APL},
  year = {2024},
  title = {{BPSec Library (BSL) Product Guide}},
  url = {https://nasa-ammos.github.io/BSL-docs/},
}
@book{bsl_user_guide,
  author = {JHU/APL},
  year = {2024},
  title = {{BPSec Library (BSL) User Guide}},
  url = {https://nasa-ammos.github.io/BSL-docs/},
}
@misc{ion-bpsec-policy,
  author={JHU/APL},
  title={{ION BPSec Policy Configuration}},
  year={2023},
  url={https://github.com/nasa-jpl/ION-DTN/blob/current/Security_Policy_User_Manual.docx},
}

@misc{iana:bundle,
  author = {IANA},
  title = {{Bundle Protocol registry}},
  url = {https://www.iana.org/assignments/bundle/bundle.xhtml},
}
@misc{rfc3339,
    series =    {Request for Comments},
    number =    3339,
    howpublished =  {RFC 3339},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC3339},
    url =       {https://www.rfc-editor.org/info/rfc3339},
    author =    {Chris Newman and Graham Klyne},
    title =     {{Date and Time on the Internet: Timestamps}},
    pagetotal = 18,
    year =      2002,
    month =     jul,
    abstract =  {This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.},
}
@misc{rfc3394,
    series =    {Request for Comments},
    number =    3394,
    howpublished =  {RFC 3394},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC3394},
    url =       {https://www.rfc-editor.org/info/rfc3394},
    author =    {Russ Housley and Jim Schaad},
    title =     {{Advanced Encryption Standard (AES) Key Wrap Algorithm}},
    pagetotal = 41,
    year =      2002,
    month =     oct,
    abstract =  {The purpose of this document is to make the AES Key Wrap algorithm conveniently available to the Internet community. The United States of America has adopted AES as the new encryption standard. The AES Key Wrap algorithm will probably be adopted by the USA for encryption of AES keys. The authors took most of the text in this document from the draft AES Key Wrap posted by NIST.},
}
@misc{rfc3986,
    series =    {Request for Comments},
    number =    3986,
    howpublished =  {RFC 3986},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC3986},
    url =       {https://www.rfc-editor.org/info/rfc3986},
    author =    {Tim Berners-Lee and Roy T. Fielding and Larry M Masinter},
    title =     {{Uniform Resource Identifier (URI): Generic Syntax}},
    pagetotal = 61,
    year =      2005,
    month =     jan,
    abstract =  {A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. {[}STANDARDS-TRACK{]}},
}
@misc{rfc4648,
    series =    {Request for Comments},
    number =    4648,
    howpublished =  {RFC 4648},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC4648},
    url =       {https://www.rfc-editor.org/info/rfc4648},
    author =    {Simon Josefsson},
    title =     {{The Base16, Base32, and Base64 Data Encodings}},
    pagetotal = 18,
    year =      2006,
    month =     oct,
    abstract =  {This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. {[}STANDARDS-TRACK{]}},
}
@misc{rfc7517,
    series =    {Request for Comments},
    number =    7517,
    howpublished =  {RFC 7517},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC7517},
    url =       {https://www.rfc-editor.org/info/rfc7517},
    author =    {Michael B. Jones},
    title =     {{JSON Web Key (JWK)}},
    pagetotal = 40,
    year =      2015,
    month =     may,
    abstract =  {A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.},
}
@misc{rfc8259,
    series =    {Request for Comments},
    number =    8259,
    howpublished =  {RFC 8259},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC8259},
    url =       {https://www.rfc-editor.org/info/rfc8259},
    author =    {Tim Bray},
    title =     {{The JavaScript Object Notation (JSON) Data Interchange Format}},
    pagetotal = 16,
    year =      2017,
    month =     dec,
    abstract =  {JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data. This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.},
}
@misc{rfc8610,
    series =    {Request for Comments},
    number =    8610,
    howpublished =  {RFC 8610},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC8610},
    url =       {https://www.rfc-editor.org/info/rfc8610},
    author =    {Henk Birkholz and Christoph Vigano and Carsten Bormann},
    title =     {{Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures}},
    pagetotal = 64,
    year =      2019,
    month =     jun,
    abstract =  {This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.},
}
@misc{rfc9171,
    series =    {Request for Comments},
    number =    9171,
    howpublished =  {RFC 9171},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC9171},
    url =       {https://www.rfc-editor.org/info/rfc9171},
    author =    {Scott Burleigh and Kevin Fall and Edward J. Birrane},
    title =     {{Bundle Protocol Version 7}},
    pagetotal = 53,
    year =      2022,
    month =     jan,
    abstract =  {This document presents a specification for the Bundle Protocol, adapted from the experimental Bundle Protocol specification developed by the Delay-Tolerant Networking Research Group of the Internet Research Task Force and documented in RFC 5050.},
}
@misc{rfc9172,
    series =    {Request for Comments},
    number =    9172,
    howpublished =  {RFC 9172},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC9172},
    url =       {https://www.rfc-editor.org/info/rfc9172},
    author =    {Edward J. Birrane and Kenneth McKeever},
    title =     {{Bundle Protocol Security (BPSec)}},
    pagetotal = 35,
    year =      2022,
    month =     jan,
    abstract =  {This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).},
}
@misc{rfc9173,
    series =    {Request for Comments},
    number =    9173,
    howpublished =  {RFC 9173},
    publisher = {RFC Editor},
    doi =       {10.17487/RFC9173},
    url =       {https://www.rfc-editor.org/info/rfc9173},
    author =    {Edward J. Birrane and Alex White and Sarah Heiner},
    title =     {{Default Security Contexts for Bundle Protocol Security (BPSec)}},
    pagetotal = 51,
    year =      2022,
    month =     jan,
    abstract =  {This document defines default integrity and confidentiality security contexts that can be used with Bundle Protocol Security (BPSec) implementations. These security contexts are intended to be used both for testing the interoperability of BPSec implementations and for providing basic security operations when no other security contexts are defined or otherwise required for a network.},
}
@techreport{sipos-dtn-eid-pattern-02,
    number =    {draft-sipos-dtn-eid-pattern-02},
    type =      {Internet-Draft},
    institution =   {Internet Engineering Task Force},
    publisher = {Internet Engineering Task Force},
    note =      {Work in Progress},
    url =       {https://datatracker.ietf.org/doc/draft-sipos-dtn-eid-pattern/02/},
    author =    {Brian Sipos},
    title =     {{Bundle Protocol Endpoint ID Patterns}},
    pagetotal = 28,
    year =      2024,
    month =     apr,
    day =       8,
    abstract =  {This document extends the Bundle Protocol Endpoint ID (EID) concept into an EID Pattern, which is used to categorize any EID as matching a specific pattern or not. EID Patterns are suitable for expressing configuration, for being used on-the-wire by protocols, and for being easily understandable by a layperson. EID Patterns include scheme- specific optimizations for expressing set membership and each scheme pattern includes text and CBOR encoding forms; the pattern for the "ipn" EID scheme being designed to be highly compressible in its CBOR form. This document also defines a Public Key Infrastructure Using X.509 (PKIX) Other Name form to contain an EID Pattern and a handling rule to use a pattern to match an EID.},
}

@misc{ISO:9899:1999,
  author={{ISO}},
  title={{Programming languages - C}},
  year={1999},
  pages={1-538},
}

@misc{IEEE:1003.1-2008,
  author={{IEEE}},
  title={{IEEE Standard for Information Technology - Portable Operating System Interface (POSIX(R))}}, 
  year={2008},
  pages={1-3874},
  doi={10.1109/IEEESTD.2008.4694976},
  url={https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/},
}

@misc{lib:openssl,
  author={{OpenSSL Project}},
  title={{OpenSSL Library}},
  url={https://openssl-library.org/},
}
@misc{lib:ion-dtn,
  author={{NASA JPL}},
  title={{NASA Interplanetary Overlay Networking (ION) software}},
  url={https://github.com/nasa-jpl/ION-DTN},
}
@misc{lib:mlib,
  author={Patrick Pelissier},
  title={{M*LIB: Generic type-safe Container Library for C language}},
  url={https://github.com/P-p-H-d/mlib},
}
@misc{lib:unity,
  author={{Unity Project}},
  title={{Unity Test}},
  url={https://github.com/ThrowTheSwitch/Unity},
}
@misc{NIST:FIPS-140-3,
  author={{US NIST}},
  title={{Security Requirements for Cryptographic Modules}},
  year={2019},
  url={https://csrc.nist.gov/pubs/fips/140-3/final},
}
