ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ .NET 7.0
ΠΠ»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ
Π½Π° Dibian, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° .NET Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: apt install -y dotnet7
.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ Linux; ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΠ‘, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ (ΡΠ΅ΡΠ²ΠΈΡ ΡΠ±ΠΎΡΠ° ΡΠ½ΡΡΠΎΠΏΠΈΠΈ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ).
(ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΡΡΠΈ "/proc/meminfo", "/dev/random", systemd Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ Ρ.ΠΏ.) ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ ::warn:onlylinux:sOq1JvFKRxQyw7FQ: Π΄Π°ΡΡ ΡΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Linux (ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²-ΡΡΡΠ»ΠΎΠΊ)
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ 512 Π±ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² issues. ΠΠΈΡΠΊ ΡΠΈΡΡΡΠ΅ΡΡΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 7 ΠΊΠ±Π°ΠΉΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ²Π΅Π·ΡΡ, Π΄ΠΎ 400 ΠΊΠΈΠ±ΠΈΠ±Π°ΠΉΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ), ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 2 ΠΌΠ±Π°ΠΉΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΊΠΎΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ :( .
ΠΡΠΎ - ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΊΠ° ΠΎΠ½Π° ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ Π³ΠΎΡΠΎΠ²Π° ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΈΡΡΡΠ΅Ρ (ΠΊΡΠΎΠΌΠ΅ 512-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²).
ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠ»ΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ 4096 Π±ΠΈΡΠΎΠ² ΠΈ Π²ΡΡΠ΅. ΠΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΡΡΠΎΠΉΠΊΠΎΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π½Π° ΡΠ²ΠΎΠΉ ΡΡΡΠ°Ρ ΠΈ ΡΠΈΡΠΊ.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ disk [ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ] ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡΠΎΠ²ΠΎ)
ΠΠ±ΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
VinKekFish/Docs/Dev/Crypto/keys-templates.md
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ (Π±ΠΈΠ»Π΄Π°) ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ / (ΠΊΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ).
rebuild.sh ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ΅Π±ΠΈΠ»Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ² build.sh ΡΠ΅Π±ΠΈΠ»Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΡΠ΅Π±ΠΈΠ»Π΄ΠΎΠΌ ΡΠ±ΠΎΡΡΠΈΠΊΠ° fbuild.sh "Π±ΡΡΡΡΡΠΉ" Π±ΠΈΠ»Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±Π΅Π· ΡΠ΅Π±ΠΈΠ»Π΄Π° ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΈ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΡΠΎΠ²
ΠΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΈ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ThreeFish.
SkeinFish-0.5.0.zip
ΡΡΠΎΡΠΎΠ½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ThreeFish https://github.com/nitrocaster/SkeinFish/
skein.pdf
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Skein ΠΈ TreeFish ΠΎΡ ΠΡΡΡΠ° Π¨Π½Π΅ΠΉΠ΅ΡΠ°
https://www.schneier.com/academic/skein/threefish/
NIST.FIPS.202.pdf - ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° keccak Π² ΡΠΎΡΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° NIST
Keccak-reference-3.0.pdf - ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° keccak Π² Π°Π²ΡΠΎΡΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° VinKekFish, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, ΠΏΠ»Π°Π½Ρ, Π·Π°Π΄Π°ΡΠΈ)
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: README.md
ΠΠ±ΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°: ΡΡΡΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΉΠ»Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ (keccak ΠΈ ThreeFish). ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π±Π°ΠΉΡΠΎΠ² ΠΈ Π±ΠΈΡΠΎΠ²: BytesBuider ΠΈ ΠΏΡΠΎΡΠΈΠ΅.
Π€Π°ΠΉΠ»Ρ ΡΠ΅ΡΡΠΎΠ²
Π’Π΅ΡΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ src ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ
Π€Π°ΠΉΠ»Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΡ ΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠ½ΠΈ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΠΏΡΠΎΠ±, Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.