Program: szyfrujący podaną przez użytkownika wiadomość, szyfrem RSA.
Który wymaga podania dwóch liczb pierwszych w celu utworzenia wymaganych kluczy.
(ze względu na ogromne liczby przy deszyfrowaniu, zamieszczona została tylko dokumentacja obliczeń)
Kompilator: Microsoft Excel
Dokumentacja:
Udokumentowanie obliczeń z przykładu powyżej:
Przykładowy atak RSA:
Kod programu:
Sub f_eulera()
P = Cells(2, 4)
Q = Cells(3, 4)
N = P * Q
Pomocnicza = (P - 1) * (Q - 1)
For i = 2 To (N - 1)
If (i Mod 2 = 1) Then
a = i
b = Pomocnicza
Do While b > 0
c = a Mod b
a = b
b = c
Loop
NWD = a
End If
If (a = 1) Then Exit For
Next i
E = i
Cells(4, 4) = N
Cells(5, 4) = E
j = 0
x = 0
Do While x <> 1
j = j + 1
x = (j * E) Mod Pomocnicza
Loop
Cells(7, 4) = j
Cells(10, 3) = j
Cells(11, 3) = N
Cells(11, 4) = E
Wiadomosc = Cells(2, 8)
Cells(3, 8) = (Wiadomosc ^ E) Mod N
Zaszyfrowana = Cells(3, 8)
End Sub
Słowniczek pojęć:
Jest to niesymetryczny algorytm szyfrujący, którego zasadniczą cechą są dwa klucze: publiczny do kodowania informacji oraz prywatny do jej odczytywania. Klucz publiczny (można go udostępniać wszystkim zainteresowanym) umożliwia jedynie zaszyfrowanie danych i w żaden sposób nie ułatwia ich odczytania, nie musi więc być chroniony. Dzięki temu firmy dokonujące transakcji poprzez sieć Internet mogą zapewnić swoim klientom poufność i bezpieczeństwo. Drugi klucz (prywatny, przechowywany pod nadzorem) służy do odczytywania informacji zakodowanych przy pomocy pierwszego klucza. Klucz ten nie jest udostępniany publicznie. System RSA umożliwia bezpieczne przesyłanie danych w środowisku, w którym może dochodzić do różnych nadużyć. Bezpieczeństwo oparte jest na trudności rozkładu dużych liczb na czynniki pierwsze.
Dokument Microsoft Excel Program Visual Basic Zabezpieczenia