ืคืืืืคื ืืืืกืืจืื, ืงืจืืคืืืืจืฃ ืืืืจืื ืขื ืืืืืช ืฉืคืช ืืชืื ืืช Go ืืืืื, ืคืจืกื ืืช ืืืืืืจื ืืืฆืืื ืืจืืฉืื ื ืฉื ืืื ืขืืจ ืืืฉ ืืืฆืคื ืช ื ืชืื ืื, Age (Actually Good Encryption). ืืฉืืจืืช ืืกืคืง ืืืฉืง ืฉืืจืช ืคืงืืื ืคืฉืื ืืืฆืคื ืช ืงืืฆืื ืืืืฆืขืืช ืืืืืจืืชืืื ืงืจืืคืืืืจืคืืื ืกืืืืจืืื (ืกืืกืื) ืืืกืืืืจืืื (ืืคืชื ืฆืืืืจื). ืงืื ืืคืจืืืงื ืืชืื ื-Go ืืืืคืฅ ืชืืช ืจืืฉืืื BSD. Builds ืืืื ืื ืขืืืจ Linux, FreeBSD, macOS ื-Windows.
ืืคืื ืงืฆืืืช ืืืกืืกืืืช ืืืืืืช ืืกืคืจืืื ืฉื ืืชื ืืืฉืชืืฉ ืื ืืื ืืฉืื ืืช ืืคืื ืงืฆืืื ืืืืช ืฉืืกืคืงืช ืืื ืืฉืืจืืช ืืชืื ืืชืืื ืืืช ืฉืื. ืื ืคืจื, ืืืกืืจืช ืคืจืืืงื ืืืขื, ืืคืืชื ืืืฉืื ืืืืคื ืฉื ืืื ืขืืจ ืืกืคืจืืื ืืืืื, ืืืชืืืื ืืฉืคืช Rust. ืืืฆืคื ื, ื ืขืฉื ืฉืืืืฉ ืืืืืืจืืชืืื ืืืืืื: HKDF (ืคืื ืงืฆืืืช ืืืืืฅ ืืืจืืืช ืืคืชื ืืืืกืกื HMAC), SHA-256, HMAC (ืงืื ืืืืืช ืืืืขืืช ืืืืกืก Hash), X25519, Scrypt ื-ChaCha20-Poly1305 AEAD.
ืืื ืืชืืื ืืช ืฉื Age, ืืืืืืืช ืืืืืช: ืืืืืืช ืืืฉืชืืฉ ืืืคืชืืืช ืฆืืืืจืืื ืงืืืคืงืืืื ืฉื 512 ืกืืืืืช, ืืืืขืืจืื ืืงืืืช ืืจื ืืืื; ืืืฉืง ืฉืืจืช ืคืงืืื ืคืฉืื ืื ืขืืืก ืืืคืฉืจืืืืช; ืืืกืจ ืืงืืฆื ืชืฆืืจื; ืืคืฉืจืืช ืฉืืืืฉ ืืกืงืจืืคืืื ืืืฉืืืื ืขื ืืื ืขืืจ ืืืจืื ืขื ืืื ืื ืืืช ืฉืจืฉืจืช ืฉืืืืช ืืกืื ืื 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/id ~/.ps.jpg $25519/id ~/.ps.jpg > example.jpg.age $ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg
ืงืืื ืืฆื ืืฆืคื ืช ืงืืฆืื ืืืกืคืจ ื ืืขื ืื ืื ืืื ืืช, ืื ืืงืืืฅ ืืืฆืคื ืื ืืื ืืช ืืืืฆืขืืช ืืกืคืจ ืืคืชืืืช ืฆืืืืจืืื ืืื ืืื ืืจืฉืืืช ืื ืืขื ืื ืืืื ืืคืขื ื ืืืชื. ืืืื ืืกืืคืงืื ืื ืืืฆืคื ืช ืงืืฆืื ืกืืืืจืืช ืืืืกืกืช ืกืืกืื ืืืืื ื ืขื ืงืืฆื ืืคืชื ืคืจืื ืขื ืืื ืืฆืคื ืชื ืืืืฆืขืืช ืกืืกืื. ืชืืื ื ืฉืืืืฉืืช ืืื ืฉืื ืชืืื ืกืืกืื ืจืืงื ืืืืื ืืืฆืคื ื, ืืื ืืฉืืจืืช ืืคืืง ืืืืืืืืช ืืืฆืืข ืกืืกืื ืืืงื. $ 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.age Public: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHNEHNEHPQRJPYX0 ืืื ืืฉืคื ืกืืกืื (ืืฉืืืจื ืจืืง ืืื ืืืฆืืจ ืืืืืืืืช ืืช aCure One): ืฉืืืืฉ ืืืฉืคื ืืกืืกืื ืืืืืืื ื "-HIPONEHNEHNEHNEHPQRJPYX0 ืฉืืงื ืืช".
ืืชืื ืืืช ืืขืชืื ืืืืืืช ืืฆืืจืช ืงืฆื ืืืืจื ืืืืกืื ืกืืกืืืืช ืืฉืจืช ืืืคืชืืืช ืืฉืืชืคืื (PAKE), ืชืืืื ืืืคืชืืืช YubiKey, ืืืืืช ืืืฆืืจ ืืคืชืืืช ืงืืื ืืืืืจ ืืฆืืจืช ืงืืืฆืช ืืืืื, ืืืืฆืืจื ืฉื ืืื ืขืืจ ืืืจืืืช ืืื ืืืจืืืช ืงืืฆืื ืื ืืจืืืื ืื ืืืฆืคื ืื ื-FS.
ืืงืืจ: OpenNet.ru