documentation on usage of algorithms/protocols
This commit is contained in:
parent
53ac92544f
commit
c819c9bc1c
19
README.md
19
README.md
@ -25,8 +25,16 @@ W środowisku wirtualnym:
|
|||||||
|
|
||||||
## Punkt _a_ w dokumencie projektu
|
## Punkt _a_ w dokumencie projektu
|
||||||
|
|
||||||
Parametry krzywych eliptycznych znajdują się [tutaj](https://safecurves.cr.yp.to/field.html). W projekcie wykorzystano krzywą eliptyczną NIST P-224, która zdefiniowana jest przy pomocy następujących parametrów:
|
Parametry krzywych eliptycznych znajdują się [tutaj](https://safecurves.cr.yp.to/field.html). W projekcie wykorzystano krzywą eliptyczną NIST P-224, która zdefiniowana nad ciałem GF(p) rzędu $h*n$, gdzie:
|
||||||
- $p = 2^224 - 2^96 + 1$
|
- $p = 2^(224) - 2^(96) + 1$
|
||||||
|
- $h = 1$
|
||||||
|
- $n = 26959946667150639794667015087019625940457807714424391721682722368061$
|
||||||
|
a sama krzywa jest zdefiniowana równaniem:
|
||||||
|
$y^2 = x^3-3x+18958286285566608000408668544493926415504680968679321075787234672564$
|
||||||
|
|
||||||
|
Krzywa eliptyczna NIST P-224 znajduje się w rekomendacji NIST-u dot. parametrów krzywych eliptycznych _NIST SP 800-186 Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters_ – stąd decyzja o wyborze właśnie tych parametrów.
|
||||||
|
|
||||||
|
Krzywe eliptyczne zapewniają podobny poziom bezpieczeństwa co protokoły oparte na ciałach skończonych przy mniejszej długości klucza, co wiąże się z zmniejszonym obciążeniem pamięciowym i szybszymi obliczeniami.
|
||||||
|
|
||||||
## Punkt _b_ w dokumencie projektu
|
## Punkt _b_ w dokumencie projektu
|
||||||
|
|
||||||
@ -42,5 +50,8 @@ poparte [tą prezentacją](https://www.tarsnap.com/scrypt/scrypt-slides.pdf).
|
|||||||
|
|
||||||
## Punkt _c_ w dokumencie projektu
|
## Punkt _c_ w dokumencie projektu
|
||||||
|
|
||||||
Tutaj proponuję AES256 w trybie CouTeR, opisane np. [tutaj](https://www.pycryptodome.org/src/cipher/classic#ctr-mode).
|
Tutaj proponuję AES256 w trybie CounTeR, opisane np. [tutaj](https://www.pycryptodome.org/src/cipher/classic#ctr-mode).
|
||||||
Do wygenerowania noncji może zostać użyty scrypt.
|
|
||||||
|
Szyfr blokowy AES (zdefiniowany w dokumencie [NIST FIPS 197](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf)) jest zatwierdzony przez NIST. AES musi korzystać z zatwierdzonych trybów szyfrowania, wśród których został wskazany tryb CounTeR (opisany w [NIST SP 800-38A](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a.pdf)).
|
||||||
|
|
||||||
|
Do wygenerowania noncji, wykorzystywanej w trybie CounTeR, może zostać użyty scrypt, z powodów wymienionych wcześniej.
|
||||||
|
Loading…
Reference in New Issue
Block a user