Guida all'utilizzo di Cyphersol

Cos'è Cyphersol?

Cyphersol è un software innovativo di codifica e decodifica, estremamente versatile.
Il sistema si basa sulla suddivisione di un testo da codificare in due elementi distinti e univoci in ogni loro parte.
Per ricostruire il testo originale, sarà necessario disporre di entrambi gli elementi, poiché singolarmente non hanno alcuna utilità.

Cyphersol può essere per:

- Per la protezione dei dati
- Come password manager innovativo
- Per gestire l'eredità digitale
- Per gestire la sicurezza dei dispositivi informatici


Grazie alla sua struttura e al suo sistema di codifica, offre un altissimo livello di sicurezza in diversi ambiti.

La matrice e il codice

Per poter codificare un testo con Cyphersol, è necessario, innanzitutto, generare una matrice univoca, che rappresenta il primo dei due elementi indispensabili.
Successivamente, utilizzando questa matrice, si potrà ottenere il secondo elemento, il codice univoco.
Questi due elementi, matrice e codice, sono strettamente collegati.
Potrà ricostruire il testo originale, solo chi li possiede entrambi.

Univocità delle matrici e dei codici

Le matrici e i codici generati da Cyphersol sono sempre univoci, cioè praticamente impossibili da duplicare.
La probabilità che vengano creati anche solo due elementi identici è virtualmente nulla.
Le ragioni dettagliate di questa unicità saranno approfondite più avanti.
Questa caratteristica rende matrici e codici indecifrabili e inviolabili, garantendo la massima sicurezza.

Il sistema di codifica

Ogni elemento è univoco

Ogni elemento che viene creato da Cyphersol è univoco.

La matrice è univoca.
Il codice è univoco e formato da decine, centinaia o migliaia di ulteriori minicodici a loro volta univoci.
Non esisterà mai un solo elemento duplicato.
In pratica la codifica di uno stesso testo eseguita anche un infinità di volte darà risultati sempre diversi.


Quali caratteri possono essere codificati?

Ogni lettera maiuscola, minuscola, accentata, carattere speciale, numero, simbolo, spazio e ritorno a capo, può essere codificato tramite minicodici casuali e univoci.
Attualmente si possono codificare 215 caratteri (nel calcolo sono compresi anche lo spazio e il ritorno a capo).

Qual'è il formato dei minicodici preposti a codificare i singoli caratteri?

A ciascun carattere viene assegnato un minicodice univoco composto da lettere maiuscole, minuscole e numeri, con una lunghezza variabile da un minimo di 2 a un massimo di 7 caratteri.
Ogni minicodice può essere utilizzato una sola volta all'interno di un testo codificato.
In pratica non possono esistere due minicodici identici all’interno della stessa codifica, anche se il testo contiene molti caratteri ripetuti.
Vediamo alcuni esempi per comprendere meglio questo concetto.

Creiamo una matrice e codifichiamo la parola seguente:

Hello

Per questo esempio il codice ottenuto sarà il seguente:

Xx97Zra46Gu169Ywxq98R107



I minicodici assegnati ai singoli caratteri sono:
Minicodice Carattere
Xx97 H
Gu169 l
Ywxq98 l
R107 o
(Verrà tutto spiegato più dettagliatamente nelle sezioni successive del tutorial)

Utilizzando la stessa matrice potremo codificare la parola Hello un'infinità di volte e ogni volta otterremo un codice sempre diverso.

Che venga codificata una singola parola, una frase o persino un intero capitolo di un libro, il risultato sarà sempre un unico codice univoco, composto da decine, centinaia o addirittura migliaia di altri minicodici univoci.
Ciò è possibile perché non solo lettere, numeri e simboli vengono codificate da un codice specifico, ma anche gli spazi e i ritorni a capo.
Ma facciamo un esempio contenente spazi e ritorni a capo.
Codifichiamo la frase seguente:

My name
is Bob


Prima di codificare la frase analizziamola.
Se venissero codificati solo i caratteri e non gli spazi o i ritorni a capo avremo un risultato di 11 caratteri codificati e pertanto 11 codici univoci.
Ma dato che verranno codificati anche li spazi (12) e i ritorni a capo (1) otterremo 14 caratteri codificati da 14 codici univoci.

Ecco il risultato:

Qyr60Q209Uc174Rq101Ywxq184Ns189Mvg77Ubp7Hym158Tmzx104Eq14Ww162Nyxy139Usv4


Visualizziamo nel dettaglio i minicodici per singolo carattere, spazio e ritorno a capo:
Minicodice Carattere
Qyr60 M
Q209 y
Uc174 1° spazio
Ywxq184 a
Ns189 m
Mvg77 e
Ubp7 Ritorno a capo
Hym158 i
Tmzx104 s
Eq14 2° spazio
Ww162 B
Nyxy139 o
Usv4 b
Un'altra cosa importantissima da considerare è che ad ogni spazio o ritorno a capo verrà assegnato un minicodice univoco.
Nel senso che se inseriamo, per esempio, 3 spazi consecutivi invece di uno, tra una parola e l'altra, o se inseriamo più ritorni a capo, ad ognuno di essi verrà assegnato un minicodice univoco.

Vediamo un esempio

My name
is Bob

In questo esempio, in cui sono presenti 2 spazi e un ritorno a capo, otterremo un codice formato da 14 minicodici univoci

My name

is   Bob

In questo esempio, in cui sono presenti 4 spazi e 2 ritorni a capo, otterremo un codice formato da 17 minicodici univoci

Cosa garantisce l'univocità dei codici?

Questo aspetto viene spiegato più in dettaglio nella sezione dedicata alla matrice e alla codifica, in cui la matrice svolge un ruolo fondamentale.
Il numero di colonne che l'utente sceglie di creare nella matrice corrisponderà, infatti, al numero massimo di minicodici univoci che potranno essere assegnati a ciascun carattere durante la codifica.

Facciamo un esempio semplice.
Se l'utente crea una matrice con 5 colonne, potrà codificare testi contenenti qualsiasi numero di caratteri diversi, e tuttavia ognuno di questi caratteri potrà essere codificato solo 5 volte.
Se anche uno solo di questi caratteri presenti nella frase da codificare appare più di 5 volte nel testo, la codifica non verrà eseguita.

Prendiamo ad esempio la seguente frase:

«Dad had a bad salad.»

Tutti i caratteri, tranne la lettera "a", sono presenti meno di 5 volte.
Gli spazi sono esattamente 5, quindi non creano problemi.
Ma la lettera "a" compare 6 volte.
Questa condizione bloccherà la procedura, generando un avviso che inviterà l'utente a creare una matrice con un numero maggiore di colonne.

Il numero massimo di colonne, e pertanto di minicodici che si potranno assegnare ad ogni singolo carattere è di 16382.

Conclusioni
Il sistema assegna un minicodice univoco a ogni lettera (maiuscola, minuscola, accentata o speciale), numero, simbolo, spazio e ritorno a capo.
Questo processo trasforma qualsiasi testo in un unico grande codice complessivo, anch’esso univoco, che può essere decodificato esclusivamente tramite una matrice altrettanto univoca.
È proprio questa caratteristica che rende il sistema totalmente sicuro e inviolabile.