Důležité upozornění!

Policie České republiky se zajímá o IP-adresy osob, které komentují tento blog. Ve vlastním zájmu zde proto nic nepopírejte, nezpochybňujte, neschvalujte, neospravedlňujte, nikoho a nic nehanobte, nepodporujte a nepropagujte, a pokud se přesto rozhodnete komentář přidat, pak se, prosím, ničemu nedivte.

Ještě malá ukázka, jak elegantně lze algorithmy v Pythonu zapisovat:

def rc2_expandkey(key, length, ekl):
    global _rc2_expkey
    _rc2_expkey = map(ord, key)
    ekl8 = (ekl + 7) >> 3
    keymask = 255 >> ((ekl8 << 3) - ekl)
    for i in range(length, 128): _rc2_expkey.append(_rc2_pitable[(_rc2_expkey[i - 1] + _rc2_expkey[i - length]) & 255])
    _rc2_expkey[128 - ekl8] = _rc2_pitable[_rc2_expkey[128 - ekl8] & keymask]
    for i in range(127 - ekl8, -1, -1): _rc2_expkey[i] = _rc2_pitable[_rc2_expkey[i + 1] ^ _rc2_expkey[i + ekl8]]


Jde o kód, který provádí expansi klíče pro použití šifrovacím algorithmem RC2 – ten je sice obsažen v modulu Python.Crypto, ale neimplementuje jinou efektivní délku klíče než 1024 bitů, takže jsem si ho musel pro účely generování souboru hesel pro Gpasman celý napsat znovu.
Přidat komentář