Förstå hur ECDSA skyddar dina data. (5 / 15 steg)
Steg 5: Hash
ECDSA används med SHA1kryptografisk hash av meddelandet för att underteckna (filen). En hash är helt enkelt en annan matematisk ekvation som tillämpas på varje byte av data som ger dig ett nummer som är unikt för dina data. Som till exempel summan av värdena för alla byte anses mycket dum hash-funktion. Om något ändras i meddelandet (filen) kommer sedan hash alltså helt olika. SHA1 hash-algoritmen, kommer det alltid vara 20 bytes (160 bitar). Det är mycket användbart för att validera att en fil inte har modifierats eller skadad, får du 20 byte hash för en fil i alla storlekar och du kan enkelt räkna om den hash så att det matchar. Vad ECDSA tecken är faktiskt att hash, så om uppgifterna förändringar, hash ändringarna och signaturen inte är giltig längre.
Låt oss använda ett exempel för att göra det lättare att förstå. Vi använder den enklaste (och dummaste) hashfunktion möjligt där vi gör summan av alla data och använda en modulus 10 på resultatet.
Först av allt måste du förstå att alla data kommer att tolkas som ett tal. En textfil är en serie av byte, vilket som vi förklarat tidigare är 8 bitar, vilket innebär att det kan representera ett tal mellan 0 och 255. Så om vi tar varje byte som ett tal och lägga varje byte av filen, sedan gör vi en modulus 10 i resultatet, ska vi sluta med ett tal mellan 0 och 9 som den resulterande hashen. Vi får alltid samma hash för samma data, och om du ändrar en byte i filen, kan resultatet bli olika. Du förstår ju också att det skulle vara mycket lätt att ändra filen för att få samma hash eftersom det finns bara 10 möjligheter (0 till 9), då finns det en en av 10 chanser att få samma hash-värdet genom att ändra innehållet i filen.
Det är här SHA1 kommer in i bilden, algoritmen SHA1 är mycket mycket mer komplex än vår enkla "modulus 10" hash-funktion, det kommer att ge ett mycket stort antal (160 bitar, så ett tal med 49 siffror i decimalform) och det har det dock att förändras radikalt om en enda bit av data ändras från filen.
Detta gör SHA1 en mycket bra hash-algoritm som är oförutsägbara som är mycket säkert och med mycket små chanser att få en "kollision" (när två olika filer har den samma hashen) och gör det praktiskt taget omöjligt att förfalska data för att få en specifik hash.