پاسخ : رمزنگاری AES و DES
هر اطلاعاتی صرف نظر از منبع تولید آن که می تواند ناشی از رمزنگاری AES باشد، می تواند از طریق USART ارسال شود.
نوشته اصلی توسط mahdi421
Imports System.Security.Cryptography
Imports System.Text
Imports System
Imports System.IO
Public Class Form1
Dim ENCRYP_DECRYPT_BYTE_DATA(500) As Byte
Dim OIUT As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ENCRYPT(TextBox1.Text)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox5.Text = DECRYPT(ENCRYP_DECRYPT_BYTE_DATA)
End Sub
Public Function ENCRYPT(ByVal INPUT_STRING As String) As Byte()
Dim EN_oUT_DATA(500) As Byte
Dim X As Byte
Dim prov As System.Security.Cryptography.Aes
prov = System.Security.Cryptography.Aes.Create
prov.BlockSize = 128
prov.Mode = Security.Cryptography.CipherMode.ECB
prov.KeySize = 128
prov.Padding = Security.Cryptography.PaddingMode.None
'prov.Key = New Byte() {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Dim K As Byte() = {Val(Mid(TextBox3.Text, 1, 3)), Val(Mid(TextBox3.Text, 5, 3)), _
Val(Mid(TextBox3.Text, 9, 3)), Val(Mid(TextBox3.Text, 13, 3)), _
Val(Mid(TextBox3.Text, 17, 3)), Val(Mid(TextBox3.Text, 21, 3)), _
Val(Mid(TextBox3.Text, 25, 3)), Val(Mid(TextBox3.Text, 29, 3)), _
Val(Mid(TextBox3.Text, 33, 3)), Val(Mid(TextBox3.Text, 37, 3)), _
Val(Mid(TextBox3.Text, 41, 3)), Val(Mid(TextBox3.Text, 45, 3)), _
Val(Mid(TextBox3.Text, 49, 3)), Val(Mid(TextBox3.Text, 53, 3)), _
Val(Mid(TextBox3.Text, 57, 3)), Val(Mid(TextBox3.Text, 61, 3))}
prov.Key = K
Dim yourBytes As Byte() = System.Text.Encoding.UTF8.GetBytes(INPUT_STRING)
TextBox2.Text = ""
For X = 1 To Len(TextBox1.Text)
TextBox2.Text = TextBox2.Text + Str(Asc(Mid(TextBox1.Text, X, 1))) + " "
Next
Dim enc = prov.CreateEncryptor.TransformBlock(yourBytes, 0, Len(TextBox1.Text), EN_oUT_DATA, 0)
TextBox4.Text = ""
For X = 0 To Len(TextBox1.Text) - 1
ENCRYP_DECRYPT_BYTE_DATA(X) = EN_oUT_DATA(X)
TextBox4.Text = TextBox4.Text + Str(EN_oUT_DATA(X)) + " "
Next
Return ENCRYP_DECRYPT_BYTE_DATA
End Function
Public Function DECRYPT(ByVal INPUT_STRING_BYTE() As Byte) As String
Dim DE_oUT_DATA(500) As Byte
Dim X As Byte
Dim prov As System.Security.Cryptography.Aes
prov = System.Security.Cryptography.Aes.Create
prov.BlockSize = 128
prov.Mode = Security.Cryptography.CipherMode.ECB
prov.KeySize = 128
prov.Padding = Security.Cryptography.PaddingMode.None
'prov.Key = New Byte() {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Dim K As Byte() = {Val(Mid(TextBox3.Text, 1, 3)), Val(Mid(TextBox3.Text, 5, 3)), _
Val(Mid(TextBox3.Text, 9, 3)), Val(Mid(TextBox3.Text, 13, 3)), _
Val(Mid(TextBox3.Text, 17, 3)), Val(Mid(TextBox3.Text, 21, 3)), _
Val(Mid(TextBox3.Text, 25, 3)), Val(Mid(TextBox3.Text, 29, 3)), _
Val(Mid(TextBox3.Text, 33, 3)), Val(Mid(TextBox3.Text, 37, 3)), _
Val(Mid(TextBox3.Text, 41, 3)), Val(Mid(TextBox3.Text, 45, 3)), _
Val(Mid(TextBox3.Text, 49, 3)), Val(Mid(TextBox3.Text, 53, 3)), _
Val(Mid(TextBox3.Text, 57, 3)), Val(Mid(TextBox3.Text, 61, 3))}
prov.Key = K
Dim enc = prov.CreateDecryptor.TransformBlock(INPUT_STRING_BYTE, 0, Len(TextBox1.Text), DE_oUT_DATA, 0)
OIUT = ""
For X = 0 To Len(TextBox1.Text) - 1
OIUT = OIUT + Chr(DE_oUT_DATA(X))
Next
Return OIUT
End Function
End Class
دیدگاه