Methods and apparatuses are disclosed for securing cryptosystems against
external monitoring attacks by reducing the amount (and signal to noise
ratio) of useful information leaked during processing. In general, this is
accomplished by implementing critical operations using "branchless" or
fixed execution path routines whereby the execution path does not vary in
any manner that can reveal new information about the secret key during
subsequent operations. More particularly, various embodiments of the
invention include: implementing modular exponentiation without
key-dependent conditional jumps; implementing modular exponentiation with
fixed memory access patterns; implementing modular multiplication without
using leak-prone multiplication-by-one operations; and implementing
leak-minimizing multiplication (and other operations) for elliptic curve
cryptosystems.
I metodi e gli apparecchi sono rilevati per l'assicurazione dei cryptosystems contro gli attacchi di controllo esterni riducendo la quantità (e rapporto di segnale/disturbo) di informazioni utili fuoriuscito durante l'elaborazione. In generale, questo è compiuto effettuando le procedure branchless "o fisse critiche usando di funzionamenti" di esecuzione del percorso per cui il percorso di esecuzione non varia in alcun modo che può rivelare le nuove informazioni sulla chiave segreta durante i funzionamenti successivi. Più specialmente, i vari metodi di realizzazione dell'invenzione includono: effettuare elevamento a potenza modulare senza salti condizionali chiave-dipendenti; effettuare elevamento a potenza modulare con i modelli fissi di accesso di memoria; effettuando moltiplicazione modulare senza usando perdita-incline moltiplicazione--un dai funzionamenti; ed effettuando moltiplicazione diminimizzazione (ed altri funzionamenti) per i cryptosystems ellittici della curva.