Oluline erinevus: krüpteerimine viitab tundliku teabe konfidentsiaalseks hoidmise viisile, muutes teabe vormi. See on muutmata kujul loetav, et seda turvaliselt hoida. Obfuscation on vaikne sarnane krüpteerimisega. Seda mõistet kasutatakse siiski pigem programmi koodide kui üldandmete kaitseks. See viitab andmete teisendamisele mõnda raskesse vormi. Krüpteerimiseks ja peitmiseks kasutatakse algoritmi. Nende peamine erinevus on see, et isegi kui algoritm on teada, ei saa krüpteeritud andmeid mõista ilma dekrüpteerimiseks vajaliku võtmeta. Teisest küljest saab varjatud andmeid lihtsalt mõista, kui teada, milline algoritm on segaduses kasutatud. See ei vaja võtit.
Konfidentsiaalsus on seoses asjakohase teabega väga oluline. Süsteemis olevad silmusavad võivad sageli ohutute süsteemide puudumisel põhjustada katastroofilisi tulemusi. Krüpteerimine ja segadus on turvaliste süsteemidega seotud kaks võtmesõna.
Oluline on mainida, et krüpteerimise ja dekrüpteerimise metoodika võib samuti erineda. Krüpteerimine mängib olulist rolli tänapäeva maailmas, kus enamik teavet vahetatakse interneti kaudu. Krüpteeritud andmed jäävad turvaliseks seni, kuni võtmed on turvalised.
Häired on samuti väga sarnased krüpteerimisega, kuna see põhineb samal krüpteerimiskontseptsioonil; turvalisuse tagamiseks. Samas kasutatakse sõna lähtekoodina programmi koodide ja mitte üldandmete jaoks. Seda kasutatakse paroolide ja vaadete, salvestatud protseduuride, funktsioonide jms muutmiseks loetamatuks vorminguks. Kuid varjatud üksusi saab ümber ehitada, mis tähendab, et koodi saab dekompileerida ja uurida.
Näiteks SQL Server võib varjata salvestatud protseduuride määratlusi, vaadata määratlusi jne. Terminit võib kasutada ka mis tahes tüüpi andmete varjamiseks. See võib olla sama lihtne kui isegi tähtede järjekorda muutmine. Erinevalt krüpteerimisest ei nõua see võtmete teavet algse teabe tundmiseks. Hämaruse korral võib inimene tühistada segaduse ilma võtmete vajaduseta.
Krüpteerimiseks ja peitmiseks kasutatakse algoritmi. Nende peamine erinevus on see, et isegi kui algoritm on teada, ei saa krüpteeritud andmeid mõista ilma dekrüpteerimiseks vajaliku võtmeta. Teisest küljest saab varjatud andmeid lihtsalt mõista, kui teada, milline algoritm on kasutatud segaduses. See ei vaja võtit.
Obfuscation ja krüpteerimise võrdlus:
Häired | Krüpteerimine | |
Määratlus | Andmete vormi muutmine mis tahes muus vormis. Seda kasutatakse tavaliselt programmikoodide kontekstis | Teabe vormi muutmine mis tahes lugemata vormingus krüpteerimiseks võtme abil |
Võtme nõue algandmete või teabe dekodeerimiseks | Võib dekodeerida ilma andmete kodeerimiseks kasutatava võtmeta | See on vajalik |
Andmete muutmine | Raskesse vormi | Lugemata kujul |
Näide | peamine (l , a, n, d) char ** a; { jaoks (d = atoi (a [1]) / 10 * 80- atoi (a [2]) / 5-596; n = "@ NKA \ t CLCCGZAAQBEAADAFaISADJAB BA ^ SNGAQABDAXIMBAACTBA TAHDBAN ZEMMCCCCAAhEIJFA EAAABAfHJE TBdFLDAANEfDNBP HdBcBBB EA_AL HEA, MAAILM! " [l ++ - 3];) (; n -> 64;) putchar (! d +++ 33 ^ l & 1);} See Brian Westley poolt varjatud kood prindib maailmakaarti | Lihtteksti sõnum + krüpteerimisalgoritm + klahv = kodeeritud sõnum Dekrüpteerimisalgoritm + klahv + skrambleeritud sõnum = lihtteksti sõnum "INSECURE" muutub "KPUGEWTG", võti on 2, seega asendatakse kõik tähed kirjaga, mis asub 2 koha taga |