Kriptogrāfijas jomā ir svarīgi, lai lietas, kurām vajadzētu būt slepenām, paliktu slepenas. Viena problēma, ar kuru jāsaskaras, ir iepriekšēja aprēķins. Šeit uzbrucējs var tērēt ievērojamu apstrādes jaudu, lai noteiktu, kādus izvadus nodrošina ievades kombinācija. Izmantojot pietiekamu apstrādes jaudu un laiku, jūs varētu pārbaudīt, kādu izvadi iegūstat, atlasot noteiktas ievades un virkni dažādu šifrēšanas atslēgu.
Pēc tam jūs varētu pārbaudīt lielu skaitu šifrētu sūtījumu, lai redzētu, vai kāda no jūsu zināmajām izvadēm kādreiz ir parādīta, un zināt izmantoto ziņojumu un atslēgu. Diemžēl nav reāla veida, kā pilnībā novērst šo scenāriju. Tomēr ir iespējams to padarīt daudz grūtāku.
Jau tagad ir grūti uzminēt precīzu ziņojuma saturu un tā šifrēšanai izmantoto šifrēšanas atslēgu. Lai gan vienas rakstzīmes atšķirības ziņojumā padarītu visas pūles bezjēdzīgas, tas patiešām ir iespējams tikai īsiem un vienkāršiem ziņojumiem. Pretējā gadījumā ir pārāk daudz iespējamo frāzes un formulējumu variantu un pat drukas kļūdu un slengu risks. Bet pat šis risks spēju uzminēt lietas ir pārāk augsts. Lai padarītu lietas vēl grūtākas, lielākajai daļai kriptogrāfijas shēmu ir nepieciešama trešā vērtība, ko sauc par "inicializācijas vektoru" vai saīsināti IV.
IV
IV ir vēl viena vērtība, kas tiek ievadīta šifrēšanas un atšifrēšanas algoritmā. Tas ir trešais vienādojuma mainīgais, kas ar savu klātbūtni ievērojami palielina grūtības pareizi uzminēt ievades datus, kas nepieciešami konkrētas izvades ģenerēšanai. Smieklīgi, ka IV pat nav jābūt noslēpumam. Tam, kam tai jābūt, ir unikāls.
Visa problēma ar izvairīšanos no priekšaprēķinu uzbrukumiem ir padarīt to vēl neiespējamāku uzminēt ziņojumu saturu. Šim nolūkam jūs nevarat vienkārši izvēlēties vienu IV un pieturēties pie tā; tev tas jāmaina. Turklāt, katru reizi izmantojot citu IV, iegūto šifrēto tekstu kriptanalīzi ir grūtāk veikt. Lai iegūtu ticami unikālu vērtību, vēlaties izmantot “nonce”, jo īpaši kriptogrāfisku nonce.
Kriptogrāfiskā nonce ir vērtība, ko ģenerē kriptogrāfiski drošs PRNG vai pseidogadījuma skaitļu ģenerators, kas paredzēts lietošanai precīzi vienreiz. Parasti to panāk, vērtībā iekļaujot kādu laika zīmogu.
Padoms. Īpaši tad, ja runa ir par britu angļu valodas dzimtā runātāju, ir svarīgi lietot frāzi “kriptogrāfijas nonce”, nevis tikai vārdu “vienreiz”. Apvienotajā Karalistē “vienreiz” ir slenga vārds pedofilam. Kopumā, lai izvairītos no neskaidrībām, vislabāk ir īpaši lietot terminu kriptogrāfijas nonce.
Citi lietojumi
Lai gan lielākajai daļai potenciālo unikālo vērtību izmantošanas gadījumu nav obligāti nepieciešams kriptogrāfiski drošs nejaušs skaitlis, kriptogrāfijas neatbilstība atbilst prasībām. Piemēram, atkārtots uzbrukums ir tīmekļa uzbrukums, kurā uzbrucējs atkārtoti sūta vienu un to pašu trafika daļu, to bieži atkārtojot. Pieņemsim, ka šis pieprasījums liek serverim pavadīt laiku, lai izveidotu atskaiti. Uzbrucējs var palielināt nepieciešamā darba apjomu, atkārtojot pieprasījumu vairākas reizes.
Bieži vien uzbrucējs var arī nedaudz mainīt pieprasījumu automatizētā veidā. Piemēram, ja tiešsaistes veikals lapas vietrādī URL izmanto secīgus produktu numurus, uzbrucējs var automatizēt to visu pieprasīšanas procesu.
Lai to apietu, serveris var nodrošināt pārlūkprogrammai vienreiz lietojamu marķieri ar katru pieprasījumu. Serveris seko izmantotajiem marķieriem un automātiski pārtrauc trafiku, kurā nav iekļauta derīga, neizmantota marķiera. Šādā gadījumā marķierim ir jābūt unikālam, un to nedrīkst izmantot atkārtoti. Tādējādi kriptogrāfijas notikums atbilst rēķinam.
Secinājums
Kriptogrāfiskais neskaitījums ir kriptogrāfiski drošs nejaušs skaitlis, kas jāizmanto tikai vienu reizi. To darot, priekšaprēķinu uzbrukumi kļūst neiespējami, vienlaikus nepieprasot pašam kriptogrāfiskajam noncei palikt slepenam. To galvenokārt izmanto kā inicializācijas vektoru šifrēšanas shēmās.
Bieži tiek apgalvots, ka šis termins nozīmē "VIENREIZ izmantots numurs"; tomēr tā ir nepatiesa etimoloģija. Vārds nāk no vidus angļu valodas, lai apzīmētu kaut ko vienreiz vai īslaicīgi lietotu. Tomēr jēdziens “vienreiz izmantots skaitlis” palīdz izskaidrot, kam ir paredzēts kriptogrāfiskais nonce. Lai palīdzētu sasniegt šo mērķi, tas bieži ietver kādu laika zīmogu.