kryptografia-semestr-8/main.py

75 lines
1.8 KiB
Python
Raw Normal View History

2024-06-18 22:37:32 +02:00
# # r_podwojne = b"01001001001001000011101101101111011110"
2024-06-18 22:04:24 +02:00
#
2024-06-18 22:37:32 +02:00
# N = 8
# # r od n
# r1 = b"11111111"
# r2 = b"11111111"
# r1 = (int(r1, 2)) + (1 << N)
# r2 = (int(r2, 2)) + (1 << N)
# # t od 1
# t1 = b"10001110"
# t2 = b"10010101"
# t1 = (int(t1, 2)) + (1 << N)
# t2 = (int(t2, 2)) + (1 << N)
# #
# pdpkt_a = b"000011"
# pdkpt_b = b"101001"
# pdpkt_a = (int(pdpkt_a, 2)) + (1 << N)
# pdkpt_b = (int(pdkpt_b, 2)) + (1 << N)
#
# def nastepny_bit(r, t):
# rc = r
# tc = t
# wyn = None
# #print(bin(rc))
# #print(bin(tc))
# for i in range(N):
# bit = rc & 1
# bit_z_t = tc & 1
# if bit_z_t == 1:
# if wyn == None:
# wyn = bit
# else:
# wyn = wyn ^ bit
# rc = rc >> 1
# tc = tc >> 1
# #print(bit)
# #print(wyn)
# #print(bin(rc))
# #print(bin(tc))
# #print("xor", bin(wyn))
# wywalane_z_r = r & 1
# #print("r", bin(r))
# r = r >> 1
# #print("podzielone", bin(r))
# r = r - (1 << N - 1)
# r = r + (wyn << N - 1)
# r = r + (1 << N)
# #print("r dodane", bin(r))
# return r, wywalane_z_r
#
#
# #r1, b = nastepny_bit(r1, t1)
# #print(bin(r1))
# #print(b)
#
#
# def shrinking_generator(r1, r2, t1, t2,rundy=10000):
# wyn = []
# for i in range(rundy):
# r1, l1 = nastepny_bit(r1, t1)
# r2, l2 = nastepny_bit(r2, t2)
# if l1 == 1:
# wyn.append(l2)
# print(l2, end="")
# if i>0 and i%500==0:
# print()
# print()
# return wyn
#
# wyn = shrinking_generator(r1,r2,t1,t2)
# print(len(wyn))
#
# wyn = shrinking_generator(pdpkt_a,pdkpt_b,pdpkt_a,pdkpt_b)
# print(len(wyn))
# print(wyn)