Zrovna včera jsem na internetu hledal crypto knihovnu v C (potřebuji šifrovat pomocí ElGamal a nechce se mi to psát) a jedna z nich měla self-test. Self-test testoval, mimo jiné, i generátor náhodných čísel. Ten test spočíval v tom, že knihovna vygenerovala řadu náhodných čísel a tu potom zkomprimovala pomocí zlib/deflate. Test uspěl pouze tehdy, když množství dat po komprimaci narostlo. Zajímavé. Mimochodem: Máte někdo tip na články, nebo studie zabývající se constant time kryptografií? Nejlépe v Céčku, ASM se mi moc psát nechce, zvláště s nástupem ARM a RISC-V architektur.
to muzu taky zkusit. Zatim jsem jen rychle prohnal ta data gzipem a vysledek ma 4000644 bajtu, tedy je vetsi. Jenze gzip tam ma nejakou hlavicku, takze to moc prukazne neni (resp. ta hlavicka ma par bajtu, takze tech 644 je uz hodne pres, takze to mozna i prukazne je). Pozdeji zkusim skutecne jen komprimaci bez pridani hlavicek.
import zlib
with open("random.bin", "rb") as fin:
random = fin.read()
print(len(random))
compressed = zlib.compress(random, level=zlib.Z_BEST_COMPRESSION, wbits=-15)
print(len(compressed))
uncompressed = zlib.decompress(compressed, wbits=-15)
print(len(uncompressed))
Vychazi to ale nejak moc:
4000000
4001220
4000000
14. 8. 2025, 18:22 editováno autorem komentáře