Bælte | |
---|---|
Oprettet | 2001 _ |
offentliggjort | 2007 _ |
Nøglestørrelse | 256 bit |
Blokstørrelse | 128 bit |
Antal runder | otte |
Type | kombination af Feistel-netværk og en: Lai-Massey-skema |
BelT er den statslige standard for symmetrisk kryptering og integritetskontrol i Republikken Hviderusland. Standardens fulde navn er STB 34.101.31-2007 “Informationsteknologi og sikkerhed. Kryptografiske algoritmer til kryptering og integritetskontrol. Vedtaget som en foreløbig standard i 2007. Indført som den endelige standard i 2011.
BelT er en blokchiffer med en 256-bit nøgle og 8 kryptotransformationscyklusser, der opererer med 128-bit ord. Standardens kryptografiske algoritmer er bygget på basis af grundlæggende krypteringstilstande for datablokke. Alle standardalgoritmer er opdelt i 8 grupper:
De første fire grupper er til sikker meddelelse. Hver gruppe inkluderer en krypteringsalgoritme og en dekrypteringsalgoritme baseret på en hemmelig nøgle. Parter med en delt nøgle kan udveksle meddelelser ved at kryptere dem, før de sendes, og dekryptere dem, efter de er modtaget. I tilstandene med simpel udskiftning og sammenkædning af blokke krypteres meddelelser, der indeholder mindst en blok, og i gammatilstandene med feedback og tælleren krypteres meddelelser af vilkårlig længde.
Den femte algoritme er designet til at kontrollere integriteten af meddelelser ved hjælp af imiterede inserts - kontrolord, der bestemmes ved hjælp af en hemmelig nøgle. Parter, der har en fælles nøgle, kan organisere integritetskontrol under udvekslingen af beskeder ved at tilføje falske indstik til dem, når de sender og kontrollere falske indstik ved modtagelse. Kontrol af efterlignede indstik tillader desuden modtagersiden at verificere, at afsendersiden kender den hemmelige nøgle, det vil sige at verificere ægtheden af meddelelser.
I den sjette gruppe er det oprindelige budskab givet af to dele: åben og kritisk. Beskyttelsesalgoritmerne er designet til at kontrollere integriteten af begge dele og sikre fortroligheden af den kritiske del. Når beskyttelse er indstillet, beregnes den imiterede indsættelse af hele meddelelsen, og dens kritiske del krypteres. Når beskyttelsen fjernes, kontrolleres efterligningen, og hvis kontrollen lykkes, dekrypteres den kritiske del.
I algoritmerne i den syvende gruppe skal længden af den beskyttede meddelelse kendes med det samme; disse algoritmer anbefales at blive brugt til at beskytte nøgler. Den beskyttede nøgle er ledsaget af en offentlig header, der indeholder nøglens offentlige attributter og er også en kontrolværdi for integritetskontrol. Der kan anvendes faste vedvarende overskrifter, som kun tjener som integritetstjek. Når beskyttelse er indstillet, krypteres nøglen sammen med dens overskrift. Når beskyttelsen fjernes, udføres den omvendte transformation, og den dekrypterede header sammenlignes med kontrolheaderen.
Den ottende algoritme er designet til at beregne hashværdier - kontrolord, der bestemmes uden brug af en nøgle. Parter kan organisere meddelelsesintegritetstjek ved at sammenligne deres hashværdier med gyldige kontrolhashværdier. Ændring af en besked med stor sandsynlighed ændrer den tilsvarende hashværdi, og derfor kan hashværdier bruges i stedet for selve beskederne, for eksempel i elektroniske digitale signatursystemer.
Indgangsdataene for krypterings- og dekrypteringsalgoritmerne er blokken og nøglen
Outputtet er en blok - resultatet af kryptering eller dekryptering af ordet på nøglen eller
Indgangsdataene til kryptering er forberedt som følger:
Transform sætter i linje ord , ord
cyklisk venstreskift efter lidt.
operationen med at erstatte en 8-bit inputstreng med en substitution fra tabel 1.
Substitutionen er givet af en fast tabel. Tabellen bruger hexadecimal repræsentation af ord
og modulo additions- og subtraktionsoperationer
For at kryptere en blok på en nøgle udføres følgende trin:
For at dekryptere en blok på en nøgle udføres følgende trin:
.
Hashing-algoritmen bruges til at beregne en hashværdi, som senere kan bruges til at kontrollere dataenes integritet.
Inputtet til algoritmen er en besked af vilkårlig længde, repræsenteret som en bitsekvens .
Outputtet er et ord .
For at algoritmen skal fungere, er den indledende bitsekvens polstret med nuller, så dens længde er delelig med 256 og er repræsenteret som følger: . Vi skal også bruge variabler og .
Lad der være et ord .
Vi definerer to kortlægninger:
som handler på ordet efter reglerne:
hvor ,. _
Algoritmen udføres i flere trin:
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |
Hash funktioner | |
---|---|
generelle formål | |
Kryptografisk | |
Nøglegenereringsfunktioner | |
Tjek nummer ( sammenligning ) | |
Hashes |
|