Open gabo1243 opened 2 years ago
Hola @gabo1243
Respecto a tu primera duda, lo que se debe encriptar es el mensaje que quieres enviar. Luego de encriptarlo este es codificado y enviado al servidor o al cliente. Recuerda que el contenido del mensaje ya encriptado se encuentra en los bloques de 32 bytes.
Es muy importante que encriptes primero y luego armes el mensaje codificado. Si codificas y luego encriptas cada bloque de 32 bytes por separado te va a quedar mal. Espero haberte aclarado esta duda
Respecto a tu segunda duda, si puedes usar json.
Quedo atento a mas dudas,
Hola, la verdad no entiendo todavia. Yo lo hice de una forma, pero no se si es lo mismo a lo que te refieres. ¿Podrías ver mi código en la parte de cliente.py en el método codificacion para ver si al menos el orden esta bien?
Gracias de antemano
Yo no entendí a que se refiere enviar el número del bloque. Debe haber un solo número o más de uno. Si pueden hacer un ejemplo se agradecería.
Hola @vicentefez. Un ejemplo seria el siguiente. Supongamos que quieres enviar un mensaje ya encriptado de 96 bytes. Este se tiene que dividir en 3 bloques. Siguiendo la estructura de codificación te quedaría así: |largo del mensaje| |numero de bloque| |Bloque 1| |numero de bloque| |Bloque 2| |numero de bloque| |Bloque 3|
|\x00\x00\x00\x60| |\x01\x00\x00\x00| |Bloque 1| |\x02\x00\x00\x00| |Bloque 2|| |\x03\x00\x00\x00| |Bloque 3|| Recuerda que para el largo del mensaje debe estar en big endian y el numero de bloque en little endian. Espero que el ejemplo te haya aclarado tu duda
Hola @gabo1243: Realizas bien lo de encriptar antes de seguir con todo el proceso de codificación. Te falta super poco para completar la codificación, se te olvido agregar en el principio los 4 bytes encargados de indicar el largo del contenido del mensaje ya encriptado. Vas bien
Hola, graciass. Los 4 bytes del largo del mensaje se los agregué después en la funcion enviar_mensaje. Aunque no estoy seguro si hay que poner el largo del mensaje con o sin los bytes de numero de bloques. Es decir si el mensaje tiene extension de 64 bytes, con los numeros alcanzaria 72 (64+4*2). Entonces ¿El largo al principio del mensaje debe ser 64 o 72 en este caso? No se sis e entiende bien.
Gracias de antemano
@gabo1243 Los 4 primeros bytes indican el largo del mensaje luego de ser encriptado. En el caso que planteas el largo debe ser 64. Quizás te sirva bastante ver la figura 3 del enunciado. Además te recomiendo agregar estos bytes en la codificación y no en la función enviar_mensaje.
Prerrequisitos
(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")
Duda
Hola, tengo 2 preguntas sobre la tarea. La primera es sobre la encriptación del mensaje. No entiendo muy bien en que parte específica tenemos que encriptar el mensaje. ¿Se encripta cada bloque de 32 bytes por separado? o ¿se encripta TODO el mensaje de una sola vez? Mi pregunta va por que el mensaje debe ir de la siguiente forma:
msg =largo (4bytes) + numero (4bytes) + parte 1 del mensaje (32bytes) + numero (4bytes) + parte 2 del mensaje (32bytes) + .....
con respecto a esto, ¿se encripta msg? o ¿ se encripta cada bloque (parte n del mensaje en 32 bytes) por separado?
La otra pregunta es sobre el uso de json. En el enunciado nunca se dice que sea obligatorio/necesario usar json (creo), pero me di cuenta que usarlo me facilita el envio de información. Entonces ¿se puede pasar el mensaje a json en alguna parte de la codificación para que sea más sencillo? (luego lo pasaría a bytes para enviarlo, pero inicialmente lo tendría en json)
Gracias de antemano