Calcolo dell'inverso moltiplicativo di un numero in un campo di Galois

2

Mi è stato detto di venire qui da Stack Overflow perché stavo "cercando un algoritmo". Sto provando a implementarlo in Python, ma non c'è un posto in rete che fornisce un modo semplice per calcolare l'inversione moltiplicativa di un numero in un campo di Galois.

I requisiti dell'algoritmo sono piuttosto semplici:

  • Input: un numero che rappresenta il polinomio di un campo GF (2 ^ n) ( p ) e un numero che rappresenta il polinomio di cui calcolare l'inverso di ( a ).
  • Output: il numero che rappresenta il polinomio che è l'inverso moltiplicativo di a su p .

Questo deve essere al volo. Non posso preoccuparmi di calcolare le tabelle log / anti-log perché quelle occupano troppo spazio quando il campo è grande. Ho provato a utilizzare l'algoritmo Euclideo esteso descritto qui su Wikipedia, ma non so come implementare (1/r)*t e attiva la dichiarazione di errore quando imposto a in 3 e p in 0x11b (campo AAL Galois). Questo è incredibilmente frustrante che non ci sia un codice semplice o una semplice spiegazione sugli inversi moltiplicativi nei campi di Galois. Qualche idea per questo algoritmo che sto cercando?

    
posta Melab 22.03.2016 - 23:11
fonte

0 risposte

Leggi altre domande sui tag