Pages:
Author

Topic: curve ellittiche e algoritmo ECDSA (Read 25659 times)

legendary
Activity: 2506
Merit: 1120
March 29, 2020, 01:09:02 PM
#85

Prova nei form google se funziona il codice:
...

Ma dove dovrei mettere questo codice? Nelle google form si possono inserire il link di una immagine o di un video, dove lo metto del codice?
Dove scrivi il testo della domanda?
NB: dubito che google possa permettere di inserire codice html ma tentar non nuoce.
Prova anche a vedere se https://www.sinapsi.org/wordpress/2015/02/13/come-inserire-espressioni-matematiche-nei-documenti-google/ funziona anche dove servono a te le formule.
Io non ho provato.
legendary
Activity: 1948
Merit: 2097
March 29, 2020, 12:46:39 PM
#84

Prova nei form google se funziona il codice:
...

Ma dove dovrei mettere questo codice? Nelle google form si possono inserire il link di una immagine o di un video, dove lo metto del codice?
legendary
Activity: 2506
Merit: 1120
March 29, 2020, 12:35:10 PM
#83
...
Ma rimane il problema: come introdurre queste formule in situazioni 'chiuse' ?
Certo che il modo più elegante sarebbe scrivere un documento in LaTeX, fare un pdf e poi diffonderlo.
Ma molto spesso mi serve solo la possibilità di inserire alcune formule in ambienti nei quali non ho molta libertà di manovra. Non è che posso scrivere un file pdf ogni volta che voglio comunicare 2 formule su un post di bitcointalk  Smiley
Prova nei form google se funziona il codice:
Code:

  x
  =
 
   
     
       
        b
        ±
       
         
            b
            2
         

         
          4
          a
          c
       

     

     
        2
        a
     

   

 

  .

Lo ottieni con mouse di destra sulla formula (dal browser).
Qui' non funziona!
legendary
Activity: 1948
Merit: 2097
March 29, 2020, 12:12:16 PM
#82
Devo segnalarti che il trasformare codice ascii in immagine è una pratica non proprio adeguata alla diffusione di informazioni.
Io lo sconsiglio. Capisco che sia piu' semplce per te ma non la trovo una soluzione.


Non ho detto che è una soluzione.

Semplicemente il problema è come far apparire delle formule leggibili in contesti "sfavorevoli" come questo forum o i moduli di google. In questi casi non ho trovato altro che convertire latex in immagini.


Con il codice che tu mi hai linkato

Code:



MathJax TeX Test Page




When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$



ho fatto una pagina html che viene letta perfettamente dal mio browser.

Ma rimane il problema: come introdurre queste formule in situazioni 'chiuse' ?
Certo che il modo più elegante sarebbe scrivere un documento in LaTeX, fare un pdf e poi diffonderlo.
Ma molto spesso mi serve solo la possibilità di inserire alcune formule in ambienti nei quali non ho molta libertà di manovra. Non è che posso scrivere un file pdf ogni volta che voglio comunicare 2 formule su un post di bitcointalk  Smiley

E inoltre, dove lo metto questo file se voglio che rimanga pubblico? Alla fine tanto vale fare un'immagine collegato a un sito terzo. Sicuramente non si tratta di una soluzione elegante.
legendary
Activity: 2506
Merit: 1120
March 29, 2020, 11:29:26 AM
#81
...
Diciamo allora che per adesso ho trovato un modo per fare finta di importare LaTex nel forum  Smiley



Devo segnalarti che il trasformare codice ascii in immagine è una pratica non proprio adeguata alla diffusione di informazioni.
Io lo sconsiglio. Capisco che sia piu' semplce per te ma non la trovo una soluzione.
legendary
Activity: 1948
Merit: 2097
March 28, 2020, 05:16:41 PM
#79
...
Io pensavo ad una soluzione tipo questa:
http://jsbin.com/?html,output
In pratica basta una libreria js ma, permettere codice particolare potrebbe mettere a rischio la sicurezza del sito quindi suppongo non lo faranno mai su questo forum.

Se clicchi con tasto destro del mouse sulla formula puoi copiare un codice MathML (qui' ho provato e non funziona), magari funziona nei moduli google ...

Ho visto una libreria JS che si attivava con il $ $. Funziona in questa chat: https://hack.chat/ sembra essere https://katex.org/ (ma non ho approfondito).

Trovo noioso creare una immagine da hostare su un server terzo per creare un documento. Per il momento, non ho formule da scrivere quindi non ho sperimentato piu' di tanto.

Sicuramente laTex è la soluzione, ti consiglio anche xcas (Algebra software) che oltre a fare tante cose carine ti crea il LaTex delle equazioni che è anche in grado di risolvere, poi c'è geogebra che mangia testi in LaTex da mettere come etichette a grafici e disegni ...

Ho visto librerie js che ti fanno il pdf a partire la testo LaTex.

Grazie dei consigli, farò delle prove.

Diciamo allora che per adesso ho trovato un modo per fare finta di importare LaTex nel forum  Smiley

legendary
Activity: 2506
Merit: 1120
March 28, 2020, 05:09:59 PM
#78
...
Io pensavo ad una soluzione tipo questa:
http://jsbin.com/?html,output
In pratica basta una libreria js ma, permettere codice particolare potrebbe mettere a rischio la sicurezza del sito quindi suppongo non lo faranno mai su questo forum.

Se clicchi con tasto destro del mouse sulla formula puoi copiare un codice MathML (qui' ho provato e non funziona), magari funziona nei moduli google ...

Ho visto una libreria JS che si attivava con il $ $. Funziona in questa chat: https://hack.chat/ sembra essere https://katex.org/ (ma non ho approfondito).

Trovo noioso creare una immagine da hostare su un server terzo per creare un documento. Per il momento, non ho formule da scrivere quindi non ho sperimentato piu' di tanto.

Sicuramente laTex è la soluzione, ti consiglio anche xcas (Algebra software) che oltre a fare tante cose carine ti crea il LaTex delle equazioni che è anche in grado di risolvere, poi c'è geogebra che mangia testi in LaTex da mettere come etichette a grafici e disegni ...

Ho visto librerie js che ti fanno il pdf a partire la testo LaTex.


legendary
Activity: 1948
Merit: 2097
March 28, 2020, 04:27:00 PM
#77
Grande!
Non lo trovo comodo ma fattibile.
L'ideale sarebbe avere una libreria js dove il codice lo inserisci direttamente tra caratteri $$ e viene parsato dal js, ma vai a spiegarlo all'amministratore di questo forum Sad

Io al momento sto usando questo metodo per scrivere formule in LateX dove mi serve, anche nei moduli di google per fare i quiz online. Lì si usa il formato png invece di svg.

EDIT: il modo più rapido è scrivere direttamente tutto (testo e formule) sul sito codecogs e poi importare qui una sola volta il risultato finale:






legendary
Activity: 2506
Merit: 1120
March 28, 2020, 11:52:21 AM
#76
Si potrebbe chiedere agli admin del forum se possono abilitare qualcosa per scrivere equazioni matematiche.
L'html lo prevede ma nel forum non funzionano ...

https://www.tutorialspoint.com/html5/html5_mathml.htm

Potresti anche scrivere queste perle in un documento LaTex o, anche solo, in writer e pubblicare il pdf.

Ringrazio per le "perle" ma non esageriamo.

Ovviamente sarebbe l'ideale riscrivere tutto in LaTex, ma diventerebbe ai miei occhi tutto troppo professionale, alla fine mi va bene scrivere le cose man mano che mi vengono in mente senza dovermi preoccupare troppo della forma. Si tratta di spunti, voglio buttare giù delle idee che possono tornare utili a me e a chi legge, non voglio scrivere un trattato o qualcosa di livello accademico, certo sarebbe comodo se il forum permettesse di inserire formule matematiche, ma qui hanno pensato solo a come inserire pezzi di codice, pazienza.


Grande!
Non lo trovo comodo ma fattibile.
L'ideale sarebbe avere una libreria js dove il codice lo inserisci direttamente tra caratteri $$ e viene parsato dal js, ma vai a spiegarlo all'amministratore di questo forum Sad

Ho segnalato al moderatore invitandolo ad intervenire ... vedremo, non credo siano solo gli italiani ad aver bisogno di rigore scientifico.

Segnalo che ho trovato, in questi tempi di didattica a distanza forzata, un modo per scrivere formule leggibili sotto forma di immagini SVG (Scalable Vector Graphics). Ho appena verificato che funziona anche all'interno del nostro vecchio e amato forum.

Il risultato lo lascio giudicare a voi, ecco alcuni esempi:









Si può inserire l'espressione matematica in mezzo a una frase e cambiare anche il font:   (in quest'ultimo caso ho scelto Verdana anziché Latin Modern)

Il trucco:

  • andate qui -> https://www.codecogs.com/latex/eqneditor.php
  • digitate la vostra espressione matematica
  • scegliete l'opzione svg anziché gif
  • copiate in basso il codice che si autogenera nella casella "URL Encoded"
  • qui sul forum: insert image
  • incollate il codice tra i due tag  img  e /img

legendary
Activity: 1948
Merit: 2097
March 28, 2020, 11:03:26 AM
#75
Si potrebbe chiedere agli admin del forum se possono abilitare qualcosa per scrivere equazioni matematiche.
L'html lo prevede ma nel forum non funzionano ...

https://www.tutorialspoint.com/html5/html5_mathml.htm

Potresti anche scrivere queste perle in un documento LaTex o, anche solo, in writer e pubblicare il pdf.

Ringrazio per le "perle" ma non esageriamo.

Ovviamente sarebbe l'ideale riscrivere tutto in LaTex, ma diventerebbe ai miei occhi tutto troppo professionale, alla fine mi va bene scrivere le cose man mano che mi vengono in mente senza dovermi preoccupare troppo della forma. Si tratta di spunti, voglio buttare giù delle idee che possono tornare utili a me e a chi legge, non voglio scrivere un trattato o qualcosa di livello accademico, certo sarebbe comodo se il forum permettesse di inserire formule matematiche, ma qui hanno pensato solo a come inserire pezzi di codice, pazienza.


Ho segnalato al moderatore invitandolo ad intervenire ... vedremo, non credo siano solo gli italiani ad aver bisogno di rigore scientifico.

Segnalo che ho trovato, in questi tempi di didattica a distanza forzata, un modo per scrivere formule leggibili sotto forma di immagini SVG (Scalable Vector Graphics). Ho appena verificato che funziona anche all'interno del nostro vecchio e amato forum.

Il risultato lo lascio giudicare a voi, ecco alcuni esempi:









Si può inserire l'espressione matematica in mezzo a una frase e cambiare anche il font:   (in quest'ultimo caso ho scelto Verdana anziché Latin Modern)

Il trucco:

  • andate qui -> https://www.codecogs.com/latex/eqneditor.php
  • digitate la vostra espressione matematica
  • scegliete l'opzione svg anziché gif
  • copiate in basso il codice che si autogenera nella casella "URL Encoded"
  • qui sul forum: insert image
  • incollate il codice tra i due tag  img  e /img
member
Activity: 813
Merit: 65
October 11, 2019, 05:37:57 AM
#74
è una bella trattazione, complimenti.
hero member
Activity: 784
Merit: 1416
February 03, 2019, 01:43:54 AM
#73
Ho segnalato al moderatore invitandolo ad intervenire ... vedremo, non credo siano solo gli italiani ad aver bisogno di rigore scientifico.

Sarebbe la cosa migliore, ma temo non sia una priorità o comunque una cosa lunga.

Ad ogni modo viene usata per l'appunto su questo forum (da anni ormai) e funziona perfettamente, esempio: https://www.matematicamente.it/forum/viewtopic.php?f=19&t=197194
legendary
Activity: 2506
Merit: 1120
February 02, 2019, 11:30:02 AM
#72
Si potrebbe chiedere agli admin del forum se possono abilitare qualcosa per scrivere equazioni matematiche.
L'html lo prevede ma nel forum non funzionano ...

https://www.tutorialspoint.com/html5/html5_mathml.htm

Potresti anche scrivere queste perle in un documento LaTex o, anche solo, in writer e pubblicare il pdf.

Ringrazio per le "perle" ma non esageriamo.

Ovviamente sarebbe l'ideale riscrivere tutto in LaTex, ma diventerebbe ai miei occhi tutto troppo professionale, alla fine mi va bene scrivere le cose man mano che mi vengono in mente senza dovermi preoccupare troppo della forma. Si tratta di spunti, voglio buttare giù delle idee che possono tornare utili a me e a chi legge, non voglio scrivere un trattato o qualcosa di livello accademico, certo sarebbe comodo se il forum permettesse di inserire formule matematiche, ma qui hanno pensato solo a come inserire pezzi di codice, pazienza.


Ho segnalato al moderatore invitandolo ad intervenire ... vedremo, non credo siano solo gli italiani ad aver bisogno di rigore scientifico.
legendary
Activity: 1948
Merit: 2097
February 02, 2019, 06:46:40 AM
#71
Si potrebbe chiedere agli admin del forum se possono abilitare qualcosa per scrivere equazioni matematiche.
L'html lo prevede ma nel forum non funzionano ...

https://www.tutorialspoint.com/html5/html5_mathml.htm

