Appendix D. Status of Claims

Chapter 1.5 promised that every load-bearing claim would be collected with its status. This appendix is that table. A reader who wants to know what this paper establishes, as opposed to what it proposes, should read this page.

Statuses are as defined in §1.5: Verified — checked against OpenSSL source on the reference machine, reference given; Design — a specification of the proposed system, not built; Reported — attributed to the author of the system described, not independently reproduced.

D.1 Claims about OpenSSL

#ClaimStatusReference
1A TLS 1.3 suite binds an AEAD algorithm and a handshake hash in one code pointVerifiedssl/s3_lib.c:39–56
2The TLS 1.3 suite list is a static table whose length is taken at compile timeVerifiedssl/s3_lib.c:26, :39
3Providers answer the TLS-GROUP and TLS-SIGALG capabilitiesVerifiedproviders/common/capabilities.c:335–347
4ossl_prov_get_capabilities() returns 0 for any other capability nameVerifiedproviders/common/capabilities.c:344–346
5A group advertisement carries wire name, internal name, algorithm, id and security metadataVerifiedproviders/common/capabilities.c:96–108
6Several named curves may map to one implementing algorithmVerifiedproviders/common/capabilities.c:161–164
7A signature advertisement carries IANA name, algorithm name, OID, code point and security bitsVerifiedproviders/common/capabilities.c:292–302
8OpenSSL introduces ML-DSA signature algorithms to TLS through the capability mechanismVerifiedproviders/common/capabilities.c:316–318
9Fetching by name is much slower than direct method-table access; prefetching is recommendedVerifiedreferences/12-ossl-guide-migration.pod:223–228
10The ENGINE API is deprecated in 3.x; providers are its replacementVerifiedpapers/openssl-3.5.5/03-ENGINE_add.pod:169; 09-openssl-engine.pod.in:25
11A property query selects implementations by key/value assertionsVerifiedpapers/openssl-3.5.5/07-openssl-glossary.pod:173–190
12A library context is a scope within which configuration appliesVerifiedpapers/openssl-3.5.5/07-openssl-glossary.pod:110–116
13Implicit fetching resolves an implementation on first use with default criteriaVerifiedpapers/openssl-3.5.5/07-openssl-glossary.pod:95–101

D.2 Claims about the proposed design

#ClaimStatusChapter
14The provider structure of §7.1–7.7 satisfies F8, F9, N3–N6Design7
15An AEAD component answering key, IV and tag lengths and accepting an external nonce satisfies F1 and C2Design8
16A hash component with deep duplication and accurate size reporting satisfies F2Design9
17A group component with validation and a capability entry satisfies F3 and F4Design10
18Registration requirements 1–5 are necessary for a usable suiteDesign12.2
19The three negotiation failure modes of §12.3 are distinguishableDesign12.3
20A required property produces a clean fetch failure rather than fallback (F10)Design14.2
21Changing the handshake hash changes the width of every secret in the scheduleDesign, following from claim 1 and RFC 844615.2
22An overstated digest length can yield a working connection with weakened keysDesign (analysis)15.3
23The design cannot introduce a downgrade, because a provider cannot alter sequencingDesign, following from C117.6

D.3 Reported capability

#ClaimStatusWould be established by
24The author's system adds cipher suites combining block cipher, elliptic-curve and hash algorithms through the provider interfaceReported§19.5 L4, with §19.5.1 negative tests
25Such suites are usable in TLS communicationReported§19.5 L4, confirming the negotiated suite per §B.3 step 5

On claims 24 and 25. This study had no access to the implementation and did not reproduce them. They are recorded here as attributed statements so that a reader can see precisely which parts of the paper rest on them — Chapter 12's framing, and nothing in Chapters 2–11 or 13–19, all of which stand on the verified and design claims above. A reader evaluating the work should ask for the Chapter 19 evidence, particularly the openssl ciphers comparison with the provider activated and deactivated, which settles the question directly.

D.4 What was not done

Per §19.7, absence is reported rather than left to inference:

D.5 Requirement coverage

RequirementAddressedTest that would establish it
F1, C2Ch. 8L1 AEAD vectors; §19.5.1 record corruption
F2, C3Ch. 9, 15L1 boundary lengths; L2 duplication; L3 schedule
F3, F4Ch. 10L1 key exchange; §19.5.1 invalid-curve and small-subgroup
F5, F10Ch. 14§19.5.1 provider deactivation
F6, C6Ch. 13§19.5.1 wrong library context
F7, C4Ch. 12, 16L4 handshake; L5 interoperability
F8Ch. 7, App. CL2 parameter completeness
F9Ch. 7L2 coexistence
N1Ch. 18M5 prefetch benefit
N2, C5Ch. 17Binary-level verification (not proposed in detail)
N3–N6Ch. 7L2 teardown under a leak checker