0% encontró este documento útil (0 votos)
14 vistas10 páginas

Cifrado de CVV: Algoritmo Seguro

Cargado por

0274525
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas10 páginas

Cifrado de CVV: Algoritmo Seguro

Cargado por

0274525
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Proyecto Integral: "Análisis y Diseño de Algoritmos"

Ingeniería en Sistemas y Gráficas Computacionales


2do Parcial

Hecho por:
● Lourdes María Álvarez del Castillo Vega
● Regina Beltrán López
● Lourdes María Orozco Romo
FASE 1: Investigación Teórica

La Real Academia Española define la criptografía como “el arte de escribir con clave
secreta o de un modo enigmático”. Esta se utiliza para escribir de tal manera que el resultado
pueda ser interpretado únicamente por quien conozca la clave secreta o el modo
“enigmático”.

Ramio Aguirre la describe como “la rama inicial de las matemáticas y en la actualidad
también de la informática y la telemática, que hace uso de métodos y técnicas con el objeto
principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo,
usando una o más claves.”

En el libro Handbook of Applied Cryptography podemos encontrar que “La criptografía


es el estudio de técnicas matemáticas relacionadas con los aspectos de la seguridad de la
información tales como la confidencialidad, la integridad de datos, la autenticación de
identidad y de origen. La criptografía no comprende sólo a los medios para proveer
seguridad de información, sino a un conjunto de técnicas.”

El cifrado es la base de la seguridad de datos, convierte los datos legibles por humanos
a un formato codificado que es incomprensible para nosotros, utilizando una clave
criptográfica. Si se extravía o se roba un dispositivo ayuda a impedir vulneraciones de datos,
ya que ha sido diseñado para impedir que alguien no autorizado acceda a datos
indebidamente adquiridos. Para descifrar un fragmento determinado de texto cifrado, se
debe usar la clave que se usó para cifrar los datos.

En el ámbito técnico, se considera el término más preciso. Se usa cuando hablamos del
proceso en general de proteger datos mediante un código que puede ser revertido con una
clave específica. Un ejemplo de su uso es cifrar un mensaje de texto para que solo pueda ser
leído por alguien con la clave correcta.

Existen dos tipos básicos de sistemas de cifrado:


Sistemas de cifrado simétricos ( sistemas de clave privada).
● Cifrado en bloques: La información a cifrar se divide en bloques de longitud fija y
luego se aplica el algoritmo de cifrado a cada bloque utilizando una clave secreta.
Ejemplos: DES, AES.
● Cifrado de flujo: El algoritmo genera una secuencia pseudoaleatoria de bits que se
emplea como clave. El cifrado se realiza combinando la secuencia cifrante con el texto
claro. Ejemplo: RC4.
Sistemas de cifrado asimétrico ( sistemas de clave pública).
Los sistemas asimétricos utilizan dos claves, una privada y una pública . Ambas pueden
ser usadas para encriptar y desencriptar información.
● Encripción: el mensaje es encriptado usando la clave pública del receptor, el mensaje
encriptado es enviado al destinatario, el mensaje recibido se desencripta usando la
clave privada del receptor.
● Autenticación: el mensaje es encriptado usando la clave privada del emisor, el
mensaje encriptado se envía a uno o más receptores, el mensaje se desencripta
usando la clave pública del emisor.

La diferencia entre cifrado y encriptación es principalmente una cuestión de


terminología y uso del lenguaje, ambos términos se refieren al proceso de proteger la
información al hacerla ilegible para personas no autorizadas.En el ámbito técnico,
especialmente en la literatura especializada en español, se prefiere el uso de “cifrar”.
“Encriptar” es más común en textos traducidos del inglés o en contextos informales.

Métodos antiguos de cifrado:


● La escitala espartana: El primer caso claro de uso de métodos criptográficos se dio
durante la guerra entre Atenas y Esparta. El historiador griego Plutarco, describe la
escitala de la siguiente manera:
“La escitala era un palo o bastón en el cual se enrollaba en espiral una tira de cuero.
Sobre esa tira se escribía el mensaje en columnas paralelas al eje del palo. La tira
desenrollada mostraba un texto sin relación aparente con el texto inicial, pero que
podía leerse volviendo a enrollar la tira sobre un palo del mismo diámetro que el
primero”. Con este sistema los gobernantes de Espartana transmitieron, con eficacia,
sus instrucciones secretas a los generales de su ejército, durante las campañas
militares. Lógicamente, este procedimiento suponía que tanto el emisor como el
receptor del mensaje dispusieron de un palo o bastón con las mismas características
físicas: grosor y longitud.

