Spiega la denominazione con la varietà di metodi di cifratura visti da '$ openssl enc --help'

8

Sono confuso da questa varietà, forse delineata qui . Sto cercando di capire le convenzioni.

Tendenza A: forza?

$ 2 ^ 8 $, $ 2 ^ 7 $ - sembra chiaro, ma perché farlo con 192 o 40? Riferendosi allo stesso problema? Ed è?

Tendenza B: sfondo?

aes? desx, des ma con x? C'è qualche algo materno? Principali nomi: aes, des e rc, perché?

Tendenza C: conclusioni

. * cbf,. * ofb,. * cbc - cosa significano le desinenze comuni?

Tendenza D: numeri singoli dispari

Che cosa significano i numeri finali come 1 o 8?

Tendenza E: dispendioso gonfiato

Perché gonfiare con bf e blowfish? Patrimonio storico?

$ openssl enc --help
-aes-128-cbc               -aes-128-cfb               -aes-128-cfb1
-aes-128-cfb8              -aes-128-ecb               -aes-128-ofb
-aes-192-cbc               -aes-192-cfb               -aes-192-cfb1
-aes-192-cfb8              -aes-192-ecb               -aes-192-ofb
-aes-256-cbc               -aes-256-cfb               -aes-256-cfb1
-aes-256-cfb8              -aes-256-ecb               -aes-256-ofb
-aes128                    -aes192                    -aes256
-bf                        -bf-cbc                    -bf-cfb
-bf-ecb                    -bf-ofb                    -blowfish
-cast                      -cast-cbc                  -cast5-cbc
-cast5-cfb                 -cast5-ecb                 -cast5-ofb
-des                       -des-cbc                   -des-cfb
-des-cfb1                  -des-cfb8                  -des-ecb
-des-ede                   -des-ede-cbc               -des-ede-cfb
-des-ede-ofb               -des-ede3                  -des-ede3-cbc
-des-ede3-cfb              -des-ede3-cfb1             -des-ede3-cfb8
-des-ede3-ofb              -des-ofb                   -des3
-desx                      -desx-cbc                  -rc2
-rc2-40-cbc                -rc2-64-cbc                -rc2-cbc
-rc2-cfb                   -rc2-ecb                   -rc2-ofb
-rc4                       -rc4-40
    
posta Community 05.03.2012 - 23:49
fonte

2 risposte

8

C'è una lista di ciò che significano nella documentazione OpenSSL .

Sembrano essere visualizzati come nome dell'algoritmo- dimensioni della chiave - modalità di crittografia . Quando viene omessa la dimensione della chiave, sembra che ci sia una sola dimensione della chiave valida per quell'algoritmo, quindi non ha senso includerla.

Se stai effettivamente cercando di scegliere un algoritmo, probabilmente vorrai AES (lo standard) con l'impostazione predefinita di OpenSSL Modalità CBC (più sicuro di BCE ).

Nomi algoritmo

Alcuni nomi contengono numeri per distinguere le versioni. Ad esempio, RC2 e RC4 sono stati realizzati da Ron Rivest e RC4 è più recente. Vedete cose simili negli algoritmi hash, dove MD4 è stato sostituito da MD5 (e MD6 è in corso).

Sembra che preferiscano "bf" per blowfish, quindi suppongo che -blowfish sia probabilmente per comodità o retrocompatibilità.

DESX è apparentemente un algoritmo basato su DES ma con una dimensione della chiave molto più grande.

Dimensioni chiave

Le dimensioni delle chiavi sono in bit e generalmente una chiave più lunga è più strong, ma la crittografia con essa sarà più lenta. Quindi, AES con una chiave a 128 bit è più veloce ma meno sicuro di AES con una chiave a 256 bit.

La maggior parte degli algoritmi sembra utilizzare le potenze di due per le dimensioni delle chiavi, ma nulla richiede che siano. DES ad esempio usa una chiave a 56 bit.

Modalità di crittografia

La modalità di crittografia è qualcosa che non capisco abbastanza bene da spiegare. Dovresti solo dare un'occhiata a l'articolo di Wikipedia .

Il 1 o 8 alla fine di alcune delle modalità di crittografia specifica il numero di bit utilizzati nella cifra commenti .

    
risposta data 06.03.2012 - 00:31
fonte
3

RE 192, 40: 192 è 128 + 64, quindi suppongo che sia un compromesso tra dimensione e potenza di due uomini. Probabilmente è storico / retrocompatibile: fino a qualche tempo negli anni '90 (credo, potrei sbagliarmi l'anno) gli Stati Uniti avevano una legge che il software che implementava la crittografia con una chiave di oltre 40 bit era illegale da esportare.

AES è "Advanced Encryption Standard", DES è "Data Encryption Standard", wikipedia dice che "RC" deriva da "Ron's Code" (come in Ron Rivest, l'inventore, di fama di RSA)

Le terminazioni sono modalità operative, per cifrari a blocchi. Essenzialmente, i dati sono suddivisi in blocchi. CBC è "cipher block concatenamento", OFB è "feedback in uscita", CFB è "feedback cifrato". Puoi leggere di più qui: link

Non sono sicuro di quale sia la differenza tra (ad esempio) -aes-128-cfb e -aes-128-cfb1: forse una variazione minore, e vogliono supportare entrambi?

Ultimo punto: immagino che l'ampia varietà di algoritmi sia principalmente compatibile. Diversi algoritmi sono migliori per diversi scenari, ed è per questo che molti sono in uso, e vogliono essere compatibili con il maggior numero possibile, direi.

Spero che questo aiuti!

    
risposta data 06.03.2012 - 00:38
fonte

Leggi altre domande sui tag