Programma di criptazione/decriptazione

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.
Correttezza: il risultato è uno dei due fattori primi che compongono il semiprimo. Completezza: ogni semiprimo creato con numeri primi all'interno dal campo di 2^1000 viene risolto nella fattorizzazione sempre con la stessa chiave e la stessa velocità
questa discussione è surreale, io ti chiedo una dimostrazione e tu rispondi cose senza senso
deduco non comprendi cosa ti si chiede: una dimostrazione matematica non si fa con le parole ma coi simboli

questo è il tuo sito, lo vedi il ciclo? un ciclo non è O(1) l'operazione nel ciclo è un MCD(x,y) euclideo che ha complessità O(log(min(x, y)))
e tale complessità va moltiplicata per il numeri di volte che viene eseguita (e a seconda della chiave, potrebbe essere un numero di volte dello stesso ordine di grandezza dei numeri coinvolti --> complessità alta)
sito.webp
in più va dimostrato matematicamente, non a chiacchiere che l'algoritmo termina, che il risultato sia effettivamente un numero primo e che tale primo sia un divisore del semiprimo" ripeto: va fatto matematicamente, non con le 4 parole con cui pensi di cavartela, in matematica non esistono gli esperimenti, esistono formule, simboli, dimostrazioni

Dimostrazioni non ne ho viste, la complessità computazionale è molto più alta di quella sbandierata, senza le dimostrazioni non vale nulla né a fini teorici né a fini pratici: i cosiddetti "esperimenti" che hai fatto non dimostrano nulla, anche se fattorizzi numeri molto grandi testi semiprimi che hanno una struttura ben pecisa perché ottenuti moltiplicando numeri primi che non sono realmente casuali ma sono ottenuti con un manipolazione algoritmica. Questo rende l'impianto di crittografia debole (e quindi attaccabile), indipendentemente da tutto il resto.
 
Trovo interessante 'sta cosa anche se ho capito la metà delle questioni che avete sollevato, ma mi chiedevo: esiste un luogo (inteso nel web) ove pubblicare cose del genere le quali a loro volta verrano sottoposte a test/analisi e quant'altro da persone/ricercatori (o chi volete voi) competenti?
Scusassero OT implicito. :P
Esistono su siti professionali dove per entrare e presentare una tua ricerca devi quantomeno essere laureato nella fattispecie di quello che vuoi mostrare.

Io non voglio offendere nessuno, ma è un dato certo che un algoritmo di questo genere va testato da matematici e aziende serie. Quindi o lo proponi in maniera corretta o sto thread diventa barzelletta
Grazie per aver riportato la discussione a un livello cordiale.
Quindi o lo proponi in maniera corretta o sto thread diventa barzelletta
non è così facile. o sei una software house di cyber security o non ti prendono neanche in considerazione. E' un mondo molto complesso la sicurezza informatica.

questa discussione è surreale, io ti chiedo una dimostrazione e tu rispondi cose senza senso
deduco non comprendi cosa ti si chiede: una dimostrazione matematica non si fa con le parole ma coi simboli

questo è il tuo sito, lo vedi il ciclo? un ciclo non è O(1) l'operazione nel ciclo è un MCD(x,y) euclideo che ha complessità O(log(min(x, y)))
e tale complessità va moltiplicata per il numeri di volte che viene eseguita (e a seconda della chiave, potrebbe essere un numero di volte dello stesso ordine di grandezza dei numeri coinvolti --> complessità alta)
in più va dimostrato matematicamente, non a chiacchiere che l'algoritmo termina, che il risultato sia effettivamente un numero primo e che tale primo sia un divisore del semiprimo" ripeto: va fatto matematicamente, non con le 4 parole con cui pensi di cavartela, in matematica non esistono gli esperimenti, esistono formule, simboli, dimostrazioni

Dimostrazioni non ne ho viste, la complessità computazionale è molto più alta di quella sbandierata, senza le dimostrazioni non vale nulla né a fini teorici né a fini pratici: i cosiddetti "esperimenti" che hai fatto non dimostrano nulla, anche se fattorizzi numeri molto grandi testi semiprimi che hanno una struttura ben pecisa perché ottenuti moltiplicando numeri primi che non sono realmente casuali ma sono ottenuti con un manipolazione algoritmica. Questo rende l'impianto di crittografia debole (e quindi attaccabile), indipendentemente da tutto il resto.
lasciamo perdere per favore il tempo O(1). Ti va bene se dico che qualsiasi semprimo che sia di 8000 o 13000 bit, lo fattorizzo in meno di un secondo?

