Pantallas 18:9, lo que no te quieren contar.

Esta entrada esta enfocada al hardware y como nos venden pantallas mas pequeñas como si fuesen más grandes. El paso del estándar para pantallas del móvil 16:9 al 18:9 genera mas beneficios a los fabricantes que a los usuarios. La medida de las pantallas de los teléfonos móviles se define comercialmente, como medida de la diagonal en pulgadas,
Nos venden una pantalla enorme en diagonal pero no nos dicen que tienen menor superficie para la misma diagonal que el formato anterior..
Aparte de la ergonomía pocas son sus ventajas. Veremos y calcularemos (exactamente con la ayuda de un programa de calculo creado en haskell que podréis copiaros),  cuanto perdemos cuando vemos videos o fotografías. Porque todo eso no te lo cuentan.

 

En la imagen muestra como el formato alargado 18:9 no usa toda la pantalla para ver películas o youtube. En el formato 16:9 las pantallas utilizan toda la superficie optimizando así nuestro smartphone

Teléfono 18:8 de 6 Pulgadas

 

Teléfono 16:9 de 6 Pulgadas

 

En las posteriores tabla se muestra para ambos formatos:

  1. Las pulgadas de la pantalla.
  2. Cuantas pulgadas de pantalla vemos reproduciendo películas sin cortarlas.
  3. Cuantas pulgadas de pantalla vemos visualizando una fotografía a tamaño completo.
  4. El área total de la pantalla en cm².
  5. Que móvil tendríamos que comprar en el otro formato para tener la misma superficie de pantalla.
  6. En la última tabla muestra que diagonal debe tener el móvil para ver una película exactamente igual en cada formato
  7. Las podéis descargar si queréis desde mii Google Drive: Descargar Tablas.

 

Ejemplo para pantalla de 6 pulgadas

En las tablas vemos como una pantalla 18:9 de 6 pulgadas se convierte en una de 5.4 pulgadas cuando ve películas y en una de 4.8 cuando ve imágenes.

Sin embargo una pantalla 16:9 de 6 pulgadas sigue siendo de 6 pulgadas cuando ve películas y es de 5.3 viendo imágenes.

Con  un teléfono de 6 pulgadas en 16:9 vemos la película exactamente igual que con uno de 6.577 pulgadas en 18:9

Conclusiones:

  • Perderemos entre 0.5 y 0.7 pulgadas al ver un video con el formato alargado para la misma diagonal de pantalla.
  • Perderemos entre 0.4 y 0.5 pulgadas al ver un fotografía con el formato alargado para la misma diagonal de pantalla.
  • La perdida de superficie de pantalla (tamaño real) es un 6.4 % al pasar de 16:9 a 18:9.
  • Para la misma diagonal la pantalla del anterior formato 16:9 rinde mucho mejor y ademas ocupa mas superficie, es mayor.

 

Tablas:

18:9

Pulgadas Películas Fotografías Area Total cm² Equivalencia 16:9

5

4.561

4.031

64.516

4.837

5,5

5.017

4.434

78.064

5.321

6

5.473

4.837

92.903

5.805

6,5

5.929

5.240

109.032

6.289

7

6.385

5.643

126.451

6.773

16:9

Pulgadas Películas Fotografías Area Total cm² Equivalencia 18:9

5

5

4.419

68.919

5.167

5,5

5.5

4.861

83.392

5.685

6

6

5.303

99.243

6.201

6,5

6,5

5.745

116.473

6.718

7

7

6.187

135.081

7.235

Peliculas

Pelicula

16:9

18:9

5

5

5.481

5,5

5,5

6.029

6

6

6.577

6,5

6,5

7.125

7

7

7.673

Apendices.

Matemática para los cálculos del programa.

a² + b² = h² Teorema de Pitágoras

16/9 = a/b => a = 16/9 b Proporción para pantallas 16:9

18/9 = a/b => a =18/9 b Proporción para pantallas 18:9

A = a * b Área del rectángulo en ambos casos.

  • A = 16/9 b² = 1.7777778 b²
  • A = 18/9 b² = 2 b²

