Basic glossary about Cryptography

AES"Advanced Encryption Standard". Block cipher technique.
https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
https://www.google.com/search?ei=-WL-XLWPDMLlgweo7bmgAw&q=AES+C%2B%2B+source+code+site%3Aedu&oq=AES+C%2B%2B+source+code+site%3Aedu&gs_l=psy-ab.3..0i71l8.0.0..58437...0.0..0.0.0.......0......gws-wiz.-ZMf-Hyi1aw
AutoFirmaSoftware to sign files with DNIE. It can generate CAdES signatures.
https://firmaelectronica.gob.es/Home/Descargas
CA"Certification Authority". Autoridad de Certificación.
https://digicert.com/
https://godaddy.com/
https://letsencrypt.org/
http://cacert.org/
CAdES signatureIt can be generated with the software AutoFirma.
https://firmaelectronica.gob.es/Home/en/Ciudadanos/Formatos-Firma.html
certificateUn certificado es básicamente un fichero con algunos datos de un sujeto (Subject) junto con la clave pública de dicho sujeto, todo ello firmado con la clave privada de un emisor (Issuer). Estos certificados pueden publicarse. Hay otro tipo de certificados que contienen además la clave privada del sujeto que no deben publicarse (la clave privada debería ser usada solamente por el sujeto).
To get the certificate from a SSL website (https://FQDN[/...]), we can use the following.
openssl s_client -connect FQDN:443 < /dev/null 2> /dev/null | openssl x509 > CERTIFICATE.crt
To show the certificate:
openssl x509 -in CERTIFICATE.crt -text
openssl x509 -in CERTIFICATE.crt -text -noout
certificate, self signedCertificado autofirmado.
https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309
certlm_msccertlm.msc. Programa para gestionar los certificados del contenedor de certificados local de Windows.
certmgr_msccertmgr.msc. Programa para gestionar los certificados del contenedor de certificados de usuario de Windows.
certutilPrograma que permite mostrar información de un certificado, incluyendo la fecha de caducidad del certificado.
certutil -dump certificate.pfx
code signing certificateCertificado de firma de código.
https://www.google.com/search?biw=1920&bih=916&ei=ni_6XPGNG4noUeGEqYAG&q=code+signing+certificate&oq=code+signing+certificate&gs_l=psy-ab.3..0i71l8.0.0..3876...0.0..0.0.0.......0......gws-wiz.ekDwlEppnAY
criptografía asimétricaTambién llamada criptografía de clave pública (public key cryptography) o criptografía de dos claves ​(two-key cryptography).
https://es.wikipedia.org/wiki/Criptograf%C3%ADa_asim%C3%A9trica
CRL"Certificate Revocation List".
https://en.wikipedia.org/wiki/Certificate_revocation_list
CSR"Certificate Signing Request".
https://en.wikipedia.org/wiki/Certificate_signing_request
DES"Data Encryption Standard". Block cipher technique.
https://en.wikipedia.org/wiki/Data_Encryption_Standard
DER, formato"Distinguished Encoding Rules". Reglas de codificación distinguidas.
DNIEDNI Electrónico (Spain).
https://www.dnielectronico.es/
Google DomainsGoogle Domains is a domain registration service offered by Google.
https://domains.google/
https://en.wikipedia.org/wiki/Google_Domains
Hash function
HTTPS"Hypertext Transfer Protocol Secure".
https://en.wikipedia.org/wiki/HTTPS
https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https
IPsec"Internet Protocol Security".
https://en.wikipedia.org/wiki/IPsec
key, publicTo get the public key from a certificate we can use the following command.
openssl x509 -pubkey -noout -in CERTIFICATE.crt > PUBLIC.key
MD5Es un tipo de hash.
NIST"National Institute of Standards and Technology".
https://www.nist.gov/topics/cryptography
OCSP"Online Certificate Status Protocol".
https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol
OpenSSLOpenSSL is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
https://www.openssl.org/
https://slproweb.com/products/Win32OpenSSL.html
openssl version -a
openssl genrsa -out ERG.key 2048 // CREA CLAVES RSA PUBLICA Y PRIVADA EN UN FICHERO
openssl rsa -text -in ERG.key -noout // DECODIFICA Y MUESTRA CLAVES
openssl rsa -in ERG.key -pubout -out ERG_PUBLIC.key // CREA FICHERO SOLO CON LA CLAVE PUBLICA
openssl rsa -in ERG.key -out ERG_PRIVATE.key // CREA FICHERO SOLO CON LA CLAVE PRIVADA
openssl req -x509 -new -nodes -key ERG.key -sha256 -days 710 -subj \"/C=ES/ST=Madrid/L=Madrid/O=Eduardo Reyes (erg2332@gmail.com, erg2332@hotmail.com)/OU=https:\/\/fb.com\/erg2332/CN=Eduardo Reyes (erg2332@gmail.com, erg2332@hotmail.com)\" -out ERG.crt // CREA CERTIFICADO
// Country Name (2 letter code) [AU]:ES
// State or Province Name (full name) [Some-State]:Madrid
// Locality Name (eg, city) []:Madrid
// Organization Name (eg, company) [Internet Widgits Pty Ltd]:Eduardo Reyes (erg2332@gmail.com, erg2332@hotmail.com)
// Organizational Unit Name (eg, section) []:https://fb.com/erg2332
// Common Name (e.g. server FQDN or YOUR name) []:Eduardo Reyes (erg2332@gmail.com, erg2332@hotmail.com)
openssl x509 -in ERG.crt -text // MUESTRA DATOS DEL CERTIFICADO
////
openssl genrsa -out xformulas.net.key 2048 // CREA CLAVES RSA PUBLICA Y PRIVADA EN UN FICHERO
openssl rsa -text -in xformulas.net.key -noout // DECODIFICA Y MUESTRA CLAVES
openssl rsa -in xformulas.net.key -pubout -out xformulas.net_public.key // CREA FICHERO SOLO CON LA CLAVE PUBLICA
openssl rsa -in xformulas.net.key -out xformulas.net_private.key // CREA FICHERO SOLO CON LA CLAVE PRIVADA
openssl req -new -key xformulas.net.key -subj \"/C=ES/ST=Madrid/L=Madrid/O=XFORMULAS.NET/OU=https:\/\/fb.com\/erg2332/CN=Eduardo Reyes (erg2332@gmail.com, erg2332@hotmail.com)\" -out xformulas.net.csr // CREA FICHERO CSR (FORMATO PEM)
// Country Name (2 letter code) [AU]:ES
// State or Province Name (full name) [Some-State]:Madrid
// Locality Name (eg, city) []:Madrid
// Organization Name (eg, company) [Internet Widgits Pty Ltd]:XFORMULAS.NET
// Organizational Unit Name (eg, section) []:https://fb.com/erg2332
// Common Name (e.g. server FQDN or YOUR name) []:Eduardo Reyes (erg2332@gmail.com, erg2332@hotmail.com)
openssl req -text -in xformulas.net.csr -noout -verify // VERIFICA Y MUESTRA LOS DATOS DEL CSR
////
openssl x509 -req -in xformulas.net.csr -CA ERG.crt -CAkey ERG.key -CAcreateserial -out xformulas.net.crt -days 710 -sha256 // CREA CERTIFICADO .crt FIRMADO POR CA CON EL FICHERO .csr (también crea ERG.srl)
openssl x509 -in xformulas.net.crt -text // MUESTRA DATOS DEL CERTIFICADO
openssl pkcs12 -export -inkey xformulas.net_private.key -in xformulas.net.crt -out xformulas.net.pfx // CREA CERTIFICADO EN FORMATO .pfx A PARTIR DE CERTIFICADO .crt (se pide contraseña "pwd")
//openssl pkcs12 -export -inkey xformulas.net_private.key -in xformulas.net.crt -certfile more_certificates.crt -out xformulas.net.pfx // CREA CERTIFICADO EN FORMATO .pfx A PARTIR DE CERTIFICADO .crt (se pide contraseña "pwd") incluyendo more_certificates.crt [SEE_THIS]
openssl pkcs12 -help
////
openssl s_client -connect xformulas.net:443 < /dev/null 2> /dev/null | openssl x509 -pubkey -noout > PUBLIC_KEY.txt // obtiene la clave pública del certificado SSL del sitio web (https) xformulas.net
openssl s_client -connect xformulas.net:443 < /dev/null 2> /dev/null | openssl x509 > CERTIFICADO.crt // obtiene el certificado (SSL) del sitio web (https) xformulas.net
openssl x509 -in CERTIFICADO.crt -text -noout // MUESTRA DATOS DEL CERTIFICADO
PEM, formato"Privacy-enhanced Electronic Mail". Correo de privacidad mejorada. Certificado DER codificado en Base64, encerrado entre "-----BEGIN CERTIFICATE-----" y "-----END CERTIFICATE-----".
pfx certificateTipo de certificado que se puede usar para firmar código en Windows.
PKIPublic Key Infrastructure. Infraestructura de clave pública. Sistema para distribuir y gestionarclaves públicasde manera segura. Elementos: certificados, autoridad de certificación, mecanismo de almacenamiento, mecanismo de distribución, mecanismo de revocación de certificados.
RSAThe RSA cryptosystem is the most widely-used public key cryptography algorithm in the world.
https://en.wikipedia.org/wiki/RSA_(cryptosystem)
https://www.di-mgt.com.au/rsa_alg.html
S/MIME certificateUsados para servicios de correo electrónico firmado y cifrado, que se expiden generalmente a una persona física.
SHAEs una tipo de función hash.
SHA-512Es una tipo de función hash.
Signature, digitalSee also the software AutoFirma to generate signatures with the DNIE.
openssl dgst -sha256 -sign PRIVATE.key -out SIGNATURE FILE // crea fichero SIGNATURE conteniendo la firma del fichero FILE usando PRIVATE.key
openssl dgst -sha256 -verify PUBLIC.key -signature SIGNATURE FILE // verifica que el fichero SIGNATURE es la firma del fichero FILE usando PUBLIC.key
SignToolHerramienta que permite firmar ejecutables en Windows.
// SIGN ejecutable.exe WITH .pfx CERTIFICATE PROTECTED WITH PASSWORD "pwd"
// set Path=%Path%;C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool
// signtool sign /f certificate.pfx /p "pwd" ejecutable.exe // FIRMA ejecutable.exe CON EL CERTIFICADO certificate.pfx PROTEGIDO CON CONTRASEÑA "pwd"
signtool sign /debug /f certificate.pfx /p "pwd" ejecutable.exe // FIRMA ejecutable.exe CON EL CERTIFICADO certificate.pfx PROTEGIDO CON CONTRASEÑA "pwd" (el parámetro "debug" muestra más información si no se puede realizar la operación)
////
signtool sign /n "REYES GUZMAN, EDUARDO (FIRMA)" ejecutable.exe // firma ejecutable.exe con el DNI ELECTRÓNICO (se pide el pin del DNI ELECTRÓNICO)
signtool sign /n "xformulas.net" ejecutable.exe // firma ejecutable con el certificado "xformulas.net" del contenedor de certificados (ver certmgr.msc)
////
"SignTool Error: No certificates were found that met all the given criteria."
https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe
https://docs.microsoft.com/es-es/dotnet/framework/tools/signtool-exe
https://stackoverflow.com/questions/22946399/signtool-error-no-certificates-were-found-that-met-all-given-criteria-with-a-wi
SSH"Secure Shell".
https://en.wikipedia.org/wiki/Secure_Shell
SSL"Secure Sockets Layer".
SSL certificateUsado habitualmente para tener un sitio web seguro (HTTPS). Ver HTTPS.
SSLCertificateFileDirectiva de Apache HTTP Server. Indica el fichero de certificado X.509 codificado con formato PEM de un servidor web.
SSLCertificateKeyFileDirectiva de Apache HTTP Server. Fichero de clave privada codificada en formato PEM.
TLS"Transport Layer Security".
https://en.wikipedia.org/wiki/Transport_Layer_Security
Triple DESBlock cipher technique.
https://en.wikipedia.org/wiki/Triple_DES
https://xformulas.net/images/Triple_DES.jpg
VALIDeTo verify CAdES signatures created with DNIE.
https://valide.redsara.es/
X_509(X.509) Estándar para PKI. Especifica, entre otras cosas, formatos estándar para certificados de claves públicas y un algoritmo de validación de la ruta de certificación.
X_509 certificateCertificado X.509. Contiene datos del titular y del propio certificado (incluyendo el nombre de la CA), la clave pública del titular y el algoritmo usado para crearla (por ejemplo RSA), y la firma de la CA usando su clave privada.
XOR cipherExample with C++ code.
https://xformulas.net/xor_cipher.php

Generated on 20190615_204029