以前書いた、「あるデータをパスフレーズで暗号化し、公開ストレージ(URLが判明すれば誰でも読み取り可能)に暗号化ファイルの形式で保存し(期間は無期限)、あとからパスフレーズで復号して読み取るためのコード」を改修するため、「AES-256 GCM、または、ChaCha20-Poly1305を用いて、データを1つのパスフレーズを用いて暗号化するライブラリ」をTypeScriptで書こうと考えています。 この場合の要件は: 暗号化したデータは、第三者が自由に読み取り可能であり、その場合でも安全性を保つ必要がある 暗号化したデータは、無期限で利用される場合がある。したがって、短期間のみ用いるものではない 暗号化したデータには、パスフレーズを除く、復号に必要な情報がすべて含まれる。暗号化と複合に必要な秘密情報はパスフレーズのみ になります。例えるなら、Gitリポジトリ内で特定のファイルを暗号化するよ