Uploaded by Sebastian Morales Frias

UNIVERSIDAD PRIVADA BOLIVIANA

advertisement
UNIVERSIDAD PRIVADA BOLIVIANA
INGENIERIA DE SISTEMAS COMPUTACIONALES
PRACTICA #1
Estudiante: Sebastián Morales Frías
Materia: Compilación
Docente: Ing. Ivonne Palomeque
Código: 63052
09/04/23
1. ¿Cómo funciona un algoritmo de encriptación?
Un algoritmo de encriptación es un conjunto de instrucciones matemáticas que
transforma información legible (texto claro) en información ilegible (texto cifrado),
protegiendo así la confidencialidad de los datos. La encriptación utiliza una clave secreta
para realizar esta transformación, y solo aquellos que poseen la clave correcta pueden
descifrar y acceder a la información original. Los algoritmos de encriptación se pueden
clasificar en dos categorías principales: cifrado simétrico y cifrado asimétrico.
2. ¿Cuál es la diferencia entre cifrado simétrico y asimétrico?
La diferencia principal entre el cifrado simétrico y el asimétrico radica en el tipo de claves
utilizadas. En el cifrado simétrico, se utiliza una única clave para cifrar y descifrar la
información. Ambas partes que se comunican deben tener la misma clave, lo que puede
plantear problemas de distribución y confidencialidad. En el cifrado asimétrico, se utilizan
dos claves distintas: una clave pública para cifrar la información y una clave privada para
descifrarla. La clave pública se comparte libremente, mientras que la clave privada se
mantiene en secreto por su propietario.
3. ¿Cómo se elige una clave para un algoritmo de encriptación?
La elección de una clave para un algoritmo de encriptación es un paso crítico en la
protección de la información. Una clave segura debe ser lo suficientemente larga y
aleatoria como para evitar ataques de fuerza bruta y predecibilidad. En general, se
recomienda utilizar claves de mayor longitud y generarlas a partir de fuentes de entropía
adecuadas, como hardware o software de generación de números aleatorios.
4. ¿Qué es una función hash y cómo se usa en la encriptación?
Una función hash es un algoritmo que toma una entrada de cualquier tamaño y produce
un valor fijo, generalmente una cadena de caracteres de longitud fija, llamado "hash". Las
funciones hash se utilizan en la encriptación para garantizar la integridad de los datos, ya
que cualquier cambio en la entrada dará lugar a un hash diferente. En la criptografía, las
funciones hash son fundamentales en la creación de firmas digitales y en la verificación de
mensajes, así como en la protección de contraseñas.
5. ¿Cuál es el algoritmo de encriptación más seguro?
No existe un único algoritmo de encriptación "más seguro", ya que la seguridad de un
algoritmo depende de su implementación y de cómo se utiliza en un contexto específico.
Sin embargo, algoritmos como AES (Advanced Encryption Standard) para cifrado simétrico
y RSA, ECC (Elliptic Curve Cryptography) o Ed25519 para cifrado asimétrico, son
considerados seguros y ampliamente utilizados en la industria.
6. ¿Cómo se usa la encriptación en las comunicaciones en línea y en el almacenamiento de
datos?
La encriptación se utiliza en las comunicaciones en línea y en el almacenamiento de datos
para proteger la confidencialidad, integridad y autenticidad de la información transmitida
o almacenada. En las comunicaciones, como el correo electrónico o las aplicaciones de
mensajería, la encriptación garantiza que solo los destinatarios autorizados puedan
acceder al contenido de los mensajes. En el almacenamiento de datos, la encriptación
protege la información almacenada de accesos no autorizados, incluso si un atacante logra
acceder al sistema de almacenamiento.
7. ¿Cuál es la importancia de los algoritmos de encriptación en la seguridad de la
información?
Los algoritmos de encriptación son fundamentales en la seguridad de la información
porque protegen la confidencialidad, integridad y autenticidad de los datos en un mundo
cada vez más digital y conectado. Al cifrar la información, se asegura que solo las partes
autorizadas puedan acceder a ella, lo que reduce el riesgo de robo de datos, espionaje y
otros ciberataques. Además, la encriptación ayuda a cumplir con las regulaciones de
privacidad y protección de datos, y a mantener la confianza de los usuarios en los sistemas
de información.
8. ¿Cómo se utiliza la encriptación en la autenticación de usuarios y en la protección de
contraseñas?
La encriptación se utiliza en la autenticación de usuarios y en la protección de contraseñas
para garantizar que solo las personas autorizadas puedan acceder a sistemas y recursos.
Cuando un usuario ingresa su contraseña, esta se procesa a través de una función hash
segura y se compara con el valor hash almacenado. Si coinciden, el usuario se autentica.
Este enfoque protege las contraseñas almacenadas, ya que incluso si un atacante obtiene
acceso a la base de datos, solo tendría los valores hash, que son difíciles de revertir a las
contraseñas originales.
9. ¿Qué es la encriptación de extremo a extremo y cómo se aplica en la seguridad de las
comunicaciones?
La encriptación de extremo a extremo es un enfoque de seguridad en las comunicaciones
que garantiza que solo los emisores y receptores involucrados en una conversación
puedan acceder al contenido cifrado. Con la encriptación de extremo a extremo, los datos
se cifran en el dispositivo del emisor y se descifran en el dispositivo del receptor. Los
intermediarios, como los proveedores de servicios de mensajería, no tienen acceso al
contenido en texto claro. Esto protege la privacidad y la confidencialidad de las
comunicaciones, incluso si se interceptan o se compromete el proveedor de servicios.
10. ¿Cómo funciona un compilador con los algoritmos de encriptación?
Un compilador es una herramienta de software que traduce el código fuente escrito en un
lenguaje de programación de alto nivel a un lenguaje de bajo nivel, como el código de
máquina, para que pueda ser ejecutado por un dispositivo. En el contexto de los
algoritmos de encriptación, un compilador puede ser utilizado para implementar y
optimizar estos algoritmos en un programa o sistema específico. Los desarrolladores
pueden utilizar bibliotecas criptográficas o escribir su propio código para implementar
algoritmos de encriptación, y el compilador se encarga de generar el código de máquina
correspondiente que se ejecutará en el dispositivo destino. La eficiencia y seguridad del
código compilado dependerán en gran medida de la calidad de la implementación y del
compilador utilizado
Download