NbXOR80 en text baserad kryptering (4 / 7 steg)
Steg 4: Låt oss bygga en nyckel hash-algoritm
En hash funktion är en som tar emot data och producerar en oförutsägbar, unik, fast längd identifierare (hash).
En stark hash-algoritm är där:
- kan inte återföras för att ange något om den ursprungliga ingången
- producerar en unik kod för varje specifikt dokument (och inga andra)
- har stark lavin effekt
- inte skräddarsys avsiktligt genom att manipulera indata
Antagandet
Så jag ska göra min första (möjligen katastrofala) antagande. Jag ska anta att utdata från alla fyra operationer sammanfogade (XOR skulle) kommer att resultera i de ovan nämnda egenskaperna. Med andra ord antar jag utdata till vara tillräckligt högljudd att det är omöjlig att skilja från slumpmässiga och att mycket lite om någon statistisk information kan utläsa från det och att det är kollision resistenta Pågrund av diffusion(s).
Jag planerar inte att använda detta som ett offentligt Visa-stånd hash så jag är inte alltför berörs men jag ser detta som den första möjliga svagheten. För att säkra mitt spel mot detta planerar jag att lägga till en extra runda tag två extra nycklar längs vägen. Du kan se processen som illustreras ovan.
Djävulens advokat
Om jag skulle leta efter svaghet i denna hash skulle jag försöka avgöra om det fanns ett förhållande som skulle kunna lösas genom att jämföra de fyra metoderna för blandning. Om sådant förhållande kunde hittas kan det möjligt att utesluta vissa resultat om något annat är sant. Jag har ingen aning vad det kan vara men det är sannolikt var jag skulle börja. Jag har tagit en rak Hash och Nyckel Hash så att du kan granska den för dig själv med olika ingångar.