Está en la página 1de 6

Practica 5

Carrera: INGENIERIA EN REDES Y TELECOMUNICACIONES


Nombre: ARMIN TITO FRANULIC RODRIGUEZ
Docente: ING. ARIEL ROYMER GABRIEL TICONA

LA CRIPTOGRAFÍA

1. ¿QUÉ ES LA CRIPTOGRAFÍA?
R: La criptografía es el estudio y práctica de técnicas seguras para comunicar y almacenar
datos de manera que solo los destinatarios previstos puedan acceder a ellos. Su objetivo
principal es garantizar la confidencialidad, la integridad y la autenticidad de la
información.
La criptografía está asociada con el proceso de convertir texto sin formato ordinario en
texto ininteligible y viceversa. Es un método para almacenar y transmitir datos en una
forma particular para que solo aquellos a quienes está destinado puedan leerlos y
procesarlos.
La criptografía no solo protege los datos contra robos o alteraciones, sino que también
se puede utilizar para la autenticación de usuarios.
Resumiendo: la criptografía es un método de protección de la información y las
comunicaciones mediante el uso de códigos, de modo que solo aquellos a quienes está
destinada la información puedan leerla y procesarla. El prefijo cripta significa oculto o
bóveda y el sufijo grafía significa escritura.
Proporciona una comunicación segura en presencia de terceros. El cifrado utiliza un
algoritmo y una clave para transformar una entrada (es decir, texto sin formato) en una
salida cifrada (es decir, texto cifrado). Un algoritmo dado siempre transformará el mismo
texto sin formato en el mismo texto cifrado si se usa la misma clave.

CONCEPTOS CLAVE:
1. Confidencialidad: Asegura que solo las partes autorizadas puedan acceder a la
información.
2. Integridad: Garantiza que los datos no sean alterados durante la transmisión o el
almacenamiento.
3. Autenticidad: Verifica la identidad de las partes involucradas en la comunicación.

1
4. Criptosistema: Conjunto de algoritmos y claves utilizadas para cifrar y descifrar datos.
5. Clave: Secuencia de bits utilizados por un algoritmo de cifrado para cifrar o descifrar
datos.

2. MENCIONE 2 EJEMPLOS DE CRIPTOGRAFÍA


R: EJEMPLOS:
 Cifrado simétrico: El mismo conjunto de claves se utiliza tanto para cifrar como
para descifrar los datos. Ejemplo: AES (Estándar de cifrado avanzado).
 Cifrado asimétrico: Se utilizan dos claves diferentes: una pública y una privada.
Ejemplo: RSA (Rivest-Shamir-Adleman).
 Hashing: Transforma datos en una cadena de caracteres de longitud fija. Ejemplo:
SHA-256 (Algoritmo Hash Seguro de 256 bits).

3. REALICE UN EJEMPLO DE CRIPTOGRAFÍA (IMPLEMENTAR EN SU LENGUAJE DE


PREFERENCIA)
R: Los lenguajes de programación ofrecen diversas bibliotecas y herramientas para
implementar técnicas de criptografía.
Las bibliotecas más comunes que se utilizan para implementar algoritmos
criptográficos son:
1. Pitón:

 Bibliotecas:
Crypto: Es una biblioteca de Python que proporciona diversas funciones
criptográficas, incluyendo cifrado simétrico y asimétrico, generación de
números aleatorios, hash, entre otras.
PyCryptodome: Es una bifurcación de PyCrypto que ofrece una amplia gama de
algoritmos criptográficos y es compatible con Python 2. xy 3.x.

2
2. Java:
 Bibliotecas:
Bouncy Castle: Es una biblioteca Java que proporciona implementaciones de
algoritmos criptográficos para cifrado simétrico y asimétrico, generación de
claves, hash, entre otros.
Java Cryptography Architecture (JCA): Es la API de criptografía estándar de
Java que ofrece una amplia gama de funcionalidades criptográficas.
3. C++:
 Bibliotecas:
