Cargando…

Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU

In cryptosystems and cryptographic modules, insufficient entropy of the noise sources that serve as the input into random number generator (RNG) may cause serious damage, such as compromising private keys. Therefore, it is necessary to estimate the entropy of the noise source as precisely as possibl...

Descripción completa

Detalles Bibliográficos
Autores principales: Kim, Yewon, Yeom, Yongjin
Formato: Online Artículo Texto
Lenguaje:English
Publicado: PeerJ Inc. 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7959633/
https://www.ncbi.nlm.nih.gov/pubmed/33817047
http://dx.doi.org/10.7717/peerj-cs.404
_version_ 1783664992144326656
author Kim, Yewon
Yeom, Yongjin
author_facet Kim, Yewon
Yeom, Yongjin
author_sort Kim, Yewon
collection PubMed
description In cryptosystems and cryptographic modules, insufficient entropy of the noise sources that serve as the input into random number generator (RNG) may cause serious damage, such as compromising private keys. Therefore, it is necessary to estimate the entropy of the noise source as precisely as possible. The National Institute of Standards and Technology (NIST) published a standard document known as Special Publication (SP) 800-90B, which describes the method for estimating the entropy of the noise source that is the input into an RNG. The NIST offers two programs for running the entropy estimation process of SP 800-90B, which are written in Python and C++. The running time for estimating the entropy is more than one hour for each noise source. An RNG tends to use several noise sources in each operating system supported, and the noise sources are affected by the environment. Therefore, the NIST program should be run several times to analyze the security of RNG. The NIST estimation runtimes are a burden for developers as well as evaluators working for the Cryptographic Module Validation Program. In this study, we propose a GPU-based parallel implementation of the most time-consuming part of the entropy estimation, namely the independent and identically distributed (IID) assumption testing process. To achieve maximal GPU performance, we propose a scalable method that adjusts the optimal size of the global memory allocations depending on GPU capability and balances the workload between streaming multiprocessors. Our GPU-based implementation excluded one statistical test, which is not suitable for GPU implementation. We propose a hybrid CPU/GPU implementation that consists of our GPU-based program and the excluded statistical test that runs using OpenMP. The experimental results demonstrate that our method is about 3 to 25 times faster than that of the NIST package.
format Online
Article
Text
id pubmed-7959633
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher PeerJ Inc.
record_format MEDLINE/PubMed
spelling pubmed-79596332021-04-02 Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU Kim, Yewon Yeom, Yongjin PeerJ Comput Sci Cryptography In cryptosystems and cryptographic modules, insufficient entropy of the noise sources that serve as the input into random number generator (RNG) may cause serious damage, such as compromising private keys. Therefore, it is necessary to estimate the entropy of the noise source as precisely as possible. The National Institute of Standards and Technology (NIST) published a standard document known as Special Publication (SP) 800-90B, which describes the method for estimating the entropy of the noise source that is the input into an RNG. The NIST offers two programs for running the entropy estimation process of SP 800-90B, which are written in Python and C++. The running time for estimating the entropy is more than one hour for each noise source. An RNG tends to use several noise sources in each operating system supported, and the noise sources are affected by the environment. Therefore, the NIST program should be run several times to analyze the security of RNG. The NIST estimation runtimes are a burden for developers as well as evaluators working for the Cryptographic Module Validation Program. In this study, we propose a GPU-based parallel implementation of the most time-consuming part of the entropy estimation, namely the independent and identically distributed (IID) assumption testing process. To achieve maximal GPU performance, we propose a scalable method that adjusts the optimal size of the global memory allocations depending on GPU capability and balances the workload between streaming multiprocessors. Our GPU-based implementation excluded one statistical test, which is not suitable for GPU implementation. We propose a hybrid CPU/GPU implementation that consists of our GPU-based program and the excluded statistical test that runs using OpenMP. The experimental results demonstrate that our method is about 3 to 25 times faster than that of the NIST package. PeerJ Inc. 2021-03-08 /pmc/articles/PMC7959633/ /pubmed/33817047 http://dx.doi.org/10.7717/peerj-cs.404 Text en ©2021 Kim and Yeom https://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.
spellingShingle Cryptography
Kim, Yewon
Yeom, Yongjin
Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU
title Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU
title_full Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU
title_fullStr Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU
title_full_unstemmed Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU
title_short Accelerated implementation for testing IID assumption of NIST SP 800-90B using GPU
title_sort accelerated implementation for testing iid assumption of nist sp 800-90b using gpu
topic Cryptography
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7959633/
https://www.ncbi.nlm.nih.gov/pubmed/33817047
http://dx.doi.org/10.7717/peerj-cs.404
work_keys_str_mv AT kimyewon acceleratedimplementationfortestingiidassumptionofnistsp80090businggpu
AT yeomyongjin acceleratedimplementationfortestingiidassumptionofnistsp80090businggpu