Загрузка данных


# Отправляем Бобу наш ключ (в формате 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}")