Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
def JHA(input): return "AAA"+SHA256(input)je kryptograficky bezpečná (dokud je jen SHA256 bezpečná), ale zjevně její výstup není moc náhodný. K extrakci entropie se používá entropy juicer.
Ano znamena. Pokud ma byt hashovaci funkce bezpecna tak vystup by mel mit uniformni rozlozeni.Já chápu kryptograficky bezpečnou hashovací funkci tak, že garantuje, že ve výstupu bude alespoň n bitů entropie (přesněji, že spočítání kolize bude mít náročnost 2^n), ale že výstup může být klidně větší než n. Například definice na Wikipedii pak o náhodnosti a uniformitě (celého) výstupu nemluví vůbec. Ostatně, byly současně používané SHA designované with this in mind nebo je to jenom takový by-product?
Hasovaci funkce da vzdy pro stejna vstupni data stejny vystup,Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.
nepouziva se na kryptovani ale na podpisovani a overovani.Nepouziva se na sifrovani, ale kryptograficka primitiva jsou prevoditelna, takze z bezpecne hash funkce muzes vytvorit PRF a z PRF sestavit blokovou sifru. Viz Luby-Rackoff theorem: https://en.wikipedia.org/wiki/Feistel_cipher
Hasovaci funkce da vzdy pro stejna vstupni data stejny vystup,Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.Plati jen pokud je PRN generator zavisly pouze na vstupnich datech algoritmu, coz ale pokladam za oslabeni sifry ( to plati samozrejmne jenom u sifrovacich algorimtu kde do sifrovaciho procesu vstupuje nahodne cislo )
A ja osobne povazuju kolobezku za motorove vozidlo.to hodne vysvetluje
Existuje obecne prijimany pohled na to, co je to algoritmus, jeho vstup a determinismus/nedeterminismus pri jeho provadeni.nedeterminismus je neco jinyho nez nahodnost.
Pohled ze "jakakoli nahodnost" je vstupem algoritmu je v tomto ohledu novatorskydiky za uznani. Jestli bych si to nemel patentovat... Ale obavam se ze zas tak novatorsky to neni. Viz treba wikipedia:
A randomized algorithm is an algorithm which employs a degree of randomness as part of its logic. The algorithm typically uses uniformly random bits as an auxiliary input
Jakykoli algoritmus da vzdy pro stejna vstupni data stejny vystup.Programoval si někdy?
Problém je spíš v tom, že uživatel si není vědom1 všech vstupů – proto mu výstup může někdy přijít náhodný a program nedeterministický.
[1] což nemusí být úplně jeho vina – program může být napsaný dost záludně, tak, že některé vstupy nejsou na první pohled vidět, nedají se intuitivně odhadnout nebo jsou úplně nesmyslné
Pak i když budete používat na dvou webech stejné heslo, hash bude jiný, a nebude možné ani předpočítat univerzální duhovou tabulku.Nutno podotknout, že to sice zabrání útoku při ukradení databáze, ale heslo je pořád vidět v okamžiku, kdy ho uživatel posílá - když se přihlašuje. A v ten okamžik si ho může správce nebo útočník někam bokem poznamenat. Protokoly na prokázání se, při kterých se heslo protistrana nedozví nikdy, existují, ale jsou podstatně složitější.
Někteří lidé bohužel považují hashování za druh šifrování – říkají např. „to heslo je zašifrované pomocí MD5“ – a pak to vede k těmto zmatkům. Někdy se říká „jednosměrná šifra“ což je ale stále zavádějící a podle mého špatně.
Hashování je jednosměrná funkce. Jejím definičním oborem (vstupem) je pole bajtů o libovolné délce. Jejím oborem hodnot (výstupem) je pole bajtů1 s fixní (a malou) délkou.
Je logické, že to nemůže být prostá funkce – pro různé vstupy může být výstupem stejná hodnota (hash). Tyto kolize z principu musí existovat.
Dobré hashovací funkce se vyznačují tím, že je tyto kolize velmi náročné najít. Když znáš hash, mělo by být prakticky nemožné najít původní vstup – mělo by to být tak výpočetně náročné, že to se současnou technikou nikdo nedokáže. A i kdyby (jednou) dokázal, z principu najde jen jeden z mnoha možných vstupů – nemá jistotu, že je to ten původní, ze kterého byl hash vypočten. (proto „jednosměrná funkce“).
Další dobrou vlastností je to, že když se vstup změní byť jen nepatrně (třeba o jediný znak/bajt), hodnota hashe se změní zásadně a je to vidět na první pohled (např. c105364f1a847c07860ad7bd9d23eef0
vs. 03f02c6d299c70dcc8d23d14d0c8466d
).
Praktické využití:
d27a7f038b715e0b8a438a09704e3102150a4158a7f1372bb6e0e658c00e7c0a
“ a zpátky ti přijde odpověď: „má ho ten a ten, stáhni si ho od něj“ (zatímco, kdybys používal jako identifikátor název souborů, bude problém to, že jeden soubor může být pojmenovaný různě a naopak soubory s různým obsahem si mohou dva lidé pojmenovat stejně)
[1] někdy chceš mít vstup textový (např. heslo) a výstup taky (např. aby to šlo vytisknout – Base64, Hex), takže musíš hashování obalit funkcemi na převod mezi textem a bajty – ale to nic nemění na tom, že samotná hashovací funkce pracuje jen a pouze s bajty, nějaká textová reprezentace se jí netýká
[2] my nebo útočník, který by ukradl naši databázi
Tiskni Sdílej: