Se generan dos claves: una pública y otra privada. Si quiero enviar un mensaje a otro necesito su clave pública. El mensaje se envía y la otra parte desencripta el mensaje con su clave privada. Si la otra parte envia un mensaje encriptada con la clave privada yo la puedo desencriptar con su clave pública.
Para generar la clave privada
openssl genrsa -out pub_priv.key 4096
para generar la clave pública a partir de la privada
openssl genrsa -in pub_priv.key -pubout -out pub.key 4096
Para generar una clave privada que use criptografía de curva elíptica
openssl ecparam -name secp256r1 -genkey -out ecpriv.key
El mensaje se cifra con la clave pública, y se descifra con la privada.
Para encriptar un mensaje
openssl pkeyutil -encrypt -inkey public.key -pubin -in archivo.file -out cifrado.file
Para desencriptar un mensaje (la clave privada debe corresponder al par de la pública)
openssl pkeyutil -decrypt -inkey private.key -in cifrado.file -out descifrado.file
Se deriva la clave que introducimos mediante un algoritmo (en este caso pbkdf2).
openssl enc -pbkdf2 -aes-128-ecb -k password -P > csim.priv
Para firmar un archivo con la clave privada
openssl dgst -sha256 -sign private.key -out signature.data document.pdf
Para verificar la firma con la clave pública
openssl dgst -sha256 -verify public.key -signature signature.date original.file
Para crear un certificado y un par de claves
openssl req -newkey rsa:4096 -keyout private.key -out request.csr
Para crear un certificado a partir de una clave privada existente
openssl req -new -key private.key -out request.csr
Para exportar el certificado a .pfx
openssl pkcs12 -export -out certificado.pfx -inkey private.key -in request.csr
sha256sum <archivo>
Descargamos el paquete imagemagick
sudo apt install imagemagick
Texto corto, marca de agua grande
convert -density 150 -fill "rgba(255,0,0,0.25)" -gravity Center -pointsize 80 -draw "rotate -45 text 0,0 <text>" <original image>
<watermarked image>
Marca de agua de dos líneas
convert -density 150 -fill "rgba(255,0,0,0.50)" -pointsize15 -draw "rotate -15 text 0,200 '<line of text 1>'" -draw "rotate -15 text -25,260 '<line of text 2>'" <original image> <watermarked image>
Descargamos el paquete exiftool
sudo apt install exiftool
Para consultar los metadatos actuales de una imagen
exiftool <fichero de imagen>
Eliminar todos los metadatos de una imagen
exiftool -all= <fichero de imagen>