24 lines
592 B
Python
24 lines
592 B
Python
|
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))}")
|