Filippo Valsorda, ืึท ืงืจืืคึผืืึธืืจืึทืฃ ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืื ืืืืขืจืืืื ืคืื ืื Go ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื ืืื Google, ืืื ืคืืจืขืคื ืืืขืื ืืขืจ ืขืจืฉืืขืจ ืกืืึทืืื ืืขืืืื ื ืคืื ืึท ื ืืึทืข ืืึทืื ืขื ืงืจืืคึผืฉืึทื ื ืืฆื, Age (Actually Good Encryption). ืื ื ืืฆื ืืื ืึท ืคึผืฉืื ืืึทืคึฟืขืื ืฉืืจื ืฆืืืื ื ืคึฟืึทืจ ืขื ืงืจืืคึผืืื ื ืืขืงืขืก ื ืืฆื ืกืืืืขืืจืืง (ืฉืคึผืจืืืืืึธืจื) ืืื ืึทืกืืืืขืืจืืง (ืฆืืืืจ ืฉืืืกื) ืงืจืืคึผืืึธืืจืึทืคืืง ืึทืืืขืจืืืึทืื. ืื ืคึผืจืืืขืงื ืงืึธื ืืื ืืขืฉืจืืื ืืื Go ืืื ืคืื ืื ืืขืจืืขืืืืื ืืื ืืขืจ ืื BSD ืืขืจืืืืืขื ืืฉ. ืืืืื ืืขื ืขื ืฆืืืขืืจืืื ืคึฟืึทืจ ืืื ืืงืก, ืคืจืขืขืืกื, ืืึทืงืึธืก ืืื ืืืื ืืึธืื.
ืื ืืงืขืจืืืง ืคืึทื ืืงืฉืึทื ื ืืขื ืขื ืื ืงืืืืขื ืืื ืึท ืืืืืืึธืืขืง ืืืึธืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืฆื ืืืกืฉืืืืขื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืฆืืืขืฉืืขืื ืืืจื ืื ื ืืฆื ืืื ืืืื ืืืืื. ืกืขืคึผืขืจืึทืืื, ืืื ืื ืคืจืืืืืืขืจืง ืคืื ืื ืฉืืืจืขื ืคึผืจืืืขืงื, ืึทื ืึธืืืขืจื ืึทืืืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืึท ืขื ืืขื ื ืืฆื ืืื ืืืืืืึธืืขืง, ืืขืฉืจืืื ืืื ืื ืจืืกื ืฉืคึผืจืึทื, ืืื ืืขืืืขืืึธืคึผืขื. ืคึฟืึทืจ ืขื ืงืจืืคึผืฉืึทื, ืคึผืจืึธืืืขื ืึทืืืขืจืืืึทืื ืืขื ืขื ืืขื ืืฆื: HKDF (HMAC-ืืืืืจื ืขืงืกืืจืึทืงื-ืืื-ืขืงืกืคึผืึทื ื ืฉืืืกื ืืขืจืืืืึทืืืึธื ืคึฟืื ืงืฆืืข), SHA-256, HMAC (ืืึทืฉ-ืืืืืจื ืึธื ืืึธื ืึธืืขื ืืึทืงืืืฉืึทื ืงืึธืื), X25519, Scrypt ืืื ChaCha20-Poly1305 AEAD.
ืฆืืืืฉื ืื ืคึฟืขืึดืงืืืื ืคืื ืึทืืข, ืื ืคืืืืขื ืืข ืฉืืืื ืืืืก: ืื ืคืืืืงืืื ืฆื ื ืืฆื ืกืึธืืื 512-ืืืกื ืฆืืืืจ ืฉืืืกืืขื, ืืืืื ืืจืึทื ืกืคืขืจื ืืืจื ืื ืงืืืคึผืืึธืจื; ืคึผืฉืื ืืึทืคึฟืขืื ืฉืืจื ืฆืืืื ื ื ืื ืึธืืืืขืจืืึธืืืื ืืื ืึธืคึผืฆืืขืก; ืคืขืื ืคืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืขืก; ืื ืืขืืืขืืงืืื ืคืื ื ืืฆื ืืื ืกืงืจืืคึผืก ืืื ืืื ืงืึธืืืื ืึทืฆืืข ืืื ืื ืืขืจืข ืืืืืืึทืืื ืืืจื ืืืืขื ืึท ืงืืื ืคืื ืงืึทืืืก ืืื UNIX ืกืืื. ืืืืืข ืืืฉืขื ืขืจืืืืื ื ืืืื ืืืืืขื ืข ืกืึธืืื ืฉืืืกืืขื ืืื ื ืืฆื ืืืืืกืืื ื SSH ืฉืืืกืืขื ("ssh-ed25519", "ssh-rsa") ืืื ืืขืฉืืืฆื, ืึทืจืืึทื ืืขืจืขืื ื ืฉืืืฆื ืคึฟืึทืจ Github.keys ืืขืงืขืก. $ age-keygen -o key.txt ืฆืืืืจ ืฉืืืกื: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | ืขืืืขืจ -ืจ age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ age --decrypt -i key.txt data.tar.gz.age > data.tar.gz $ age/id_25519.pub.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 ืคึผืืืืืง: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHNEHPQRJPYX0 ืึทืจืืึทื ืคึผืึทืกืกืคืจืึทืกืข (ืืึธืื ืืืืืืง ืฆื ืึทืืืึธืืขื ืืื ืึทืงืืจืข ืืืื): ื ืืฆื ืื ืึทืืืึธืืขื ืขื ืคึผืึทืกืกืคืจืึทืืข-ืืืคึผ-ื ืขื -ืืคึผ-ื ืขื -ืคืจืึทืกืข ืึทืงืืจืืกืข".
ืคึผืืึทื ื ืคึฟืึทืจ ืืขืจ ืฆืืงืื ืคึฟื ืึทืจืืึทื ื ืขืืขื ืื ืฉืึทืคืื ื ืคืื ืึท ืืึทืงืขื ื ืคึฟืึทืจ ืกืืึธืจืื ื ืคึผืึทืกืืืขืจืื ืืื ืึท ืกืขืจืืืขืจ ืคึฟืึทืจ ืฉืขืจื ืฉืืืกืืขื (PAKE), ืฉืืืฆื ืคึฟืึทืจ YubiKey ืฉืืืกืืขื, ืื ืคืืืืงืืื ืฆื ืืืฉืขื ืขืจืืื ืืจืื ื-ืฆื-ืืขืืขื ืงืขื ืฉืืืกืืขื ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืึทื ื ืคืื ืืืขืจืืขืจ, ืืื ืื ืฉืึทืคืื ื. ืคืื ืึทื ืขืืืขืจ-ืืืจื ื ืืฆื ืคึฟืึทืจ ืืึทืื ืืื ื ืื ืงืจืืคึผืืื ืืขืงืขืก ืึธืืขืจ ืึทืจืงืืืืื ืืื ืื FS.
ืืงืืจ: opennet.ru