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:

  1. kan inte återföras för att ange något om den ursprungliga ingången
  2. producerar en unik kod för varje specifikt dokument (och inga andra)
  3. har stark lavin effekt
  4. 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.

Se Steg
Relaterade Ämnen

Radar grafik i en text värld.

Detta är en fortsättning på texten i en grafik världen instructable (). Att få väder är viktigt. En trevlig sak om detta instructable är att du kan ta bilder och förvandla dem till text. Det spar en hel del diskutrymme (beroende på upplösning) (om du...

Arduino baserade Encrypter

vi alla vill göra detta cool Arduino projekt, som inte egentligen om flyttalsrenderingsmål, utan mer om programvaran. Väl är här en - Arduino baserad kryptering över Serial Monitor. Det var verkligen roligt att utforma. Det kan finnas otaliga tillämp...

Spion tech - praktiska koder

detta instructable är avsedda att Visa praktisk koder som är många gånger svårare att knäcka än de koder du normalt hittar i tidningar och pussel böcker. Detta är den verkliga affären - koder som har använts av verkliga spioner under sådana tider, hö...

Linux Terminal grunderna

när jag första intalled linux jag letade igenom ansökningarna och kom över terminalen. Terminalen kommer att vara i fokus för detta instructable. Terminalen kan användas för att göra bra saker, kan dessa stora saker vara bra eller dåligt. Till exempe...

En vetenskapsman Guide till Citizen Science

Den underbara rouzejp var vänlig nog att översätta denna guide till franska. Läs den här!Le merveilleux rouzejp en eu la gentillesse de traduire ce guide sv français. Lisez-le ici!Citizen science är i ropet just nu, som det ska vara!Dock kan det vara...

Variansanalys (ANOVA) i R

detta en instructable om hur man gör en variansanalys test, allmänt kallas ANOVA, i statistik-program R.ANOVA är ett snabbt och enkelt sätt att utesluta un-behövs variabler som bidrar lite till förklaringen av en beroende variabel. Det är acessable o...

Början webbsida skrapning med php.

Vi har gjort vissa webbsida skrapa med bash och nu vill vi öka kraften i koden med ett webbsida scripting språk kallas PHP. Det är P vanligtvis i (W/M/L) amp stack på en Apache2 webbserver. Jag kommer att visa er resultaten av manus, disect skriptet...

Hur du använder grafisk programmering programvara program Arduino och robotar?

Hej alla, sista gången jag såg en rolig robot att lära barnen robotteknik (du kan få mer information om deras Kickstarter sida). Men jag är mer intresserad av grafisk programmering språk mBlock. Det sägs vara en grafisk programmering miljö (baserat p...

Hur till Program för nybörjare Ep.1: hur man gör en konstgjord intelligens

Första av all din kommer att behöva ladda ner den senaste versionen av PythonHär är lite information om python:Python är ett 25 år gammal kodning språk, det är allmänt känt som det enklaste kod, svårigheten kan gå från nybörjare till avancerad, pytho...

IRC laptop för hackerspace

En mycket generös person donerade en laptop till våra hackerspace. Både nätsladden och vägguttaget skadades, vissa järnvaror modifikationerna krävdes för att få det att fungera. Nätsladden är nu hårt fast och kommer inte ut!Vi hade behovet för en Int...

Laserskurna smycken

Lär dig att skapa vackra, intrikata laserskurna smycken!Du behöver:-Tjock svart markering (om designar för hand)-Blad av medium density fiberboard (MDF) eller blad av laserable akryl-Band-Spraya guldfärgSteg 1: Design teckningen Ta en titt på dessa m...

DIY: Anpassa din verkstad | Vinyl Logo Design

hur till: anpassa din Hobby eller arbetsrum med Vinyl designSyftet med detta instructable är att visa hur jag personlig mitt hobby område med vinyl Logotypdesign. Jag valde detta projekt vara mitt inträde till göra det Stick tävlingen tillbaka i 2012...

Edison övervakningssystem med rörelsedetektor, cloud anslutning och strömmande video

Detta projekt handlar om att använda Edison som en kärna av motion detection Systems med webbkamera, som också är ansluten till Twitter, Google Drive, Xively och kan blinkar lysdioden och pip för (naturligtvis!:). Det strömmar även webcam video över...

Använda SMTP- och SASL med Postfix när din ISP kommer inte att vidarebefordra

bra dag!Jag tillbringade nyligen flera timmar lutad över konfigurationsfiler och telnet-sessioner, försökande till räkna ut varför jag inte kunde skicka mail från min linux-maskin något mera.I år har jag använt postfix mailer för att hantera skicka e...

Hur man skapar en enkel, grundläggande, datorspel med batch

Alright så du vet en liten sats eh? Du vill göra en dator spelet nu, ja kan undersöka grunderna. Du kan göra en text baserad spel, som en frågesport eller något, men du kan inte och jag menar kan inte göra en multiplayer krigföring spel med uppgrader...

Arduino RPG Simulator

Vi hade i min ungdom, arkader och bowlingbanor spela spel något bättre än Atari hem spelsystemet. VIC-20 hemdator systemet var föregångaren till Commodore-64. Växer upp under en tid innan trådlösa telefoner och grafik bättre än Atari, gillade jag ver...

Tessellating ödlor!

tes·sel·late [v. tes-uh-leyt; adj. tes-uh-lit, - leyt] tes·sel·lat·ed, tes·sel·lat·ing, verb, adjektivverb (används med objekt)1. för form av små fyrkanter eller block, som golv eller trottoarer; bilda eller ordna i en rutig eller mosaik mönster.Käll...

Beröringsfria givare kontrollerade Robot

Detta projekt är en enkel robot som styrs från en PC med ett tangentbord eller en Leap beröringsfria rörelsesensor. Roboten själv kör på ett PICAXE 20M 2 chip, en mikrokontroller som är programmerad med en form av BASIC. Jag valde PICAXE chip efterso...

Att göra ett spel i anteckningar och mycket mycket mer

Detta är min första instructable. Så om du har snälla några förslag kommentar. Låter komma igång!När vi alla höra ordet anteckningsblocket tänker vi av några tråkiga värdelösa applikationer att notera ner saker. Bra anteckningar är mycket mer än så....