abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 20:55 | IT novinky

    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.

    Ladislav Hagara | Komentářů: 0
    včera 10:44 | Zajímavý článek

    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.

    Ladislav Hagara | Komentářů: 28
    včera 01:00 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    včera 00:44 | Nová verze

    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í.

    Ladislav Hagara | Komentářů: 0
    5.6. 16:44 | IT novinky

    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.

    Ladislav Hagara | Komentářů: 10
    5.6. 10:44 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    5.6. 10:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 2
    5.6. 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Duhové tabulky

    26.5.2006 17:39 | Přečteno: 2459× | 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.