kryptografia/3/suma.py

24 lines
592 B
Python
Raw Permalink Normal View History

2024-11-18 00:14:03 +01:00
import gmpy2
from gmpy2 import mpz
from xor import xor_custom
def suma(a, b):
"""
Dodaje dwa elementy w F_{2^8} za pomocą operacji XOR.
Args:
a (mpz): Pierwszy element w F_{2^8}.
b (mpz): Drugi element w F_{2^8}.
Returns:
mpz: Wynik dodawania w F_{2^8}.
"""
return xor_custom(a, b)
if __name__ == "__main__":
# Przykład użycia
xy_H = gmpy2.mpz(0x57) # Przykładowy element
uw_H = gmpy2.mpz(0x83) # Przykładowy element
wynik = suma(xy_H, uw_H)
print(f"Suma({hex(int(xy_H))}, {hex(int(uw_H))}) = {hex(int(wynik))}")