in più va dimostrato matematicamente, non a chiacchiere che l'algoritmo termina, che il risultato sia effettivamente un numero primo e che tale primo sia un divisore del semiprimo" ripeto: va fatto matematicamente, non con le 4 parole con cui pensi di cavartela, in matematica non esistono gli esperimenti, esistono formule, simboli, dimostrazioni
siamo al paradosso. Ti ho sempre detto che non c'è nessun problema a dimostrarlo e sarei molto stupido se non potessi farlo. Cosa ti occorre dimmi? Basterebbe che tu andassi nella pagina esempi copiassi il semiprimo mettendolo in S= e la chiave mettendola in chiave= ed eseguissi con un ide qualsiasi di python questo semplice comando

from math import gcd
from sympy import isprime

A=S%chiave
B=S-A
p=gcd(A,B)

P%p il risultato sarebbe zero
isprime(p) il risultato sarebbe True

Te lo mostro in pratica....

from math import gcd
from sympy import isprime
S=1798480221729202676933302980537420103798837334507996100024999321797591288382570147025007835368109577763460328664205209742377642620219486215957798085693947914714855560174807416081435425377465091594907481753821584596212716110310505709937236460150212200622844319342985438649548664954291138617299649499099204987739330155664409948369047591096692229257303794963376293256655144694508331071048401103500522056127378425201014540967089482694427252630621879625525992750281765917260772711699739964837828989993394352963907811774012189914924355746437831091172235152920637513397947816808374896102502860775640817916413840417534650095504888629267606407314277989015704813306945857540906701584336329330671358086521847019777021792626523196522320661166351778657255107443476730502807675029819322270464513126818316830639390073708600718489129849232214183153403893876390604067888163011652095136553530240774414232151904959980295808439713910942506907349726194819923070401328380847369716606067311649483888604791289369304921054617145896543308613813593652959064109161828238016688947830245795548388707254857665026746499044669280540166148205088111578011078190052051780092403285228844215707933746604969785116507046158922324496442161401228965961073359646570001590375780424219633156309061107017649345472077944188005345383246800862462468830622230245715977307517562019909354036319951269543817380816932790668140510096036274323165181732989420234193842564346302938868659198722420035529094345782974370576125648027251239791478314743479624869272005621028574799491700306636735089069911025854570141611383371558044562083979309309512307264147915970983060324587655147247569870558154691533922840933279848802201735407653293904185276034074607509814892131746342990206486452497158499207036652929143852746686120802819608070678169383174386384060347641320437271035281617832037821704730584304485474242202166169619454879340721748795681305458153470724070971082375491430060025632884936063505032945295052870901398650889959316753342668859638460378366433864026968506876852125418295483957047782741031355956061283676520482117349718987655127173162407564521590838707459149809982519950435143379751984290352412239231899148731451546178497050924076865287546242767454811823954296935821910580257591978243018987240833878073212528721676137015884449037745824145959247823769546251471864873376302768694470391769691969376377886733527424941759272040208337653080761381298713756121863973818895443034464469176226705025934388127508865714839758748020633262903808716518330006221566139408952720766690284692771251276940192238382572804704696827312610950352831722858829323465194780361024643891889849047422362274278840023087033677130177800670928751243405771638843099019932611996519829983309928460035134302728115013852439087237376725876795073098604637234741974495907406955605028697525742161725378900484343859365709433417451323710915414186160025846996832218292668635747949305309490760047129979049463294022560757764448521288627161786405429325984725331675106063988926679378816262116122534876538394354475450998152979227399847610848754404924853165205168085512437815650623020918335547670668866221725822337542071571634153060330593248881490959902923094113471975968431332434902437384438035308732912903641201414885525814645909904648001817525561356820020454284263613624034013649894791207774719239495587375803178180825124323002621296657536505766105558866824098426818729692530604336922366099560307360810374253765922278597948541856125125985302761844952289202589336024158043291649308419264183289252883137072943923649424852813435099405642760955181031458560278221363347404651236437811601560226763607007061748640962526015832011043452707572822671147427518570137954826998950549350507789113147316878762647665791183573237338018204365412678652879021775765633662561124382106100919125134139917390492635398624839643955933666883089868766153900441422992993568221574399068608116849445146214058149790961647277418778751479528860122763548817583893
chiave=6366805760909027985741435139224233**58
A=S%chiave
B=S-A
p=gcd(A,B)
S%p
0
isprime(p)
True
Per no farti dire che forse la chiave è uguale al numero primo p te li metto in chiaro.

