Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /DISK2/WWW/plsql.cz/www/wp-content/themes/suffusion/library/suffusion-walkers.php on line 0
Jan 272014
 

Další z novinek ;) Tentokrát to bude velice krátké, pro dnešek jsem vybral novou funkci, která je dostupná ve dvanácce a jmenuje se STANDARD_HASH. A její účel asi nikoho nepřekvapí – vrací zahashovaný vstup s tím, že k dispozici jsou následující algoritmy pro hash:

  • SHA1 (deafult) – 160bitů. Je třebas připomenout, že SHA1 byla z kryptografického hlediska (nikoliv uživatelského) prolomena a kolizi jsme schopni nalézt dříve než v teoretických 2^80, konkrétně podle wikipedie v 2^61. Což je pouze prolomeno z té teoretické části, z praktické je to pořád ještě nepoužitelné. Nicméně jak nám řikali někdy na vejšce, je třebas po tomhle důkazu od této funkce pomalu ustupovat. Microsoft to hodlá udělat v 2017.
  • SHA256, SHA384, SHA512 – 256, 385, 512 bitů. Tyto hashe ještě nebyly žádným způsobem nabořeny takže “clear” i pro tu největší bezpečnost. Pochopitelně to něco stojí, o proti SHA1 je to cca 20-25% výkonu (podle wiki, vnitřní implementaci Oracle jsem neměřil)
  • MD5 - 128bitů. Kryptograficky i uživatelsky prolomená z pohledu kolizí. Kolize jsme schopni hledat skoro v runtime pro libovolný vstup. Není to tak dlouho, co to bylo dokázáno a konkrétně za tím stál čech pracující na MatFyzu – Vlastimil Klíma a pokud si dobře pamatuju, tak paralelně s ním bořil MD5 tým Wangové v Číně, ale to neni tak podstatné – nebyli první a Wang se jmenuje půlka Číny ;) Určitě se hodí pro výpočty, kde nám nejde úplně o bezpečnost, patrně to bude sprinter (podle wiki až dvakrát rychlejší než SHA*)

Oracle pochopitelně nepřišel s HASHema až nyní, ale byly k dispozici již dříve – ale pouze jako procedury v PL/SQL balících DBMS_CRYPTO a DBMS_OBFUSCATION_TOOLIKIT. V SQL byla pouze silně kolizní ORA_HASH (32bit). Takže nyní plně v “pure” SQL pomocí funkce STANDARD_HASH (a opět chybí sůl). Příkla z duálu:

select
standard_hash('Budlíky') as default_sha1,
standard_hash('Budlíky','SHA1') as default_explicit_sha1,
standard_hash('Budlíky','MD5') as MD5,
standard_hash('Budlíky','SHA256') as SHA256,
standard_hash('Budlíky','SHA384') as SHA384,
standard_hash('Budlíky','SHA512') as SHA512
from dual;

Výsledek:
Poznámky:

  • Vrací typ RAW
  • Nelze použít na LOBy a LONGy

To by mohlo být vše ;) Ještě link na přednášku Vlastimila Klímy pár měsíců po té, co prolomil md5. Přednášku jsme měli někde na FELu v rámci CryptoFestu : Video z AVC ČVUT.

 Posted by at 23:32

 Leave a Reply

(required)

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>