Algorithme du plan le plus proche de chiffrement sur réseau : comment résoudre le problème du vecteur CVP le plus proche (1)

Table des matières

1. Introduction à l'algorithme du plan le plus proche

2. Un algorithme d'arrondi simple pour résoudre le problème CVP

3. Étapes de l'algorithme du plan le plus proche

4. Compréhension graphique de l'algorithme du plan le plus proche


1. Introduction à l'algorithme du plan le plus proche

En 1986, L.Babai a proposé l'algorithme du plan le plus proche pour résoudre le problème CVP, en utilisant n pour représenter le rang du réseau, l'approximation de sortie de l'algorithme est la suivante :

2(\frac{2}{\sqrt{3}})^n

CVP : Problème vectoriel le plus proche, nom complet Problème vectoriel le plus proche

Les six variantes du problème CVP sont les suivantes :

A cette époque\gamma=1 , les trois dernières questions étaient les mêmes que les trois premières.

Si le problème de calcul est résolu CVP_\gamma, puisque les problèmes de calcul, d'optimisation et d'écart sont tout aussi difficiles, alors les problèmes d'optimisation et d'écart restants peuvent être résolus. Récemment, l'algorithme planaire a pu résoudre le problème du calcul du CVP, et pour le moment \gamma=2(\frac{2}{\sqrt{3}})^n, afin de simplifier la réflexion sur l'analyse, le suivi n'est que discuté \gamma=2^{\frac{n}{2}}, et la valeur approximative souhaitée peut également être obtenue en modifiant les paramètres liés. à l'algorithme.

2. Un algorithme d'arrondi simple pour résoudre le problème CVP

L'algorithme d'arrondi simple consiste à arrondir directement tous les coefficients d'un vecteur donné (il peut être arrondi vers le haut ou vers le bas), et les points de grille obtenus par l'algorithme approximatif ont beaucoup à voir avec la sélection de la base de grille, comme le montre la figure ci-dessous :

3. Étapes de l'algorithme du plan le plus proche

L'algorithme se compose principalement de deux étapes. La première étape consiste à générer la base réduite LLL pour le réseau d'entrée ; à ce stade, pour ce vecteur de base réduit, une combinaison linéaire entière est formée pour garantir qu'elle est suffisamment proche du vecteur t donné. Cette étape est très similaire à l’opération de réduction de boucle interne de l’algorithme LLL.

Les étapes de l'algorithme sont les suivantes :

De toute évidence, il a été prouvé que l'algorithme LLL et l'algorithme de l'étape de réduction appartiennent à l'algorithme en temps polynomial, on peut donc obtenir que la relation entre l'algorithme du plan le plus proche et l'échelle d'entrée n est également une relation en temps polynomial. La discussion et l’analyse suivantes incluront les réseaux de rang complet et les réseaux de rang non complet.

Étant donné une base orthonormée unitaire, comme suit :

\frac{\tilde b_1}{||b_1||},\cdots,\frac{\tilde b_n}{||b_n||}

Pour les réseaux non de rang complet, il est nécessaire d'ajouter mn lignes de vecteurs matriciels nuls, donc la matrice B correspondante et la combinaison formée par t sont les suivantes :

L'algorithme du plan le plus proche consiste à rechercher la combinaison entière du vecteur colonne de la matrice B pour garantir que lors de la soustraction du vecteur t, la plage de la différence de soustraction de chaque dimension est la suivante : 

[-\frac{1}{2}||\tilde b_i||,\,\frac{1}{2}||\tilde b_i||]

L'algorithme part de la nième colonne et calcule de manière continue et récursive. S'il s'agit d'un réseau non de rang complet, alors les mn dimensions restantes sont des espaces perpendiculaires au réseau d'origine.

4. Compréhension graphique de l'algorithme du plan le plus proche

Étant donné un exemple en 3 dimensions, réduisez-le en 2 dimensions via l'algorithme du plan le plus proche, comme le montre la figure suivante :

L'idée centrale de l'algorithme peut être divisée en quatre étapes : 

  1. t est projeté sur durée(b_1,\cdots,b_n)le plan correspondant au quadrillage pour former un point s ;
  2. Trouver l'entier c correspondant pour que l'hyperplan c\tilde b_n+span(b_1,\cdots,b_n)soit le plus proche possible du point s ;
  3.  Ordre s'=s-cb_n, pour trouver itérativement s' et\,L(b_1,\cdots,b_{n-1})la relation entre, en supposant que la réponse obtenue à ce moment est X';
  4. La réponse finale renvoyée estx=x'+cb_n ;

Le but de la première étape du processus de projection est de convertir la distance la plus courte du point de grille à t en la distance la plus courte à s. Cette étape est très nécessaire lorsque la grille n'est pas complètement rangée. L'étape suivante consiste à sélectionner à chaque fois l'hyperplan le plus proche, puis à déplacer dimension par dimension.

Je suppose que tu aimes

Origine blog.csdn.net/forest_LL/article/details/124887974
conseillé
Classement