Indagini sulla progettazione di generatori di numeri pseudo-casuali?


15

Sono interessato alla generazione di numeri pseudo-casuali per la crittografia. Oltre al capitolo 5 di Menezes / Oorschot / Vanstone ; Capitolo 8 di Stinson ; e il capitolo 3 di Goldreich , dove altro avrei potuto trovare di più? Sono interessato ai principi generali per la progettazione di PRNG (proprietà desiderabili, test, ecc.).


3
Non sul design in sé, ma potresti essere interessato al libro più recente di Goldreich: books.google.com/books?id=9k6Lw2U2XCkC
S Huntsman

@S Huntsman: grazie mille per quello! Non sapevo che Goldreich avesse un libro sui PRNG.
Jay,

Risposte:


8

Potresti voler dare un'occhiata


1
La maggior parte di questo non è molto rilevante per le implementazioni pratiche dei PRNG per la crittografia. Questo non è un buon insieme di risorse per dare un implementatore.
DW

4

Se stai pensando di implementare le tue idee, c'è una serie standard di test che vengono fornite le implementazioni del PRNG. Questi test (DIEHARD e il successore DIEHARDER) possono essere scaricati rispettivamente dalla sua pagina web archiviata e http://www.phy.duke.edu/~rgb/General/dieharder.php .


4
Nota importante: passare DIEHARD non significa che il tuo PRNG sia utile. Questa non è una risorsa che darei a un implementatore che deve implementare un PRNG sicuro.
DW

1

Sei interessato all'implementazione di un PRNG? In tal caso, la soluzione migliore non è progettarne uno da soli, ma semplicemente utilizzarne uno standard. / dev / urandom è la risposta giusta sulla maggior parte delle piattaforme. Se / dev / urandom non esiste, la generazione di una chiave AES casuale con / dev / random e quindi l'esecuzione della modalità AES-CTR per generare molti numeri pseudocasuali è un altro approccio ragionevole.

Ti consiglio di leggere Cryptography Engineering, di Ferguson, Schneier e Kohno. È un libro eccellente. Ti insegnerà molto su come progettare e costruire veri e propri sistemi crittografici.

Se in realtà devi costruire un sistema che verrà implementato nella pratica, ti consiglio di non prendere la tua guida dalla comunità teorica CS, ma piuttosto dalla comunità di professionisti e ricercatori orientati alla pratica. Gran parte del lavoro teorico CS non sarà molto rilevante, o potenzialmente anche fuorviante, per l'attuazione pratica di un PRNG sicuro. Ti incoraggio anche a guardare lo scambio di stack IT Security per questo tipo di domande.


4
La domanda dice esplicitamente che è interessato ai principi generali, e la domanda è stata posta sullo scambio di stack CS teorico ...
David Cash
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.