Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

30/04/2010 #1


Ecuación con xor
Hola, disculpen las molestias. Estoy realizando un sistema para cifrar la comunicación entre un PIC y un PC. En el proceso de descifrado me encuentro con la siguiente operación:

a = b xor (b + c)

donde el signo '+' no es una suma lógica, sino una suma normal. Los datos conocidos son 'a' y 'c', necesito averiguar el valor de 'b', pero mis conocimientos sobre puertas lógicas son escasos. Según parece no puedo aplicar la propiedad distributiva (a = b xor b + b xor c = b xor c) pues el resultado obtenido no es el esperado.

¿Alguna sugerencia? Gracias.
30/04/2010 #2

Avatar de Eduardo

Respuesta: Ecuación con xor
Tenés que ir sacando bit a bit, del lsb al msb. Pero la solución (b), cuando existe, no es única .
05/05/2010 #3

Avatar de tecnogirl

Respuesta: Ecuación con xor
antonaca dijo: Ver Mensaje
Estoy realizando un sistema para cifrar la comunicación entre un PIC y un PC. ..
Como es ese proceso de encriptacion ?
Si me lo describes por ahi se obtiene la solucion de la desencriptacion.
Saludos
06/05/2010 #4


Respuesta: Ecuación con xor
Gracias por responder,
había pensado en realizar un algoritmo sencillo, algo como esto,

Código:
datosCifrados = reverse( reverse(datos) XOR (reverse(datos) + clave) )
donde datos y clave son variables de 2 bytes. La función reverse intercambia el byte más significativo por el menos significativo y viceversa, pero no es un buen algoritmo pues para datos diferentes obtenemos el mismo resultado.

He optado por modificarlo de la siguiente forma,

Código:
datosCifrados = reverse (reverse ( clave XOR reverse (NOT datos) ) XOR clave)
de modo que la misma función de sirve para cifrar y descifrar.
06/05/2010 #5

Avatar de tecnogirl

Respuesta: Ecuación con xor
Hola antonaca: pero sobre tu primera consulta no me explicaste el algoritmo de encriptacion.
Los metodos que comentas me recuerdan a uno muy popular, el metodo Cesar con el que veo algunas similitudes.

Por la definicion de la funcion reverse() tu metodo estaria limitado para operar sobre bytes, y la clave seria un byte, cierto ?.

Saludos
06/05/2010 #6

Avatar de Eduardo

Respuesta: Ecuación con xor
Hacer:
datosCifrados = reverse (reverse ( clave XOR reverse (NOT datos) ) XOR clave)
Es equivalente a hacer directamente:
datosCifrados = clave2 XOR reverse (NOT datos)
donde la relacion entre clave2 y la que usabas antes es
clave2 = clave XOR reverse(clave)
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.