Pseudo-random tus lej: txoj hauv kev tau txais, qhov zoo thiab qhov tsis zoo

Cov txheej txheem:

Pseudo-random tus lej: txoj hauv kev tau txais, qhov zoo thiab qhov tsis zoo
Pseudo-random tus lej: txoj hauv kev tau txais, qhov zoo thiab qhov tsis zoo
Anonim

Tus lej pseudo-random yog tus lej tshwj xeeb tsim los ntawm lub tshuab hluav taws xob tshwj xeeb. Lub Deterministic Random Bit Generator (PRNG), tseem hu ua Deterministic Random Bit Generator (DRBG), yog ib qho algorithm rau kev tsim ib ntu ntawm cov lej uas nws cov khoom muaj kwv yees li cov yam ntxwv ntawm cov lej sib lawv liag. Qhov tsim PRNG ib ntus tsis yog qhov sib txawv tiag tiag, vim nws tau txiav txim siab tag nrho los ntawm cov txiaj ntsig ntawm cov noob hu ua PRNG noob, uas yuav suav nrog cov txiaj ntsig tiag tiag. Txawm hais tias cov kab ke uas nyob ze rau random tuaj yeem tsim tau siv cov khoom siv hluav taws xob random tooj, pseudo-random tooj generators yog ib qho tseem ceeb hauv kev xyaum rau kev ceev ntawm tus lej tiam thiab lawv cov kev tsim tawm.

Number randomization
Number randomization

Daim ntawv thov

PRNGs yog lub hauv paus rau cov ntawv thov xws li simulation (xws li rau Monte Carlo), kev ua si hauv hluav taws xob (xws li rau tiam txheej txheem), thiab cryptography. Cryptographic daim ntawv thov xav kom cov ziscov ntaub ntawv tsis tau kwv yees los ntawm cov ntaub ntawv ua ntej. Cov txheej txheem nyuaj dua yuav tsum tau ua kom tsis txhob muaj cov kab sib txuas ntawm PRNGs yooj yim.

Cov Cai thiab Cov Cai

Cov khoom txheeb cais zoo yog qhov tseem ceeb rau kev tau txais PRNG. Feem ntau, yuav tsum tau ua tib zoo txheeb xyuas kev ua lej kom paub tseeb tias RNG tsim cov lej uas nyob ze txaus rau random kom tsim nyog rau kev siv.

John von Neumann tau ceeb toom tawm tsam kev txhais lus tsis raug PRNG raws li lub tshuab hluav taws xob sib txawv tiag tiag thiab tso dag tias "Txhua tus uas txiav txim siab txog lej rau kev tsim cov lej random yeej muaj kev txhaum."

Siv

PRNG tuaj yeem tsim tawm los ntawm lub xeev thawj zaug. Nws yuav ib txwm ua kom muaj qhov sib lawv liag thaum pib nrog lub xeev no. Lub sijhawm PRNG tau txhais raws li hauv qab no: qhov siab tshaj plaws ntawm tag nrho cov thawj lub xeev ntawm qhov ntev ntawm qhov tsis rov ua raws li cov lus qhia ua ntej. Lub sijhawm raug txwv los ntawm cov xeev, feem ntau ntsuas hauv cov khoom. Vim hais tias lub sij hawm ntev muaj peev xwm ua ob npaug nrog txhua "xeev" me ntsis ntxiv, nws yog ib qho yooj yim los tsim PRNGs nrog lub sij hawm loj txaus rau ntau yam kev siv.

Loj randomization cov phiaj xwm
Loj randomization cov phiaj xwm

Yog tias lub xeev sab hauv ntawm PRNG muaj n cov khoom, nws lub sijhawm tuaj yeem tsis pub ntau tshaj 2n cov txiaj ntsig, nws luv dua. Rau qee qhov PRNGs, lub sijhawm tuaj yeem suav tsis tau hla tag nrho lub sijhawm. Linear Feedback Shift Registers (LFSRs) feem ntau yograug xaiv kom muaj lub sijhawm sib npaug ntawm 2n − 1.

Linear congruential generators muaj lub sijhawm uas tuaj yeem suav nrog kev suav. Txawm hais tias PPP yuav rov ua nws cov txiaj ntsig tom qab lawv mus txog qhov kawg ntawm lub sijhawm, qhov kev rov ua dua tsis tau txhais hais tias qhov kawg ntawm lub sijhawm tau mus txog, vim tias nws lub xeev sab hauv yuav muaj ntau dua li qhov tso zis; qhov no yog qhov tseeb tshwj xeeb tshaj yog rau PRNGs nrog ib qho me ntsis tso zis.

Yuav yuam kev

Qhov yuam kev pom los ntawm PRNGs muaj xws li hloov maj mam (thiab tsis paub) mus rau qhov pom tseeb. Ib qho piv txwv yog RANDU random tooj algorithm, uas tau siv nyob rau hauv mainframes rau ntau xyoo lawm. Nws yog ib qho tsis txaus, tab sis nws qhov tsis txaus ntseeg tau mus tsis tau pom dua rau lub sijhawm ntev.

Kev ua haujlwm ntawm tus lej generator
Kev ua haujlwm ntawm tus lej generator

Nyob rau hauv ntau qhov chaw, kev tshawb fawb kev tshawb fawb uas tau siv random xaiv, Monte Carlo simulations, los yog lwm txoj kev raws li RNG yog ntau tsawg txhim khu kev qha tshaj qhov yuav tshwm sim los ntawm tsis zoo GNPG. Txawm niaj hnub no, qee zaum yuav tsum tau ceev faj, raws li muaj pov thawj los ntawm kev ceeb toom hauv International Encyclopedia of Statistical Science (2010).

Kev Kawm Ua tiav

Raws li ib qho piv txwv, xav txog Java programming lus siv dav. Raws li xyoo 2017, Java tseem tso siab rau Linear Congruential Generator (LCG) rau nws PRNG.

History

Thawj PRNG kom tsis txhob muaj teeb meem loj thiab tseem khiav nrawm heev,yog Mersenne Twister (sib tham hauv qab no), uas tau luam tawm xyoo 1998. Txij thaum ntawd los, lwm yam zoo PRNGs tau tsim.

Zaj Lus Qhia
Zaj Lus Qhia

Tab sis keeb kwm ntawm pseudo-random tus lej tsis xaus rau ntawd. Nyob rau hauv lub thib ob ib nrab ntawm lub xyoo pua 20th, tus qauv chav kawm ntawm algorithms siv rau PRNGs suav nrog linear congruential generators. Qhov zoo ntawm LCG tau paub tias tsis txaus, tab sis txoj kev zoo dua tsis muaj. Xovxwm et al (2007) tau piav qhia txog qhov tshwm sim hauv qab no: "Yog tias tag nrho cov ntaub ntawv tshawb fawb uas nws cov txiaj ntsig tsis ntseeg vim [LCGs thiab cuam tshuam] ploj ntawm lub tsev qiv ntawv, yuav muaj qhov sib txawv qhov loj ntawm koj lub nrig ntawm txhua lub txee."

Qhov kev ua tiav tseem ceeb hauv kev tsim cov pseudo-random generators yog kev taw qhia txog cov txheej txheem raws li linear recurrent nyob rau hauv ob lub ntsiab lus teb; xws li oscillators yog txuas mus rau linear tawm tswv yim hloov cov npe. Lawv tau ua lub hauv paus rau kev tsim cov pseudo-random tooj sensors.

Tshwj xeeb, xyoo 1997 tsim los ntawm Mersen Twister zam ntau yam teeb meem nrog lub tshuab hluav taws xob ua ntej. Lub Mersenne Twister muaj lub sijhawm 219937-1 iterations (≈4.3 × 106001). Nws tau raug pov thawj tias tau muab faib ua tib yam hauv (txog) 623 qhov ntev (rau 32-ntsis qhov tseem ceeb), thiab thaum lub sijhawm nws qhia tau nrawm dua li lwm cov tshuab hluav taws xob uas muaj suab npe uas tsim cov pseudo-random lej sequences.

Nyob rau xyoo 2003, George Marsaglia tau qhia txog tsev neeg ntawm xorshift generators kuj raws li kev rov ua dua tshiab. Cov generators no heev heevtau nrawm thiab - ua ke nrog kev ua haujlwm tsis yog-linear - lawv dhau qhov kev ntsuas nruj heev.

Hauv xyoo 2006, tsev neeg WELL generator tau tsim. Cov tshuab hluav taws xob zoo hauv kev nkag siab txhim kho qhov zoo ntawm Twister Mersenne, uas muaj qhov chaw loj hauv xeev thiab rov qab qeeb heev los ntawm lawv, tsim cov lej pseudo-random nrog ntau xoom.

Cov yam ntxwv ntawm tus lej random
Cov yam ntxwv ntawm tus lej random

Cryptography

PRNG haum rau kev siv cryptographic hu ua cryptographically ruaj ntseg PRNG (CSPRNG). Qhov yuav tsum tau muaj rau CSPRNG yog tias tus neeg tawm tsam uas tsis paub cov noob tsuas muaj qhov txiaj ntsig zoo hauv kev paub qhov txawv ntawm lub tshuab hluav taws xob cov khoom tsim tawm los ntawm qhov sib lawv liag. Hauv lwm lo lus, thaum lub PRNG tsuas yog yuav tsum tau xeem dhau qee qhov kev ntsuam xyuas, CSPRNG yuav tsum dhau tag nrho cov kev xeem txheeb cais uas txwv rau lub sij hawm polynomial hauv cov noob loj.

Txawm hais tias cov ntaub ntawv pov thawj ntawm cov cuab yeej no dhau ntawm theem tam sim no ntawm kev suav cov kev xav tsis yooj yim, cov pov thawj muaj zog tuaj yeem muab los ntawm kev txo cov CSPRNG mus rau qhov teeb meem uas yog qhov nyuaj, xws li cov lej sib npaug. Feem ntau, kev tshuaj xyuas ntau xyoo yuav tsum tau ua ua ntej lub algorithm tuaj yeem raug lees paub tias yog CSPRNG.

