Libreria software per 1-2 dimenticanze di trasferimento?

3

Sto cercando librerie software che supportano 1-2 trasferimento oblishment di un singolo bit tra due parti.

Google sembra sollevare appunti di lezioni, spiegazioni e documenti di ricerca ma non implementazioni.

Lo implementerei da solo, ma la crittografia è notoriamente difficile da correggere. Non ne so abbastanza, diciamo, generando numeri primi che non saranno banalmente fattorizzati se moltiplicati insieme per percorrere quella via.

    
posta Craig Gidney 02.08.2013 - 02:38
fonte

1 risposta

2

Normalmente le cose sono fatte in questo ordine:

  1. I crittografi escogitano nuove idee per gli algoritmi e li pubblicano.
  2. Altri crittografi li infrangono, quindi li correggono di nuovo, e così via, finché non c'è un algoritmo che può essere considerato "abbastanza sicuro" in virtù del fatto di essere sopravvissuto al processo relativamente incolume.
  3. Un crittografo con una mente pratica scrive una specifica che spiega come implementare l'algoritmo, curando i dettagli come l'endianità.
  4. Uno sviluppatore segue le specifiche e scrive il codice.

A volte i passaggi 3 e 4 sono eseguiti nell'ordine inverso: qualcuno scrive il codice, e solo allora la specifica è scritta per corrispondere alle convenzioni arbitrarie che lo sviluppatore originale ha deciso (di solito per un capriccio: ad esempio si otterrà poco) codifica endian o big-endian in base a ciò che era più semplice da fare nel framework di programmazione di quello sviluppatore).

Il trasferimento non consapevole è un concetto e gli algoritmi effettivi si trovano tra i passaggi 1 e 2 in questo momento. Quindi nessuna libreria utilizzabile: se si trova un'implementazione, allora farà parte di alcuni progetti di ricerca (un crittografo che lo usa a scopo di ricerca, come cercare i pregiudizi e così via on), ma non un'incarnazione di un algoritmo "sicuro" generalmente concordato, pronto per la fase di specificazione.

Teoricamente , il trasferimento ignaro essendo solo un algoritmo , non ha valore da solo, ma solo come parte di un protocollo più ampio che utilizza esso (e possibilmente altri algoritmi) in qualche modo. Per qualsiasi cosa che assomigli al codice di produzione, dovresti prima trovare (o definire) quel protocollo globale, che può usare una primitiva di trasferimento ignara, e dalla struttura del protocollo effettivo dipenderà dalle effettive caratteristiche richieste del trasferimento ignaro.

In un certo senso, richiedere una "biblioteca che supporti il trasferimento ignaro" è come inviare una richiesta generale per "un motore a combustione" senza dire se si tratta di una barca, un'automobile, un aereo o una centrale elettrica. È un po 'irrisolvibile.

    
risposta data 02.08.2013 - 14:59
fonte

Leggi altre domande sui tag