● El cifrario de César: Llamado así porque es el procedimiento que empleaba Julio


César para enviar mensajes secretos a sus legiones, es uno de los algoritmos
criptográficos más simples. Es un algoritmo de sustitución, su cifrado consistía
simplemente en sustituir una letra por la situada tres lugares más allá en el alfabeto
esto es la A se transformaba en D, la B en E y así sucesivamente hasta que la Z se
convertía en C.
● El método de Polybios: El escritor griego Polybios, inventó un sistema que acabó
siendo adoptado muy a menudo como método criptográfico. Colocó las letras del
alfabeto en una red cuadrada de 5x5. El sistema de cifrado consistía en hacer
corresponder a cada letra del alfabeto un par de letras que indican la fila y la
columna, en la cual la letra se encontraba.

En el ámbito de la informática, existen muchos desarrolladores que al momento de


implementar algún tipo de resguardo para su información, han utilizado técnicas antiguas o
rudimentarias. Esto tiene como resultado detener a aquellas personas que no tienen los
conocimientos para realizar la decodificación, sin embargo, esto no detendrá cualquier tipo
de ataque de un informático con nociones del tema. Para eso se utilizan funciones
criptográficas basadas en algoritmos matemáticos.
FASE 2: Análisis y Solución del Problema

Elegimos como problema de seguridad el fraude que existe cuando realizas una compra en
línea con una tarjeta digital, y el CVV no está adecuadamente protegido. Cuando un hacker
tiene acceso a tu CVV estás en riesgo de ser víctima de compras no autorizadas, robo de
identidad, venta de información de tu tarjeta y otros escenarios donde tus datos sean usados
de manera errónea sin tu consentimiento. Por eso, este es un tema importante en la
ciberseguridad y algo que todavía es un problema en la actualidad.

Poniendo en práctica la investigación que realizamos sobre el cifrado y encriptación


de datos encontramos una solución para mantener el CVV protegido, elaboramos un código
para hacer un doble cifrado. Añadiendo una barrera más de seguridad para que sea incluso
más complicado que alguien tenga acceso a tu CVV y puedas realizar compras en línea de
manera segura. Nuestro código es simple y fácil de implementar, si lo comparamos con otros
métodos como AES claramente nuestro nivel de seguridad es mucho más bajo, pero tiene
algunas ventajas, como los bajos recursos de procesamiento que consume y también puede
trabajar de manera rápida.

Nuestro algoritmo es un ejemplo de un cifrado simétrico, ya que tanto el emisor como


el receptor (imaginando que una persona es la que ingresa el CVV y otra la que lo obtiene al
final) deben conocer y usar las mismas claves para transformar el CVV a un texto cifrado y de
nuevo al CVV original.
Fase 3: Diseño y Desarrollo del Algoritmo

Pseudocódigo:

Inicio
Declara variables cvv, cifrado1, cifrado2, descifrado como strings
Declarar dig, clave1, clave2 como enteros
Inicializar cvvnum como booleano y true

Hacer
Mostrar "Ingrese su CVV de 3 dígitos: "
Guardar en cvv
dig = la longitud de cvv
cvvnum = true

(Verificar que son 3 dígitos)


Si dig no es igual a 3 entonces
Mostrar "ERROR: El CVV debe ser un número de 3 dígitos."
Sino
(Verificar que los 3 dígitos sean numéricos)
For i desde 0 hasta dig - 1
Si el carácter en la posición i de cvv no es un dígito Entonces
cvvnum = false
Salir del bucle
Fin Si
Fin For
Fin Si

Si cvvnum=false Entonces
Mostrar "ERROR: El CVV debe ser un número de 3 dígitos."
FinSi

(Repetir hasta que se ingrese un número de 3 dígitos)