Nws tau pom tias nws zoo li NSA tau ntxig lub qhov rooj rov qab asymmetric rau hauv NIST-certified Dual_EC_DRBG pseudo-random tooj generator.

BBS lub tshuab hluav taws xob
BBS lub tshuab hluav taws xob

Pseudo-random algorithmstus lej

Feem ntau PRNG algorithms tsim cov kab ke uas sib npaug los ntawm ib qho ntawm ntau qhov kev xeem. Nov yog ib lo lus nug qhib. Nws yog ib qho tseem ceeb hauv txoj kev xav thiab kev coj ua ntawm cryptography: Puas muaj ib txoj hauv kev kom paub qhov txawv ntawm qhov zoo ntawm PRNG los ntawm qhov sib txawv tiag tiag? Hauv qhov teeb tsa no, tus neeg daws teeb meem paub tias siv PRNG algorithm uas paub (tab sis tsis yog lub xeev nws tau pib nrog), lossis siv cov algorithm tiag tiag. Nws yuav tsum paub qhov txawv ntawm lawv.

Kev ruaj ntseg ntawm feem ntau cryptographic algorithms thiab cov txheej txheem uas siv PRNGs yog raws li qhov kev xav tias nws tsis tuaj yeem paub qhov txawv ntawm kev siv PRNG tsim nyog thiab kev siv qhov sib txawv tiag tiag. Cov piv txwv yooj yim tshaj plaws ntawm qhov kev vam khom no yog cov kwj ciphers, uas feem ntau ua haujlwm los ntawm kev tshem tawm lossis xa cov ntawv dawb nrog PRNG cov zis, tsim cov ntawv ciphertext. Tsim cryptographically txaus PRNGs yog qhov nyuaj heev vim lawv yuav tsum ua kom tau raws li cov txheej txheem ntxiv. Qhov loj ntawm nws lub sij hawm yog ib qho tseem ceeb ntawm qhov cryptographic haum ntawm PRNG, tab sis tsis yog ib qho xwb.

Pseudo-random zauv
Pseudo-random zauv

Lub khoos phis tawj thaum ntxov PRNG tau npaj los ntawm John von Neumann hauv xyoo 1946 yog lub npe hu ua txoj kev ntsuas squares. Lub algorithm yog raws li nram no: coj tus naj npawb, square nws, tshem tawm tus lej nruab nrab ntawm tus lej uas tau tshwm sim ua "tus lej lej", tom qab ntawd siv tus lej no ua tus lej pib rau qhov kev rov ua dua tom ntej. Piv txwv li, squaring tus naj npawb 1111 muab1234321, uas tuaj yeem sau ua 01234321, tus lej 8 tus lej yog tus lej ntawm 4 tus lej. Qhov no muab 2343 ua tus lej "random". Qhov tshwm sim ntawm kev rov ua cov txheej txheem no yog 4896, thiab lwm yam. Von Neumann siv 10 tus lej, tab sis cov txheej txheem yog tib yam.

Disadvantages of "middle square"

Qhov teeb meem nrog txoj kev "txhais square" yog tias txhua qhov sib txuas nws thiaj li rov ua dua, qee qhov nrawm heev, piv txwv li: 0000. Von Neumann paub txog qhov no, tab sis nws pom ib txoj hauv kev txaus rau nws lub hom phiaj, thiab txhawj xeeb tias qhov lej "kev kho" yuav cia li nkaum qhov yuam kev es tsis txhob tshem lawv.

Lub essence ntawm lub generator
Lub essence ntawm lub generator

Von Neumann pom cov khoom siv random thiab pseudo-random tus lej tshuab hluav taws xob tsis tsim nyog: yog tias lawv tsis sau cov khoom tsim tawm, lawv tsis tuaj yeem kuaj xyuas qhov yuam kev tom qab. Yog tias lawv tau sau lawv cov txiaj ntsig, lawv yuav ua rau lub khoos phis tawj tsis muaj lub cim xeeb thiab yog li lub khoos phis tawj muaj peev xwm nyeem thiab sau cov lej. Yog tias cov lej tau sau rau ntawm daim npav, lawv yuav siv sijhawm ntev dua los sau thiab nyeem. Ntawm ENIAC lub khoos phis tawj nws siv, txoj kev "nruab nrab square" thiab ua tiav cov txheej txheem kom tau txais pseudo-random tus lej ntau pua zaus sai dua li nyeem cov lej los ntawm cov ntawv xuas nrig ntaus.

Mean square tau txij li tau hloov pauv los ntawm ntau lub tshuab hluav taws xob.

Innovative method

Ib qho kev hloov tshiab tsis ntev los no yog los ua ke lub ntsiab lus square nrog Weil ib ntus. Txoj kev no ua kom cov khoom zoo nyob hauvlub sij hawm ntev. Nws pab kom tau qhov zoo tshaj plaws pseudo-random tus lej qauv.

Pom zoo: