Шпаргалка по названиям

Это просто шпаргалка перед погружением в исходники openSSL. Ибо в openSSL реализовано все, а нам надо подцепить к своему проекту и собрать только ограниченный функционал.

Симметричное шифрование:

DES Data Encryption Standart
AES Advanced Encryption Standard ( он же Rijndael) (размер блока 128 бит, ключ 128/192/256 бит)
RC4 - Rivest cipher 4 или Ron’s code
RC5 - Ron’s Code 5 или Rivest’s Cipher 5
RC6 -
XChaCha20

Ассиметричное шифрование:

RSA - Rivest Shamir Adleman
DSA - Digital Signature Algorithm
ECC - Elliptic Curve Cryptography
DH - Диффи-Хелманн

Выполнение Хэш функций

Это просто функции создания контрольной суммы фиксированного размера по данным произвольного размера. Алгоритм прост и известен всем.

MD4 Message Digest 4 (128-разрядное хеш-значение)
MD5 Message Digest 5 , 128-битный алгоритм хеширования
MD6
SHA-1 Secure Hash Algorithm 1 (160-битное (20 байт) хеш-значение)
SHA-2 - Secure Hash Algorithm Version 2 = (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224)

ГОСТ Р 34.11-2012

ASN.1 Abstract Syntax Notation (.1)
SSL Secure Socket Layer
TLS Transport Layer Security

Certmgr.msc

openssl

PKCS – Public-Key Cryptography Standards (стандарты криптографии с открытым ключом).
SHA – Secure Hash Algorithm (алгоритм криптографического хеширования)
PEM – Privacy Enhanced Mail (формат файлов для хранения и отправки криптографических ключей).
CBC Chiper Block Chaining
CSR Certificate Signing Request

Время действия сертификата

Хотелось бы иметь возможность , чтобы ключ переставал работать после определенной даты.

Но при шифрации / дешифрации дата/время нигде не участвуют как параметры (в openssl).

Код программы выполняемый на компьютере не может знать текущую дату/время гарантировано, так как время это абстракция человека, то есть вымышленное значение.

То есть без общения в внешним миром не обойтись. Гарантировать дату/время могут только внешние "доверительные" сервера.

На входе открытая часть ключа + текущая дата, на выходе зашифрованный файл, либо если дата не валидна - просто как-нибудь мусор.

Общепринятая практика: сертификат с истекшим сроком действия позволяет расшифровывать информацию, но не позволяет зашифровывать новую

TSA Time Stamping Authority

Openssl-ts, ts - Time Stamping Authority tool (client/server)
openssl ts

How to build time-lock encryption

Freetsa.org

Content-Type: application/timestamp-query

SaaS software as a service
CAdES - Расширенная электронная подпись CMS

GPG - GnuPrivacyGuard , Pretty Good Privacy
CRL Certificate Revocation List