Filippo Valsorda, เบเบฑเบเบเบฝเบเบฅเบฐเบซเบฑเบเบฅเบฑเบเบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเบเปเบฒเบเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก Go เบขเบนเป Google, เปเบเปเปเบเบตเบเปเบเปเบเบฒเบเบเปเบญเบเบเบปเบงเบเปเบฒเบญเบดเบเบเบตเปเบซเบกเบฑเปเบเบเบปเบเบเบญเบเบญเบธเบเบฐเบเบญเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเปเปเบกเบนเบเปเบซเบกเป, เบญเบฒเบเบธ (เบเบปเบงเบเบดเบเปเบฅเปเบงเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเบตเปเบเบต). เบเบปเบเบเบฐเปเบซเบเบเบชเบฐเบซเบเบญเบเบเบฒเบเปเบเปเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเบฅเปเปเบเบเปเบเป symmetric (เบฅเบฐเบซเบฑเบเบเปเบฒเบ) เปเบฅเบฐ asymmetric (public key) algorithms cryptographic. เบฅเบฐเบซเบฑเบเปเบเบเบเบฒเบเปเบกเปเบเบเบฝเบเปเบ Go เปเบฅเบฐเปเบเบเบขเบฒเบเบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบ BSD. เบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบเบเบฝเบกเบเปเบญเบกเบชเปเบฒเบฅเบฑเบ Linux, FreeBSD, macOS เปเบฅเบฐ Windows.
เบเบฑเบเบเบฑเบเบเบทเปเบเบเบฒเบเปเบกเปเบเบฅเบงเบกเบขเบนเปเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฒเบเบเปเบฒเบเบฒเบเบเบตเปเบชเบฐเบซเบเบญเบเปเบเบเบเบปเบเบเบฐเปเบซเบเบเปเบเบปเปเบฒเปเบเปเบเบเบเบฒเบเบเบญเบเบเปเบฒเบ. เปเบเบเบเปเบฒเบเบซเบฒเบ, เปเบเบเบญเบเบเบญเบเปเบเบเบเบฒเบ rage, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบญเบเบเบปเบเบเบฐเปเบซเบเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเปเบฅเบฐเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบเปเบเบเบฒเบชเบฒ Rust, เปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒ. เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ, เบเบฑเปเบเบเบญเบเบเบฒเบเบเบดเบชเบนเบเปเบเปเบเบทเบเบเปเบฒเปเบเป: HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt เปเบฅเบฐ ChaCha20-Poly1305 AEAD.
เปเบเบเบฑเบเบเบฒเบเบธเบเบชเบปเบกเบเบฑเบเบเบญเบเบญเบฒเบเบธ, เบเบฑเปเบเบเปเปเปเบเบเบตเปเบขเบทเบเบญเบญเบ: เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบฐเปเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ 512-bit เบซเบเบฒเปเบซเบเปเบ, เปเบญเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบเบเบเปเบฒเบ clipboard เปเบเป; เบเบฒเบเปเบเปเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเบเบฒเบเบเปเป overloaded เบเบฑเบเบเบฒเบเปเบฅเบทเบญเบ; เบเบฒเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ; เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบชเบฐเบเบดเบเปเบฅเบฐเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบเบเบปเบเบเบฐเปเบซเบเบเบญเบทเปเบเปเปเบเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบฒเบเปเบเปเบเปเบเบ UNIX. เบเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฐเปเบเบเบฐเปเบฒเบเบเปเบญเบเบเบญเบเปเบเบปเปเบฒเปเบญเบ เปเบฅเบฐเปเบเปเบเบฐเปเบ SSH เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง (โssh-ed25519โ, โssh-rsaโ) เปเบกเปเบเบฎเบญเบเบฎเบฑเบ, เบฅเบงเบกเบเบฑเบเบเบฒเบเบฎเบญเบเบฎเบฑเบเปเบเบฅเป Github.keys. $ age-keygen -o key.txt เบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $tar cvz ~/data | age -r age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ age --decrypt -i key.txt data.tar.gz.age > data.tar.gz $age-25519p example.jpg. > example.jpg.age $ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg
เบกเบตเบฎเบนเบเปเบเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเบฅเปเบชเปเบฒเบฅเบฑเบเบเบนเปเบฎเบฑเบเบซเบผเบฒเบเปเบเบปเบเปเบเบเบฑเปเบเบเบฝเบง, เปเบเบดเปเบเปเบเบฅเปเบเบฐเบเบทเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเปเบญเบกเบเบฑเบเปเบเบเปเบเปเบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบซเบผเบฒเบเบญเบฑเบ เปเบฅเบฐเปเบเปเบฅเบฐเบฅเบฒเบเบเบทเปเบเบญเบเบเบนเปเบฎเบฑเบเบชเบฒเบกเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเบกเบฑเบเปเบเป. เปเบเบทเปเบญเบเบกเบทเบเบฑเบเบเบทเบเบชเบฐเบซเบเบญเบเปเบซเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเบฅเปเบเบตเปเบญเบตเบเปเบชเปเบฅเบฐเบซเบฑเบ symmetric เปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเปเบญเบเปเบเบฅเปเบเบตเปเบชเปเบฒเบเบฑเบเบชเปเบงเบเบเบปเบงเปเบเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบเปเบเปเบฅเบฐเบซเบฑเบเบเปเบฒเบ. เบเบธเบเบเบฐเบชเบปเบกเบเบฑเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเปเบกเปเบเบงเปเบฒเบเปเบฒเบเปเบฒเบเปเบชเปเบฅเบฐเบซเบฑเบเบเปเบฒเบเบซเบงเปเบฒเบเปเบเบปเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ, เบเบปเบเบเบฐเปเบซเบเบเบเบฐเบชเปเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบฅเบฐเบชเบฐเปเบซเบเบตเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบตเปเปเบเบฑเปเบกเปเบเบ. $ age -p secrets.txt > secrets.txt.age เบเปเบญเบเบงเบฐเบฅเบตเบเปเบฒเบ (เบเปเบญเบเปเบซเปเบซเบงเปเบฒเบเปเบเบปเปเบฒเปเบเบทเปเบญเบชเปเบฒเบเบเบงเบฒเบกเบเบญเบเปเบเปเบซเปเบญเบฑเบเบเบฐเปเบเบกเบฑเบ): เบเบฒเบเปเบเปเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secrets.txt.age > secrets.txt เปเบชเปเบฅเบฐเบซเบฑเบเบเปเบฒเบ: $ age-keygen | age -p > key.age เบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 เบเปเบญเบเบงเบฐเบฅเบตเบเปเบฒเบ (เบเปเบญเบเปเบซเปเบซเบงเปเบฒเบเปเบเบปเปเบฒเปเบเบทเปเบญเบเบฐเบฅเบดเบเบญเบฑเบเบเบตเปเบเบญเบเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ): เบเบฒเบเปเบเปเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบญเบ "hip-spasing-shoast-borastake"
เปเบเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบญเบฐเบเบฒเบเบปเบเบเบฐเบเบญเบเบกเบตเบเบฒเบเบชเปเบฒเบ backend เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบเบเปเบฒเบเปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเบตเปเปเบเปเบฎเปเบงเบกเบเบฑเบ (PAKE), เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฅเบฐเบซเบฑเบ YubiKey, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเบเปเบฒเบเบเปเปเบเบฒเบเบเบทเปเบเปเบฒเปเบเบฎเบนเบเปเบเบเบเบญเบเบเปเบฒเบเบตเปเบเปเบฒเบเบปเบเปเบงเป, เปเบฅเบฐเบเบฒเบเบชเปเบฒเบ เบเบปเบเบเบฐเปเบซเบเบเบเบญเบเบญเบฒเบเบธเบชเบนเบเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบฅเปเบเบตเปเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบเบซเบผเบทเปเบเปเบกเบเบฑเบเปเบเบฑเบเปเบ FS.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru