|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
matematica...credo ;)
qualcuno mi sa dire che cos'è quel mod???? le mie conoscenze sn ancora troppo scarse...
http://upload.wikimedia.org/math/0/3...02a06b57e4.png il tutto sta qua... http://it.wikipedia.org/wiki/RSA ma senza capire il mod nn posso capire come funziona l'algoritmo grazie mille ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
ma se ho 123^17 (mod 3233) come faccio a calcolare che è 855???
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Volendo provarlo in Java: Codice:
BigInteger bi = BigInteger.valueOf (123L); BigInteger div = BigInteger.valueOf (3233L); bi = bi.pow (17); BigInteger mod_result = bi.mod (div); // Risultato di 123^17 mod 3233 System.out.println (mod_result);
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 115
|
Si l'esempio più ricorrente sull'uso del mod è controllare che il resto di una divisione per due sia uguale a zero, per trovare i numeri pari.
Ad esempio in visual basic si usa così: If Numero1 Mod 2 = 0 Then MsgBox "numero pari!" Else MsgBox "numero dispari!" End If |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
mhh... ora inizio a capire un po meglio... e in c++ come si fa invece????
cmq se ho capito bene quell'855 non è altro che il resto di 123^17/3233... giusto? |
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
tu mi sai consigliare una di queste librerie?? Io non so dove mettere le mani... |
|
|
|
|
|
|
#9 | |
|
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
Codice:
#include <stdio.h>
void main(void)
{
unsigned long base,esponente,divisore,resto,i;
printf("Base: ");
scanf("%8ld",&base);
printf("Esponente: ");
scanf("%8ld",&esponente);
printf("Divisore: ");
scanf("%8ld",&divisore);
for(resto=base,i=0;i<(esponente-1);i++)
resto=(resto*base)%divisore;
printf("Resto: %ld\n",resto);
}
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
funziona alla perfezione... grazie!!!
cmq se per altre volte mi venisse bisogno di usare numeri enormi... che librerie potrò usare?? |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
emmhh... ultima cosa
se ho: x = 1 (mod n) significa che il resto di x/n è 1??? |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Normalmente si usa scrivere: x = a mod b o per dirla secondo i linguaggi C/C++, ecc... x = a % b dove x è il resto della divisione a/b.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#15 | ||
|
Member
Iscritto dal: May 2006
Messaggi: 71
|
Quote:
Quote:
Ciao ! |
||
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
|
|
|
|
|
|
|
#17 | |
|
Member
Iscritto dal: May 2006
Messaggi: 71
|
Quote:
Permettimi una domanda: non conosci l'operatore Mod e ti interessi dei dettagli matematici dell'algoritmo RSA ??? Comunque ho capito dov'e' l'inghippo... (per la verita' ce l'aveva suggerito 0rph3n nella prima risposta al tuo thread !) L'espressione NON e': x = 1 (mod n) in quanto al posto dell'uguale (=) ci sono TRE trattini sovrapposti: e' l'operatore "congruenza in modulo" ! Il significato, con un esempio numerico, e' ad esempio: 11 <congruo> 6 (mod 5) e vuol dire che 11 e 6 sono numeri "congrui tra loro in modulo 5", in quanto hanno lo stesso resto (1) dividendoli per 5. Quindi: X <congruo> 1 (Mod N) significa che X e 1 hanno lo stesso resto in modulo N, e quindi X/N ha resto 1 (c.d.d. Auguri per lo studio !!!!! |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
...mhh... capito!! grazie!!
|
|
|
|
|
|
#19 | ||
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
Quote:
...o anche che babbo natale non esiste Quote:
|
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:20.



