Mientras dig != 3 O cvvnum es Falso
Hacer
Mostrar "Ingrese la primera clave de cifrado (un número entre 1 y 9): "
Guardar en clave1

Si clave1 no es un número Entonces


Limpiar el error de entrada
Ignorar el carácter incorrecto
Asignar clave1 a 0
Mostrar "ERROR: Ingrese un número."
SinoSi clave1 < 1 O clave1 > 9 Entonces
Mostrar "ERROR: Ingrese un número válido."
FinSi
(Repetir hasta que se ingrese un número en el rango válido)
Mientras clave1 < 1 O clave1 > 9

Hacer
Mostrar "Ingrese la clave para el doble cifrado (un número entre 1 y 9): "
Guardar en clave2

Si clave2 no es un número Entonces


Limpiar el error de entrada
Ignorar el carácter incorrecto
Asignar clave2 a 0
Mostrar "ERROR: Ingrese un número."
If else clave2 < 1 O clave2 > 9 Entonces
Mostrar "ERROR: Ingrese un número válido."
Fin Si
(Repetir hasta que se ingrese un número en el rango válido)
Mientras clave2 < 1 O clave2 > 9

cifrado1 = cvv
For i desde 0 hasta longitud de cifrado1 - 1
Convertir cada carácter en número, sumarle clave1 y aplicar módulo 10 para
asegurarnos que se mantenga en el rango
Guardar en cifrado1
Fin For
Mostrar "CVV tras primer cifrado: ", cifrado1
cifrado2 = cifrado1
Fori desde 0 hasta longitud de cifrado2 - 1
Convertir cada carácter en número, sumarle clave2 y aplicar módulo 10
Guardar el nuevo valor en cifrado2
Fin For
Mostrar "CVV tras segundo cifrado: ", cifrado2

Mostrar "Ingrese la primer clave: "


Guardar en clavedes1
Mostrar "Ingrese la segunda clave: "
Guardar en clavedes2

Si clavedes1 = clave1 Y clavedes2 = clave2 Entonces


descifrado = cifrado2
For i desde 0 hasta longitud(descifrado) - 1
Sumarle 10 y aplicar módulo 10 para mantener en el rango
Fin For
Mostrar "CVV tras revertir el segundo cifrado: "

For i desde 0 hasta longitud(descifrado) - 1 Hacer


Sumarle 10 y aplicar módulo 10 para mantener en el rango
Fin For
Mostrar CVV descifrado
Sino
Mostrar "ERROR: Las claves ingresadas son incorrectas. No se puede descifrar el CVV"
Fin Si

Fin
Bibliografía:
Cifrado de datos y cómo hacerlo. (2018, 21 noviembre). /.
https://latam.kaspersky.com/resource-center/definitions/encryption?srsltid=AfmBOorJW4fOclGsNeH
WRfq_V1-zyjIbxkOqPu0M4-OzfB66upvGDdyI

Comparación del cifrado por hardware y por software. (s. f.-b). [Vídeo]. Kingston Technology
Company. https://www.kingston.com/es/blog/data-security/what-is-encryptio

Alvinashcraft. (2023, 12 junio). Cifrado y descifrado de datos - Win32 apps. Microsoft Learn.
https://learn.microsoft.com/es-es/windows/win32/seccrypto/data-encryption-and-decryption

ALGORITMO DE CIFRADO SIMÉTRICO AES. ACELERACIÓN DE TIEMPO DE CÓMPUTO


SOBRE ARQUITECTURAS MULTICORE. (2011, diciembre). Sedici. Recuperado 22 de octubre de
2024,https://sedici.unlp.edu.ar/bitstream/handle/10915/4210/Documento_completo.pdf?sequence=1&
isAllowed=y

Yran, M. T. (s. f.). La Criptografía como elemento de la seguridad informática.


http://scielo.sld.cu/scielo.php?pid=S1024-94352003000600012&script=sci_arttext&tlng=pt

Granados G. (2006, 6 julio). INTRODUCCIÓN a LA CRIPTOGRAFÍA. Biblat. Recuperado 22 de


octubre de 2024, de https://biblat.unam.mx/hevila/Revistadigitaluniversitaria/2006/vol7/no7/5.pdf

También podría gustarte