Niech p=23, q=17, s=5, zakodować X, AIR.
O ile dla X wychodzi, o tyle dla AIR jest problem. Kod to:
\(\displaystyle{ C=L^s(\mbox{mod} \; r)}\)
\(\displaystyle{ r=pq}\)
Dla AIR \(\displaystyle{ L=10918 \not \in (0,r)}\). To oznacza, że przy takich danych nie da się tekstu AIR zakodować, czy jest jakiś "myk" na to?
Kod RSA.
Kod RSA.
Szyfrując obliczasz coś tam modulo "r", jasne że wynik będzie mniejszy od r (r różnych wartości, 0..r-1),
a teraz deszyfrujesz, ile różnych jawnych tekstów możesz otrzymać z "r" różnych wartości?
Chyba nie więcej niż "r" prawda, czyli nie można przy pomocy danego "r" zaszyfrować więcej niż "r" różnych wiadomości.
Więc jawny tekst musi być mniejszy niż "r".
Ot takie rozumowanie "na chłopski rozum". Nie zawsze takk być musi, ale na szczęście RSA gwarantuje, że w odwracalny sposób zadziała tam i z powrotem dla tekstów mniejszych niż "r".
Tekst jawny można wyobrazić sobie jako liczbę, zapisaną w pozycyjnym układzie liczbowym o podstawie "r".
Powiedzmy, że wybrałeś p=2; q=5; p*q=r=10, jawny tekst to np "314159", nie ściśniesz go do jednej cyfry, każdą należy kodować oddzielnie. Tu mamy skrajny przypadek, bo super hiper ultra kuku RSA zamieniło się w prosty szyfr przestawieniowy.
a teraz deszyfrujesz, ile różnych jawnych tekstów możesz otrzymać z "r" różnych wartości?
Chyba nie więcej niż "r" prawda, czyli nie można przy pomocy danego "r" zaszyfrować więcej niż "r" różnych wiadomości.
Więc jawny tekst musi być mniejszy niż "r".
Ot takie rozumowanie "na chłopski rozum". Nie zawsze takk być musi, ale na szczęście RSA gwarantuje, że w odwracalny sposób zadziała tam i z powrotem dla tekstów mniejszych niż "r".
Tekst jawny można wyobrazić sobie jako liczbę, zapisaną w pozycyjnym układzie liczbowym o podstawie "r".
Powiedzmy, że wybrałeś p=2; q=5; p*q=r=10, jawny tekst to np "314159", nie ściśniesz go do jednej cyfry, każdą należy kodować oddzielnie. Tu mamy skrajny przypadek, bo super hiper ultra kuku RSA zamieniło się w prosty szyfr przestawieniowy.