Advertisement
Falexom

Untitled

May 17th, 2023
647
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. def crc(gen, mes):
  2.     output = []
  3.     for i in range(1, len(gen)):
  4.         if gen[i] != mes[i]:
  5.             output.append('1')
  6.         else:
  7.             output.append('0')
  8.     return ''.join(output)
  9.  
  10.  
  11. def collisium(mes):
  12.     dct = {}
  13.     for i in range(128, 256):
  14.         key = str(bin(i)).replace('0b', '')
  15.         dct[key] = 0
  16.     for j in dct.keys():
  17.         data = crc(mes, j)
  18.         dct[key] = data
  19.         if data in dct.values():
  20.             print(f"Коллизия обнаружена для {j}")
  21.     return f'Количество коллизий: {len(list(dct.values())) - len(set(dct.values()))}'
  22.  
  23.  
  24. generating_polynomial = '1000011'
  25. incoming_message = '10101010'
  26. print(crc(generating_polynomial, incoming_message))
  27. print(collisium(generating_polynomial))
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement