Szyfrowanie symetryczne Szyfrowanie asymetryczne 1

Transkrypt

Szyfrowanie symetryczne Szyfrowanie asymetryczne 1
Szyfrowanie symetryczne
Szyfrowanie asymetryczne
1. Przestawienie kolumnowe
2. Szyfr płotowy
3. Szyfry monoalfabetyczne – szyfr Cezara.
1. Szyfr RSA
1. Przestawienie kolumnowe
Realizowane jest za pomocą algorytmu przedstawieniowego.
Szyfrowanie przebiega w dwóch etapach:
 tekst jawny wpisuje się do tablicy- to nazywa się ścieżką zapisu
 odczytuje się go w ustalonym porządku, otrzymując szyfrogram- to nazywa się ścieżką odczytu.
przykład:
tekst jawny: SENDERSKAELZBIETA, do tablicy 5cio kolumnowej
0
S
R
L
T
1
E
S
Z
A
2
N
K
B
3
D
A
I
4
E
E
E
Zastosujmy klucz: 20413.
Wynik szyfrowania:
NKB SRLTEEEESZADAI
ZADANIE 1
napisz program, który zaszyfruje tekst jawny metodą kolumnową oraz dający możliwość zmiany liczby
kolumn i klucza.
ZADANIE 2
Zaszyfruj metodą kolumnową tekst: UCZCIWOSC ZBIERA POCHWAŁY I UMIERA Z ZIMNA. Zastosuj tablicę
dwuwymiarową zawierającą 4 kolumny oraz klucz: 3,2,0,1. Podczas szyfrowania pomiń spacje.
ZADANIE 3
Odszyfruj kryptogram: AWYKWIAPCSSOYERAZTZCZ zaszyfrowany metodą kolumnową. Wykorzystano tutaj
tablicę dwuwymiarową zawierającą 3 kolumny oraz klucz: 2,0,1. Podczas szyfrowania pominięto spacje.
ZADANIE 4
Podaj specyfikację i skonstruuj algorytm w postaci programu deszyfrujący kryptogram uzyskany metodą
kolumnową, w której wykorzystano tablicę dwuwymiarową zawierającą dowolną liczbę kolumn. Tekst
zaszyfrowany, liczba kolumn oraz klucz mają być wprowadzane z klawiatury.
2. Szyfr płotowy
S
E
E
D
A
R
K
N
S
W tej metodzie znaki zapisuje się na cosinusoidzie 
Szyfrogram uzyskuje się odczytując kolejne wiersze: SEAEDRKNS.
Kluczem jest wysokość „płotu”- czyli liczba wierszy.
ZADANIE 5
Podaj specyfikację oraz skonstruuj algorytm w postaci schematu blokowego i programu deszyfrujący kryptogram
wczytywany z klawiatury uzyskany metodą płotową dla płotu wysokości 3.
ZADANIE 6
Zaszyfruj metodą płotową tekst: WŁASNE MALE OGNISKO CENNIEJSZE OD STOSU ZŁOTA. Zastosuj płot
wysokości 2. Przy szyfrowaniu pomiń spacje.
ZADANIE 7
Odszyfruj kryptogram: BZOIJPYECYNSNEAEDOZNUZNCDOCK zaszyfrowany metodą płotową. Wykorzystano tutaj
płot wysokości 3. Przy szyfrowaniu pominięto spacje.
ZADANIE 8
Podaj specyfikację i skonstruuj algorytm w postaci programu szyfrujący i deszyfrujący wiadomość wczytywaną z
klawiatury metodą płotową dla wysokości 2.
3. Algorytmy podstawieniowe. Szyfry monoalfabetyczne – szyfr Cezara.
Szyfrowanie przez podstawianie polega na zastępowaniu znaków utajnianej informacji innymi znakami. Jedna litera
tekstu jawnego może być jednak zastąpiona jednym bądź wieloma znakami. Ponadto jednocześnie można korzystać z
wielu alfabetów szyfrowych.
Przykład:
Zaszyfrujmy szyfrem Cezara tekst jawny SENDERSKA z kluczem 4.
Alfabet jawny
Alfabet szyfrowy
A B C D E F G H I
J K L M N O P Q R S
T U V W X Y Z
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
Szyfrogram: WIRHIVWOE /* i wszystko jasne*/
Przydatne funkcje do szyfrowania :
string szyfruj (string tekst, string alfabet, int klucz)
{
string wynik;
int dlT=tekst.size( ), dlA=alfabet.size( );
for (int i=0;i<dlT;i++)
for (int j=0;j<dlA;j++)
if (tekst[i]==alfabet[j]) wynik+=alfabet[(j+klucz)%dlA];
return wynik;
}
Alfabet szyfrowy można utworzyć korzystając ze słowa (lub zdania) kluczowego, usuwając w nim powtarzające
się znaki i spacje.

Podobne dokumenty