ื”ืžื”ื“ื•ืจื” ื”ื™ืฆื™ื‘ื” ื”ืจืืฉื•ื ื” ืฉืœ Age, ื›ืœื™ ืขื–ืจ ืœื”ืฆืคื ืช ื ืชื•ื ื™ื

ืคื™ืœื™ืคื• ื•ืืœืกื•ืจื“ื”, ืงืจื™ืคื˜ื•ื’ืจืฃ ื”ืื—ืจืื™ ืขืœ ืื‘ื˜ื—ืช ืฉืคืช ื”ืชื›ื ื•ืช 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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”