Bajardi: Ramazonov Asadbek



Yüklə 0,66 Mb.
tarix03.10.2023
ölçüsü0,66 Mb.
#151833
1680279434 (3)


Kriptografiya
2-amaliy ish
Bajardi: Ramazonov Asadbek
Tekshirdi: Tajiakbarova Umida




Mavzu: Diskret logarifmlash muammosini bartaraf etuvchi dasturiy vositani ishlab chiqish.
18-variant.
a = int(input('a = '))
b = int(input('b = '))
p = int(input('p = '))
h = int(p .5) + 1
c = a h % p
U = [c i % p for i in range(1, h + 1)]
V = [b * a i % p for i in range(1, h + 1)]
u = v = 0
for i in U:
if i in V:
u = U.index(i) + 1
v = V.index(i) + 1
break
else:
print(f'{a}^x={b}mod{p} ushbu tenglik yechimga ega emas!!!')
print('u =', u, ',v =', v)
x = (h * u - v) % (p - 1)
print('x =', x)






Mavzu: El-Gamal algoritmida maʼlumotni shifrlovchi dasturiy vositani ishlab chiqish.
18-variant.
p=int(input("P= "))
x=int(input("x= "))
k=int(input("k= "))
def G_topish(p):
for i in range(2, p - 1):
g = i
my_set = set()
for j in range(1, p - 1):
my_set.add((g j) % p)
my_set = list(my_set)
if (len(my_set) == max(my_set)-1):
return g
break
g=G_topish(p)
a=(g**x)%p
b=(g**k)%p
m=p-5
print("M=",m)
c=m*(a**k)%p
print('shifrlash: ',c)
d=(c*(b(p-x-1)))%p
print('deshifrlash',d)

Yüklə 0,66 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin