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