- 18
- 2 806
Gerardo Vega Hernández
Приєднався 28 чер 2007
The Shor's Algorithm explained in few minutes
WARNIG: It is not allowed, in the description of a video, to use either the left angled bracket character (in Latex such character is $\langle$) or the right angled bracket character (in Latex such character is $
angle$). Therefore, before compile the C source codes below change any character "¿" to the left angled bracket character ($\langle$) and any character "?" to the right angled bracket character ($
angle$).
gerardov@vega:~/ShorA$ cat ord_a_mod_n.c
#include¿stdio.h?
main(argc, argv)
int argc;
char *argv[];
{
int a, mod_n, y, i;
long unsigned int x=1;
a = atoi(argv[1]);
mod_n = atoi(argv[2]);
for(i=1;;i++) {
y = x;
x = (x*a)%mod_n;
printf("%d^%d (mod %d) = %d*%d (mod %d) = %d
",a,i,mod_n,a,y,mod_n,x);
if(x==1) break;
}
printf("Therefore the multiplicative order r is an ");
if(i&1) printf("odd number
");
else printf("even number and r/2=%d
",i/2);
}
gerardov@vega:~/ShorA$ cat FEA.c
#include¿stdio.h?
main(argc, argv)
int argc;
char *argv[];
{
int a, p, mod_n, nb, bit, e=0, i;
long unsigned int x=1;
a = atoi(argv[1]);
p = atoi(argv[2]);
mod_n = atoi(argv[3]);
for(nb=0,e=p;;nb++) {
if(!e) break;
e ??= 1;
}
for(i=1,e=0;i¿nb+1;i++) {
x = (x*x)%mod_n;
bit=(p??(nb-i))&1;
e*=2;
printf("%d^%d (mod %d) = %d | %d | ",a,e,mod_n,x,bit);
if(bit) {
x = (a*x)%mod_n;
e+=1;
printf("%d^%d (mod %d) = %d
",a,e,mod_n,x);
} else printf(" do nothing
");
}
printf(" Therefore v = %d
",x);
}
gerardov@vega:~/ShorA$ cat gcd.c
#include¿stdio.h?
main(argc, argv)
int argc;
char *argv[];
{
int vp1, mod_n, a, b, r;
a = vp1 = (atoi(argv[1]));
b = mod_n = (atoi(argv[2]));
if((a==0)||(b==0)) { printf("gcd: Error
"); exit(1); }
if(a¿0) a = -a;
if(b¿0) b = -b;
do {
r = a % b;
a = b;
b = r;
} while(r!=0);
printf("p=gcd(%d,%d)=%d and q=%d
",vp1,mod_n,a,mod_n/a);
}
drive.google.com/file/d/1hjusTkn6acid7G7_4rAuimRDhXN5Jy23/view?usp=drive_link
drive.google.com/file/d/1CBH0Xw9nSfnQimeqdvLiP-FdMdtSCggm/view?usp=drive_link
drive.google.com/file/d/1BJYVYNf1GdrY_tv4ly8RM9A-dM9eReD-/view?usp=drive_link
drive.google.com/file/d/1mjdCp1Ri77RPl5ySedquo10i_lY81rKR/view?usp=drive_link
angle$). Therefore, before compile the C source codes below change any character "¿" to the left angled bracket character ($\langle$) and any character "?" to the right angled bracket character ($
angle$).
gerardov@vega:~/ShorA$ cat ord_a_mod_n.c
#include¿stdio.h?
main(argc, argv)
int argc;
char *argv[];
{
int a, mod_n, y, i;
long unsigned int x=1;
a = atoi(argv[1]);
mod_n = atoi(argv[2]);
for(i=1;;i++) {
y = x;
x = (x*a)%mod_n;
printf("%d^%d (mod %d) = %d*%d (mod %d) = %d
",a,i,mod_n,a,y,mod_n,x);
if(x==1) break;
}
printf("Therefore the multiplicative order r is an ");
if(i&1) printf("odd number
");
else printf("even number and r/2=%d
",i/2);
}
gerardov@vega:~/ShorA$ cat FEA.c
#include¿stdio.h?
main(argc, argv)
int argc;
char *argv[];
{
int a, p, mod_n, nb, bit, e=0, i;
long unsigned int x=1;
a = atoi(argv[1]);
p = atoi(argv[2]);
mod_n = atoi(argv[3]);
for(nb=0,e=p;;nb++) {
if(!e) break;
e ??= 1;
}
for(i=1,e=0;i¿nb+1;i++) {
x = (x*x)%mod_n;
bit=(p??(nb-i))&1;
e*=2;
printf("%d^%d (mod %d) = %d | %d | ",a,e,mod_n,x,bit);
if(bit) {
x = (a*x)%mod_n;
e+=1;
printf("%d^%d (mod %d) = %d
",a,e,mod_n,x);
} else printf(" do nothing
");
}
printf(" Therefore v = %d
",x);
}
gerardov@vega:~/ShorA$ cat gcd.c
#include¿stdio.h?
main(argc, argv)
int argc;
char *argv[];
{
int vp1, mod_n, a, b, r;
a = vp1 = (atoi(argv[1]));
b = mod_n = (atoi(argv[2]));
if((a==0)||(b==0)) { printf("gcd: Error
"); exit(1); }
if(a¿0) a = -a;
if(b¿0) b = -b;
do {
r = a % b;
a = b;
b = r;
} while(r!=0);
printf("p=gcd(%d,%d)=%d and q=%d
",vp1,mod_n,a,mod_n/a);
}
drive.google.com/file/d/1hjusTkn6acid7G7_4rAuimRDhXN5Jy23/view?usp=drive_link
drive.google.com/file/d/1CBH0Xw9nSfnQimeqdvLiP-FdMdtSCggm/view?usp=drive_link
drive.google.com/file/d/1BJYVYNf1GdrY_tv4ly8RM9A-dM9eReD-/view?usp=drive_link
drive.google.com/file/d/1mjdCp1Ri77RPl5ySedquo10i_lY81rKR/view?usp=drive_link
Переглядів: 562
Відео
Criptosistemas asimétricos de ElGamal.
Переглядів 1144 роки тому
Criptosistemas asimétricos de ElGamal.
Criptosistemas asimétricos basados en Curvas Elípticas. Tercera y última parte.
Переглядів 1394 роки тому
Criptosistemas asimétricos basados en Curvas Elípticas. Tercera y última parte.
Explicit factorization of some period polynomials
Переглядів 424 роки тому
Explicit factorization of some period polynomials
Criptosistemas asimétricos basados en Curvas Elípticas. Segunda parte.
Переглядів 1094 роки тому
Criptosistemas asimétricos basados en Curvas Elípticas. Segunda parte.
Criptosistemas asimétricos basados en Curvas Elípticas. Primera parte.
Переглядів 4034 роки тому
Criptosistemas asimétricos basados en Curvas Elípticas. Primera parte.
Construcción de un criptosistema asimétrico a través de un grupo.
Переглядів 624 роки тому
Construcción de un criptosistema asimétrico a través de un grupo.
El criptosistema simétrico AES. Tercera parte.
Переглядів 684 роки тому
El criptosistema simétrico AES. Tercera parte.
El criptosistema simétrico AES. Segunda parte.
Переглядів 584 роки тому
El criptosistema simétrico AES. Segunda parte.
El criptosistema simétrico AES. Primera parte.
Переглядів 1014 роки тому
El criptosistema simétrico AES. Primera parte.
Introducción a los Campos Finitos. Segunda parte.
Переглядів 1394 роки тому
Introducción a los Campos Finitos. Segunda parte.
Introducción a los Campos Finitos. Primera parte.
Переглядів 4784 роки тому
Introducción a los Campos Finitos. Primera parte.
Descripción del criptosistema RC2, segunda parte.
Переглядів 1434 роки тому
Descripción del criptosistema RC2, segunda parte.
Descripción del criptosistema RC2, primera parte (completo).
Переглядів 944 роки тому
Descripción del criptosistema RC2, primera parte (completo).
Prueba para mis clases no presenciales.
Переглядів 954 роки тому
Prueba para mis clases no presenciales.
La respuesta para el ejercicio propuesto es: cat ord_a_mod_n 38 86065249 --> 43590 r/2=21795 FEA 38 21795 86065249 v=26148280 gcd 26148280 86065249 p=8719 q=9871
obtuve los mismos valores para p y q utilizando a=12345
you save me 😭🕊 thank you from libya 🤍🤍🤍🤍
You're welcome. Greetings from Mexico.
Links: drive.google.com/file/d/1hjusTkn6acid7G7_4rAuimRDhXN5Jy23/view?usp=drive_link drive.google.com/file/d/1CBH0Xw9nSfnQimeqdvLiP-FdMdtSCggm/view?usp=drive_link drive.google.com/file/d/1BJYVYNf1GdrY_tv4ly8RM9A-dM9eReD-/view?usp=drive_link drive.google.com/file/d/1mjdCp1Ri77RPl5ySedquo10i_lY81rKR/view?usp=drive_link