Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.03.2018
Сообщений: 52
1

RSA и сокеты в Python3

10.09.2018, 14:03. Просмотров 828. Ответов 1

Пытаюсь сделать так: сервер генерирует rsa ключи, передает публичный ключ клиенту, клиент получает ключ, шифрует им сообщение, и отправляет его серверу, сервер его расшифровывает, и выводит. Но что в сервере что в клиенте выходит исключение:
Python
1
2
blocksize = common.byte_size(priv_key.n)
AttributeError: 'bytes' object has no attribute 'n'
Код клиента:

Python
1
2
3
4
5
6
7
8
9
10
11
import socket
import rsa
 
conn = socket.socket()
conn.connect( ("192.168.1.102", 50) )
 
bufrecv = conn.recv(4096)
server_pub = bufrecv.decode("utf8")
text = "text".encode("utf8")
bufq = rsa.encrypt(server_pub, text)
conn.send(bufq)
Код сервера:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import socket
import rsa
import threading
 
def client_function(socket, sock_ip):
   print("New client connected!")
   socket.send(str(server_pub).encode("utf8"))
   buffer = socket.recv(4096)
   buffr = rsa.decrypt(server_priv, buffer)
   print(buffr.decode("utf8"))
print("Generating RSA keys...")
(server_pub, server_priv) = rsa.newkeys(2048)
print("OK!")
sock = socket.socket()
sock.bind(("", 50))
sock.listen(100)
print("Wait clients...")
while True:
  (socket_ap, addr) = sock.accept()
  client_thread = threading.Thread(target=client_function, args=(socket_ap, add$
  client_thread.start()
  del(socket_ap)
  del(addr)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2018, 14:03
Ответы с готовыми решениями:

RSA и сокеты в JavaScript
Подскажите пожалуйста, как в javascript создать rsa ключи, получить публичный ключ от сервера через...

Как написать шифрование RSA на python без import RSA
Нужнен код без использование RSA библиотеки. Буду блогодарен!

Php сокеты и unix-сокеты
Здравствуйте, есть программа, написанная на С под Linux. При её работе в памяти хранятся несколько...

Ошибка Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at pr4.RSA.main(RSA.java:44)
package pr4; import java.math.BigInteger; import java.security.SecureRandom; public...

1
Просто Лис
Эксперт Python
4217 / 2631 / 904
Регистрация: 17.05.2012
Сообщений: 7,878
Записей в блоге: 9
13.09.2018, 11:04 2
Насколько я помню, публичный ключ — это пара целых чисел, не?

Покажи значение str(server_pub) на сервере.

Пальцем в небо на клиенте:
Python
1
server_pub = map(int, bufrecv.decode("utf8").split(',')
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2018, 11:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Python3 и ssh
Посоветуйте, плиз, модуль для работы через SSH, главное чтобы точно работал с третьим питоном...

Python3 и lxml
Форумчане, решил перейти на третий питон и сразу же столкнулся с проблемой. Все библиотеки...

Python3 NameError
Здравствуйте! Сегодня решил заняться изучением python3 и при помощи интернета решил собрать...

Pickle Python3
Добрый вечер. Задача следующая. Я записываю в файл с помощью pickle.dump() несколько строк. Мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.