【セキュリティ】見間違い・入力ミスを防ぐ58文字の記号表現!「Base58」|情報処理問題1000本ノック
ビットコインなどのブロックチェーン技術や暗号資産アドレス、URLショートナーなどで採用されている記号表現方式。「Base58」の特徴と除外文字の理由を攻略しましょう。
1. 【 問題 】:テクノロジ系(セキュリティ・エンコード技術)
【 問題 】 データ表現やエンコード技術に関する記述です。バイナリデータをテキスト表現に変換するBase64をもとに、人間が目視で読み間違えやすい文字(数字の「0」と大文字の「O」、小文字の「l」と大文字の「I」)および記号(「+」「/」)の計6文字を除外し、残りの58種類の英数字のみを用いて表現する方式は、次のうちどれか。
(ア)Base32
(イ)Base58
(ウ)Base64
(エ)URLエンコード
2. 正解:
正解:(イ)Base58
3. 解説:「誤入力を未然に防ぎ、コピペや印刷にも強い仕様にする!」
Base58は、ビットコインの考案者であるサトシ・ナカモト氏によって導入されたことで知られるエンコード方式です。
文字列を手書きしたり紙に印刷して人間に読ませる場合、見間違いによる誤送信や入力ミスを防止するために、徹底的に「似ている文字」が除外されています。
| 除外された文字 | 除外の理由・背景 |
|---|---|
| 数字の「0」 と 大文字の「O」 | フォントによって「0(ゼロ)」と「O(オー)」の区別がつかないため。 |
| 小文字の「l(エル)」 と 大文字の「I(アイ)」 | フォントによって「l(小文字エル)」と「I(大文字アイ)」、「1(数字のイチ)」の区別がつかないため。 |
| 記号の「+」 と 「/」 | メールやURL、電子書籍などの自動折り返しやURLパラメータ入力でエスケープ処理エラーや崩れを起こすため。 |
1. 理解のコツ:
・標準的なBase64(64文字:`A-Z`, `a-z`, `0-9`, `+`, `/`)から、見間違いやすい「0, O, l, I」の4文字と、記号「+, /」の2文字を引き算します。
・$64 - 4 - 2 = 58$ 文字となり、これがBase58の由来です。
2. 試験対策の視点: 暗号資産(ブロックチェーン)や最新のエンコード技術の理解で出題されます。
問題文に「見間違いやすい文字(0とO、lとI)を除外」「記号+や/を除外」「58種類の英数字」「ビットコインアドレス」といったキーワードが出たら、迷わずBase58を選択しましょう!
4. まとめ
読み間違いや入力ミスを起こしやすい文字・記号を取り除き、人間が安全に扱える58種類の英数字だけでデータを表現するエンコード方式。これがBase58です。暗号資産やブロックチェーン技術の基礎知識としてしっかり押さえておきましょう!