Potresti anche scrivere queste perle in un documento LaTex o, anche solo, in writer e pubblicare il pdf.

Ringrazio per le "perle" ma non esageriamo.

Ovviamente sarebbe l'ideale riscrivere tutto in LaTeX, ma diventerebbe ai miei occhi tutto troppo professionale, alla fine mi va bene scrivere le cose man mano che mi vengono in mente senza dovermi preoccupare troppo della forma. Si tratta di spunti, voglio buttare giù delle idee che possono tornare utili a me e a chi legge, non voglio scrivere un trattato o qualcosa di livello accademico, certo sarebbe comodo se il forum permettesse di inserire formule matematiche, ma qui hanno pensato solo a come inserire pezzi di codice, pazienza.

legendary
Activity: 2506
Merit: 1120
February 01, 2019, 07:17:08 PM
#70
Se ti interessa e hai voglia, potresti usare questi tool che creano direttamente immagini dalle varie formule e operazioni (usano Latex come formato) così diventa più facile leggerle, magari non per tutto ma per alcune parti più importanti:

http://rogercortesi.com/eqn/index.php
http://www.sciweavers.org/free-online-latex-equation-editor

Le immagini create poi vanno caricate su qualche image hosting

Grazie per i link, in effetti sarebbe meglio, bisogna solo trovare tempo e voglia Smiley
Si potrebbe chiedere agli admin del forum se possono abilitare qualcosa per scrivere equazioni matematiche.
L'html lo prevede ma nel forum non funzionano ...

https://www.tutorialspoint.com/html5/html5_mathml.htm

Potresti anche scrivere queste perle in un documento LaTex o, anche solo, in writer e pubblicare il pdf.

legendary
Activity: 1948
Merit: 2097
February 01, 2019, 12:27:11 PM
#69
Se ti interessa e hai voglia, potresti usare questi tool che creano direttamente immagini dalle varie formule e operazioni (usano Latex come formato) così diventa più facile leggerle, magari non per tutto ma per alcune parti più importanti:

http://rogercortesi.com/eqn/index.php
http://www.sciweavers.org/free-online-latex-equation-editor

Le immagini create poi vanno caricate su qualche image hosting

Grazie per i link, in effetti sarebbe meglio, bisogna solo trovare tempo e voglia Smiley
hero member
Activity: 784
Merit: 1416
February 01, 2019, 01:43:06 AM
#68
Se ti interessa e hai voglia, potresti usare questi tool che creano direttamente immagini dalle varie formule e operazioni (usano Latex come formato) così diventa più facile leggerle, magari non per tutto ma per alcune parti più importanti:

http://rogercortesi.com/eqn/index.php
http://www.sciweavers.org/free-online-latex-equation-editor

Le immagini create poi vanno caricate su qualche image hosting
legendary
Activity: 1948
Merit: 2097
January 31, 2019, 01:35:16 PM
#67
Parliamo un po' più a fondo di endomorfismi, vediamo da dove nascono i valori beta di cui ho parlato un paio di post sopra e cerchiamo così di entrare più a fondo nel mondo delle curve ellittiche (sempre privilegiando la nostra curva secp256k1).

ENDOMORFISMI

Una mappa f: E -> E si dice un ENDOMORFISMO (endomorfismo di E sul campo Fp) se

1) manda il punto all'infinito di E nel punto all'infinito di E

2) f(P) = (g(P),h(P)) per tutti i punti P di E, dove g e h sono funzioni razionali (rapporto tra 2 polinomi) i cui coefficienti sono nel campo Fp.

In pratica facendo una serie di operazioni - g - sul punto P (cioè sulla sua x e sulla sua y) si ottiene la x di un nuovo punto, il punto f(P), analogamente facendo un'altra serie di operazioni - h - sulle coordinate x e y di P si ottiene la y di f(P).

Questa mappa quindi consente di passare da un punto P della curva a un punto f(P) sempre della curva, facendo alcune operazioni particolari sulle x e y di P.

Un esempio semplice di mappa che soddisfa il requisito 2) ma non 1) è la mappa che prende P qualsiasi e aggiunge a P sempre lo stesso punto, chiamiamolo G.

f : P  -->  P+G  per ogni P di E

Questa mappa (una sorta di traslazione) è quella che viene usata in programmi tipo vanitygen per generare nella maniera più veloce possibile le chiavi pubbliche (tenendo traccia delle chiavi private, che vengono incrementate di 1 ad ogni iterazione).

Nell'ipotesi che P sia diverso da G e da O (punto all'infinito), questa mappa si compone delle seguenti due parti:

