Program: przedstawiający szyfrowanie macierzowe.
Jak w opisie – przykład działania szyfrowania macierzowego.
Kompilator: Microsoft Visual Studio
Kod programu:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Szyfr_macierzowy
{
class Program
{
static void Main(string[] args)
{
char[,] array1 = { {'l','u','k','a','s'}, {'z','b','u','d','r'},{'e','w','i','c','z'}
,{'a','b','c','d','e'},{'f','g','h','i','j'} };
char[,] array2 = new char[5, 5];
System.Array.Clear(array2, 0, array2.Length);
Console.WriteLine("Tablica jawna wyglada tak:");
for (int i = 0; i <= 4; i++)
{
for (int j = 0; j <= 4; j++)
Console.WriteLine("array1[{0},{1}]={2}", i, j, array1[i, j]);
}
for (int i = 0; i <= 4; i++)
{
for (int j = 0; j <= 4; j++)
array2[i, j] = array1[j, i];
}
Console.WriteLine("Tablica zaszyfrowana wyglada tak:");
for (int i = 0; i <= 4; i++)
{
for (int j = 0; j <= 4; j++)
Console.WriteLine("array2[{0},{1}]={2}", i, j, array2[i, j]);
}
Console.ReadKey();
}
}
} Słowniczek pojęć:
Opis metody: Jest to prosty szyfr przestawieniowy oparty na figurze geometrycznej. W tym przypadku jest to kwadrat. Szyfrowanie polega na wprowadzeniu tekstu do macierzy po kolei wierszami a następnie odczytanie tekstu z macierzy kolumnami.
Przykład:
Tekst jawny: AlgorytmyiStrukturyDanych
Tekst zapisujemy w kwadrat 5×5
Algor
ytmyi
Struk
turyD
anych
Następnie odczytujemy kolumnami: AyStalttungmrryoyuycrikDh
Aby odszyfrować dany tekst należy operację powtórzyć drugi raz. Otrzymany tekst będzie tekstem jawnym.

