Mã hóa và giải mã Serpent
Mã hóa và giải mã văn bản bằng Serpent, thuật toán lọt vào chung kết cuộc thi AES.
Bạn sẽ cần lại mật khẩu này để giải mã. Không có gì bạn gõ rời khỏi trang này.
Mặc định của OpenSSL là 10.000. Số nào cũng được: càng nhiều thì mật khẩu càng khó đoán; khi giải mã cần đúng số đó.
Lựa chọn thông dụng với OpenSSL. Cần IV; đệm cho đủ khối.
OpenSSL không có thuật toán mã hóa Serpent.
Serpent, do Ross Anderson, Eli Biham và Lars Knudsen thiết kế, đứng thứ hai trong cuộc thi AES. Nó mã hóa các khối 16 byte bằng khóa 128, 192 hoặc 256 bit qua 32 vòng — một biên an toàn lớn có chủ ý khiến nó chậm hơn Rijndael, thuật toán thắng cuộc trở thành AES — và chưa có tấn công thực tế nào được biết đến. Tại đây bạn có thể mã hóa và giải mã văn bản bằng Serpent-256 theo mặc định (hoặc 128, 192) ở chế độ CBC, ECB, CTR, CFB hoặc OFB. Khi dùng mật khẩu, khóa và IV được tạo từ PBKDF2-HMAC-SHA256 với salt ngẫu nhiên, và kết quả được lưu theo cấu trúc Salted__ của openssl enc -pbkdf2; hoặc bạn có thể nhập khóa và IV hex của riêng mình. Văn bản và khóa không bao giờ rời khỏi thiết bị của bạn: công cụ chạy trong trình duyệt, miễn phí và không cần đăng ký.
Cách mã hóa văn bản bằng Serpent
- Chọn Mã hóa hoặc Giải mã. Gõ văn bản cần mã hóa, hoặc dán văn bản Base64 hay hex cần giải mã — định dạng được nhận diện tự động.
- Nhập mật khẩu (nút Tạo sẽ sinh một mật khẩu mạnh), hoặc chuyển sang Khóa & IV (hex) rồi nhập hoặc tạo khóa và IV 32 chữ số (ECB không có IV).
- Chọn độ dài khóa (mặc định 256 bit) và chế độ, mặc định CBC. Khi giải mã, hãy dùng đúng các thiết lập đã dùng để mã hóa.
- Sao chép hoặc tải xuống kết quả, hoặc bấm Hoán đổi để đưa kết quả vào ô nhập và đổi chiều.
Tính năng
- Serpent với khóa 128, 192 hoặc 256 bit, đủ 32 vòng
- Chế độ CBC, ECB, CTR, CFB và OFB; đệm PKCS#7 hoặc không đệm
- Thứ tự byte chuẩn, giống các vector kiểm thử của NESSIE
- Chế độ mật khẩu với PBKDF2-HMAC-SHA256 và phần đầu Salted__ của openssl enc -pbkdf2
- Chế độ Khóa & IV với khóa và IV hex của riêng bạn, hoặc tạo ngẫu nhiên
- Base64 hoặc hex cho đầu vào và đầu ra; sao chép, tải xuống hoặc Hoán đổi kết quả
Có riêng tư không?
Có. Serpent chạy bằng WebAssembly ngay trong trình duyệt; văn bản, mật khẩu và khóa của bạn không bao giờ bị gửi đến máy chủ hay lưu trong trình duyệt.
Câu hỏi thường gặp
Serpent có an toàn không?
Có. Chưa có tấn công thực tế nào vào Serpent đầy đủ 32 vòng; nó được thiết kế để vẫn an toàn ngay cả khi các kỹ thuật tấn công tiến bộ hơn, đổi lại là tốc độ. Với văn bản có kích thước thông thường, chênh lệch tốc độ không đáng kể. AES được hỗ trợ gần như ở mọi nơi, nên hãy chọn Serpent khi hệ thống bạn trao đổi dữ liệu đang dùng nó.
OpenSSL có giải mã được Serpent không?
Không — OpenSSL không có Serpent, nên không lệnh openssl nào đọc được kết quả này. Để dùng dữ liệu trong chương trình khác, hãy chọn chế độ Khóa & IV và cung cấp cho chương trình đó cùng khóa, IV, chế độ và kiểu đệm (PKCS#7 cho CBC và ECB).
Vì sao dữ liệu Serpent từ chương trình khác không giải mã được?
Nếu khóa, IV và chế độ đều đúng, nguyên nhân thường là thứ tự byte: một số bản triển khai ghi các byte đầu vào và đầu ra của Serpent theo thứ tự ngược — Bouncy Castle gọi biến thể đó là Tnepres. Trang này dùng thứ tự chuẩn của các vector kiểm thử NESSIE, nên dữ liệu từ bản triển khai Tnepres sẽ không giải mã được ở đây.
Có mở được ổ VeraCrypt mã hóa bằng Serpent không?
Không. VeraCrypt mã hóa toàn bộ ổ đĩa và tệp container bằng Serpent ở chế độ XTS, kèm phần đầu riêng của nó; còn trang này mã hóa và giải mã văn bản. Hãy mở ổ VeraCrypt bằng VeraCrypt; để khóa một tệp đơn lẻ ngay trong trình duyệt, hãy dùng Mã hóa tệp.