(16/9)²b² + b² = h² => (256+81)/81 b² = h² => 4,1605 * b² = h² => b² = h² / 4.1605

(18/9)²b² + b² = h² => (4+1) * b² = h² => 5 * b² = h² => b² = h² / 5

Área en función de la diagonal

  • A = 16/9 * ( h² / 4.1605) = 0,427299703 h²
  • A = 18/9 * ( h² / 5 ) = 0.4 h²

En los cálculos de equivalencia se toma el lado menor de cada formato y se calcula la equivalencia usando la proporción 16:9 para películas y l proporción 3:2 para fotos

 

Programa para el calculo introduciendo la diagonal de tu teléfono.

El programa esta escrito en haskell, para ejecutarlo debes copiarlo en un archivo con extensión .hs y escribir en la terminal.

runhaskell NombrePrograma.hs

Para instalar haskell visita www.haskell.org o mira mi anterior entrada Haskell, instalación en Arch Linux

— Progrmama que compara las pantallas de movil de 16:9 y 18:9
— Calcula todos los datos a partir de la diagonal de la pantalla en pulgadas
— La entrada de este dato sera desde la terminal (numpulgadas)
main :: IO ()
— Funciones para el calculo de la longitud de los lados 16:9
— Lado mayor
dieciseisP :: Float -> Float
dieciseisP x = sqrt ((x ^ 2)/ 4.160493827)
— lado mayor
dieciseisG :: Float -> Float
dieciseisG x = 16.0 / 9.0 * dieciseisP x

— Funciones calculo de los lados para 18:9
— Lado menor

dieciochoP :: Float -> Float
dieciochoP x = sqrt ((x ^2) / 5)
— lado mayor
dieciochoG :: Float -> Float
dieciochoG x = 18.0 / 9.0 * dieciochoP x
— Areas 16:9 y 18:9
areadieciseis :: Float -> Float
areadieciseis x = 0.427299703 * x^2
areadieciocho :: Float -> Float
areadieciocho x = 0.4 * x^2
— Porcentaje de pantalla
porciento :: Float -> Float
porciento x = (1 – (areadieciocho x / areadieciseis x)) * 100.0
— El mismo area para los dos formatos
equivalencia :: Float -> Float
equivalencia x = sqrt(0.4) / sqrt(0.427299703) * x
— Como se ve una pelicula 16:9 en un telefono 18:9
movie :: Float -> Float
movie x = dieciochoP x * 2.039728861
— Como se ven fotografias 3:2 en ambos formatos
foto16 :: Float -> Float
foto16 x = dieciseisP x * 1.802775638
foto18 :: Float -> Float
foto18 x = dieciochoP x * 1.802775638
main = do
— Entrada de datos en terminal numpulgadas
putStrLn “Diagonal”
n <- getLine
let numpulgadas = read(n)
— pulgadas a centimetros
let num1 = 2.54 * numpulgadas

— salida de datos en terminal

— Lados y area en ambos formatos
putStrLn ” Movil 16:9″
putStrLn (“Lado Menor ” ++ ( show ( dieciseisP num1 )) ++ ” cm” )
putStrLn (“Lado Mayor ” ++ ( show ( dieciseisG num1 )) ++ ” cm” )
putStrLn ( “Area 16:9 ” ++ ( show (areadieciseis num1 )) ++ ” cm²”)
putStrLn ” Movil 18:9″
putStrLn (“Lado Menor “++ ( show (dieciochoP num1 )) ++ ” cm” )
putStrLn (“Lado Mayor ” ++ ( show (dieciochoG num1)) ++ ” cm”)
putStrLn ( “Area 18:9 ” ++ ( show (areadieciocho num1 )) ++ ” cm²”)
— Equivalencias entre formatos para el mismo area
putStrLn ( “Porcentaje de area que es ” ++ (show (porciento num1)) ++ ” % mayor”)
putStrLn ( ( show (numpulgadas)) ++ ” pulgadas en 16:9 ” ++ ” equivalen a ” ++ (show (equivalencia numpulgadas) ) ++ ” pulgadas en 18:9″ )
— Perdida en pantalla debido a los diferentes formatos de video y foto
putStrLn ( “La diagonal equivalente para peliculas en 18:9 es ” ++ (show (movie numpulgadas)) ++ ” pulgadas”)
putStrLn (“La diagonal equivalente para foto 3:2 en 16:9 es ” ++ (show (foto16 numpulgadas ) ) ++ ” pulgadas”)
putStrLn (“La diagonal equivalente para foto 3:2 en 18:9 es ” ++ (show (foto18 numpulgadas ) ) ++ ” pulgadas”)

 

