Système de nombre résidu
Un système ( RNS ) de nombre résidu de représente un grand nombre entier using un ensemble de plus petits nombres entiers, de sorte que le calcul puisse être exécuté plus efficacement. Il se fonde sur le théorème chinois de reste de de l'arithmétique modulaire pour son opération, une idée mathématique de Sun Tsu Suan-Ching (le manuel arithmétique de Sun principal) dans la 4ème ANNONCE de siècle.
Définition d'un système de nombre résidu
Un système de nombre résidu est défini par un ensemble de constantes entières du N ,
{ m 1, m 2, m 3,…, N de de m }, désigné sous le nom des modules de . Laisser le M être le moindre multiple commun de tout le i N'importe quel arbitraire X de nombre entier plus petit que le M peut être représenté dans le système défini de nombre résidu comme ensemble de N de plus petits nombres entiers { X 1, X 2, X 3,…, N avec i de du X de représentation de la classe de résidu du X à ce module. Noter que pour l'efficacité représentative maximum il est impératif que tous les modules sont le copremier ; c'est-à-dire, aucun module peut ne pas avoir un facteur commun avec tout autre. Le M est alors le produit de tout le m i. Une fois représenté dans RNS, beaucoup d'opérations arithmétiques peuvent être efficacement effectuées sur le nombre entier codé. Pour les opérations suivantes, considérer deux nombres entiers, A et B , représentés par le un i L'addition (ou la soustraction) peut être accomplie en ajoutant simplement (ou la soustraction) les petites valeurs de nombre entier, modulo leurs modules spécifiques. C'est-à-dire, peut être calculé dans RNS en tant que b_i du On doit vérifier le débordement dans ces opérations. La multiplication peut être en quelque sorte semblable accompli à l'addition et à la soustraction. Pour calculer le nous pouvons calculer : Encore les débordements sont possibles. La Division dans des systèmes de nombre résidu est problématique. Un papier décrivant un algorithme possible est disponible à. Sur autre main, si B est copremier avec M (qu'est à dire ) puis RNS ont des applications dans le domaine de l'ordinateur arithmétique de de Digitals . En décomposant en cela un grand nombre entier en jeu de plus petits nombres entiers, un grand calcul peut être exécuté comme série de plus petits calculs qui peuvent être exécutés indépendamment et en parallèle. Pour cette raison, il est particulièrement populaire dans des réalisations de matériel. Opérations sur des nombres de RNS
Addition et soustraction
Multiplication
Division
peut être facilement calculé par
là où le est l'inverse multiplicatif du M de modulo du B , et est inverse multiplicatif du modulo de . Applications pratiques
Factorisation de nombre entier
Le RNS peut améliorer l'efficacité du tribunal de première instance . Laisser le un Semiprime . Laisser représentent le premier N amorce. Supposer que , . Puis , où . La méthode de tribunal de première instance est la méthode d'épuisement, et le RNS élimine automatiquement tout le Y et le Z tels que ou , qui sont nous seulement doivent vérifier le nombres au-dessous du M . Par exemple, le N =3, le RNS peut automatiquement éliminer tous les nombres mais mod 30 du
1.29 de
ou 73% de nombres. Pour quand sont tous des nombres premiers en-dessous de 100, le RNS élimine environ 88% de nombres. On peut voir de la formule ci-dessus les retours de diminution des ensembles plus grands de modules. Système à base multiple associé
Un nombre donné par le dans le RNS peut être naturellement représenté dans le système à base multiple (AMRS) du associé par là où du prod_ {j=1} pour et