Vinnaren i pepparkakshustävlingen!
2016-11-24, 18:55
  #1
Medlem
Bleppe_Bfs avatar
Sitter och labbar med intels hårdvaruslumptalsgenerator och till en början med ser det ganska bra ut.
Det går riktigt snabbt och rngtest säger tummen upp.

Kod:
cat /dev/random | rngtest -c 1000

Ger mig följande resultat.

Citat:
rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 1000
rngtest: FIPS 140-2 failures: 0
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=266.784; avg=532.474; max=687.236)Kibits/s
rngtest: FIPS tests speed: (min=50.193; avg=122.298; max=183.399)Mibits/s
rngtest: Program run time: 36836485 microseconds

Kan dock inte använda mig av tecken som inte finns i mitt program så jag gör om strängarna till hex och tio tecken långa. Blir en rest på 2 tecken ibland(?), men det filtrerar jag bort med en awk sats.

Kod:
cat /dev/random | xxd -b -p | sed -e "s/.\{10\}/&\n/g" | awk 'length($0)>3' | rngtest -c 1000

Citat:
rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 0
rngtest: FIPS 140-2 failures: 1000
rngtest: FIPS 140-2(2001-10-10) Monobit: 1000
rngtest: FIPS 140-2(2001-10-10) Poker: 1000
rngtest: FIPS 140-2(2001-10-10) Runs: 1000
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 4
rngtest: input channel speed: (min=390.719; avg=1192.039; max=19531250.000)Kibits/s
rngtest: FIPS tests speed: (min=65.320; avg=139.545; max=298.023)Mibits/s
rngtest: Program run time: 16628645 microseconds

Försvinner entropin helt enkelt för att jag minskar antalet möjliga tecken eller för att jag valt en kass metod att omvandla strängarna till hexadecimala?
Citera
2016-11-24, 19:14
  #2
Moderator
vhes avatar
Jag kanske missar något, men jag antar att rngtest förväntar sig helt slumpvis data, dvs att alla åtta bitar per byte skall vara slumpmässiga. Nu låter ju du dock varje byte representera endast fyra bitar, och lämnar alltså effektivt sett de fyra andra helt "oslumpade". Om rngtest inte har något gränssnitt för att acceptera hex så så blir det nog så här, ja.
Citera
2016-11-24, 19:21
  #3
Medlem
Bleppe_Bfs avatar
Citat:
Ursprungligen postat av vhe
Jag kanske missar något, men jag antar att rngtest förväntar sig helt slumpvis data, dvs att alla åtta bitar per byte skall vara slumpmässiga. Nu låter ju du dock varje byte representera endast fyra bitar, och lämnar alltså effektivt sett de fyra andra helt "oslumpade". Om rngtest inte har något gränssnitt för att acceptera hex så så blir det nog så här, ja.

Tja, de varierar ju inte längre i längd och antalet tecken är minskat från typ 108 varav hälften inte ens är läsbara till 15.

Skall se om den spottar ur sig dubletter med...

edit: nej, 2 dubletter på 5 minuter. Då är det nog rngtest som inte är lämpad för den här sortens indata.
__________________
Senast redigerad av Bleppe_Bf 2016-11-24 kl. 19:29.
Citera
2016-11-24, 19:44
  #4
Moderator
vhes avatar
Citat:
Ursprungligen postat av Bleppe_Bf
edit: nej, 2 dubletter på 5 minuter. Då är det nog rngtest som inte är lämpad för den här sortens indata.

Precis, den förväntar sig troligen fullständig entropi i varje byte. Inte i endast fyra bitar per byte.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback