Che tipo di crittografia è una volta sola?

4

È un cifrario di sostituzione o un codice di flusso o entrambi?

    
posta user1184 25.01.2011 - 05:52
fonte

2 risposte

19

Non è un codice sostitutivo. Schneier lo classifica come una cifratura di flusso perché converte il testo in chiaro in testo cifrato un bit o un byte alla volta, generalmente tramite XORing il testo in chiaro con un "keystream".

Nella maggior parte dei codici di flusso il keystream è solo pseudo-casuale, ma in un classico "one-time pad" il keytream è del tutto casuale. Può essere come una nuova chiave per ogni messaggio, uguale in lunghezza al testo in chiaro, che in genere è combinato con il testo in chiaro tramite XOR, quindi è facile ottenere il testo in chiaro dal testo cifrato con un altro XOR. Il trucco è quello di ottenere il pad stesso - una buona qualità del materiale di codifica casuale - fino all'altra estremità del canale di comunicazione, fuori banda ....

Vedi anche One-time pad - Wikipedia, l'enciclopedia libera

    
risposta data 25.01.2011 - 06:22
fonte
-1

@nealmcb è corretto che un one-time pad (OTP) è un codice di streaming. Tuttavia, è non corretto che la caratteristica che definisce è la qualità della casualità. Ciò che definisce un OTP è:

  1. Il materiale chiave viene utilizzato solo una volta
  2. Il materiale chiave ha la stessa lunghezza del testo in chiaro

Come per ogni altro codice decente, la qualità del tuo materiale chiave è fondamentale. Tuttavia, può implementare un OTP con numeri non molto casuali - riduce solo la sicurezza della chiave.

Modifica

In base alla discussione di seguito, i chiarimenti sono in ordine.

Un algoritmo crittografico è, a rigor di termini, semplicemente la definizione matematica di un insieme di funzioni crittografiche (crittografia, decrittografia e possibilmente firma). La definizione dell'algoritmo può fornire alcuni vincoli, comprese le lunghezze chiave ammissibili.

Ma scegliere un algoritmo è solo una parte della creazione di un criptosistema sicuro. Gli altri sono:

  1. Selezione di un software resistente all'attacco o implementazione hardware
  2. Gestione delle chiavi:
    1. Generazione
    2. distribuzione
    3. Decommission
    4. Conservazione
    5. Revoca / Distruzione

Per avere un crittosistema basato su AES sicuro, è necessario avere una buona implementazione di esso e una buona gestione delle chiavi.

Per avere un crittosistema OTP sicuro, è necessario disporre di chiavi sufficientemente casuali, assicurarsi che vengano utilizzate una sola volta e che dispongano di un sistema di distribuzione sicuro.

In entrambi i casi, una cattiva gestione delle chiavi non significa che non stai utilizzando l'algoritmo specificato.

    
risposta data 26.01.2011 - 18:12
fonte

Leggi altre domande sui tag