abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:44 | Komunita

    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.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.

    Ladislav Hagara | Komentářů: 12
    3.5. 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

    Ladislav Hagara | Komentářů: 2
    2.5. 22:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).

    Ladislav Hagara | Komentářů: 1
    2.5. 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 4
    2.5. 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 2
    2.5. 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 2
    1.5. 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 3
    1.5. 19:22 | IT novinky

    Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).

    Ladislav Hagara | Komentářů: 0
    30.4. 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 522 hlasů
     Komentářů: 20, poslední dnes 00:19
    Rozcestník

    Duhové tabulky

    26.5.2006 17:39 | Přečteno: 2480× | Lisp

    Znám hash nějakého hesla a algoritmus, kterým se hashuje. Chci z něj získat heslo (o kterém mohu něco předpokládat, třeba že má pět znaků z určité množiny). Jsou dvě krajní možnosti:
    1. Projedu všechna možná hesla, zkusím, zda sedí hash. Trvá to dlouho, spotřeba paměti minimální
    2. Vezmu tabulku hashí, heslo v ní vyhledám, a je to. Trvá to krátce, potřebuju dost velkou a neskladnou tabulku.
    Existuje trik, kterým lze dosáhnout kompromisu: nadefinuju si funkci, která převádí hash zpátky na (jiné) možné heslo, a opakovaně aplikuju hashování a tuto funkci. Po určitém počtu opakování (nebo jindy, kdy se mi zachce) uložím koncovou hash či heslo a přiřadím jí počáteční. Tak mi vznikne tabulka menší než v případu 2. Pokud chci dekódovat hash, aplikuju obdobnou proceduru, dokud nenajdu výsledek v tabulce (pak vezmu počáteční heslo a propracovávám se zpátky k původnímu) nebo usoudím, že to nemá cenu (pak mám smůlu)

    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)

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    26.5.2006 20:45 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Duhové tabulky
    To vypadá na docela zajímavou metodu, díky za ten paper. :-) Ale radši si do opšnů defstructu přidám (:conc-name rt-) :-D
    26.5.2006 21:44 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Duhové tabulky
    Mimochodem, „The following functions were used but not defined: ROWS-IN COLORS-IN“ je v pořádku? :-)
    29.5.2006 08:13 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: Duhové tabulky
    Ne, tak to dopadá, když to člověk přepisuje za běhu z defclass do defstruct.
    26.5.2006 20:58 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Duhové tabulky
    Mně to pdfko nejde stáhnout - vždycky zamrznu kolem 40%. Takže asi zůstanu hloupej. Ledeže by mi to chtěl někdo třeba poslat mailem (ignor TEČKA knize ZAVINÁČ seznam.cz) :-) Nebo si to můžu v pondělí stáhnout odjinud, ale alespoň uvidím, jak jsou tady lidi hodný ;-)
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    Jan Zahornadsky avatar 26.5.2006 21:48 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: Duhové tabulky
    Aby tě místní hodní lidé do rána neuspamovali ;-)
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    26.5.2006 22:23 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: Duhové tabulky
    Končím soutěž. Každý, kdo mi to do tohoto okamžiku poslal a došlo mi to, odemne dostane 1000 Kč, ať vidíte, že umím bejt vděčnej. Detaily s výherci vyřešíme mailem.
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.