Steghide, mensajes ocultos (Esteganografía)

La esteganografía (del griego στεγανος steganos, “cubierto” u “oculto”, y γραφος graphos, “escritura”) trata el estudio y aplicación de técnicas que permiten ocultar mensajes u objetos, dentro de otros, llamados portadores, de modo que no se perciba su existencia. Es decir, procura ocultar mensajes dentro de otros objetos y de esta forma establecer un canal encubierto de comunicación, de modo que el propio acto de la comunicación pase inadvertido para observadores que tienen acceso a ese canal. (wiki)

El cifrado digital de mensajes tiene una variante que consiste en introducir un mensaje dentro de otro medio para que este pase desapercibido. Se utilizan imágenes, audios y vídeos. Cualquier medio digital es susceptible de portar mensajes.

 

Descripción del programa

Trabajaremos con Steghide, aplicación  para Linux, que  desde el terminal nos permitirá ocultar mensajes cifrados en archivos JPEG, BMP, WAV. En nuestro caso usaremos una imagen jpg. El software ha sido desarrollado gracias a la iniciativa de Stefan Hetzl y se aloja en la siguiente dirección: http://steghide.sourceforge.net/index.php

Para saber mas sobre ella nos fijaremos en sus dependencias:

  • libmhash Contiene los algoritmos tipo hash para generación de contraseñas. y archivos de verificación.
  • libmcrypt  Esta librería contiene algoritmos simétricos comunes como son: aes, twofish,…
  • libjpeg Nos dará la capacidad de comprimir y descomprimir imágenes.
  • zlib Libreria para comprimir y descomprimir mensajes.

Además tenemos el manual en Ingles y castellano gracias a la traducción de  “Alberto Adrián Schiano” (Muchas gracias por tu gran trabajo) Manual

Como usar steghide

Los ejemplos que mostrare a continuación se realizan sobre la imagen Descanso.jpg, también crearemos un archivo de texto (Mensaje.txt) con el mensaje que deseamos esconder. El programa podéis instalarlo del repositorio de vuestra distro.

Imagen Original

Sin mensaje oculto

Primer comando steghide –encinfo nos muestra todos los algoritmos disponible (heredados de la libreria libmcrypt)

[Steghide]$ ls
Descanso.jpg Mensaje.txt[Steghide]$ steghide –encinfo
algoritmos d/encriptado:
<algoritmo>: <formas reconocidas>…
cast-128: cbc cfb ctr ecb ncfb nofb ofb
gost: cbc cfb ctr ecb ncfb nofb ofb
rijndael-128: cbc cfb ctr ecb ncfb nofb ofb
twofish: cbc cfb ctr ecb ncfb nofb ofb
arcfour: stream
cast-256: cbc cfb ctr ecb ncfb nofb ofb
loki97: cbc cfb ctr ecb ncfb nofb ofb
rijndael-192: cbc cfb ctr ecb ncfb nofb ofb
saferplus: cbc cfb ctr ecb ncfb nofb ofb
wake: stream
des: cbc cfb ctr ecb ncfb nofb ofb
rijndael-256: cbc cfb ctr ecb ncfb nofb ofb
serpent: cbc cfb ctr ecb ncfb nofb ofb
xtea: cbc cfb ctr ecb ncfb nofb ofb
blowfish: cbc cfb ctr ecb ncfb nofb ofb
enigma: stream
rc2: cbc cfb ctr ecb ncfb nofb ofb
tripledes: cbc cfb ctr ecb ncfb nofb ofb

