• 1 Post
  • 14 Comments
Joined 1 year ago
cake
Cake day: November 2nd, 2024

help-circle
  • inkeso@feddit.orgtoich_iel@feddit.orgich_iel
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    15 days ago

    Enthropie wird aus u.a. sowas wie Mausbewegung und Tastatureingaben gewonnen. Was genau die Quellen sind, weiß ich aus dem Stehgreif nich.

    Ich hatte es schon, daß bei einem frisch gebooteten RasPi bei der ssh-key-erzeugung die Enthropie alle war und ich erstmal auf der Tastatur rumrollen musste, bis es weiter ging. Ist aber ne Weile her (4er Kernel)

    Auf 'nem normalen Desktop gibt es vermutlich genug andere Quellen oder da hat sich was an der Implementierung geändert, aber ich habe gerade testhalber problemlos 50GB aus /dev/random gelesen… Vermutlich isses also einfach egal. :-)


  • inkeso@feddit.orgtoich_iel@feddit.orgich_iel
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    15 days ago

    Lieber nicht. random ist kryptografisch guter, “echter” Zufall. Wenn die Enthropie im System leer ist, blockiert das und man kann dann erst wieder lesen, wenn genug neue Enthropie vorhanden ist. urandom ist ein auf random basierender Pseudozufall, der niemals blockiert und schnell Daten liefert.


  • inkeso@feddit.orgtoich_iel@feddit.orgich_iel
    link
    fedilink
    arrow-up
    6
    ·
    15 days ago

    Aah OK. Mache ich so ähnlich auch gern bei dubiosen Speichermedien, wo es nur so halb drauf ankommt.

    Wäre ja in dem Fall sogar übertrieben zu gucken, ob korrekt geschrieben wurde.
    # blocksize 1M * 1k = 1G file
    dd if=/dev/urandom bs=1M count=1k status=progress | tee random.junk | md5sum
    md5sum random.junk
    

    (Prüfsummen sollten identisch sein)


  • inkeso@feddit.orgtoich_iel@feddit.orgich_iel
    link
    fedilink
    arrow-up
    6
    ·
    15 days ago

    Exakt. Aber wenn es wirklich darum ging auf Funktionstüchtigkeit zu prüfen (und nicht auf Schreibgeschwindigkeit oder so) wäre schlechtblöcke (badblocks) im nichtdestruktiven Modus und bei ausgehängter Partition das bessere Werkzeug. Und sehr, SEHR viel langwieriger.


  • inkeso@feddit.orgtoich_iel@feddit.orgich_iel
    link
    fedilink
    arrow-up
    8
    ·
    15 days ago

    beliebig% geschwingkeitslauf:

    $ time dd if=/dev/zero bs=4096 count=26214400 | zstd >./zeroes_100g.zstd ; du -h ./zeroes_100g.zstd
    26214400+0 records in
    26214400+0 records out
    107374182400 bytes (107 GB, 100 GiB) copied, 42,2737 s, 2,5 GB/s
    
    real	0m42,282s
    user	1m24,456s
    sys	1m15,880s
    3,3M	./zeroes_100g.zstd
    










  • inkeso@feddit.orgtoich_iel@feddit.orgich_iel
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    Ha! Na das nenne ich mal ne produktive Mittagspause ;p

    auflösung

    aber wie?

    Die versteckte Botschaft ist im letzten Bit pro Farbkanal…

    python

    from PIL import Image
    from numpy import array, vectorize
    i = array(Image.open("stego.png"))
    n = vectorize(lambda p: (p & 0x01) * 255)(i)
    Image.fromarray(n).save("antistego-py.png")
    

    R

    library(png)
    i <- readPNG("stego.png")
    for (p in 1:3) i[,,p] <- (i[,,p] * 255) %% 2
    writePNG(i, "antistego-r.png")
    

    imagemagick

    magick stego.png -fx "(p * 255) % 2" antistego-magick.png