Method for efficient modular polynomial division in finite fields f(2 m)

   
   

The present invention provides a method for performing an inversion and multiply in a single operation as a polynomial divide operation. As a result, the invention reduces the number of mathematical operations needed to perform point doubling and point addition operations. An elliptic curve cryptosystem using the present invention can be made to operate more efficiently using the present invention. An elliptic curve crypto-accelerator can be implemented using the present invention to dramatically enhance the performance of the elliptic curve cryptosystem. The invention uses five registers A, B, U, V, and M, to accomplish a polynomial divide operation. Four registers A, B, U, and V are initialized with values so that the registers maintain a number of invariant relationships. The registers store initial values a(t)=x(t), u(t)=y(t), b(t)=prime(t), and v(t)=0. Here the polynomials in registers A, U, B, and V are denoted as a(t), u(t), b(t), and v(t), respectively. Register M stores the irreducible polynomial prime(t). By applying a series of invariant operations to the registers, the register values are systematically reduced until registers A and B have a value of one. At that point, register U stores a value which represents y(t)/x(t) mod prime(t), solving the polynomial division.

La présente invention fournit une méthode pour exécuter une inversion et se multiplie dans une opération simple comme polynôme divisent l'opération. En conséquence, l'invention réduit le nombre d'opérations mathématiques requises pour effectuer doubler de point et des opérations d'addition de point. Un cryptosystem elliptique de courbe employant la présente invention peut être fait pour fonctionner plus efficacement en utilisant la présente invention. Une courbe elliptique crypto-accelerator peut être mise en application en utilisant la présente invention pour augmenter nettement l'exécution du cryptosystem elliptique de courbe. Les utilisations d'invention cinq registres A, B, U, V, et M, d'accomplir un polynôme divisent l'opération. Quatre registres A, B, U, et V sont initialisés avec des valeurs de sorte que les registres maintiennent un certain nombre de rapports invariables. Les registres stockent l'a(t)=x(t), l'u(t)=y(t), le b(t)=prime(t), et le v(t)=0 de valeurs initiales. Ici les polynômes enregistre dedans A, U, B, et V sont dénotés comme a(t), u(t), b(t), et v(t), respectivement. Le registre M stocke le prime(t) polynôme irréductible. En appliquant une série d'opérations invariables aux registres, les valeurs de registre sont systématiquement réduites jusqu'aux registres A et B ont une valeur d'une. À ce point, le registre U stocke une valeur qui représente y(t)/x(t) le prime(t) de mod, résolvant la division polynôme.

 
Web www.patentalert.com

< Integrated circuit design layout compaction method

< Method and apparatus for driving a recording medium, method and system for recording and reproducing information, and information supplying medium

> Semiconductor integrated circuit designing method and semiconductor device

> Method for the correction of a bit in a string of bits

~ 00108