# Отправляем Бобу наш ключ (в формате JSON, десятичное число)
# В прошлый раз мы отправляли hex, но сервер ругался на парсинг.
# Попробуем отправить десятичное число в JSON.
payload = json.dumps({"C": C})
print(f"[*] Отправляем Бобу наш ключ: {payload}")
s.sendall((payload + "\n").encode())
# Получаем ответ от Боба
data2 = s.recv(4096).decode('utf-8').strip()
print(f"[*] Получено от Боба: {data2}")
# Ищем ответ. Он может быть в формате {"B": "0x..."} или просто числом.
# Попробуем найти hex или десятичное число
hex_match = re.search(r'0x[0-9a-fA-F]+', data2)
if hex_match:
B = int(hex_match.group(), 16)
else:
# Если hex не найден, ищем просто число
num_match = re.search(r'\d+', data2)
if num_match:
B = int(num_match.group())
else:
print("[-] Не удалось найти публичный ключ Боба")
return
print(f"[*] B (Bob) = {B}")