Permalänk
Medlem

Hjälp med random generator

Jag programmerar en app som ska kryptera data och behöver kunna göra en fil på ca 1mb som är så random som möjligt.
Jag ska använda information från accelerometern, mic, kamera, touch mm så jag kommer ha en massa seeds som är relativt random. Men behöver tips på hur man säkrast ska "sätta ihop" informationen. En tanke jag har är att ta en "chunk" i taget och köra en hash typ 512bit whirlpool på den biten för att sedan repetera tills filen blir 1mb.
Är detta ett säkert sätt?
Har någon ett bättre förslag?

Edit: Annars kan jag ju självklart bara direkt ta informationen från touch osv. men det känns som man lätt kan finna mönster då.

Permalänk
Medlem

Det finns en sådan funktion i TrueCrypt. De verkar generera en pool med random data och sedan mixa den med användarinput. Så ju mer input man hämtar, desto mer mixas poolen. De skapar ett message digest utifrån inputen från användarem, som du nämnde, och XOR:ar poolen med det.

Edit: Hittade ett white paper om detta.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk
Medlem
Skrivet av Phod:

Det finns en sådan funktion i TrueCrypt. De verkar generera en pool med random data och sedan mixa den med användarinput. Så ju mer input man hämtar, desto mer mixas poolen. De skapar ett message digest utifrån inputen från användarem, som du nämnde, och XOR:ar poolen med det.

Edit: Hittade ett white paper om detta.

Låter som en bra ide
Jag skapar alltså en 1MB pool med "random" byte med hjälp av c# RNGCryptoServiceProvider(appen programmeras alltså i c#) och sedan XOR:ar bit:vis med varje bit som är användargenererad.

Edit: intressant sida förresten den ska läsas ordentligt imorgon när ögonen inte är så trötta

Permalänk