Modulo senza fili? quale scelgo...

Comunque... la comunicazione deve essere bidirezionale o basta unidirezionale? (non che cambi molto)

Per far piangere Charlie potrebbe bastare poco:

  • Alice vuole parlare con Bob (entrambi custodiscono sempre gelosamente la Kiave K)
  • Alice crea una stringa random A, la xora xon K e la manda a Bob
  • Bob la dexora con K, quindi entrambi hanno A che per Charlie è Vernam compliant quindi inutile.
  • Sia alice che Bob scramblerano A con un algoritmo conosciuto solo a loro ottenendo Z.
  • A questo punto Alice e Bob si scambiano bacini M xorandoli con Z che non ha alcun diretto rapporto matematico con A, e meno che meno con la prima stringa vista da Charlie.
  • Se proprio vogliono essere ancora più sicuri, ad ogni messaggio effettuano un nuovo scrambling, magari usando un algoritmo a rotazione come per i numeri pseudocasuali, così è come cambiare chiave ogni volta.
  • Una nuova sessione prevede l'invio iniziale di una nuova A random xorata K, o, ancora, l'intero procedimento è applicabile ad ogni singolo messaggio.

In sostanza così:

            K                  K
            ↓    (TX A⊕K)      ↓
RND--→ A -→ ⊕ ---------------→ ⊕ -→ A
       ↓                            ↓
    ScRaMbLe                     ScRaMbLe
       ↓                            ↓
       Z         (TX M⊕Z)           Z
       '---→ ⊕ -----------→ ⊕ ←-----'
             ↑              |
    M -------'              '------→ M

Che dite, stavolta Charlie piange?

Per un telecomando unidirezionale basterebbe inviare una stringa che vista da fuori contiene numeri assolutamente (ok, pseudo) random, ogni volta diversi anche per lo stesso messaggio. Qualcosa del genere (dove M è il messaggio vero e proprio):

Formato:

<STA> <ascii esa A⊕K> <ascii esa M⊕Z> <STOP> <ascii esa CRC16>

#1234567890ABCDEF567890ABCDEF1233*F51A

Resta da fare un oscillatore caotico per il seed :slight_smile:

Ecco, caduto come un pero :frowning: Vero che Charlie non decodifica nulla, la riservatezza è garantita dalla chiave K e dall'algoritmo di scrambling, ma è registrabile e ritrasmettibile... serve una comunicazione bidirezionale... e forse non basta neppure quella.