cryptolib — salausalgoritmit¶
cryptolib-moduuli tarjoaa symmetrisen salauksen perustoiminnot. OpenMV Cam -laitteissa se sisältyy aina, kun ssl-moduuli on käytössä.
Luokat¶
- class cryptolib.aes(key: bytes | bytearray | memoryview, mode: int, IV: bytes | bytearray | memoryview | None = None)¶
Luo uuden AES-salausobjektin, joka sopii salaukseen tai salauksen purkuun. Alustuksen jälkeen salausobjektia voi käyttää vain yhteen suuntaan —
decrypt()-kutsuencrypt()-kutsun jälkeen (tai päinvastoin) ei ole tuettu.Parametrit:
key– salaus-/purkuavain. Pituuden on oltava täsmälleen 16 tavua (AES-128) tai 32 tavua (AES-256); AES-192 ei ole tuettu. Mikä tahansa puskuriprotokollaa noudattava objekti kelpaa.mode– valitsee lohkosalaustilan:Arvo
Nimi
Kuvaus
1ECB
Electronic Code Book. Jokainen 16 tavun lohko salataan itsenäisesti; identtiset selvätekstilohkot tuottavat identtisen salatekstin. Yleisesti ei suositella uusissa toteutuksissa.
2CBC
Cipher Block Chaining. Jokaiseen lohkoon tehdään XOR edellisen salatekstilohkon kanssa ennen salausta. Vaatii 16 tavun
IV-arvon.Sekä ECB että CBC vaativat, että syötteen pituus on 16 tavun AES-lohkokoon monikerta.
IV– 16 tavun alustusvektori CBC-tilaa varten. ECB-tilassa ohitetaan.
- encrypt(in_buf: bytes | bytearray | memoryview, out_buf: bytearray | memoryview | None = None) bytes¶
Salaa
in_buf. Puskurin pituuden on oltava 16 tavun monikerta; täydennä selväteksti itse ennen kutsua.Jos
out_bufjätetään pois, tulos palautetaan uutena varattunabytes-objektina. Muussa tapauksessa salateksti kirjoitetaan muokattavaan puskuriinout_buf, jonka on oltava vähintään yhtä pitkä kuinin_buf.in_bufjaout_bufvoivat viitata samaan puskuriin paikallaan tapahtuvaa salausta varten.
- decrypt(in_buf: bytes | bytearray | memoryview, out_buf: bytearray | memoryview | None = None) bytes¶
Kuten
encrypt(), mutta suorittaa käänteisen toiminnon.