Důležité upozornění!

Policie České republiky a šéfcensor Ústavu pro studium totalitních režimů Jaroslav Čvančara varují: citovat jakékoli texty z tohoto blogu způsobuje vážné risiko trestního stíhání! Četba na vlastní nebezpečí!

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.

Komentovat články mohou pouze registrovaní uživatelé; prosím, zaregistrujte se