A COMPUTER ARCHITECTURE AND METHOD FOR PERFORMING LATTICE-BASED CRYPTOGRAPHIC PRIMITIVES WITH RESISTANCE TO SIDE-CHANNEL ATTACKS

A computer processing system configured to perform lattice-based cryptographic primitives with resistance to side-channel attacks with a computer processing architecture operably configured to perform at least one of key generation, key encapsulation, and key decapsulation and process security sensi...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: BECKWITH, Luke, ABDULGADIR, Abubakr
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A computer processing system configured to perform lattice-based cryptographic primitives with resistance to side-channel attacks with a computer processing architecture operably configured to perform at least one of key generation, key encapsulation, and key decapsulation and process security sensitive data, a sampling submodule performing hashing operations and centered binomial sampling routines, a polynomial arithmetic unit performing polynomial multiplication, polynomial addition, and polynomial subtraction by processing the security sensitive data that is divided into shares stored on a plurality of memory banks, an auxiliary submodule mathematical operations, a data interface unit operably configured to perform input and output operations and to input data and output data in shares, and de-serialize the input data into polynomial coefficients utilized by the polynomial arithmetic unit, and a controller submodule operably configured to sequence any operations needed to perform the at least one of key generation, key encapsulation, and key decapsulation. L'invention concerne un système de traitement informatique configuré pour exécuter des primitives cryptographiques à base de treillis avec une résistance aux attaques par canal latéral avec une architecture de traitement informatique configurée de manière opérationnelle pour effectuer au moins l'une parmi une génération de clé, une encapsulation de clé et une décapsulation de clé et traiter des données sensibles pour la sécurité, un sous-module d'échantillonnage exécutant des opérations de hachage et des routines d'échantillonnage binomial centré, une unité arithmétique polynomiale exécutant une multiplication polynomiale, une addition polynomiale, et une soustraction polynomiale en traitant les données sensibles pour la sécurité qui sont divisées en parts stockées sur une pluralité de banques de mémoire, un sous-module auxiliaire d'opérations mathématiques, une unité d'interface de données configurée de manière opérationnelle pour effectuer des opérations d'entrée et de sortie et pour entrer des données et sortir des données en parts, et désérialiser les données d'entrée en coefficients polynomiaux utilisés par l'unité arithmétique polynomiale, et un sous-module contrôleur configuré de manière opérationnelle pour séquencer toute opération nécessaire pour effectuer au moins l'une parmi une génération de clé, une encapsulation de clé et une décapsulation de clé.