chiave
42408492330301046401679665083267719995635237017093214542534805390858512556477888378754165296085267562847399752140873719033806344732853672770314394179087778697106255655717393369869295110999204712564248340775854450570394083511497848720363741917970755844016682605098822417101003216974967203468200020077655278528991387405534999642570029880214453274986222257447269468577235504605562061188998347810620159929980965009437765741627520374168370943282262864529114069642854326408408937721066236644663262788422542674891311889448441321133159172343340101867210018804040196600001917138772850348306147716335432388094950711485792831138887840544739116899501603163584675235030234118025311348489648420788322686747886036894182247575051360370282020428528561998810702237436406051513459556188678648433885953512646393521273447051274711052278300142217102515114281758013942565274070601965916440741067000171896717377743248421853900313751607020365317019118093067079611736077627741261014522126084876807762600686149912246863437320440907753048898576122316632460278357871771717443971194552266695637248828094482105332455236271552440880991231797390005175007975031935276446578133113473430835200428302702241973579367431142513835191041192480738494471358491199118669110045671097684674020004141062525704457031267630253629560692285040835747680650433997154242103226963495932483578157432097368379614148570092533007685544234851916103737650351550743465535862906570351632345251302731025072263733881995982549127150620722640536056896302264049043127246719475662659148823983314406492754352388132394525506026175578117725766547556639471125324968507211507858207483146971230307022834734319674794867300845057692769192103897285478800793222952279104677527976007509149145990318526130673942472182348116372721667207050817721191843304141223510537780682132801543150940972688824060194415296898328149771430883694491772147311087256046107707893907580294488025399716878309257020291069227481237506799579507095404813009307388521809

p
1046187753483543094404172754062364817183488728876949635295182228858403152357224032017043465773292834859459734568373315067830154732261262884340699810043188694860874191243309834823293570641103523746400655218672207995445463013058944642775754913959881210780099173498163459220425750557843139916724317974538677622481211704264784991415891444167730536409362365512198727299990994610957697818905550892559570633228391147340537465412259062790244648316118730716389052122434360989797378914132539427451956403910370030675868609058547928060117757412149308358942621950861317842230224645831876153693462522408224280889925992316059251980857332937661436848212879603441200558259381368247713824033952699515095675502782745877661791078739741591776796252304219752082187300935817828814843640193434234936565463252229900284228489903816557139829035506377786632718723809628448217639918373857744140942994779278638455743273010527122973158101491415498369074301072920966126231085906873907909780412062930570190289549148096491354573846773587461830734919280750040753516073458326269834124685573709277486542343242238703989753857901755032128241105232070415606828844143799537061003793072025747985226202754178495937199256969910919625586965618961442039924181625941031038804672997897205550435144614934997886177855691876931855078454293488209138121719580967915863069526060316406442986107635958292827371766284531481300170010912939089217947505846085816924845195339144980826476183612398722865273104802043660865993740455994570986968616723176028422093155240878950315602192513297274920177738384490916721406780618085877794701682083523955097952082290839411152093579903912708575759909994979120342574345961037258012339431415135134228575587262468684304397592616631352624379422232954797484526188102848842864924321958730802452193509745183743181248050444555135461784255080497301462505972941196807716923326544621552766909176609697453627109840022249216896321
 
Ciò che viene richiesto non è mostrarlo in pratica con qualche caso e dato di test, ma avere una dimostrazione certa che per ogni input il tuo algoritmo funzioni, altrimenti come puoi essere certo che per ogni situazione, per ogni dato di input, il risultato sia certo? E se non puoi dimostrarlo, come può essere affidata la sicurezza informatica a un algoritmo di cifratura basato sul tuo calcolo?
Hai detto di non avere le basi matematiche per dimostrarlo, ok, ma allora presentalo a siti e riviste di ricerca matematica, se verrà ritenuto valido, e sarà dimostrabile, potresti aver fatto una scoperta notevole
Per ora c'è solo la tua parola che funziona al 100%, un po' poco non trovi?
 
lasciamo perdere per favore il tempo O(1). Ti va bene se dico che qualsiasi semprimo che sia di 8000 o 13000 bit, lo fattorizzo in meno di un secondo?
mi sta bene!
basta che non parli mai più di O(1) perché non è così
Ti ho sempre detto che non c'è nessun problema a dimostrarlo e sarei molto stupido se non potessi farlo. Cosa ti occorre dimmi?
quello che occorre è la dimostrazione matematica, non so come spegarmi 😂
quello che mi stai facendo vedere è un esempio di un numero particolare, una dimostrazione è differente ha validità generale
perché è vero il teorema di Pitagora? non perché disegni un particolare triangolo rettangolo ma perché vale con un triangolo rettangolo qualsiasi, dietro c'è una dimostrazione geometrica
from math import gcd
from sympy import isprime

A=S%chiave
B=S-A
p=gcd(A,B)
non funziona, te lo mostro in pratica (nel tuo caso se funziona è perché il numero è particolare e basta un solo passo, ma guarda che succede anche con numeri piccolissimi). Mi perdonerai la codifica Python, l'ho studiato adesso in qualche minuto
Python:
import math

s = 533 #semiprimo
print("s = ", s)
chiave = math.floor((math.sqrt(s))) #floor = parte intera inferiore
print("chiave = ", chiave)
a = s % chiave
print("a = ", a)
b = s - a
print("b = s - a = ", b)
p = math.gcd(a,b)
print("p = MCD(a,b) = ", p)

Python 3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

= RESTART: F:\projPython\cassaf\testp.py
s = 533
chiave = 23
a = 4
b = s - a = 529
p = MCD(a,b) = 1
è sbagliato, perché manca il ciclo, va corretto così
Python:
import math

s = 533 #semiprimo
print("s = ", s)
chiave = math.floor((math.sqrt(s))) #floor = parte intera inferiore
print("chiave = ", chiave)
a = s % chiave
print("a = ", a)
b = s - a
print("b = s - a = ", b)
p = math.gcd(a,b)
print("p = MCD(a,b) = ", p)
while p == 1:
    a += chiave
    print("a = ", a)
    b -= chiave
    print("b = s - a = ", b)
    p = math.gcd(a,b)
    print("p = MCD(a,b) = ", p)
q = s // p; # // = divisione intera
print("\ns = p * q = ", p, " * ", q)

Python 3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

= RESTART: F:\projPython\cassaf\testp2a.py
s = 533
chiave = 23
a = 4
b = s - a = 529
p = MCD(a,b) = 1
a = 27
b = s - a = 506
p = MCD(a,b) = 1
a = 50
b = s - a = 483
p = MCD(a,b) = 1
a = 73
b = s - a = 460
p = MCD(a,b) = 1
a = 96
b = s - a = 437
p = MCD(a,b) = 1
a = 119
b = s - a = 414
p = MCD(a,b) = 1
a = 142
b = s - a = 391
p = MCD(a,b) = 1
a = 165
b = s - a = 368
p = MCD(a,b) = 1
a = 188
b = s - a = 345
p = MCD(a,b) = 1
a = 211
b = s - a = 322
p = MCD(a,b) = 1
a = 234
b = s - a = 299
p = MCD(a,b) = 13

s = p * q = 13 * 41
adesso ti è chiaro perché non è O(1)? lo vedi con le stampe quanti passi che deve fare? perché MCD va richiamato "molte" volte ed esso stesso non è O(1)

P.S.
a parte questo ci sono altre questioni, per esempio non c'è una dimostrazione che l'ultimo MCD diverso da 1 sia un numero primo e in caso affermativo perché sarebbe uno dei 2 fattori del semiprimo...
Altra questione: se il semiprimo è della forma p^2 con p primo l'algoritmo fallisce miseramente! non va per niente bene!
 
Buongiorno a tutti e grazie per tutte le vostre risposte e consigli che sicuramente mi aiuteranno a migliorare la presentazione di un nuovo sistema come questo. Stiamo comunque girando intorno. Ciò che mi viene richiesto è praticamente di spiegare, lecito da parte vostra, in modo accademico il funzionamento dell'algoritmo e che io non essendo un matematico non posso e non riesco a spiegare. Poi mi viene chiesto di provare contro ogni ragionevole dubbio che il sistema funziona, che non sbaglia mai, che non sbaglierà mai. Ragazzi, sineceramente.... voi vi rendete conto che io non sono qui per vendere o cercare notorietà. Volevo solo affrontare una discussione di confronto e non essere sottoposto a un esame di cyber sicurezza. Il mio programma è rivolto a gente normale, privata, che ne fa un uso proprio. Non miro a diventare Shor o Fermat. Ho messo a disposizione programmi aperti per mostrare la validità del sistema. Ho cercato di spiegare al meglio il suo funzionamento e voi state qui a chiedermi oltremodo di dimostrare la validità di questo sistema? Avete tutti gli strumenti per testarlo da voi e se non avete voglia di farlo non sono certo qui a imporlo. Sapete, ho scritto in molti forum in questi anni per cercare un confronto onesto e costruttivo e il più delle volte mi ritrovo a dover discutere con persone che senza neanche prendere in considerazione la fattibilità del sistema si gettava a capofitto nel cercare di demolire tutto quello che affermavo. Ora sinceramente sono un po' stanco anche a fronte di persone come questa che vi sto per mostrare e che basa il suo intervento su un altro forum, in cui io parlo sempre di questo, cercando di stroncare senza argomentare sul programma o sul sistema di fattorizzazione:
Ogni tanto torni all'attacco ... (inutile commentare ... già essere meglio di un computer quantistico dice tutto ....)

Io mi ricordo che alcuni anni fa hai proposto questo tuo "ragionamento" in tanti forum e che fu "smontato" da un forum di matematica.

Del resto lo stai proponendo pari pari ADESSO qui

https://forum.tomshw.it/threads/programma-di-criptazione-de ...

ma non ne fai cenno in questo forum. E non mi sembra ne stia uscendo bene. A parte la questione che non è O(1) e che non hai una dimostrazione matematica rigorosa e valida per qualsiasi input, mi sembra che BAT nell'ultimo post ti abbia dimostrato che non funziona sempre ma solo per i casi particolari che ti sei costruito tu ...

E addirittura vendi il tuo "presunto algoritmo" in un libretto su Amazon ... INCREDIBLE!

Ma perché non lo proponi a

https://arxiv.org/

??

P.S. Come anche in https://www.iprogrammatori.it/forum-programmazione/python/n ... ...

Ribadisco un concetto che per me è fondamentale e lo sarà anche per chi leggerà questo post. Io non vendo niente, non traggo guadagni su delle pubblicità occulte, i miei programma sono tutti open source e ancora di più in chiaro per dare modo di verificare che non ci siano spyware, virus, trojan, e sono tutti funzionanti e spiegati.

Mi fermo qui
 
Ma se non dovesse funzionare e tu non sai darmi una soluzione per risolvere il problema perchè dovrei crittografare i dati col tuo algoritmo?

Cioè, se qualcosa va in vacca io perdo il mio file per sempre.
E' questo che non capisci
 
Volevo solo affrontare una discussione di confronto e non essere sottoposto a un esame di cyber sicurezza.
Ma stai proponendo un algoritmo che si lega alla cifratura dei dati, quindi proprio di cyber sicurezza si tratta.
Affinché si possano affidare dati, magari anche importanti, al tuo algoritmo, è necessaria la dimostrazione del suo perfetto funzionamento, e questa non c'è. Quindi il tuo algoritmo in ambito di sicurezza informatica non può essere utilizzato da nessuno, nè dal privato che vuole magari criptare un file con le password dei suoi account (perché potrebbero non essere al sicuro come crede o magari potrebbero essere impossibili da decriptare per un errato funzionamento del tuo algoritmo), nè figuriamoci in ambiti business o altro

Questo è bene che sia chiarito, tutto qua.


Avete tutti gli strumenti per testarlo da voi e se non avete voglia di farlo non sono certo qui a imporlo.
Non funziona così, se presenti un nuovo algoritmo, un nuovo sistema, ecc, sei te a dover dare dimostrazioni della sua bontà di funzionamento, altrimenti il tuo sistema non può essere ritenuto affidabile


Sapete, ho scritto in molti forum in questi anni per cercare un confronto onesto e costruttivo e il più delle volte mi ritrovo a dover discutere con persone che senza neanche prendere in considerazione la fattibilità del sistema si gettava a capofitto nel cercare di demolire tutto quello che affermavo.
Forse perché là fuori, in giro, così come qua, ci sono persone competenti, preparate e che hanno studiato anni e anni e cercano di farti capire che se vuoi portare qualcosa di nuovo e innovativo, non puoi farlo a caso, ma devi farlo in modo rigoroso. Altrimenti hai solo fatto un programmino utile per te (per carità va benissimo) ma che non puoi di certo spacciare pre innovativo o da far utilizzare a altri
 
Ma se non dovesse funzionare e tu non sai darmi una soluzione per risolvere il problema perchè dovrei crittografare i dati col tuo algoritmo?

Cioè, se qualcosa va in vacca io perdo il mio file per sempre.
E' questo che non capisci
Il sistema funziona e questo lo posso garantire. Posso rispondere e aiutare a comprenderlo se mi vengono poste le domande sul sistema stesso. Posso anche postare i programmi di test che io uso di frequente ma alla fine c'è sempre qual qualcuno che cercherà di dimostrare il contrario. Prendi per esempio Bat.
non funziona, te lo mostro in pratica (nel tuo caso se funziona è perché il numero è particolare e basta un solo passo, ma guarda che succede anche con numeri piccolissimi). Mi perdonerai la codifica Python, l'ho studiato adesso in qualche minuto

Ho cercato più volte di spiegare che funziona solo su determinati numeri e non è una fattorizzazione globale. Se lo fosse il mondo sarebbe in pericolo perchè riuscirei a fattorizzare anche il sistema RSA. Per quanto riguarda i numeri piccoli non deve funzionare sui numeri piccoli perchè i numeri piccoli non sono utilizzati in cyber sicurezza. Deve funzionare sui numeri grandi e miolto grandi, dalle 300 cifre in su se vogliamo rendere un po' sicuro il sistema. Quando questo funziona dalle 4000 cifre in su rende il sistema inattaccabile e posso certificare che funziona molto bene e molto meglio con semiprimi molto molto grandi

Ma stai proponendo un algoritmo che si lega alla cifratura dei dati, quindi proprio di cyber sicurezza si tratta.
Affinché si possano affidare dati, magari anche importanti, al tuo algoritmo, è necessaria la dimostrazione del suo perfetto funzionamento, e questa non c'è. Quindi il tuo algoritmo in ambito di sicurezza informatica non può essere utilizzato da nessuno, nè dal privato che vuole magari criptare un file con le password dei suoi account (perché potrebbero non essere al sicuro come crede o magari potrebbero essere impossibili da decriptare per un errato funzionamento del tuo algoritmo), nè figuriamoci in ambiti business o altro

Questo è bene che sia chiarito, tutto qua.



Non funziona così, se presenti un nuovo algoritmo, un nuovo sistema, ecc, sei te a dover dare dimostrazioni della sua bontà di funzionamento, altrimenti il tuo sistema non può essere ritenuto affidabile



Forse perché là fuori, in giro, così come qua, ci sono persone competenti, preparate e che hanno studiato anni e anni e che se vuoi portare qualcosa di nuovo e innovativo, non puoi farlo a caso, ma devi farlo in modo rigoroso. Altrimenti hai solo fatto un programmino utile per te (per carità va benissimo) ma che non puoi di certo spacciare pre innovativo o da far utilizzare a altri
Ma certo che sto proppnendo un programma per la sicurezza e vi invito ancora una volta a provarlo. Però questo non è il mio scopo, non è il programma che sicuramente chi più è capace di me saprebbe fare molto meglio. Il programma serve a dimostrare la potenza dell'algoritmo sulla fattorizzazione di grandi numeri semiprimi i quali nascondono due enormi numeri primi da utilizzare come chiave per la criptazione. La fattorizzazione di grandi numeri primi è ancora una utopia per gli algoritmi attualmente in circolazione

Non funziona così, se presenti un nuovo algoritmo, un nuovo sistema, ecc, sei te a dover dare dimostrazioni della sua bontà di funzionamento, altrimenti il tuo sistema non può essere ritenuto affidabile

Ho scritto delle pagine intere sul funzionamento dell'algoritmo con esempi e immagini per facilitare la lettura e ho messo a disposizione il programma in chiaro. Cosa altro dovrei fare?
 
Ma certo che sto proppnendo un programma per la sicurezza e vi invito ancora una volta a provarlo.
Personalmente non mi interessa un programma che cifra dati con metodi non chiari, non dimostrati e non riconosciuti validi dalla comunità informatica, non mi sembra che per ora nessuno abbia dato credito al tuo algoritmo di fattorizzazione, poi quello che a me preoccupa è questo:

Ho cercato più volte di spiegare che funziona solo su determinati numeri e non è una fattorizzazione globale.
Quindi funziona solo su certi input costruiti ad hoc, questo riduce di molto la casualità dei numeri da utilizzare nelle fasi di cifratura, rendendolo di fatto meno sicuro...

Il programma serve a dimostrare la potenza dell'algoritmo sulla fattorizzazione di grandi numeri semiprimi i quali nascondono due enormi numeri primi da utilizzare come chiave per la criptazione. La fattorizzazione di grandi numeri primi è ancora una utopia per gli algoritmi attualmente in circolazione
Ma hai detto che può funzionare solo su determinati numeri, quindi non è un algoritmo generico per la fattorizzazione di grandi numeri semiprimi, ma solo per certi casi particolari, un po' limitato mi sa
 
Ma perdonami io faccio lo sviluppatore nella vita. E mai e poi mai mi affiderei ad un algoritmo non documentato, non giustificato, non testato soprattutto per la sicurezza informatica.
Il tuo algoritmo già con questa frase:

Ho cercato più volte di spiegare che funziona solo su determinati numeri e non è una fattorizzazione globale.

Fa capire che l'hai testato solo con numeri voluti. Il che vuol dire che hai passami il termine "un alfabeto" predefinito per farlo funzionare.
Ergo se non uso una di queste chiavi, il software non funziona.

Dimostrami che sbaglio?

Tra l'altro hai idea di come funziona il DES, TripleDES, AES, RSA? perchè ho un pò di dubbi
 
Ok "l'ingenuità" dell'OP nel presentare il tutto in termini di cyber sicurezza, ma alla fine sarebbe interessante capire come funziona (o non funziona) questo algoritmo.
Ci sto ragionando un po' per capirci qualcosa dal punto di vista matematico, se ne ricavo qualcosa vi faccio sapere...
 
Personalmente non mi interessa un programma che cifra dati con metodi non chiari, non dimostrati e non riconosciuti validi dalla comunità informatica, non mi sembra che per ora nessuno abbia dato credito al tuo algoritmo di fattorizzazione, poi quello che a me preoccupa è questo:


Quindi funziona solo su certi input costruiti ad hoc, questo riduce di molto la casualità dei numeri da utilizzare nelle fasi di cifratura, rendendolo di fatto meno sicuro...


Ma hai detto che può funzionare solo su determinati numeri, quindi non è un algoritmo generico per la fattorizzazione di grandi numeri semiprimi, ma solo per certi casi particolari, un po' limitato mi sa
Personalmente non mi interessa un programma che cifra dati con metodi non chiari, non dimostrati e non riconosciuti validi dalla comunità informatica, non mi sembra che per ora nessuno abbia dato credito al tuo algoritmo di fattorizzazione, poi quello che a me preoccupa è questo:
se stai parlando di figure professionali nessuno. Tieni però conto che queste figure professionali si appoggiona su sistemi certificati come AES o RSA perchè in caso di danno causato alla ditta a cui danno assistenza possono sempre mostrare la certificazione. Questo programma non vuole arrivare alle ditte o alle cyber sicurezza a meno che non siano loro stessi a volerlo gestire. Il programma è amatoriale che potrebbe dare degli imput a persone appassionate a realizzare un proprio programma o a piccole ditte che non possono permettersi una assistenza cyber di adottare un sistema tutto loro. Qui non puoi mettere il tutto sotto una responsabilità unica.

Tu sei nformatico? se lo sei e hai una piccola ditta o un lavoro tuo ti basterebbe visionarlo, portare le tue modifiche, usarlo come beta test e valutarne le potenzialità mentre lo usi. Vuoi un programma già certificato, allora devi andare a pagamento su RSA o AES
 
Stiamo comunque girando intorno. Ciò che mi viene richiesto è praticamente di spiegare, lecito da parte vostra, in modo accademico il funzionamento dell'algoritmo e che io non essendo un matematico non posso e non riesco a spiegare. Poi mi viene chiesto di provare contro ogni ragionevole dubbio che il sistema funziona, che non sbaglia mai, che non sbaglierà mai. Ragazzi, sineceramente.... voi vi rendete conto che io non sono qui per vendere o cercare notorietà. Volevo solo affrontare una discussione di confronto e non essere sottoposto a un esame di cyber sicurezza.
qui l'unico che gira intorno alla faccenda sei proprio tu, le cose in informatica e matematica funzionano così
Il sistema funziona e questo lo posso garantire.
il tuo algoritmo non funziona, fattene una ragione, ho postato il codice Python che TU STESSO hai suggerito!
non deve funzionare sui numeri piccoli perchè i numeri piccoli non sono utilizzati in cyber sicurezza
questo è ridicolo: il programma DEVE FATTORIZZARE semiprimi e non riesce a fattorizzare nemmeno il numero 4
e pure quando li fattorizza usa un ciclo, quindi non c'è la sbandierata complessità costante a singola istruzione (che poi è pure un MCD quindi non è singola)
a parte questo ha una marea di altri problemi: Python permette l'aritmetica intera a precisione arbitraria ma quella floating point non lo è: per calcolare la chiavi estrai una radice quadrata con SQRT ma ti ritrovi un floating point a precisione limitata, per quanto grande; questo implica che al crescere della magnitudine dell'input (semiprimi a centinaia di cifre) la radice quadrata è sempre meno precisa perché perde decine/centinaia di cifre significative
Ho cercato più volte di spiegare che funziona solo su determinati numeri
ed è il motivo per cui un algoritmo del genere non vale niente: hai condotto i test su pseudoprimi generati ad hoc e pefino chiedendo aiuto a stupid-Chat-GPT, una mancanza di serietà che si commenta da sola (in pratica fattorizza solo semiprimi che decidi tu)
se dai come input un semiprimo composto da 2 numeri primi DAVVERO casuali (di quelli generati da enti ufficiali che si occupano di crittografia) il tuo pseudoalgoritmo NON FATTORIZZA PROPRIO NULLA e anche se lo facesse (cosa di cui dubito) lo farebbe in tempi inaccettabili (sempre che termini, perché anche questo non è dimostrato)
viceversa il metodo è attaccabile a causa della natura non casuale dei semiprimi adottati...
 
Linguaggio inappropriato
qui l'unico che gira intorno alla faccenda sei proprio tu, le cose in informatica e matematica funzionano così

il tuo algoritmo non funziona, fattene una ragione, ho postato il codice Python che TU STESSO hai suggerito!

questo è ridicolo: il programma DEVE FATTORIZZARE semiprimi e non riesce a fattorizzare nemmeno il numero 4
e pure quando li fattorizza usa un ciclo, quindi non c'è la sbandierata complessità costante a singola istruzione (che poi è pure un MCD quindi non è singola)
a parte questo ha una marea di altri problemi: Python permette l'aritmetica intera a precisione arbitraria ma quella floating point non lo è: per calcolare la chiavi estrai una radice quadrata con SQRT ma ti ritrovi un floating point a precisione limitata, per quanto grande; questo implica che al crescere della magnitudine dell'input (sempprimi a centinaia di cifre) la radice quadrata è sempre meno precisa perché perde decine/centinaia di cifre significative

ed è il motivo per cui un algoritmo del genere non vale niente: hai condotto i test su pseudoprimi generati ad hoc e pefino chiedendo aiuto a stupid-Chat-GPT, una mancanza di serietà che si commenta da sola
se dai come input un semiprimo composto da 2 numeri primi DAVVERO casuali (di quelli generati da enti ufficiali che si occupano di crittografia) il tuo pseudoalgoritmo NON FATTORIZZA PROPRIO NULLA e anche se lo facesse (cosa di cui dubito) lo farebbe in tempi inaccettabili
Mi dispiace questo tuo atteggiamento e senza offesa stai dimostrando di non capire niente e di sparare a vanvera le tue accuse. Mi riferisco in particolare al tuo riferimento a SQR che dimostra che ti sei fermato ai primi capitoli della spiegazione e lanci accuse infondate su tutto il sistema. Ti invito a leggere tutto e a non essere così frettoloso a tacciarmi con queste affermazioni "il tuo algoritmo non funziona, fattene una ragione," Di questi commenti all'acqua di rose ne ho avuti tanti e devo dirti che ne sono stomacato
 
Domanda secca. Il tuo algoritmo di fattorizzazione funziona SOLO e ESCLUSIVAMENTE con input appositi costruiti ad hoc?
Per favore, risposta sì o no.
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top