# (c) david vajda
# 10/14/25
# rsa - cracking the prime number equations for key
def nprod (p, q):
return p*q
def phi (p, q):
return (p-1)*(q-1)
p = 7
q = 17
d = 11
n = nprod (p, q)
i = 5
while i < 1024:
e = 1
while e < 1024:
if d*e == (phi (p, q) * i) + 1:
print ("e = ", e, "i = ", i)
i = 1024
break
e = e + 2
i = i + 1
def prim (p):
i = 3;
if p % 2 == 0:
return 0
while i < (p+1)/2:
# while i < p:
if (p % i) == 0:
return 0
i = i + 2
return 1
# andere methode:
# ich kann die primfaktoren aufzaehlen
# 131 sieht aus wie 130 + 1
# ok und 130 sieht teilbar aus, warum ist 131 dann primzahl
# wenn plus 1, wegen dem beweis des pythagoras,
# und dem fakt, dass eine zahl in ihre primfaktoren zerlegt
# werden kann und nichts weiteres
# was sonst, jede zahl laesst sich als produkt anderer
# zahlen schreiben, oder ist sonst selbst eine primzahl
# womit das problem geloest waere
primfactor1 = 3
primfactor2 = 5
primfactor3 = 7
primfactor4 = 11
primfactor5 = 13
primfactor6 = 17
primfactor7 = 19
primfactor8 = 23
primfactor9 = 27
primfactor10 = 31
primfactor11 = 37
primfactor12 = 41
primfactor2 = 2
### ?
# 2, 2, 2, 2, 4, 2, 4, 4, 4, 6, 4
p = 1
P = []
Pd = []
while p < 1024:
if prim (p):
P = P + [p]
p = p + 2
i = 1
while i < len (P):
Pd = Pd + [P [i] - P [i-1]]
i = i + 1
print (P)
print (Pd)
# lauflaengenkodierung
i = 0
x = 0
j = 0
while i < len (Pd):
if x != Pd [i]:
print("x = ", x, "j = ", j)
x = Pd [i]
j = 0
i = i + 1
j = j + 1
# wahrscheinlichkeitssatz der primzahlen mit lauflaengen kodierung
# annahme, dass der abstand von primzahlen im bereich 2, 4, 6, ...
# schwankt, ist beweisbar
# eine primzahl muss mindestens im abstand 2 zur anderen liegen
# und der abstand muss gerade sein, da: eine primzahl ungerade sein muss
# 1.) es ist davon aus zu gehen, dass bei hoeheren primzahlen die 2 ebenso
# in betracht kommt, wie bei niedrigeren
# 2.) es ist davon aus aus zu gehen, dass der wechsel 2, 4, 6, ...
# bei der lauflaengenkodierung mit grosser wahrscheinlichkeit
# gemessen an der relativen haeufigkeit im stichproben umfang
# im kleinen bereich, mit grosser wahrscheinlichkeit gegen 1 geht
# ein wechsel, von 2, 4, 6, 8, ... in der differenz ist wahrscheinlich
# davon ist aus zu gehen, dass je nach groesse der primzahlen
# die grenze wachsend ist
# wobei: nach oben von einem wachstum der grenze aus zu gehen ist
# im zweiten schritt versuche ich das verhaeltnis der aufeinander
# folgenden abstaende heraus zu finden
#falsch
i = 0
x = 0
j = 0
while i < len (Pd):
if x != Pd [i]:
print("x = ", x, "j = ", j, end=", ")
x = Pd [i]
j = 0
i = i + 1
j = j + 1
print("")
print("")
print("")
i = 1
x = 0
j = 0
while i < len (Pd):
print (Pd [i]/Pd[i-1], end=" ")
i = i + 1