# データ暗号化

Alienは、すべてのユーザーデータとファイルを暗号化して、データが保存および伝送中に無許可のアクセスを受けないようにしています。

* ローカル暗号化：ユーザーのデバイスでローカル暗号化が行われ、AESを使用してチャット記録や設定データを暗号化し、キーはデバイスの安全なストレージエリアに保存されます。
* オンチェーン暗号化：暗号化されたデータのハッシュ値がブロックチェーンに保存され、ブロックチェーンの改ざん不可性と透明性を利用して、データの完全性とセキュリティを確保します。

// Example: Data Encryption Storage

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

import { storeFileOnIPFS, storeHashOnBlockchain } from './storage';

\ <br>

// Generate AES Key

const aesKey = generateKey('aes', { length: 256 });

\ <br>

// Encrypt File

function encryptFile(file) {

&#x20;const encryptedFile = encrypt(aesKey, file);

&#x20;return encryptedFile;

}

\ <br>

// Store Encrypted File and Hash

async function storeFile(file) {

&#x20;const encryptedFile = encryptFile(file);

&#x20;const fileHash = await storeFileOnIPFS(encryptedFile);

&#x20;await storeHashOnBlockchain(fileHash);

}
