Page cover

⚙️エンドツーエンド暗号化

エンドツーエンド暗号化は、通信の当事者のみがメッセージの内容にアクセスし読み取ることを保証します。第三者、包括Alienのサーバーも、この情報を解読できません。

  • 非対称暗号化(RSA):RSA公開鍵/秘密鍵ペアを使用してメッセージを暗号化および解読します。送信者は受信者の公開鍵を使用してメッセージを暗号化し、受信者は自分の秘密鍵を使用してメッセージを解読します。

  • 対称暗号化(AES):効率を向上させるために、メッセージ内容はAES対称暗号化を使用して暗号化され、鍵はRSA暗号化を使用して伝送されます。

// Example: End-to-End Encrypted Messages

import { encrypt, decrypt, generateKeyPair } from 'crypto';

const { publicKey, privateKey } = generateKeyPair();

// Encrypting Messages

function encryptMessage(message, recipientPublicKey) {

const encryptedMessage = encrypt(recipientPublicKey, Buffer.from(message));

return encryptedMessage.toString('base64');

}

// Decrypting Messages

function decryptMessage(encryptedMessage, recipientPrivateKey) {

const decryptedMessage = decrypt(recipientPrivateKey, Buffer.from(encryptedMessage, 'base64'));

return decryptedMessage.toString();

}

Last updated