Crypto++: Es una biblioteca de código abierto para C++ que ofrece una amplia
variedad de algoritmos criptográficos, incluyendo cifrado simétrico y
asimétrico, hash, firmas digitales, entre otros.
4. C#:
 Bibliotecas:
System.Security. Cryptography: Es el espacio de nombres de .NET que
proporciona clases para implementar algoritmos criptográficos en aplicaciones
C#.
BouncyCastle.Crypto: Esta es una versión de Bouncy Castle para .NET, que
proporciona funcionalidades criptográficas similares a su contraparte de Java.
5. JavaScript:
 Bibliotecas:
CryptoJS: Es una biblioteca JavaScript que proporciona implementaciones de
algoritmos criptográficos para cifrado simétrico y hash.
Web Crypto API: Es una API integrada en los navegadores web modernos que
permite realizar operaciones criptográficas directamente en el navegador
utilizando JavaScript.

4. EJEMPLO EN C++

Mensaje a cifrar
string message = "Este es un mensaje secreto";

3
CODIGO

#include <iostream>
#include <string>
#include <cryptopp/aes.h>
#include <cryptopp/modes.h>
#include <cryptopp/filters.h>
#include <cryptopp/base64.h>

using namespace std;


using namespace CryptoPP;

// Función para cifrar usando AES en modo ECB


string EncryptAES(const string& plaintext, const byte key[], const int keySize) {
string ciphertext;

try {
ECB_Mode<AES>::Encryption encryption;
encryption.SetKey(key, keySize);

// Filtro para cifrado


StringSource(plaintext, true,
new StreamTransformationFilter(encryption,

4
new StringSink(ciphertext)
)
);
}
catch(const CryptoPP::Exception& e) {
cerr << "Error al cifrar: " << e.what() << endl;
exit(1);
}

return ciphertext;
}

int main() {
// Clave de 128 bits (16 bytes) para AES
byte key[AES::DEFAULT_KEYLENGTH] = {'S', 'e', 'c', 'r', 'e', 't', 'K', 'e', 'y', '1', '2', '3', '4', '5',
'6', '7'};

// Mensaje a cifrar
string message = "Este es un mensaje secreto";

// Cifrar el mensaje
string encrypted = EncryptAES(message, key, AES::DEFAULT_KEYLENGTH);

// Mostrar el mensaje cifrado


cout << "Mensaje cifrado: " << endl;
cout << encrypted << endl;

return 0;
}

Conclusiones:
 Importancia de la seguridad: La criptografía es fundamental en la era digital para
proteger la información sensible.
 Desafíos continuos: Los avances tecnológicos requieren mejoras constantes en los
algoritmos criptográficos para mantener la seguridad.
 Aplicaciones amplias: Desde la seguridad de las comunicaciones en línea hasta la
protección de datos en sistemas financieros, la criptografía tiene numerosas
aplicaciones en la vida cotidiana.
Recomendaciones:
 Implementación adecuada: Utiliza algoritmos criptográficos probados y confiables.
 Gestión de claves seguras: Protege las claves de cifrado y asegúrate de que se
comparten solo con las partes autorizadas.
 Actualizaciones regulares: Mantén tus sistemas y software actualizados con las
últimas correcciones de seguridad.
 Educación continua: Mantente informado sobre los últimos avances en criptografía
y prácticas recomendadas.

5
5. Bibliografía
 "Criptografía y seguridad de redes: principios y práctica" de William Stallings.
 "Criptografía aplicada: protocolos, algoritmos y código fuente en C" de Bruce
Schneier.
 "Introducción a la Criptografía Moderna: Principios y Protocolos" de Jonathan Katz
y Yehuda Lindell.
 "Comprensión de la criptografía: un libro de texto para estudiantes y
profesionales" de Christof Paar y Jan Pelzl.

También podría gustarte