Military-grade security

Giới thiệu về mã hóa / giải mã tệp

Learn how SendFilesEncrypted protects your files with zero-knowledge encryption

The Encryption Journey

Your files are protected every step of the way

📄
Your File
Unencrypted
🔐
Your Browser
AES-256 Encryption
🔒
Our Servers
Encrypted Only

Step-by-Step Process

1

You Upload a File

Tại sendfilesencrypted.com, chúng tôi quan tâm đến tính bảo mật của các tệp của bạn và chúng tôi muốn trải nghiệm của bạn khi chia sẻ tệp trực tuyến trở nên an toàn.

2

Browser Generates a Key

Đó là lý do tại sao chúng tôi đã triển khai chức năng mã hóa tệp miễn phí.

3

File is Encrypted

Tất cả các tệp mà bạn chia sẻ trong Sendfilesencrypted.com đang được mã hóa trước khi được tải lên máy chủ của chúng tôi, điều này bổ sung một lớp bảo mật cho mỗi tệp mà bạn chia sẻ, ngăn chặn bất kỳ người nào hoặc mối đe dọa nào truy cập vào chúng.

4

Encrypted File is Uploaded

Theo cách tương tự, tất cả các tệp của bạn được giải mã trong trình duyệt bằng mật khẩu bạn đã cung cấp khi tải chúng lên, điều này đảm bảo rằng nếu kẻ tấn công truy cập vào các tệp của bạn, chúng sẽ được mã hóa hoàn toàn.

5

Recipient Downloads

Đây là cách chúng tôi mã hóa các tệp của bạn trước khi chúng được tải lên và lưu trữ trên máy chủ của chúng tôi.

Technical Details

For security experts and the technically curious

🔐

AES-256-GCM

Mã chia các tệp của bạn thành nhiều tệp nhỏ, mỗi phần được mã hóa bằng mật khẩu bạn đã sử dụng để tải chúng lên và một mã duy nhất cho mỗi nhóm tệp, điều này mang lại khả năng bảo mật cao hơn cho các tệp của bạn. Sau quá trình này, mỗi phần của tệp được mã hóa sẽ được tải lên và lưu trữ trên máy chủ của chúng tôi. Điều này đảm bảo rằng ngay cả chúng tôi, các nhà phát triển, cũng không thể truy cập vào các tệp của bạn.

🔑

PBKDF2 Key Derivation

600,000 iterations transform your password into a secure encryption key, making brute-force attacks computationally infeasible.

🛡️

Zero-Knowledge Architecture

Bây giờ tôi sẽ chỉ cho bạn cách chúng tôi giải mã các tệp của bạn.

🔒

TLS Transport

Hãy nhớ rằng mỗi tệp gốc được biến thành nhiều phần của tệp được mã hóa, là những tệp được lưu trữ trên máy chủ của chúng tôi. Mỗi phần được tải xuống trong trình duyệt và sau đó mật khẩu bạn đã nhập và mã duy nhất của khối tệp được sử dụng để có thể giải mã từng phần sẽ được kết hợp với nhiều phần được giải mã khác của tệp gốc của bạn, sau đó tạo và tải xuống tập tin gốc.

See the Code

Our encryption implementation is transparent. Here's a simplified version of how we encrypt your files:

encryption.js
// Derive encryption key from password
async function deriveKey(password, salt) {
  const encoder = new TextEncoder();
  const keyMaterial = await crypto.subtle.importKey(
    'raw',
    encoder.encode(password),
    'PBKDF2',
    false,
    ['deriveBits', 'deriveKey']
  );

  return crypto.subtle.deriveKey(
    {
      name: 'PBKDF2',
      salt: salt,
      iterations: 600000,  // High iteration count
      hash: 'SHA-256'
    },
    keyMaterial,
    { name: 'AES-GCM', length: 256 },
    false,
    ['encrypt', 'decrypt']
  );
}

// Encrypt file data
async function encryptFile(fileData, password) {
  const salt = crypto.getRandomValues(new Uint8Array(16));
  const iv = crypto.getRandomValues(new Uint8Array(12));
  const key = await deriveKey(password, salt);

  const encrypted = await crypto.subtle.encrypt(
    { name: 'AES-GCM', iv: iv },
    key,
    fileData
  );

  return { encrypted, salt, iv };
}

This is a simplified example. Our actual implementation includes additional security measures.

⚠️

Important Security Note

Nếu không có mật khẩu, chúng tôi sẽ không thể giải mã các tệp của bạn và bạn sẽ nhận được một tệp bị hỏng không thể đọc được.

Thích những gì bạn đọc?

Send your first encrypted file in seconds. No account required.

Gửi các tệp được mã hóa ngay bây giờ