Attacks and Defenses for Single-Stage Residue Number System PRNGs

This paper explores the security of a single-stage residue number system (RNS) pseudorandom number generator (PRNG), which has previously been shown to provide extremely high-quality outputs when evaluated through available RNG statistical test suites or in using Shannon and single-stage Kolmogorov...

Full description

Bibliographic Details
Main Authors: Amy Vennos, Kiernan George, Alan Michaels
Format: Article
Language:English
Published: MDPI AG 2021-06-01
Series:IoT
Subjects:
Online Access:https://www.mdpi.com/2624-831X/2/3/20
id doaj-2c0bb0efbc3d4357a6b17e1e003b4c47
record_format Article
spelling doaj-2c0bb0efbc3d4357a6b17e1e003b4c472021-09-26T00:27:23ZengMDPI AGIoT2624-831X2021-06-0122037540010.3390/iot2030020Attacks and Defenses for Single-Stage Residue Number System PRNGsAmy Vennos0Kiernan George1Alan Michaels2Hume Center for National Security and Technology, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061, USAHume Center for National Security and Technology, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061, USAHume Center for National Security and Technology, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061, USAThis paper explores the security of a single-stage residue number system (RNS) pseudorandom number generator (PRNG), which has previously been shown to provide extremely high-quality outputs when evaluated through available RNG statistical test suites or in using Shannon and single-stage Kolmogorov entropy metrics. In contrast, rather than blindly performing statistical analyses on the outputs of the single-stage RNS PRNG, this paper provides both white box and black box analyses that facilitate reverse engineering of the underlying RNS number generation algorithm to obtain the residues, or equivalently key, of the RNS algorithm. We develop and demonstrate a conditional entropy analysis that permits extraction of the key given a priori knowledge of state transitions as well as reverse engineering of the RNS PRNG algorithm and parameters (but not the key) in problems where the multiplicative RNS characteristic is too large to obtain a priori state transitions. We then discuss multiple defenses and perturbations for the RNS system that fool the original attack algorithm, including deliberate noise injection and code hopping. We present a modification to the algorithm that accounts for deliberate noise, but rapidly increases the search space and complexity. Lastly, we discuss memory requirements and time required for the attacker and defender to maintain these defenses.https://www.mdpi.com/2624-831X/2/3/20pseudorandom number generator (PRNG)residue number system (RNS)reverse engineering
collection DOAJ
language English
format Article
sources DOAJ
author Amy Vennos
Kiernan George
Alan Michaels
spellingShingle Amy Vennos
Kiernan George
Alan Michaels
Attacks and Defenses for Single-Stage Residue Number System PRNGs
IoT
pseudorandom number generator (PRNG)
residue number system (RNS)
reverse engineering
author_facet Amy Vennos
Kiernan George
Alan Michaels
author_sort Amy Vennos
title Attacks and Defenses for Single-Stage Residue Number System PRNGs
title_short Attacks and Defenses for Single-Stage Residue Number System PRNGs
title_full Attacks and Defenses for Single-Stage Residue Number System PRNGs
title_fullStr Attacks and Defenses for Single-Stage Residue Number System PRNGs
title_full_unstemmed Attacks and Defenses for Single-Stage Residue Number System PRNGs
title_sort attacks and defenses for single-stage residue number system prngs
publisher MDPI AG
series IoT
issn 2624-831X
publishDate 2021-06-01
description This paper explores the security of a single-stage residue number system (RNS) pseudorandom number generator (PRNG), which has previously been shown to provide extremely high-quality outputs when evaluated through available RNG statistical test suites or in using Shannon and single-stage Kolmogorov entropy metrics. In contrast, rather than blindly performing statistical analyses on the outputs of the single-stage RNS PRNG, this paper provides both white box and black box analyses that facilitate reverse engineering of the underlying RNS number generation algorithm to obtain the residues, or equivalently key, of the RNS algorithm. We develop and demonstrate a conditional entropy analysis that permits extraction of the key given a priori knowledge of state transitions as well as reverse engineering of the RNS PRNG algorithm and parameters (but not the key) in problems where the multiplicative RNS characteristic is too large to obtain a priori state transitions. We then discuss multiple defenses and perturbations for the RNS system that fool the original attack algorithm, including deliberate noise injection and code hopping. We present a modification to the algorithm that accounts for deliberate noise, but rapidly increases the search space and complexity. Lastly, we discuss memory requirements and time required for the attacker and defender to maintain these defenses.
topic pseudorandom number generator (PRNG)
residue number system (RNS)
reverse engineering
url https://www.mdpi.com/2624-831X/2/3/20
work_keys_str_mv AT amyvennos attacksanddefensesforsinglestageresiduenumbersystemprngs
AT kiernangeorge attacksanddefensesforsinglestageresiduenumbersystemprngs
AT alanmichaels attacksanddefensesforsinglestageresiduenumbersystemprngs
_version_ 1717366135545921536