{"id":6515,"date":"2025-04-02T16:11:41","date_gmt":"2025-04-02T14:11:41","guid":{"rendered":"https:\/\/www.galileiarezzofad.it\/ildialogo\/?p=6515"},"modified":"2025-04-05T18:27:17","modified_gmt":"2025-04-05T16:27:17","slug":"nuovi-generatori-di-numeri-casuali-contro-il-quantistico","status":"publish","type":"post","link":"https:\/\/www.galileiarezzofad.it\/ildialogo\/2025\/04\/02\/nuovi-generatori-di-numeri-casuali-contro-il-quantistico\/","title":{"rendered":"Nuovi generatori di numeri casuali contro il quantistico"},"content":{"rendered":"\n<p>Di Luca Rizzo.<\/p>\n\n\n\n<p>La generazione di numeri casuali \u00e8 un campo di ricerca di cruciale importanza nel mondo di oggi. Dalle transazioni bancarie fino ai messaggi che mandiamo ai nostri amici sulle applicazioni di messaggistica privata. Per far si che tutti questi dati siano segreti abbiamo bisogno di numeri casuali. Ad oggi per\u00f2 usiamo dei generatori particolari, perch\u00e8 in realt\u00e0 sono altamente prevedibili. Siamo fortunati: i computer di oggi non sono veloci abbastanza per riuscire a prevedere i numeri estratti da questi generatori. La sfortuna: i computer quantistici sono in grado di rivelare i nostri segreti a tutti. Abbiamo ancora tempo per\u00f2 prima che i computer quantistici siano utilizzabili, nel frattempo dobbiamo correre ai ripari.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/microsoft-majorana-1024x683.avif\" alt=\"\" class=\"wp-image-6630\" style=\"width:534px;height:auto\" srcset=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/microsoft-majorana-1024x683.avif 1024w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/microsoft-majorana-300x200.avif 300w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/microsoft-majorana-768x512.avif 768w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/microsoft-majorana.avif 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>La soluzione \u00e8 semplice: generare numeri che siano veramente casuali quindi non deterministici. Vengono in nostro soccorso Randy Kuang e Dafu Lou che nel loro articolo: &#8220;<a href=\"https:\/\/arxiv.org\/pdf\/2502.18609\">IID-Based QPP-RNG: A Random Number Generator Utilizing Random Permutation Sorting Driven by System Jitter<\/a>&#8221; ci forniscono una soluzione al problema completamente software. Esploriamo i concetti necessari a capire il funzionamento di questo nuovo generatore.<\/p>\n\n\n\n<p>Dobbiamo parlare di fisica. Il primo concetto \u00e8 l&#8217;entropia: misura la casualit\u00e0 o informazione di un sistema; proveremo a massimizzare l&#8217;entropia nel nostro sistema per avere numeri pi\u00f9 casuali possibili. La fisica quantistica, un campo di ricerca intensiva, ha un funzionamento probabilistico e quindi imprevedibile, per questo ci permetter\u00e0 di massimizzare l&#8217;entropia.<\/p>\n\n\n\n<p>QPP (Quantum Permutation Pad) \u00e8 la prima parte dell&#8217;algoritmo. Ci fornisce due valori importanti, capiremo dopo il perch\u00e8. Consideriamo una lista di numeri [1, 2, 3, 4, 5], mescoliamola [3, 1, 5, 2, 4]. Proviamo adesso a riordinare la lista finch\u00e9 non \u00e8 in ordine crescente ([1, 2, 3, 4, 5]). Da questo processo otteniamo: il tempo necessario a riordinare la lista, i tentativi necessari per riordinare la lista. Questi dati sono governati da processi quantistici, decisioni del sistema operativo, fluttuazioni energetiche, componenti della macchina e da casualit\u00e0 combinatoria (\\( 1\\over{n!} \\)): quindi possiamo dire, grazie a questa operazione , di aver accumulato molta casualit\u00e0. Sono dati un po&#8217; grezzi e non vanno bene in questa forma quindi dobbiamo raffinarli. Passiamo questi dati nelle equazioni: \\(N \\text{(numero tentativi)} \\mod 256 \\) e \\(\\text{SystemJitter (tempo di esecuzione)} \\mod 256 \\) che ci fornir\u00e0 un valore tra [0, 255] oppure otto bit di informazione. L&#8217;operazione di modulo significa prendere il resto di una divisione, per esempio: \\(15 \\mod 4 = 3 \\) perch\u00e8: \\( 15\/4 = 3 \\text{(quoziente)} + 3 \\text{(resto)} \\). In questo caso l&#8217;operazione assicura che il numero casuale sia uniformemente distribuito: ogni numero ha la stessa probabilit\u00e0 di uscire da queste operazioni (non deterministico). Abbiamo ora due valori completamente casuali.<\/p>\n\n\n\n<p>Studiamo la parte RNG (generatore casuale di numeri). L&#8217;articolo fa riferimento a un LCG (generatore congruenziale lineare) che \u00e8 uno dei pi\u00f9 semplici ma efficienti generatori odierni, fa parte del campo dei generatori deterministici ma grazie al passaggio precedente diventa imprevedibile. \u00c9 di forma:<\/p>\n\n\n\n<p class=\"has-text-align-center\"> \\(Y = aX\\text{(seed)} + c \\text{(numero tentativi)} \\mod m \\).<\/p>\n\n\n\n<p>Precisamente la parte casuale \u00e8 il seed (seme), chiamato cos\u00ec perch\u00e8 \u00e8 il punto di partenza della generazione. Periodicamente aggiorniamo il seed con i valori casuali generati con i processi precedentemente illustrati per mantenere un&#8217;entropia alta nel sistema. A questo punto l&#8217;articolo non ci informa per cosa sia usata la N (numero tentativi per riordinare la lista) ma possiamo ipotizzare che sia usato nel generatore come incremento in quanto &#8220;a&#8221; e &#8220;m&#8221; sono dei valori troppo sensibili e su cui vogliamo avere controllo. Non entrer\u00f2 nel dettaglio degli LCG poich\u00e8 lontano dallo scopo dell&#8217;articolo. Di seguito porter\u00f2 dei grafici della generazione.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"523\" src=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1024x523.png\" alt=\"\" class=\"wp-image-6588\" style=\"width:479px;height:auto\" srcset=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1024x523.png 1024w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-300x153.png 300w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-768x392.png 768w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18.png 1535w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"506\" src=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-16-1024x506.png\" alt=\"\" class=\"wp-image-6589\" style=\"width:477px;height:auto\" srcset=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-16-1024x506.png 1024w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-16-300x148.png 300w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-16-768x380.png 768w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-16.png 1537w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"516\" src=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-49-1024x516.png\" alt=\"\" class=\"wp-image-6591\" style=\"width:474px;height:auto\" srcset=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-49-1024x516.png 1024w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-49-300x151.png 300w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-49-768x387.png 768w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-49-1536x774.png 1536w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-37-49.png 1538w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"523\" src=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1-1024x523.png\" alt=\"\" class=\"wp-image-6592\" style=\"width:492px;height:auto\" srcset=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1-1024x523.png 1024w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1-300x153.png 300w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1-768x392.png 768w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/Screenshot-from-2025-03-26-14-38-18-1.png 1535w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>I grafici sembrano complessi ma sono di facile lettura. Mostrano la dispersione di numeri per due diversi tipi di generatori casuali. Come titolo abbiamo le caratteristiche del generatore e l&#8217;algoritmo usato. Qui si evince come l\u2019algoritmo illustrato: &#8220;(d) System jitters vs PermutCount mod 256&#8221; abbia una distribuzione veramente casuale quindi i punti colorati sono molto lontani fra di loro.<\/p>\n\n\n\n<p> Notiamo anche che grazie alle tecniche usate, nonostante i nostri dati di partenza siano gli stessi (seme, lista da riordinare, permutazione), l\u2019algoritmo genera valori completamente diversi.<\/p>\n\n\n\n<p>I risultati di questo algoritmo sono significativi, il primo passo verso la nuova sicurezza informatica. Il linguaggio di prova \u00e8 stato Java con implementazioni sulle principali piattaforme e hardware usate: Windows, MacOs (x86), MacOs(ARM). <\/p>\n\n\n\n<p>Gli studi sulla generazione di numeri casuali sono sull&#8217;entropia dei bit generati e la distribuzione. Il calcolo sull&#8217;entropia di shannon del sistema su 8 bit \u00e8 di 7.99981 bit di casualit\u00e0 con un minimo prodotto dal secondo test &#8220;Chi-square&#8221; di 262 (vicino al nostro ideale di 256), i grafici dimostrano sulla generazione di 1.000.000 di numeri che la generazione \u00e8 uniforme e robusta. Non ci sono dati sui tempi di esecuzione, sappiamo solo che Windows ha tempi di esecuzione pi\u00f9 lenti mettendoci circa tre volte e mezzo il tempo di esecuzione rispetto ai dispositivi Mac. La soluzione \u00e8 portabile e software quindi pu\u00f2 essere usata su diversi computer senza problemi o necessit\u00e0 di modifiche nel codice.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/crittografia-1-1024x683.webp\" alt=\"\" class=\"wp-image-6633\" style=\"width:432px;height:auto\" srcset=\"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/crittografia-1-1024x683.webp 1024w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/crittografia-1-300x200.webp 300w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/crittografia-1-768x512.webp 768w, https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-content\/uploads\/2025\/03\/crittografia-1.webp 1313w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>I passi per il futuro sono tanti, abbiamo una base notevole e possiamo usarla per diversi scopi. Il primo passo \u00e8 l&#8217;implementazione di questa generazione di algoritmi all&#8217;interno di programmi crittografici. L&#8217;obiettivo diventa poi di ottimizzare il processo di generazione per generazione ad alta frequenza di numeri casuali per diversi scopi quali: servizi web, simulazioni di processi fisici ed estrazioni di dati casuali.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Di Luca Rizzo. La generazione di numeri casuali \u00e8 un campo di ricerca di cruciale importanza nel mondo di oggi. Dalle transazioni bancarie fino ai messaggi che mandiamo ai nostri amici sulle applicazioni di messaggistica privata. Per far si che tutti questi dati siano segreti abbiamo bisogno di numeri casuali.<\/p>\n","protected":false},"author":134,"featured_media":6644,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"episode_type":"","audio_file":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","filesize_raw":"","footnotes":""},"categories":[55,15,290,111],"tags":[],"class_list":["post-6515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-attualita","category-informatica","category-numero-2-2024-25","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/posts\/6515"}],"collection":[{"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/users\/134"}],"replies":[{"embeddable":true,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/comments?post=6515"}],"version-history":[{"count":50,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/posts\/6515\/revisions"}],"predecessor-version":[{"id":6697,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/posts\/6515\/revisions\/6697"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/media\/6644"}],"wp:attachment":[{"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/media?parent=6515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/categories?post=6515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.galileiarezzofad.it\/ildialogo\/wp-json\/wp\/v2\/tags?post=6515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}