Verktyg Visningsval
2012-07-22, 20:29   #1

hampee94

Medlem

Registrerad: feb 2010

Behöver 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å.

Senast redigerad av hampee94 2012-07-22 klockan 20:34.
hampee94 är uppkopplad nu
2012-07-22, 21:21   #2

Phod

Medlem

Phods avatar

Plats: Borlänge

Registrerad: mar 2005

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.

Senast redigerad av Phod 2012-07-22 klockan 21:38.
__________________
Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC → Objective2 → Sennheiser HD650/Ultrasone PRO 900
iPhone → Sennheiser Momentum
Phod är inte uppkopplad Folding
2012-07-22, 22:00   #3

hampee94

Medlem

Registrerad: feb 2010

Citat:
Ursprungligen inskrivet av Phod Visa inlägg
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

Senast redigerad av hampee94 2012-07-22 klockan 22:50.
hampee94 är uppkopplad nu
2012-07-23, 05:29   #4

rektor

Medlem

Registrerad: okt 2011

Cryptographically secure pseudorandom number generator
rektor är inte uppkopplad
Sök jobb