پاسخ : رمزنگاری 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
دیدگاه