忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【セキュリティ】見間違い・入力ミスを防ぐ58文字の記号表現!「Base58」|情報処理問題1000本ノック

ビットコインなどのブロックチェーン技術や暗号資産アドレス、URLショートナーなどで採用されている記号表現方式。「Base58」の特徴と除外文字の理由を攻略しましょう。

1. 【 問題 】:テクノロジ系(セキュリティ・エンコード技術)

【 問題 】 データ表現やエンコード技術に関する記述です。バイナリデータをテキスト表現に変換するBase64をもとに、人間が目視で読み間違えやすい文字(数字の「0」と大文字の「O」、小文字の「l」と大文字の「I」)および記号(「+」「/」)の計6文字を除外し、残りの58種類の英数字のみを用いて表現する方式は、次のうちどれか。

(ア)Base32
(イ)Base58
(ウ)Base64
(エ)URLエンコード

2. 正解:

正解:(イ)Base58

3. 解説:「誤入力を未然に防ぎ、コピペや印刷にも強い仕様にする!」

Base58は、ビットコインの考案者であるサトシ・ナカモト氏によって導入されたことで知られるエンコード方式です。
文字列を手書きしたり紙に印刷して人間に読ませる場合、見間違いによる誤送信や入力ミスを防止するために、徹底的に「似ている文字」が除外されています。

【Base58で排除(禁止)されている6つの文字とその理由】 ← ポイント整理!

除外された文字除外の理由・背景
数字の「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です。暗号資産やブロックチェーン技術の基礎知識としてしっかり押さえておきましょう!


PR