Military-grade security

파일 암호화/복호화 정보

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

sendfilesencrypted.com에서 우리는 파일의 보안을 중요하게 생각하며 온라인에서 파일을 공유하는 경험이 안전하고 안전하다고 느끼기를 바랍니다.

2

Browser Generates a Key

이것이 우리가 무료 파일 암호화 기능을 구현한 이유입니다.

3

File is Encrypted

귀하가 Sendfilesencrypted.com에서 공유하는 모든 파일은 당사 서버에 업로드되기 전에 암호화되며, 이는 귀하가 공유하는 각 파일에 보안 계층을 추가하여 사람이나 위협이 파일에 액세스하는 것을 방지합니다.

4

Encrypted File is Uploaded

같은 방식으로 모든 파일은 업로드할 때 제공한 암호를 사용하여 브라우저에서 해독됩니다. 이렇게 하면 공격자가 파일에 액세스하는 경우 파일이 완전히 암호화됩니다.

5

Recipient Downloads

다음은 파일을 업로드하여 서버에 저장하기 전에 암호화하는 방법입니다.

Technical Details

For security experts and the technically curious

🔐

AES-256-GCM

이 코드는 파일을 여러 개의 작은 파일로 나눕니다. 각 부분은 파일을 업로드할 때 사용한 비밀번호와 각 파일 그룹에 대한 고유 코드를 사용하여 암호화되므로 파일 보안이 더욱 강화됩니다. 이 프로세스 후에 암호화된 파일의 각 부분이 업로드되어 서버에 저장됩니다. 이렇게 하면 개발자인 우리도 파일에 액세스할 수 없습니다.

🔑

PBKDF2 Key Derivation

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

🛡️

Zero-Knowledge Architecture

이제 파일을 해독하는 방법을 보여 드리겠습니다.

🔒

TLS Transport

각 원본 파일은 우리 서버에 저장되는 많은 암호화된 파일 조각으로 바뀌었음을 기억하십시오. 각 조각은 브라우저에서 다운로드되고 입력한 암호와 파일 블록의 고유 코드는 원본 파일의 다른 많은 해독된 조각에 결합될 각 조각을 해독하는 데 사용됩니다. 그런 다음 생성 및 다운로드 원본 파일.

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

암호가 없으면 파일을 해독할 수 없으며 읽을 수 없는 손상된 파일을 얻게 됩니다.

당신이 읽은 것과 같이?

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

지금 암호화된 파일 보내기