C/Visual C - Función MOD negativa

 
Vista:
sin imagen de perfil

Función MOD negativa

Publicado por Dennis (4 intervenciones) el 07/10/2016 19:00:24
Buenas tardes, el motivo de esta consulta, es saber que en que aplicaciones se puede utilizar el MOD negativo, es decir asi (-7)MOD36 o 7MOD(-36), en que aplicaciones puedo utilizar esto y como lo haría, es de urgencia, de antemano les agradezco por sus respuestas,saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Aarón Castillo
Val: 75
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Función MOD negativa

Publicado por Aarón Castillo (20 intervenciones) el 11/10/2016 19:22:07
Una de las aplicaciones de los módulos negativos es en el campo de la criptografía, al menos el de la criptografía básica.

Si no tienes conocimiento de qué es la criptografía es modificar el contenido del mensaje (cifrar) para que al llegar a su destino sea compuesto de nuevo y así leerlo (descifrar), evitando que durante el camino terceras personas intenten acceder a él sobre todo por cuestiones de seguridad.

En algunos lugares lo vas a encontrar como encriptar (cifrar) y desencriptar (descifrar), lo cual es una aberración, evita usar estos términos.

Ahora, un ejemplo más específico es el cifrado de Hill; en éste utilizas operaciones de módulos negativas para poder dar con el resultado que necesitas para descifrar el contenido del mensaje.

Si necesitas alguna otra referencia con gusto te la proporciono.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Función MOD negativa

Publicado por Dennis (4 intervenciones) el 12/10/2016 15:09:07
Hola amigo, gracias por responder pero podrías decirme como lo debería aplicar, osea una parte del código donde pueda ver como se lo utiliza, de antemano gracias por tu respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Aarón Castillo
Val: 75
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Función MOD negativa

Publicado por Aarón Castillo (20 intervenciones) el 12/10/2016 19:30:20
La implementación del cifrado Hill es ésta:

http://javaraiders.blogspot.mx/2012/11/hill-cipher.html

Aunque está en Java, puedes ver que se aplican las operaciones de módulo (operador %); otra cosa a mencionar es que muchos aplican las propiedades de la operación módulo y lo convierten de negativo a positivo:

https://www.i-ciencias.com/pregunta/4261/modulo-de-un-numero-negativo

Aunque al final es equivalente, lo comento por si en algún momento no encuentras módulos negativos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Función MOD negativa

Publicado por Dennis (4 intervenciones) el 14/10/2016 21:40:19
Una pregunta amigo, dentro del codigo que me facilitaste en que parte esta la utilizacion de los modulos negativos, la verdad me pierdo en dentro del codigo, de antemano te agradezco por tu respuesta, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Aarón Castillo
Val: 75
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Función MOD negativa

Publicado por Aarón Castillo (20 intervenciones) el 15/10/2016 00:15:53
La parte que buscas está al final del código donde hay un printf seguido de un c[i] algo, como te comenté al final en este tipo de cifrado la gente suele deshacerse del módulo negativo y usa las propiedades de los módulos para convertirlo a positivo, lo cual pasa en este caso.

Encontré un ejemplo más acorde a lo que buscas. En el mismo cifrado Hill hay dos procesos, cuando cifras el contenido y cuando lo descifras, en ambos casos usas una "matriz de transformación". Lo relevante del asunto es que en el descifrado hay más oportunidades de que veas los módulos negativos.
Dado que en el primer código que te adjunté sólo está implementada la parte del cifrado, aquí te adjunto otra implementación de la técnica de Hill donde se abarcan tanto el cifrado como el descifrado:

http://www.sanfoundry.com/java-program-implement-hill-cypher/

En la línea 203 encontrarás la forma en la que se opera con los módulos.

Para que entiendas bien qué se está haciendo en la línea 203, te adjunto una explicación del descifrado de la técnica de Hill:

http://crypto.interactive-maths.com/hill-cipher.html#inverse

En particular verifica la sección "Decrypt", ahí notarás que se manejan los módulos negativos y entonces podrás entender la sección de código.
Por ello es que te recomiendo que veas primero la explicación y después la implementación.

Quedo al pendiente.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar