Kryptografia/README.md

51 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2021-10-07 15:10:41 +02:00
# Kryptografia
2021-10-28 16:35:59 +02:00
## Zajęcia 3
q losujemy i sprawdzamy czy p to liczba pierwsza
```
p = 2q + 1
losujemy p-1 -> liczba pierwsza
znajdujemy pewne g : <g> = fi(p)
losujemy 1 < x < p-1
obliczamy y = q
KA = (p, q, y) -> klucz publiczny
ka = (p, x) -> klucz tajny
losujemy 1 < k < p
obliczamy c1 = q^k (mod p)
obliczamy c2 = m * y^k (mod p)
deszyfrowanie było na mini-projekcie 1
```
2021-10-21 15:03:24 +02:00
## Zajecia2
### Twierdzenie Fermata
Małe twierdzenie Fermata mówi, że jeśli p jest liczbą pierwszą i a nie dzieli się przez p, to:
```
a ^ (p-1) === 1 (mod p)
```
Przystawanie modulo [link](http://www.ftj.agh.edu.pl/~lenda/number_theory/A31.pdf) Przykład dla p = 13:
```
a^12 - 1 = k * 13
k - całkowite
(3^12 -1 / 13) = k
k = 40880
k jest całkowite więc spełnia twierdzenie Fermata.
```
### Test pierwszości Fermata
[Link](https://pl.wikipedia.org/wiki/Test_pierwszo%C5%9Bci_Fermata), ogólniej [link](https://pl.wikipedia.org/wiki/Test_pierwszo%C5%9Bci)
<br/>
a losujemy z zakresu od 1 do p - jeśli a nie będzie względnie pierwsze z p to znaczy że p nie jest liczbą pierwszą.
### Reszta kwadratowa modulo
[Link](https://pl.wikipedia.org/wiki/Reszta_kwadratowa_modulo), [przykład](https://matematyka.pl/viewtopic.php?t=354543) twierdzenie jest w materiałach na Teams.