Así que estoy creando una aplicación que está diseñada para compartir archivos a través de una red local y, finalmente, a través de Internet. Quiero tener un sistema para verificar las identidades de las computadoras, algo como el emparejamiento de Bluetooth que requiere un acuerdo mutuo entre dos computadoras antes de que se pueda compartir cualquier archivo entre ellas, pero es relativamente simple para el usuario. También quiero protegerme contra los ataques MITM para que los archivos enviados de una computadora a otra no se modifiquen en tránsito o se lean. ¿Cómo puedo lograr todo esto?