Lohkosalaimen teko Pythonilla

  • Jatka harjoituksen 2 salaimen kehitystä niin, että sillä voidaan salata minkä pituinen data tahansa. Data salataan 64 bitin pituisina lohkoina ja lohkot yhdistetään käyttäen seuraavia tapoja:
    1. Electronic Code Book (ECB)
    2. Cipher Block Chaining (CBC)
  • (Muuta harjoituksen 2 koodia niin, että salattavaa dataa ei kysytä käyttäjältä, vaan se luetaan tiedostosta. Myös salattu data kirjoitetaan tiedostoon)

Vastaukset

  • Huom! Esimerkkikoodit toimivat ainoastaan ascii-koodatuilla tekstitiedostoilla ja tiedostoilla, joiden pituus on jaollinen 64 bitillä johtuen siitä, että salauksessa käytettävän lohkon pituus on aina 64 bittiä ja viimeisen lohkon täyttö on tehty yksinkertaisesti, eli täyttämällä lohko nollatavuilla 64 bitin pituiseksi. Jotta koodi toimisi kaikilla tiedostoilla, olisi täyttö tehtävä järkevämmin (niin että täytetyt tiedot saadaan poistettua ja tiedoston koko palautettua alkuperäiseksi).
  • Esimerkkikoodi hyväksyy myös lyhyet salasanat, jolloin salauksesta ei tule turvallista.
Last modified: 2013/07/01 14:42