Non posso dirlo con certezza. Ma se stai cercando una funzionalità simile, la implementerei come segue:
Un ID contiene una parte privata e una pubblica (ecco cosa fa Teamspeak). Quindi penso che sia una chiave di crittografia asnyc che puoi generare da solo.
Ora basta generare una sequenza di numeri, ad es. s = [1..n]
e hash loro.
Non appena i primi bit M
dell'hash generato corrispondono al primo M
bit della chiave pubblica, lo prendi come prof adatto di lavoro per il livello di sicurezza di M
.
Hai avuto bisogno di n
di hash per trovare l'hash, ma per prof, il server deve solo cancellare il risultato s
una volta e controllare quanti bit corrispondono alla tua chiave pubblica. La difficoltà per te aumenterà in modo esponenziale.
Questo è in effetti simile a quello che fa Bitcoin. Ma Bitcoin cerca di ottenere un certo numero di Zeri davanti all'hash e non hai un numero casuale ma il b-tree del blocco che vuoi estrarre più un nonce (numero casuale).
Da Teamspeak:
Genera un ID, ad es. %codice%
Esportalo per vedere il segreto: ad es. IHoxfrQNl152vs80N4wYvsEmNd8=
Se ora aumenti la sicurezza, solo la prima parte delle modifiche di esportazione. Da 8 → 9 → 24 si ottiene da 205VFy/YWQLyDeTxIIQvyy4hGQYxWloFH0R9VW4VRCxQHkcOdFdyX2YHMztQDQQeDA1gNG9Ce0N6CipVHkMie2lzX3ReRX4HFQhqFiB5FBQEEi0DVhhCUltiOE4GcmV2W3FkDX1OdXcrUUxwUUloQVBHRjYvM3EzWCtGeUpkRHlWTTFXZGh1VHJRZVA0Q3hMWE1ITXVxNlU1TTQ=
a 205
a 247
.
La mia chiave più alta ha un certo numero intorno a 520935
al livello 34.
Penso che questo numero sarà in qualche modo hash a qualcosa che è correlato alla mia chiave pubblica. Quindi chiunque può provarlo con un singolo giro di hashing, ma il mio PC aveva bisogno di 29147155819
di hash per trovarlo, il che ha richiesto un po 'di tempo;)
Btw: la sicurezza massima è 128, quindi suppongo che sia la lunghezza in bit della chiave pubblica.
Spero di essere stato in grado di aiutare - Tarion