a) la x di f(P) = g(P) = ((yG - yP) / (xG -xP))^2 -xP -xG

b) la y di f(P) = h(P) = ((yG - yP) / (xG -xP)) * (xP - g(P)) - yP

ovvero la solita formule di addizione.

Però questa mappa manda O in O+G = G, e quindi non rispetta il primo criterio e non è un endomorfismo. Vedremo invece che la mappa:

f : P  --> k*P

che associa a ogni punto il suo prodotto per uno scalare k fissato è un endomorfismo.


Nel termine ENDOMORFISMO il prefisso ENDO significa INTERNO, il termine MORFISMO vuol dire che questa mappa rispetta la "forma" (struttura) algebrica di E, nel senso che sommare prima due punti in E e poi applicare la mappa f produce lo stesso risultato che applicare prima f ai due punti separatamente e poi sommare i risultati:

f(P1 + P2) = f(P1) + f(P2) per ogni P1, P2 in E.


Per fare un parallelo con un esempio più noto, la mappa

f : R -> R,  f(x) = ln(x)

si chiama OMOMORFISMO nel senso che traduce la struttura algebrica (operazione) della moltiplicazione in una struttura algebrica analoga, dello stesso tipo, cioè nella addizione:

ln(a*b) = ln(a) + ln(b)


In R se vogliamo costruire un ENDOMORFISMO che rispetti l'operazione di addizione possiamo farlo così:

f : R -> R   f(x) = k*x

k*(a+b) = k*a + k*b

(si noti il parallelismo con k*P delle curve ellittiche, dove k*(P1 + P2) = k*P1 + k*P2)

Nota: possono sembrare cose molto astratte, ma quanti sbagliano trattando la funzione x^2 o la funzione radice come fossero endomorfismi rispetto all'operazione di addizione!

(a + b)^2 = a^2 + b^2

radice (a + b) = radice(a) + radice(b)

mentre ovviamente x^2 e radice(x)  sono endomorfismi solo rispetto all'operazione di moltiplicazione.



Torniamo alle curve ellittiche.

Un endomorfismo f è una mappa da E a E che soddisfa certi requisiti, ovvero che manda punti di E in punti di E con l'unica avvertenza che il punto O va mandato nel punto O.

Si può verificare che un endomorfismo da E in E è sempre un omomorfismo di gruppo, ovvero che:

f(P1 + P2) = f(P1) + f(P2)

Esempi di endomorfismi da E in E

1) la moltiplicazione per uno scalare k fissato

la mappa f: P --> k*P è endomorfismo di E, è immediato verificare infatti che k*(P1 + P2) = k*P1 + k*P2

casi particolari della mappa appena vista si hanno per k = 1 (identità) e k = -1 (la mappa negazione, quella che associa ad ogni punto P il suo opposto -P, nel qual caso f è definita come (x,y) --> (x,-y) ).


2) la mappa f: (x,y) --> (beta*x, y)  dove beta è un elemento di ordine 3 di Fp (è una radice cubica di 1, questo si ha solo se p = 1 mod 3)

in quest'ultimo caso si ha quindi la possibilità di calcolare le coordinate di un nuovo punto in modo rapidissimo, con una sola moltiplicazione nel campo Fp. Se si applica 3 volte di seguito la mappa f appena descritta

P      -->   f(P) = P1  --> f(P1) = P2      --> f(P2) =  P

(x,y) --> (beta*x, y) --> (beta^2*x, y) --> (beta^3*x,y) = (x,y)

si vede che si torna sempre al punto dal quale si era partiti.  Quindi, ragionando senza le coordinate, si ha

P -> lambda * P -> lambda^2 * P -> lambda^3 * P = P   dove lambda è uno scalare di Zn

ovvero che lambda è un elemento di ordine 3 di Fn. Sottolineiamo che, quando si passa da un elemento P a un elemento P1 = f(P), si può sempre scrivere P1 come k*P, poichè ogni punto P diverso dal punto all'infinito genera ogni altro elemento di E, ovvero ogni punto P1 è multiplo di ogni altro punto P, per un opportuno fattore k.

Quindi di fatto la mappa 2) è un caso particolare della mappa 1), dove m = lambda e i calcoli sulle coordinate risultano particolarmente semplici (g(P) = beta*x, h(P) = y)


Piccola osservazione: sia p - 1 che n - 1 sono multipli di 3:

