Dissertation/ Thesis
An analysis of primality testing and its use in cryptographic applications
| Τίτλος: | An analysis of primality testing and its use in cryptographic applications |
|---|---|
| Συγγραφείς: | Massimo, Jake |
| Στοιχεία εκδότη: | Royal Holloway University of London, 2020. |
| Έτος έκδοσης: | 2020 |
| Θεματικοί όροι: | 005.8, Primality testing, Primality test, Miller-Rabin, Lucas, Baillie-PSW, public-key cryptography, PAKE, Elliptic Curve Diffie-Hellman, Carmichael numbers, Diffie-Hellman, TLS |
| Περιγραφή: | Due to their fundamental utility within cryptography, prime numbers must be easy to both recognise and generate. For this, we depend upon primality testing. Both used as a tool to validate prime parameters, or as part of the algorithm used to generate random prime numbers, primality tests are found near universally within a cryptographer's tool-kit. In this thesis, we study in depth primality tests and their use in cryptographic applications. We first provide a systematic analysis of the implementation landscape of primality testing within cryptographic libraries and mathematical software. We then demonstrate how these tests perform under adversarial conditions, where the numbers being tested are not generated randomly, but instead by a possibly malicious party. We show that many of the libraries studied provide primality tests that are not prepared for testing on adversarial input, and therefore can declare composite numbers as being prime with a high probability. We also demonstrate that for a number of libraries, including Apple's CommonCrypto, we are able to construct composites that always pass the supplied primality tests. We then explore the implications of these security failures in applications, focusing on the construction of malicious Diffie-Hellman parameters. These malicious parameter sets target the public key parameter validation functions found in these same cryptographic libraries - particularly within the ones that offer TLS implementations. Using the analysis performed on these library's primality tests, we are able to construct malicious parameter sets for both finite-field and elliptic curve Diffie-Hellman that pass validation testing with some probability, but are designed such that the Discrete Logarithm Problem (DLP) is relatively easy to solve. We give an application of these malicious parameter sets to OpenSSL and password authenticated key exchange (PAKE) protocols. Finally, we address the shortcomings uncovered in primality testing under adversarial conditions by the introduction of a performant primality test that provides strong security guarantees across all use cases, while providing the simplest possible API. We examine different options for the core of our test, describing four different candidate primality tests and analysing them theoretically and experimentally. We then evaluate the performance of the chosen test in the use case of prime generation and discuss how our proposed test was fully adopted by the developers of OpenSSL through a new API and primality test scheduled for release in OpenSSL 3.0 (2020). |
| Τύπος εγγράφου: | Thesis Or Dissertation |
| Γλώσσα: | English |
| Σύνδεσμος πρόσβασης: | https://ethos.blethoshyku.com/concern/thesis_or_dissertations/855354 |
| Αριθμός Καταχώρησης: | edsble.855354 |
| Βάση Δεδομένων: | British Library EThOS |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://ethos.blethoshyku.com/concern/thesis_or_dissertations/855354 Name: EDS - British Library EThOS (ns324271) Category: fullText Text: View record in EThOS |
|---|---|
| Header | DbId: edsble DbLabel: British Library EThOS An: edsble.855354 RelevancyScore: 974 AccessLevel: 3 PubType: Dissertation/ Thesis PubTypeId: dissertation PreciseRelevancyScore: 973.994323730469 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: An analysis of primality testing and its use in cryptographic applications – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Massimo%2C+Jake%22">Massimo, Jake</searchLink> – Name: Publisher Label: Publisher Information Group: PubInfo Data: Royal Holloway University of London, 2020. – Name: DatePubCY Label: Publication Year Group: Date Data: 2020 – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22005%2E8%22">005.8</searchLink><br /><searchLink fieldCode="DE" term="%22Primality+testing%22">Primality testing</searchLink><br /><searchLink fieldCode="DE" term="%22Primality+test%22">Primality test</searchLink><br /><searchLink fieldCode="DE" term="%22Miller-Rabin%22">Miller-Rabin</searchLink><br /><searchLink fieldCode="DE" term="%22Lucas%22">Lucas</searchLink><br /><searchLink fieldCode="DE" term="%22Baillie-PSW%22">Baillie-PSW</searchLink><br /><searchLink fieldCode="DE" term="%22public-key+cryptography%22">public-key cryptography</searchLink><br /><searchLink fieldCode="DE" term="%22PAKE%22">PAKE</searchLink><br /><searchLink fieldCode="DE" term="%22Elliptic+Curve+Diffie-Hellman%22">Elliptic Curve Diffie-Hellman</searchLink><br /><searchLink fieldCode="DE" term="%22Carmichael+numbers%22">Carmichael numbers</searchLink><br /><searchLink fieldCode="DE" term="%22Diffie-Hellman%22">Diffie-Hellman</searchLink><br /><searchLink fieldCode="DE" term="%22TLS%22">TLS</searchLink> – Name: Abstract Label: Description Group: Ab Data: Due to their fundamental utility within cryptography, prime numbers must be easy to both recognise and generate. For this, we depend upon primality testing. Both used as a tool to validate prime parameters, or as part of the algorithm used to generate random prime numbers, primality tests are found near universally within a cryptographer's tool-kit. In this thesis, we study in depth primality tests and their use in cryptographic applications. We first provide a systematic analysis of the implementation landscape of primality testing within cryptographic libraries and mathematical software. We then demonstrate how these tests perform under adversarial conditions, where the numbers being tested are not generated randomly, but instead by a possibly malicious party. We show that many of the libraries studied provide primality tests that are not prepared for testing on adversarial input, and therefore can declare composite numbers as being prime with a high probability. We also demonstrate that for a number of libraries, including Apple's CommonCrypto, we are able to construct composites that always pass the supplied primality tests. We then explore the implications of these security failures in applications, focusing on the construction of malicious Diffie-Hellman parameters. These malicious parameter sets target the public key parameter validation functions found in these same cryptographic libraries - particularly within the ones that offer TLS implementations. Using the analysis performed on these library's primality tests, we are able to construct malicious parameter sets for both finite-field and elliptic curve Diffie-Hellman that pass validation testing with some probability, but are designed such that the Discrete Logarithm Problem (DLP) is relatively easy to solve. We give an application of these malicious parameter sets to OpenSSL and password authenticated key exchange (PAKE) protocols. Finally, we address the shortcomings uncovered in primality testing under adversarial conditions by the introduction of a performant primality test that provides strong security guarantees across all use cases, while providing the simplest possible API. We examine different options for the core of our test, describing four different candidate primality tests and analysing them theoretically and experimentally. We then evaluate the performance of the chosen test in the use case of prime generation and discuss how our proposed test was fully adopted by the developers of OpenSSL through a new API and primality test scheduled for release in OpenSSL 3.0 (2020). – Name: TypeDocument Label: Document Type Group: TypDoc Data: Thesis Or Dissertation – Name: Language Label: Language Group: Lang Data: English – Name: URL Label: Access URL Group: URL Data: <link linkTarget="URL" linkTerm="https://ethos.blethoshyku.com/concern/thesis_or_dissertations/855354" linkWindow="_blank">https://ethos.blethoshyku.com/concern/thesis_or_dissertations/855354</link> – Name: AN Label: Accession Number Group: ID Data: edsble.855354 |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsble&AN=edsble.855354 |
| RecordInfo | BibRecord: BibEntity: Languages: – Text: English Subjects: – SubjectFull: 005.8 Type: general – SubjectFull: Primality testing Type: general – SubjectFull: Primality test Type: general – SubjectFull: Miller-Rabin Type: general – SubjectFull: Lucas Type: general – SubjectFull: Baillie-PSW Type: general – SubjectFull: public-key cryptography Type: general – SubjectFull: PAKE Type: general – SubjectFull: Elliptic Curve Diffie-Hellman Type: general – SubjectFull: Carmichael numbers Type: general – SubjectFull: Diffie-Hellman Type: general – SubjectFull: TLS Type: general Titles: – TitleFull: An analysis of primality testing and its use in cryptographic applications Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Massimo, Jake IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2020 Identifiers: – Type: issn-locals Value: edsble |
| ResultId | 1 |