También es recomendable para saber el espacio que tenemos para ocultar el mensaje,

steghide –info Descanso.jpg

[Steghide]$ steghide –info Descanso.jpg
“Descanso.jpg”:
formato: jpeg
capacidad: 9,6 KB
Intenta informarse sobre los datos adjuntos? (s/n) n

¿Como introducir mensaje.txt en Descanso.jpg ?

Nos pedirá una contraseña desde el terminal (-cf fichero contenedor, -ef fichero embebido )

steghide embed  -cf Descanso.jpg -ef Mensaje.txt

Añadimos algunos argumentos para su funcionamiento

  • -z para el nivel de compresión (1-9)
  • -e tipo de algoritmo,
  • -p contraseña (passphrase).
  • -v información detallada (verbose).

steghide embed -e rijndael-256 -z 9 -v -p nukebull -cf Descanso.jpg -ef Mensaje.txt

[Steghide]$ steghide embed -e rijndael-256 -z 9 -v -p nukebull -cf Descanso.jpg -ef Mensaje.txt
leyendo archivo secreto “Mensaje.txt”… hecho
leyendo archivo d/portada “Descanso.jpg”… hecho
creando el gr�fico… 154 valores d/muestra, 567 v�rtices, 104113 bordes
ejecutando Static Minimum Degree Construction Heuristic… 99,8% (1,0) hecho

El proceso de extracción  lo realizaremos utilizando (-sf fichero esteganográfico) y nos creara el fichero oculto en la carpeta que ejecutemos.

esteghide extract -sf Descanso.jpg

[Steghide]$ steghide extract -sf Descanso.jpg
Anotar salvoconducto:
anot� los datos extra�dos e/”Mensaje.txt”.[Steghide]$ steghide –info Descanso.jpg
“Descanso.jpg”:
formato: jpeg
capacidad: 9,6 KB
�Intenta informarse sobre los datos adjuntos? (s/n) s
Anotar salvoconducto:
archivo adjunto “Mensaje.txt”:
tama�o: 59,0 Byte
encriptado: rijndael-256, cbc
compactado: si

Imagen Esteganográfica

password nukebull

Notas Importantes

  • Al subir imágenes a twiter, wassap, telegram,.. le aplican un algoritmo para comprimir jpg que destruye el menaje oculto. (comprobado)
  • Para no destruirlo lo podéis subir a Google Drive  (comprobado) Enlace G. Drive
  • La imagen subida en una pagina web también conserva el mensaje. La de esta pagina sirve de ejemplo.

Cifrado usando XOR. C++ y Linux

Hoy aplicaremos un tipo de cifrado basado en un operador lógico XOR. Programaremos en C++ y compilaremos desde el terminal.
El operador XOR opera a nivel de bit
A ^ A = 1
A ^ B = 0
(A ^ B) ^ B = B

Como ejemplo aplicaremos a la palabra nuke el operador XOR (la contraseña de cifrado que usaremos bull)

XOR
Cifrado XOR

En este tipo de cifrado, si se vuelve a cifrar una segunda vez con la misma clave obtengo el mensaje original. Usado de forma aislada como único método de cifrado es muy débil, pero esta incluido en algoritmos más complejos como puede ser AES.

Programa de cifrado usando XOR

  • Crearemos un archivo llamado XOR.cpp
  • El programa nos debe pedir la frase de cifrado y la clave.
  • Debe aplicar el operador XOR bit a bit.
  • Nos mostrará por pantalla como se va aplicando el operador letra a letra y la frase final cifrada.

Puedes copiarlo y pegarlo con cualquier editor de texto para hacer modificaciones y pruebas

