暗号化
2023-03-19 (日) 16:59:27
暗号化とは †
名称 †
- encrypt
概要 †
- 文字列やファイル、通信の内容を第三者に見られないようにする仕組や技術のこと。
- データを暗号にすることを「暗号化」、暗号化されたデータを元に戻すことを「復号」という。(「復合化」ではない)
- 暗号化・復号には「鍵」を使用する。
- 暗号化は可逆性がある。(不可逆性の場合は、暗号化ではなくハッシュを使う)
暗号化の利用目的 †
- 秘匿性の高いデータを送信する際に、意図した相手以外がそのデータを見れないように(再現できないように)する。
- 送信するデータが改竄されていないことを受信側で確認するために、送信側で送信するデータから生成したハッシュ値を送信するデータとは別経路で送信し、受信側で受信したデータから生成したハッシュ値と受信したハッシュ値が同値であることを確認することで、改竄されていないことを証明する。
暗号化の方式 †
古典的な方式 †
近代的な方式 †
その他 †
暗号(文章を他人が読めないようにするための暗号) †
パスワードの暗号化について †
暗号規格のライブラリ †
- CryptoJS
- crypto-js
- JavaScriptのライブラリ
- https://code.google.com/archive/p/crypto-js/
- Tink
- 多言語のクロスプラットフォーム暗号ライブラリ
- https://opensource.google.com/projects/tink
- https://github.com/google/tink
- BCrypt
暗号プロトコル †
- 暗号と通信を組み合わせた技術のこと
- TLSなど
量子計算機の対策 †
- 格子理論に基づく暗号
- 符号理論に基づく暗号
- ハッシュベースの暗号
- PQC (Post-Quantum Cryptography)
暗号の安全性に関する情報 †
関連サイト †
- Java暗号化アーキテクチャ
標準アルゴリズム名のドキュメント(JDK 8用)
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/security/StandardNames.html#SecureRandom
- 暗号モジュール試験及び認証制度(JCMVP) -IPA
https://www.ipa.go.jp/security/jcmvp/index.html
- CyberChef
- 様々な暗号や符号プロトコルの変換ツール
https://gchq.github.io/CyberChef/
- 様々な暗号や符号プロトコルの変換ツール
- 鍵管理における推奨事項 NIST Special Publication 800-57 Part 1 Revision 5 -IPA
https://www.ipa.go.jp/files/000090943.pdf
- Build and Learn Rails Authentication - SpeakerDeck
https://speakerdeck.com/sylph01/build-and-learn-rails-authentication