This shows you the differences between two versions of the page.
|
ic:laboratoare:05 [2020/11/03 17:13] acosmin.maria |
ic:laboratoare:05 [2020/11/04 14:00] (current) philip.dumitru [Exercise 3 (5p)] |
||
|---|---|---|---|
| Line 58: | Line 58: | ||
| def string_to_bytes(string_data): | def string_to_bytes(string_data): | ||
| return string_data.encode() # default utf-8 | return string_data.encode() # default utf-8 | ||
| + | | ||
| + | # THIS ONE IS NEW | ||
| + | def hex_2_bytes(hex_data): | ||
| + | return bytes.fromhex(hex_data) # default utf-8 | ||
| </file> | </file> | ||
| Line 82: | Line 86: | ||
| === A. Install the pycrypto library === | === A. Install the pycrypto library === | ||
| - | See https://pypi.python.org/pypi/pycrypto. | + | <hidden>this is outdated: https://pypi.python.org/pypi/pycrypto.</hidden> |
| + | See https://pypi.org/project/pycryptodome/ | ||
| === B. Implement 2DES === | === B. Implement 2DES === | ||
| Line 181: | Line 187: | ||
| The bytestring ciphertext c | The bytestring ciphertext c | ||
| """ | """ | ||
| - | d = DES.new(k) | + | d = DES.new(k, DES.MODE_ECB) |
| c = d.encrypt(m) | c = d.encrypt(m) | ||
| return c | return c | ||
| Line 201: | Line 207: | ||
| The bytestring plaintext m | The bytestring plaintext m | ||
| """ | """ | ||
| - | d = DES.new(k) | + | d = DES.new(k, DES.MODE_ECB) |
| m = d.decrypt(c) | m = d.decrypt(c) | ||
| return m | return m | ||