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)
|