Security
セキュリティに関するあれこれ。
暗号化と証明

ハッシュ関数

共通鍵暗号

電子署名
電子署名 (digital signature) は文書に対する承認と、文書内容の保障を電子的に付け加えるための技術。公開鍵を使用することにより他人によって行われた署名でない事、署名された時点から文書内容に変更がない事の 2 点を証明することができる。…

秘密分散共有
秘密分散共有 (secret sharing) または単に秘密分散は秘密情報 \(S\) を \(n\) 個の分散情報に符号化する暗号化アルゴリズムの一種。特に (k,n) しきい値法では \(n\) 個の分散情報のうち任意の \(k\) 個が揃えば元の秘密情報 \(S\) を再構築することができる (\(k\) 個に満たない場合は再構築することができない)。…

メッセージ認証コード
メッセージ認証コード (MAC; message authentication code) はメッセージが発行者によって発行されてから破損や改ざんを受けていないことを検証するために使用する小さなデータ。…

Verifiable Random Function
VRF (verifiable random function) は公開鍵ペアを使用する暗号学的ハッシュ関数である。VRF 関数は秘密鍵を使ってある入力値に対するハッシュ値を算出することができる。…

鍵共有アルゴリズム
暗号技術における鍵共有 (key exchange) とは、共通の秘匿情報を持たない当事者間で公にされている情報のみを用いて、すべての当事者サイドで通信内容を保護するための共通の鍵を生成する方法。…
公開鍵

公開鍵暗号 入門
異なる鍵 A と B が存在した場合、A で暗号化したデータが B でしか復号化できないといった特殊な鍵の組み合わせを非対称鍵 (asymmetric key) と言う。公開鍵暗号 (public-key encryption) は非対称鍵の特性を利用して鍵の片方を暗号化用に相手に公開し (公開鍵)、もう片方を復号化用に非公開にしておく (秘密鍵) 方式。…

公開鍵 概説
ElGamal 暗号は 1984 年に考案された CDH 仮定に基づいた公開鍵暗号方式。公開鍵で暗号化した暗号文は秘密鍵でしか復号化できず、同じ平文に対して毎回異なる暗号文が生成される。

楕円曲線暗号
Diffie-Hellman や ElGamal 暗号が有限体として使用している剰余環は 1 次元の数直線であり、その上限を超えると再びゼロから開始する性質を持っていた。これは数直線の端と端を接続して円状に変形したものと同じである。…

ペアリング暗号
ペアリング暗号 (pairing-based cryptography) は双線形写像 (bilinear map) に基づく暗号アルゴリズム。2 つの暗号化群の元からある群への写像 \(e:G_1 \times G_2 \to G_3\) を使用する。…

属性ベース暗号
属性ベース暗号 (ABE; attribute-based encryption) は特定の属性を持った対象者のみが情報を復号化できる暗号方式。共通鍵暗号や公開鍵暗号は暗号化/復号化に使用する鍵が 1:1 であるのに対して、それが 1:n や n:1 という特徴を持つ。…
ハイブリッド暗号

プライベート認証局

Secure Sockets Layer
SSL (secure sockets layer) は公開鍵暗号と共通鍵暗号、電子署名、公開鍵証明書などの技術を組み合わせ、暗号化による盗聴防止、改ざん・破損の検出、通信相手の証明などを一度に実現している通信技術。…

OpenSSL リファレンス
複雑な OpenSSL コマンドを目的別にまとめる。
論文翻訳
論文翻訳: Short Signatures from the Weil Pairing
Gap Diffie-Hellman 群でのヴェイユペアリングを使用することで、一般的な RSA や DSA での署名と比べて同じ強度で短い署名を生成する方法を示す 2001 年の論文。
論文翻訳: Aggregate and Verifiably Encrypted Signatures from Bilinear Maps
GAP Diffie-Hellman と双線形写像を使用して BLS 署名派生スキーム、集約署名、ブラインド署名、リング署名を紹介する 2003 年の論文。集約署名は異なるユーザによる異なるメッセージに対する署名を単一の署名に集約する
論文翻訳: Compact Multi-Signatures for Smaller Blockchains
マルチ署名、公開鍵集約を使用してブロックチェーンサイズを小さくするための 2018 年の論文。
論文翻訳: Practical Threshold Signatures
RSA に基づく非インタラクティブな署名分散の方法についての 1999 年の論文。
論文翻訳: Threshold Signatures, Multisignatures and Blind Signatures Based on the Gap-Diffie-Hellman-Group Signature Scheme
(8) の Gap Diffie-Hellman 群を 1) BLS 署名を秘密分散のスキームに拡張したしきい値署名、2) 複数の署名分散から一つの署名を作成するマルチ署名、3) メッセージを秘匿するブラインド署名のそれぞれに応用した 2002 年の論文。…
論文翻訳: Verifiable Random Functions
翻訳: Verifiable Random Functions (VRFs)
Verifiable Random Functions (VRF) は公開鍵をキーとする暗号化ハッシュのバージョンである。秘密鍵の所有者のみがハッシュを算出できるが、公開鍵を持つ人であれば誰でもハッシュの正当性を検証できる。…
論文翻訳: Curve25519: new Diffie-Hellman speed records
通常の楕円曲線アルゴリズム (EC) より高速で鍵の小さい Curve25519 を使用した暗号計算に関する 2006 年の論文。
論文翻訳: High-speed high-security signatures
エドワーズ曲線デジタル署名 (EdDSA; ed25519, ed448) の速度やセキュリティ優位性に関する 2011 年の論文。
RFC翻訳: Edwards-Curve Digital Signature Algorithm (EdDSA)
論文翻訳: Quadratic Span Programs and Succinct NIZKs without PCPs
論文翻訳: Pinocchio: Nearly Practical Verifiable Computation
論文翻訳: On the Size of Pairing-based Non-interactive Arguments\(\star\)
2016 年の論文。