Code:
p - 1 = 115792 089237 316195 423570 985008 687907 853269 984665 640564 039457 584007 908834 671662 (78 digits) = 2 × 3 × 7 × 13441 × 205115 282021 455665 897114 700593 932402 728804 164701 536103 180137 503955 397371 (72 digits) 

n - 1 = 115792 089237 316195 423570 985008 687907 852837 564279 074904 382605 163141 518161 494336 (78 digits) = 26 × 3 × 149 × 631 × 107361 793816 595537 × 174 723607 534414 371449 × 341 948486 974166 000522 343609 283189 (33 digits)


Come si fanno a calcolare gli elementi beta e lambda (rispettivamente elementi di ordine 3 di Zp e di Zn)?

Basta prendere un elemento a caso di Zp (Zn) ed elevarlo alla (p-1)/3 ((n-1/3)), si otterrà sicuramente un elemento di ordine 3, se non è uguale a 1 otterremo una delle due radici non banali dell'unità che stiamo cercando:

Code:
>>> hex(pow(19,(p-1)/3,p))  #proviamo prima con 19^((p-1)/3)

'0x1L'     #otteniamo 1, non va bene

>>> hex(pow(20,(p-1)/3,p)) #proviamo allora con 20^((p-1)/3)

'0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501eeL'  --> ok, questo è beta

>>> hex(pow(24,(p-1)/3,p))  #facendo altri tentativi, alla fine otteniamo con 24^((p-1)/3)

'0x851695d49a83f8ef919bb86153cbcb16630fb68aed0a766a3ec693d68e6afa40L'  --> questo lo chiamiamo beta2, poichè è = beta^2


Code:
>>> hex(pow(48,(n-1)/3,n))

'0x1L'

>>> hex(pow(49,(n-1)/3,n))  -->

'0x5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72L'  -->  abbiamo trovato lambda

>>> hex(pow(50,(n-1)/3,n))

'0xac9c52b33fa3cf1f5ad9e3fd77ed9ba4a880b9fc8ec739c2e0cfc810b51283ceL'   --> abbiamo trovato lambda2 = lambda^2


Facciamo un rapido controllo che la seguente mappa :

f:        P        --> lambda*P

         (x,y)   --> (beta*x, y)

sia verificata per P = G:

Code:
from micro_ecdsa import mul

>>> Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
>>> Gy = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

>>> lamb = 0x5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72

>>> (Rx,Ry) = mul(lamb,Gx,Gy)   --> R = lambda * G

>>> hex(Rx)
'0xbcace2e99da01887ab0102b696902325872844067f15e98da7bba04400b88fcbL'

>>> hex(Ry)
'0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L'  --> da notare che Ry = Gy !!!

>>> beta = 0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee

>>> hex((beta*Gx) % p)
'0xbcace2e99da01887ab0102b696902325872844067f15e98da7bba04400b88fcbL' --> beta * Gx = Rx !!!
legendary
Activity: 3836
Merit: 2050
January 22, 2019, 08:34:44 AM
#66
Avevo letto da qualche parte che la stessa cosa vale per altri tipi di anelli che non sono campi finiti, ad es. definendo:

Z'n = 0 U {a: 0 < a < n, MCD (a, n) = 1}

cioè anche con n che non è primo, se a ed n sono primi fra loro.


Z'p non so neanche se sia corretta come notazione, andavo un po' a memoria.


Trovata, intendevi questo (fonte: https://it.wikipedia.org/wiki/Gruppo_ciclico):

Quote
Gruppo delle unità

Le unità dell'anello Z/nZ  sono i numeri primi con n, ovvero i generatori del gruppo. Formano un gruppo con la moltiplicazione, di φ ( n )  elementi (vedi sopra), indicato generalmente come Zn^* .

Ad esempio, i gruppi Z6^*  = { 1 , 5 }  e Z8^*  = { 1 , 3 , 5 , 7 }  sono isomorfi rispettivamente a Z / 2 Z  e Z / 2 Z × Z / 2 Z.

In generale, Zn^*  è ciclico se e solo se n  è 2, 4 , p^k o 2 p^k  dove p  è un primo dispari e k ≥ 1.

In particolare, il gruppo Zp^* è ciclico con p − 1  elementi per ogni primo p. Più in generale, ogni sottogruppo finito del gruppo moltiplicativo di un campo è ciclico.

Io invece mi sono soffermato nella teoria di questo thread solo sui gruppi di cui si parla nell'ultima riga perchè il campo Fp della secp256k1 è esattamente di quella forma.

ho visto solo ora, grazie del riferimento!
Pages:
Jump to: