Livecode supporta diversi sistemi di cifratura, sia asimmtrica che simmetrica; per avere una lista dei sistemi supportati e con che modalità basta utilizzare la funzione ciphernames(), ecco un breve riassunto
- aes
- bf
- blowfish
- camellia
- cast
- cast5
- des
- des3
- desx
- id-aes128-GCM
- id-aes192-GCM
- id-aes256-GCM
- rc2
- rc4
- seed
Per inciso, tutti i sistemi più avanzati che dichiarano di utilizzare una cifratura più difficile di tipo asimmetrico, in realtà non riescono ad utilizzarla completamente, perchè un procedimento del genere richiede un tempo molto grande. Per questo motivi cifrano in maniera asimmetrica solo la password simmetrica di un testo cifrato in modo simmetrico.
Nel nostro caso cifreremo simmetricamente utilizzando il sistema blowfish.
Facciamo uno stack con con i seguenti campi: testo, password e cifrato. Aggiungiamo due pulsanti: cifra e decifra. Mettiamo nel pulsante cifra il seguente codice:
on mouseUp
put the text of field "testo" into testo
put the text of field "password" into passw
encrypt testo using "bf" with password passw
set the text of field "cifrato" to it
end mouseUp
In questo modo, premendo sul pulsante cifra, nel campo cifrato apparirà il testo cifrato:
Per decifrare possiamo mettere il seguente codice nel pulsante decifra:
on mouseUp
put the text of field "cifrato" into testo
put the text of field "password" into passw
decrypt testo using "bf" with password passw
answer it
end mouseUp
Nel prossimo post vedremo come utilizzare i sistemi asimmetrici.
Il limite di sicurezza nella cifratura simmetrica risiede nel fatto che a chi inviamo un messaggio cifrato, dobbiamo far sapere anche la chiave utilizzata, e quindi se cade nelle mani di qualcun altro, anche quest'ultimo potrà decifrare i nostri messaggi.
Nessun commento:
Posta un commento