Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 28. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).
Konečně se ochladilo, možná i díky tomu přestaly na chvíli padat rakety jako přezrálé hrušky, díky čemuž se na Virtuální Bastlírně dostane i na jiná, přízemnější témata. Pokud si chcete jako každý měsíc popovídat s dalšími bastlíři, techniky, vědci a profesory u virtuálního pokecu u piva, Virtuální Bastlírna je tu pro Vás.
Ještě před ochlazením se drát na vedení V411 roztáhl o 17 metrů (přesné číslo není známé, ale drát nepřežil) a způsobil tak… více »Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
PixiEditor byl vydán ve verzi 2.0. Jedná se o multiplatformní univerzální all-in-one 2D grafický editor. Zvládne rastrovou i vektorovou grafiku, pixel art, k tomu animace a efekty pomocí uzlového grafu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU LGPL 3.0.
Byly představeny novinky v Raspberry Pi Connect for Organisations. Vylepšen byl protokol auditu pro lepší zabezpečení. Raspberry Pi Connect je oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče. Verze pro organizace je placená. Cena je 0,50 dolaru za zařízení za měsíc.
CISA (Cybersecurity and Infrastructure Security Agency) oznámila veřejnou dostupnost škálovatelné a distribuované platformy Thorium pro automatizovanou analýzu malwaru. Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 3. snapshot Ubuntu 25.10 (Questing Quokka).
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia Proton Authenticator. S otevřeným zdrojovým kódem a k dispozici na všech zařízeních. Snadno a bezpečně synchronizujte a zálohujte své 2FA kódy. K používání nepotřebujete Proton Account.
Argentinec, který byl náhodně zachycen Google Street View kamerou, jak se zcela nahý prochází po svém dvorku, vysoudil od internetového giganta odškodné. Soud uznal, že jeho soukromí bylo opravdu porušeno – Google mu má vyplatit v přepočtu asi 12 500 dolarů.
Evidentně čím více řádků, tím větší šance, že to tam bude, a tím větší tabulka. Čím více sloupců, tím větší šance, že to tam bude, a tím déle to trvá. Jaké je procento pokrytí možných hesel viz odkazovaný článek.
Má to pár háčků, část z nich lze řeší právě zduhatěním algoritmu: pro každý krok se použije jiná funkce hash -> heslo. Pak je ovšem potřeba zkoušet různé polohy hashe v tabulce.
Řečeno přesněji (aneb implementace v Lispu - spíš instruktivní než pro použití):
(defstruct (rainbow-table (:type vector)) rows colors startpoints reducing-function cipher-function) (defun cipher (key table) "Do the hashing step" (funcall (rainbow-table-cipher-function table) key)) (defun reduce-hash (hash color table) "Call reducing function" (funcall (rainbow-table-reducing-function table) hash color)) (defun cipher-and-reduce (key color table) "Returns next key in a row" (reduce-hash (cipher key table) color table)) (defun traverse-chain (start-key start-color table &optional (end-color (colors-in table))) "Return final key for given start key and table" (loop for color from start-color to end-color for key = start-key then (cipher-and-reduce key color table) finally (return key))) (defun setup-rows (table start-keys-generator) "Initialize the table" (let ((start-rows (make-hash-table))) (loop for row from 0 to (1- (rows-in table)) for start-key = (funcall start-keys-generator row) do (setf (gethash (traverse-chain start-key 0 table) start-rows) start-key)) (setf (rainbow-table-startpoints table) start-rows))) (defun lookup-start-key (end-key table) "Return start key to end key, or nil if end key is not in table." (gethash end-key (rainbow-table-startpoints table))) (defun lookup-key (key start-color table) (let ((start-key (lookup-start-key key table))) (when start-key (traverse-chain start-key 0 table (1- start-color))))) (defun decipher (hash table) (loop for start-color from 0 to (1- (colors-in table)) for result = (lookup-key (traverse-chain (reduce-hash hash start-color table) start-color table) start-color table) do (when (and result (eql (cipher result table) hash)) (return result)) finally nil))
Obrana: pořádná hesla (je to pořád jenom brute force attack), solit hashe (pak se hůř předpřiravují tabulky)
Tiskni
Sdílej:
(:conc-name rt-)
„The following functions were used but not defined: ROWS-IN COLORS-IN“
je v pořádku?