Bản phát hành ổn định đầu tiên của Age, tiện ích mã hóa dữ liệu

Filippo Valsorda, một nhà mật mã học chịu trách nhiệm về tính bảo mật của ngôn ngữ lập trình Go tại Google, đã xuất bản bản phát hành ổn định đầu tiên của tiện ích mã hóa dữ liệu mới, Age (Actually Good Encryption). Tiện ích này cung cấp giao diện dòng lệnh đơn giản để mã hóa các tệp bằng thuật toán mã hóa đối xứng (mật khẩu) và bất đối xứng (khóa chung). Mã dự án được viết bằng Go và được phân phối theo giấy phép BSD. Các bản dựng được chuẩn bị cho Linux, FreeBSD, macOS và Windows.

Các chức năng cơ bản được bao gồm trong thư viện có thể được sử dụng để tích hợp chức năng do tiện ích cung cấp vào chương trình của bạn. Riêng biệt, trong khuôn khổ dự án Rage, một triển khai thay thế của một tiện ích và thư viện tương tự, được viết bằng ngôn ngữ Rust, đang được phát triển. Để mã hóa, các thuật toán đã được chứng minh được sử dụng: HKDF (Chức năng phái sinh khóa trích xuất và mở rộng dựa trên HMAC), SHA-256, HMAC (Mã xác thực thư dựa trên hàm băm), X25519, Scrypt và ChaCha20-Poly1305 AEAD.

Trong số các tính năng của Age, nổi bật sau: khả năng sử dụng khóa chung 512-bit nhỏ gọn, dễ dàng chuyển qua khay nhớ tạm; giao diện dòng lệnh đơn giản không bị quá tải với các tùy chọn; thiếu tập tin cấu hình; Khả năng sử dụng trong các tập lệnh và kết hợp với các tiện ích khác bằng cách xây dựng chuỗi lệnh gọi theo kiểu UNIX. Cả việc tạo khóa nhỏ gọn của riêng bạn và sử dụng các khóa SSH hiện có (“ssh-ed25519”, “ssh-rsa”) đều được hỗ trợ, bao gồm hỗ trợ cho các tệp Github.keys. $ age-keygen -o key.txt Khóa công khai: 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

Có một chế độ mã hóa tệp cho nhiều người nhận cùng một lúc, trong đó tệp được mã hóa đồng thời bằng nhiều khóa chung và mỗi danh sách người nhận có thể giải mã nó. Các công cụ cũng được cung cấp để mã hóa tệp dựa trên mật khẩu đối xứng và để bảo vệ các tệp khóa riêng bằng cách mã hóa chúng bằng mật khẩu. Một tính năng hữu ích là nếu bạn nhập mật khẩu trống trong quá trình mã hóa, tiện ích sẽ tự động tạo và cung cấp mật khẩu mạnh. $ age -p secret.txt > secret.txt.age Nhập cụm mật khẩu (để trống để tự động tạo một cụm mật khẩu an toàn): Sử dụng cụm mật khẩu được tạo tự động "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secret.txt.age > secret.txt Nhập cụm mật khẩu: $ age-keygen | Age -p> key.age.age Public: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHNEHPQRJPYX0 ENTER PASSPHRASE (Để trống để tự động tạo aCure One): Sử dụng cụm mật khẩu được tạo tự động "HIP-RAST-BORING-SNAKE-MEAST-WASP-HONEY-INPUT-Actress".

Các kế hoạch cho tương lai bao gồm việc tạo ra một chương trình phụ trợ để lưu trữ mật khẩu và một máy chủ cho các khóa chia sẻ (PAKE), hỗ trợ các khóa YubiKey, khả năng tạo các khóa dễ nhớ dưới dạng một tập hợp các từ và tạo của một tiện ích phù hợp với độ tuổi để gắn các tệp hoặc kho lưu trữ được mã hóa trong FS.

Nguồn: opennet.ru

Thêm một lời nhận xét