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...
Main Authors: | , , |
---|---|
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 |