Google-āĻ Go āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§ āĻāĻāĻāĻ¨ āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻā§āĻ°āĻžāĻĢāĻžāĻ° Filippo Valsorda, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĄā§āĻāĻž āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ, āĻŦāĻ¯āĻŧāĻ¸ (āĻāĻ¸āĻ˛ā§ āĻāĻžāĻ˛ā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨) āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻĒā§āĻ°āĻāĻžāĻļ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻā§āĨ¤ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¸āĻŋāĻŽā§āĻā§āĻ°āĻŋāĻ (āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ) āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻ¸āĻŋāĻŽā§āĻā§āĻ°āĻŋāĻ (āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻā§) āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻā§āĻĄāĻāĻŋ Go-āĻ¤ā§ āĻ˛ā§āĻāĻž āĻāĻŦāĻ āĻŦāĻŋāĻāĻ¸āĻĄāĻŋ āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻŦāĻŋāĻ˛ā§āĻĄāĻā§āĻ˛āĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸, āĻĢā§āĻ°āĻŋāĻŦāĻŋāĻāĻ¸āĻĄāĻŋ, āĻŽā§āĻ¯āĻžāĻā§āĻ¸ āĻāĻŦāĻ āĻāĻāĻ¨ā§āĻĄā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻŽā§āĻ˛āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻĨāĻāĻāĻžāĻŦā§, āĻ°āĻžāĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻŽāĻ°āĻŋāĻāĻž āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻ˛ā§āĻāĻž āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ: HKDF (HMAC-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻāĻā§āĻ¸āĻā§āĻ°āĻžāĻā§āĻ-āĻāĻ¨ā§āĻĄ-āĻāĻā§āĻ¸āĻĒā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻā§ āĻĄā§āĻ°āĻŋāĻā§āĻļāĻ¨ āĻĢāĻžāĻāĻļāĻ¨), SHA-256, HMAC (āĻšā§āĻ¯āĻžāĻļ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻā§āĻĄ), X25519, āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŦāĻ ChaCha20-Poly1305 AEADāĨ¤
āĻŦāĻ¯āĻŧāĻ¸ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻāĻ˛āĻžāĻĻāĻž: āĻāĻŽāĻĒā§āĻ¯āĻžāĻā§āĻ 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 -R ~/.ssh/id_ed25519.pub example.jpg > example.jpg.age $ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg
āĻāĻāĻ¸āĻžāĻĨā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ°āĻžāĻĒāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻŽā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻāĻ¸āĻžāĻĨā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻĒāĻāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻāĻŋāĻā§ āĻĄāĻŋāĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸āĻŽ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻĢāĻžāĻāĻ˛ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻŦāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°ā§ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻāĻž āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻ āĻĢāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤ $age -p secrets.txt > secrets.txt.age āĻĒāĻžāĻ¸āĻĢā§āĻ°ā§āĻ āĻ˛āĻŋāĻā§āĻ¨ (āĻāĻāĻāĻŋ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ˛āĻŋ āĻ°āĻžāĻā§āĻ¨): āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻĒāĻžāĻ¸āĻĢā§āĻ°ā§āĻ "āĻ°āĻŋāĻ˛āĻŋāĻ-āĻ°āĻŋāĻ¸ā§āĻĒāĻ¨ā§āĻ¸-āĻ¸ā§āĻā§āĻĒ-āĻŦā§āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄ-āĻ°ā§āĻ¯āĻžāĻĒ-āĻāĻā§āĻāĻ˛-āĻā§āĻĄāĻŧāĻž-āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ-āĻ¸ā§āĻ°ā§āĻĄ-āĻā§āĻ°ā§āĻ¨" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ . $age -d secrets.txt.age > secrets.txt āĻĒāĻžāĻ¸āĻĢā§āĻ°ā§āĻ āĻ˛āĻŋāĻā§āĻ¨: $ age-keygen | age -p > key.age āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻā§: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 āĻĒāĻžāĻ¸āĻĢā§āĻ°ā§āĻ āĻ˛āĻŋāĻā§āĻ¨ (āĻāĻāĻāĻŋ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ˛āĻŋ āĻ°āĻžāĻā§āĻ¨): āĻ āĻā§āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻĒāĻžāĻ¸āĻĢā§āĻ°ā§āĻ-āĻ āĻā§āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻĒāĻžāĻ¸āĻĢā§āĻ°ā§āĻ-āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§- -āĻ āĻāĻŋāĻ¨ā§āĻ¤ā§āĻ°ā§"āĨ¤
āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻŦāĻ āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻā§āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° (PAKE), YubiKey āĻā§āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, āĻļāĻŦā§āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻāĻāĻžāĻ°ā§ āĻ¸āĻšāĻā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻā§āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĨ¤ FS-āĻ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻž āĻāĻ°ā§āĻāĻžāĻāĻāĻā§āĻ˛āĻŋ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻ¯āĻŧāĻ¸-āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ°āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru