Ottomano Nicola
2003-12-15 21:22:47 UTC
Ho creato un algoritmo di crittografia in VB.
Vorrei sapere fino a che punto è sicuro (voi siete mille volte più esperti
di me nel campo) e a quanti bit è la crittografia (ancora non ho capito da
dove si calcolano).
La password in teoria può essere lunga fino a 2 miliardi di caratteri, ma
nel programma è "autolimitata" a 64 caratteri.
Avrete forse capito che in crittografia sono un mezzo niubbo.
Vi posto il codice che ho creato:
'Crittatura dati da inviare
Public Function CrittaDati(Stringa As String, Password As String) As String
Dim i As Long
Dim z As Integer
Dim Carattere, SommaPass As Integer
Dim StringaCritt As String
StringaCritt = ""
SommaPass = 0
For i = 1 To Len(Password)
SommaPass = SommaPass + Asc(Mid(Password, i, 1))
If SommaPass > 255 Then
SommaPass = SommaPass - 255
End If
Next
i = 1
z = 1
Do While i < Len(Stringa) + 1
If z > Len(Password) Then z = 1
Carattere = CInt(Asc(Mid(Stringa, i, 1))) + CInt(Asc(Mid(Password, z,
1))) + CInt(SommaPass)
If Carattere > 255 Then
Carattere = Carattere - 255
End If
StringaCritt = StringaCritt & Chr(Carattere)
z = z + 1
i = i + 1
Loop
CrittaDati = StringaCritt
End Function
'Decrittatura Dati Ricevuti
Public Function DecrittaDati(Stringa As String, Password As String) As
String
Dim z As Integer
Dim i As Long
Dim Carattere, SommaPass
Dim StringaDecritt As String
SommaPass = 0
For i = 1 To Len(Password)
SommaPass = SommaPass + Asc(Mid(Password, i, 1))
If SommaPass > 255 Then
SommaPass = SommaPass - 255
End If
Next
i = 1
z = 1
Do While i < Len(Stringa) + 1
If z > Len(Password) Then z = 1
Carattere = CInt(Asc(Mid(Stringa, i, 1))) - CInt(Asc(Mid(Password, z,
1))) - CInt(SommaPass)
If Carattere < 0 Then
Carattere = 255 + Carattere
End If
StringaDecritt = StringaDecritt & Chr(Carattere)
i = i + 1
z = z + 1
Loop
DecrittaDati = StringaDecritt
End Function
Il programma che critta i files invece potete scaricarlo, con i sorgenti
sotto licenza GPL, dal sito comune di VB www.it-lang-vb.net
Si chiama "FileSuite - Utilità Files"
bye
Vorrei sapere fino a che punto è sicuro (voi siete mille volte più esperti
di me nel campo) e a quanti bit è la crittografia (ancora non ho capito da
dove si calcolano).
La password in teoria può essere lunga fino a 2 miliardi di caratteri, ma
nel programma è "autolimitata" a 64 caratteri.
Avrete forse capito che in crittografia sono un mezzo niubbo.
Vi posto il codice che ho creato:
'Crittatura dati da inviare
Public Function CrittaDati(Stringa As String, Password As String) As String
Dim i As Long
Dim z As Integer
Dim Carattere, SommaPass As Integer
Dim StringaCritt As String
StringaCritt = ""
SommaPass = 0
For i = 1 To Len(Password)
SommaPass = SommaPass + Asc(Mid(Password, i, 1))
If SommaPass > 255 Then
SommaPass = SommaPass - 255
End If
Next
i = 1
z = 1
Do While i < Len(Stringa) + 1
If z > Len(Password) Then z = 1
Carattere = CInt(Asc(Mid(Stringa, i, 1))) + CInt(Asc(Mid(Password, z,
1))) + CInt(SommaPass)
If Carattere > 255 Then
Carattere = Carattere - 255
End If
StringaCritt = StringaCritt & Chr(Carattere)
z = z + 1
i = i + 1
Loop
CrittaDati = StringaCritt
End Function
'Decrittatura Dati Ricevuti
Public Function DecrittaDati(Stringa As String, Password As String) As
String
Dim z As Integer
Dim i As Long
Dim Carattere, SommaPass
Dim StringaDecritt As String
SommaPass = 0
For i = 1 To Len(Password)
SommaPass = SommaPass + Asc(Mid(Password, i, 1))
If SommaPass > 255 Then
SommaPass = SommaPass - 255
End If
Next
i = 1
z = 1
Do While i < Len(Stringa) + 1
If z > Len(Password) Then z = 1
Carattere = CInt(Asc(Mid(Stringa, i, 1))) - CInt(Asc(Mid(Password, z,
1))) - CInt(SommaPass)
If Carattere < 0 Then
Carattere = 255 + Carattere
End If
StringaDecritt = StringaDecritt & Chr(Carattere)
i = i + 1
z = z + 1
Loop
DecrittaDati = StringaDecritt
End Function
Il programma che critta i files invece potete scaricarlo, con i sorgenti
sotto licenza GPL, dal sito comune di VB www.it-lang-vb.net
Si chiama "FileSuite - Utilità Files"
bye
--
Esistono 10 tipi di persone: chi conosce il binario e chi no
web: http://www.nicolaottomano.it
Esistono 10 tipi di persone: chi conosce il binario e chi no
web: http://www.nicolaottomano.it