› Strona główna › content ›
Implementacja OCB-AES w Pythonie
Submitted by admin on czw., 2010-01-21 01:12
Eksperymentalna implementacja trybu OCB szyfrowania z uwierzytelnianiem wiadomości wykorzystująca szyfr AES napisana w czystym Pythonie.
Jest to kod eksperymentalny i może mieć błędy, nawet pomimo faktu że przechodzi wektory testowe. Przykład użycia:
>>> aes = AES(128)
>>> ocb = OCB(aes)
>>> nonce = range(16) # AES block size
>>> key = [0] * (128/8) # AES keysize used here
>>> plaintext = range(10) # arbitrary length plaintext for encryption
>>> header = [1] * 5 # arbitrary length "header" plaintext
>>> ocb.setNonce(nonce) # nonce MUST NOT be used more than once
>>> ocb.setKey(key) # AES key for encryption
>>> (tag,ciphertext) = ocb.encrypt(plaintext, header)
ciphertext is same length as plaintext
header remains unencrypted
tag is 16 bytes long message authentication code (not secret)
>>> print tag, ciphertext
[112, 241, 108, 123, 21, 7, 119, 43, 239, 210, 156, 158, 111, 17, 42, 46] [180, 107, 115, 96, 69, 33, 217, 56, 249, 65]
>>> (is_authentic, plaintext2) = ocb.decrypt(header, ciphertext, tag)
is_authentic is True if ciphertext matches "tag" and is authentic
otherwise plaintext is empty
>>> print is_authentic, plaintext2
True [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Więcej informacji na temat trybu OCB:
http://www.cs.ucdavis.edu/~rogaway/ocb/
| Załącznik | Rozmiar |
|---|---|
| pyocb.zip | 12.1 KB |
Szukaj
Logowanie
Nawigacja
Popularne strony
Dzisiejsze:
- Pipeta
- Zabezpieczanie sieci bezprzewodowych WPA2 - EAP, PEAP, 802.1x
- Praktyka podpisu elektronicznego w Polsce
- Polskie drzewo kwalifikowane w formacie FDF i PKCS#7
- Wykład Dariusza Szostka na temat e-podpisów, nowelizacja ustawy o podpisach elektronicznych.
- Podyplomowe Studia Zarządzanie Bezpieczeństwem Informacji na SGH

Odpowiedzi
Dodaj nową odpowiedź