Top Ad unit 728 × 90

Hệ Mã Vigenere - An Toàn Dữ Liệu



Tôi xin giới thiệu với các bạn hệ về hệ mã hóa Vigenere nổi tiếng. Hệ mã hóa này được phát minh vào thế kỷ thứ 16 và được viết đầu tiên bởi nhà ngoại giao Pháp Blaise de Vigenere và là một kiểu của mã hóa thay thế được xem xét là chưa từng bị phá vỡ trong suốt 4 thế kỷ và nó được sử dụng phổ biến rộng rãi cho việc mã hóa những dữ liệu được truyền qua hệ thống điện tín trong suốt thế kỷ 19.
Hệ Mã Vigenere - An Toàn Dữ Liệu - he-ma-vigenere-an-toan-du-lieu
» Đề thi Vi Xử Lý - Lập trình Vi Xử Lý năm 2013
» Bài toán tìm mảng con có trọng số lớn nhất trong C++
» Nhân hai sô nguyên lớn, Chia hai số nguyên lớn, Cộng hai số nguyên lớn, Trừ hai số nguyên lớn trong C++
» Xử Lý Tín Hiệu Số



Giới Thiêu Code Program.cs (Lập trình trên C#):


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ma_Vigenere
{
    class Vigenere
    {
        public static string nguon = "aáàạảãăắằặẳẵâấầậẩẫbcdđeéèẹẻẽêếềệểễfghiíìịỉĩjklmnoóòọỏõôốồộổỗơớờợởỡpqrstuúùụủũưứừựửữvwxyAÁÀẠẢÃĂẮẰẶẲẴÂẤẦẬẨẪBCDĐEÉÈẸẺẼÊẾỀỆỂỄFGHIÍÌỊỈĨJKLMNOÓÒỌỎÕÔỐỒỘỔỖƠỚỜỢỞỠPQRSTUÚÙỤỦŨƯỨỪỰỬỮVWXY0123456789~`!@#$%^&*()-_.:';,/?<>[]{}=+ ";
        public static char[] P = nguon.ToCharArray();
        public static int[] taokhoa(string vao,int[] key)
        {
            char[] banro = vao.ToCharArray();
            int l = banro.Length;
            int[] plant = new int[l];
            for(int i=0;i<l;i++)
            {
             
                plant[i] = key[i %key.Length];
            }
            return plant;
                           
        }
        public static int[] chuyenmakey (string s)
        {
            char[] banro = s.ToCharArray();      
            int l = banro.Length;
            int[] temp = new int[l];
            int[] roso = new int[l];
            int j = 0;
            while (j < l)
            {
                for (int i = 0; i < P.Length; i++)
                {
                    if (P[i] == banro[j])
                    {
                        roso[j] = i;                      
                        temp[j] = roso[j];
                    }
                }
                j++;
            }
         
            return temp;
        }
        public static string Mahoa(string s,int[] khoa)
        {
            char[] lengt = s.ToCharArray();
            int l = lengt.Length;          
            int[] roso = new int[l];
            char[] temp = new char[l];
            int maso;
            for (int j = 0; j < l; j++)
            {
                for (int i = 0; i < P.Length; i++)
                {
                    if (P[i] == lengt[j])
                    {
                        roso[j] = i;
                        maso = (roso[j] + khoa[j]) % P.Length;
                        temp[j] = P[maso];
                    }
                }
            }

            string tg = new string(temp);
            return tg;

        }
        public static string Giaima(string s, int[] khoa)
        {
            char[] lengt = s.ToCharArray();
            int l = lengt.Length;
            // int[] khoa = taokhoa(s, k);
            int[] roso = new int[l];
            char[] temp = new char[l];
            int maso;
            for (int j = 0; j < l; j++)
            {
                for (int i = 0; i < P.Length; i++)
                {
                    if (P[i] == lengt[j])
                    {
                        roso[j] = i;
                        maso = ((roso[j] + P.Length) - khoa[j]) % P.Length;
                        temp[j] = P[maso];
                    }
                }
            }

            string tg = new string(temp);
            return tg;


        }

     }
 
}

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.