#include <iostream>
#include <string>
using namespace std;int main(){// Variables
int a,b,c;
int i,j;
string frase;
string clave;string res;//Entrada de Datos
cout << “Este programa encripta una frase usando el operador XOR”;
cout << “n”;
cout << “Introduce la frase para encriptarn”;
getline(cin,frase);
cout << “clave:”;
cin >> clave;
res = frase;//Se aplica el operador XOR
for(i = 0; i < frase.length() ; i++){
a = int (frase[i]);
j = i % clave.length();
b = int (clave[j]);
c = a ^ b;
res[i] = char( c );

//Resultados en pantalla
cout << frase[i]<<” XOR ” ;
cout << clave[j];
cout << ” = ” << res[i] ; cout << “n”; }
cout << “La frase encriptada es:n”;
cout << res;
cout << “n”;
return 0;
}

Compilando y Ejecutando.

Compilamos desde el terminal usando; g++ -o XOR XOR.cpp
Y ejeculamos ./XOR
En el ejemplo usaremos como frase para cifrar: nukebull y clave: +-*
Y lo volveremos a aplicar una segunda vez al resultado con la misma clave para probar que obtenemos la frase original.

[nukebull XOR]$ g++ -o XOR XOR.cpp
[nukebull XOR]$ ./XOR
Este programa encripta una frase usando el operador XOR
Introduce una frase para encriptar
nukebull
clave:+-*
n XOR + = E
u XOR - = X
k XOR * = A
e XOR + = N
b XOR - = O
u XOR * = _
l XOR + = G
l XOR - = A
La frase encriptada es:
EXANO_GA

[nukebull XOR]$ ./XOR
Este programa encripta una frase usando el operador XOR
Introduce una frase para encriptar
EXANO_GA
clave:+-*
E XOR + = n
X XOR - = u
A XOR * = k
N XOR + = e
O XOR - = b
_ XOR * = u
G XOR + = l
A XOR - = l
La frase encriptada es:
nukebull

Cualquier consulta estaré encantado de responderos.

Tor Browser para Linux

Tor Browser es a día de hoy uno de los navegadores que mejor guarda nuestro anonimato, se basa en la Red Tor, haciendo que lo que enviamos viaje de forma cifrada de ordenador(nodo) en ordenador(nodo) de forma aleatoria. Nada es perfecto ni infalible pero es lo mejor que tenemos a día de hoy. Si un organismo (Gobierno X) controla un gran número de nodos, al final analizando una gran cantidad de paquetes de datos, localizarán la ubicación del origen. Cuanto menos lo uses desde la misma ubicación más anónimo seras.

Si os parece interesante podéis profundizar accediendo a la página del Proyecto Tor www.torproject.org

Descargar, verificar la integridad del archivo e instalarlo en Linux.

En el siguiente vídeo os explico los pasos que debéis realizar, para la verificación debéis tener instalado GnuPG

 

En la siguiente imagen muestro lo que se obtiene al intentar geolocalizar mi ip. (Se ha borrado parte de la ip mostrada para mantener el anonimato del nodo, la mía real  empieza por 88)

Tor Browser
Ip de Origen 88,….. Ip detectada 185,…..

About

Este Blog se centra en la difusión de artículos sobre software libre y seguridad informática.

¿Qué tipo de software?

  • Principalmente el menos comercial y casi siempre con licencias de libre distribución.
  • Distintos Sistemas Operativos, pero con Linux como protagonista.
  • Haré hincapié en el tema de la seguridad y la privacidad en el entorno del usuario doméstico (criptografía, políticas coherentes…)
  • Prestaré interés al software desarrollado en países hispanohablantes  y a sus comunidades.

¿Por qué se llama NUKE BULL?

NUKE” se inspira  en esa refrescante NukaCola del universo de Fallout creado por la compañía de Software Bethesda Game Studios.

“BULL”  otra conocida bebida que patrocina equipos de formula 1,  Red-Bull.

Mezclando todo los ingredientes tendremos la bebida definitiva “NUKE-BULL”

Suena poco serio, pero dos de los mayores iconos del mundo tecnológico, son una Manzana (apple) y una Ventana (Windows – Microsort)

Muchas gracias a todos y con la toda ilusión  para llegar hasta infinito y mas allá.