Cifrado Cesar

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L ASIGNATURA: SEGURIDADES INFORMÁTICAS DOCENTE: ING. MARCELO ÁLVAREZ TEMA: “A

Views 65 Downloads 2 File size 196KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L

ASIGNATURA: SEGURIDADES INFORMÁTICAS

DOCENTE: ING. MARCELO ÁLVAREZ

TEMA: “Algoritmo de cifrado”

GRUPO: ANDREA LLAMUCA RICARDO MUÑOZ

Índice Índice

2

RESUMEN

3

OBJETIVOS

3

MARCO TEÓRICO

3

DESARROLLO DE LA PRÁCTICA

5

CONCLUSIONES

7

RECOMENDACIONES

8

REFERENCIAS

8

RESUMEN La práctica consiste en realizar un algoritmo mediante un lenguaje de programación que permita la encriptación y desencriptación de un conjunto de palabras o una frase.

OBJETIVOS Determinar las características de un cifrado a través de la búsqueda de información en los diferentes medios informativos para la adquisición de nuevos conocimientos. Determinar las características y en que consiste el cifrado Cesar mediante fuente de información. Implementar un algoritmo informático basado en el cifrado de Cesar.

MARCO TEÓRICO La siguiente práctica usa herramientas importantes descritas a continuación: Java.- Es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems.[1] Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta super computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes, que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos diez millones de usuarios reportados. El lenguaje de programación Java fue originalmente desarrollado por James Gosling, de Sun Microsystems (constituida en 1983 y posteriormente adquirida el 27 de enero de 2010 por la compañía Oracle),4 y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son compiladas a bytecode (clase Java), que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente. La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java, máquinas virtuales y librerías de clases en 1991, y las publicó por primera vez en 1995. A partir de mayo de 2007, en cumplimiento de las especificaciones del Proceso de la Comunidad Java, Sun volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU. Otros también han desarrollado implementaciones

alternas a estas tecnologías de Sun, tales como el Compilador de Java de GNU y el GNU Classpath. Algoritmo.- Es una secuencia lógica y finita de pasos que permite solucionar un problema o cumplir con un objetivo.[2] En la fase de codificación, todos los módulos definidos mediante el diseño modular se convertirán en un programa, es decir, la aplicación final estará compuesta por la suma de todos los programas que se diseñen. Pero antes, hay que determinar cuáles son las instrucciones o acciones de cada uno de dichos programas. Para ello, se debe hacer uso de algoritmos. Un algoritmo establece, de manera genérica e informal, la secuencia de pasos o acciones que resuelve un determinado problema. Los algoritmos constituyen la documentación principal que se necesita para poder iniciar la fase de codificación y, para representarlos, se utiliza, fundamentalmente, dos tipos de notación: pseudocódigo y diagramas de flujo. El diseño de un algoritmo es independiente del lenguaje que después se vaya a utilizar para codificarlo. La encriptación de datos o cifrado de archivos. - Es un procedimiento mediante el cual los archivos, o cualquier tipo de documento, se vuelven completamente ilegibles gracias a un algoritmo que desordena sus componentes.

La encriptación es un procedimiento de seguridad que consiste en la alteración, mediante algoritmos, de los datos que componen un archivo. El objetivo es hacer que dichos datos se vuelvan ilegibles en caso de que un tercero los intercepte. La encriptación es un recurso muy utilizado hoy en día para garantizar una transferencia segura de datos y documentos. Si bien no se puede garantizar que no se sustraiga información sensible, sí puede evitar que se utilice para el perjuicio de sus dueños legítimos. Desencriptación.- es el proceso de transformar información encriptada para que sea legible de nuevo.[3] Es el proceso contrario a la encriptación, mediante el cual un criptograma es transformado en el texto plano que le dio origen. En la mayoría de los métodos o algoritmos de encriptación para que la desencriptación sea exitosa es necesario poseer una clave, ya sea pública o privada que asegura que quién realiza el proceso está acreditado para tener acceso a la información original. Cifrado César. - Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. La transformación se puede representar alineando dos alfabetos; el alfabeto cifrado es un alfabeto normal que está desplazado un número determinado de posiciones hacia la izquierda o la derecha.[4]

En criptografía, el cifrado César, también conocido como cifrado por desplazamiento, código de César o desplazamiento de César, es una de las técnicas de cifrado más simples y usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D (situada 3 lugares a la derecha de la A), la B sería reemplazada por la E, etc. Este método debe su nombre a Julio César, que lo usaba para comunicarse con sus generales. El cifrado César muchas veces puede formar parte de sistemas más complejos de codificación, como el cifrado Vigenère, e incluso tiene aplicación en el sistema ROT13. Como todos los cifrados de sustitución alfabética simple, el cifrado César se descifra con facilidad y en la práctica no ofrece mucha seguridad en la comunicación.

DESARROLLO DE LA PRÁCTICA Para hacer una encriptación de datos se debe primero tener un lenguaje de programación. Se utilizó el lenguaje de programación JAVA en la plataforma NetBeans 1. Se crea un proyecto nuevo en este caso lo llamaremos CifradoCesar

fig.1.- Captura del proyecto creado.

2. Realizar el menú principal incluyendo las funciones de cifrado y descifrado.

fig.2.- Captura del código principal. 3. Creamos la función cifrar

fig.3.- Captura función cifrar.

4. Creamos la función descifrar

fig.4.- Captura función descifrar. 5. En la fig.5 se muestra claramente de que forma el cifrado y descifrado funciona

correctamente.

fig.6.- Cifrado y descifrado por el método César

CONCLUSIONES El cifrado es una de las practicas más utilizados desde tiempos antiguos debido a que no solo nos permite proteger la información privada, sino que también ofrece un medio para demostrar la autenticidad mediante la verificación del origen de un mensaje y confirmar que no ha sufrido modificaciones durante la transmisión.

El cifrado César es una de las técnicas de decodificación más simples y usadas debido a que es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. La implementación de el algoritmo de cifrado Cesar en el lenguaje programación java es relativamente fácil, debido a que este lenguaje nos permite utilizar varios métodos y técnicas que ayudan a desarrollar el algoritmo.

RECOMENDACIONES El cifrado es una de las técnicas más utilizadas en la actualidad, así que es recomendable utilizar este, cuando se requiera proteger información que no sea detectada por cualquier individuo. Para entender cómo funciona el cifrado Cesar es necesario realizar varias prácticas de sustitución de abecedario con intervalos aleatorios que permitan adquirir conocimiento de esta técnica. Para el manejo del lenguaje java es necesario la lectura de su documentación, debido a que existen una gran cantidad de métodos y técnicas para desarrollar una misma acción.

REFERENCIAS [1] «¿Qué es Java y para qué es necesario?» [En línea]. Disponible en: https://www.java.com/es/download/faq/whatis_java.xml. [2] «¿Qué es un algoritmo?» [En línea]. Disponible en: http://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/niv el1/programacion/unidad1/leccion1.html. [3] «¿Qué es y en qué consiste la encriptación de datos? | eConectia». [En línea]. Disponible en: https://www.econectia.com/blog/que-es-encriptacion-de-datos. [4] «Cifrado César - Wikipedia, la enciclopedia libre». [En línea]. Disponible en: https://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar.