そのままでは読めない文字列(暗号・ハッシュ)とその性質(使用する文字・長さ・末尾など)

暗号化されたものを読むときに使えそうな知識

Ascii85

使われる文字

 Asciiコードの!からuの85種類

備考

 epsとかで使われているらしい。

 復号

 

 

Base32

使われる文字

 大文字アルファベット・2-7・=(パディング)

備考

 

 40ビットを8文字に変換

 暗号 復号

Base58

使われる文字

 大文字アルファベット(アイとオーを除く)・小文字アルファベット(エルを除く)・数字(ゼロを除く)

備考

 BitCoinアドレスなどに使われている

Base64

使われる文字

 大文字アルファベット・小文字アルファベット・数字・+-

備考

 パディングとして使われるので==で終わる場合が多い。

 Basic認証で使われる。

 暗号 復号

Base85(Ascii85を参照)

Escapeコード

使われる文字

 %・u・16進の数字

  例:%u3042%u3044%u3046%u3048%u304A

 原文:あいうえお

 暗号 複合

MD5

使われる文字

 16進数の0からfまで

備考

 長さが128bitなので、16進数なら32文字

 Best MD5 & SHA1 Password Hash Decrypter - Hash Toolkit

 などで復元できるかも。(衝突しやすいらしい)

 

 

 

31-22-12

届け物には「31-22-12」と書かれていることがある。

いったいどんな届け物に対して書かれている番号なのだろうか。

どこかの事業者がつけている管理番号なのだろうか?

 

033-600

電子情報通信学会(2018年08月)クロネコDM便(西東京法人)

 

11-30-20

ゆうパック(2016年10月)

ゆうパック(2017年06月)

ゆうパケット(2017年08月)

日本郵便(2017年09月)

ゆうパック(2017年11月)

ゆうパック(2018年01月)

ゆうパック(2018年10月)

ゆうパック(2018年11月)

 

11-40-20

ゆうぱっく(2017年11月?)

31-22-11

ネコポス (2018年06月)

 

28-11-47

?

 

30-70-09

しゃぶまる(2020年6月)ヤマト宅急便(冷凍)

 

30-76-90

Apple(2019年3月)

 

31-22-09

Hitachi(2019年3月)クロネコDM便

 

31-22-12

電子情報通信学会会誌(2016年10月)クロネコDM便

電子情報通信学会会誌(2017年12月)クロネコDM便

 

72 112

モノタロウ(2017年08月)

AXEL(2017年09月)佐川急便

電子情報通信学会(2017年09月)佐川急便

(2018年08月)佐川急便

 

87-00

Digikey(2017年09月)

 

texでの細かい話4。ギリシャ文字について

texの数式環境では「\alpha」とすると

f:id:D_PLIUS:20160911201512p:plain

が表示されるように、ギリシャ文字を書くことができます。

しかし、「\Delta」と「\delta」を比較すると

f:id:D_PLIUS:20160911201818p:plain

となるようにギリシャ文字の大文字は立体で、ギリシャ文字の小文字は斜体で表示されます。

「\it{\Delta}」や、amsmathパッケージを入れていれば「\varDelta」によって大文字も斜めにすることが可能ですが、ほんの少しだけ違います。

f:id:D_PLIUS:20160911202028p:plain

大文字のギリシャ文字には\varをつけることでこのように斜体のようにすることができますが、「\epsilon」と「\varepsilon」には

f:id:D_PLIUS:20160911202223p:plain

という違いがありますし、「\mathrm{\epsilon}」としても斜めのまま、さらには「\mathit{\epsilon}」や「\it{\epsilon}」も同じ角度となります。

\epsilonの場合はあまり問題ないのですが、10のマイナス6乗を表すマイクロは斜体ではなく立体なので、立体のミュー(μ)が必要となります。

この場合は siunitx という SI単位を出力するためのパッケージを使うことをおすすめします。

単に使い時には TeXの記憶(93) — 立体のμ | 寝坊した のように

% textcompパッケージ
\usepackage{textcomp}

% fourierncパッケージ
\usepackage{fouriernc}

% Eulerフォントを使う
\DeclareFontFamily{U}{euc}{}
\DeclareFontShape{U}{euc}{m}{n}{<-6>eurm5<6-8>eurm7<8->eurm10}{}
\DeclareSymbolFont{AMSc}{U}{euc}{m}{n}
\DeclareMathSymbol{\umu}{\mathord}{AMSc}{"16}

\begin{document}

$\mu$\qquad 
\textmu\qquad
$\umu$\qquad
$\othermu$

\end{document} 

 とすれば様々な立体のμを表示することが可能です。 

「μ」はフォントがない場合などに「m」が代用されることがあるので、そういった文字化けでの事故を防ぐためにもいっそ「u」で書いてしまうのも認めてもいいかなと最近は考えています。

texでの細かい話3。文章中の数式と演算子前後の空白について

texの文章中に$3\times2$と書くと「3 × 2」となりますが、3$\times$2と書くと「3×2」となります。

f:id:D_PLIUS:20160911194642p:plain

二項演算子の場合、前後に空白がつくためこうなります。

私は前者が正しいと思っています。

3掛ける2を書きたい場合はちゃんと数字も$で囲みましょう。

 

「マイナス2」と「2を引く」では、マイナス記号の意味が単項演算子二項演算子で変わってきます。そのため表記も異なり「-2」と「{}-2」は

f:id:D_PLIUS:20160911195254p:plain

のように−と2の間の空白が異なります。

 

さらに「-」は数式環境外でハイフンの意味も持つため、

「-2」「-$2$」「$-2$」「${}-2$」の4つは

f:id:D_PLIUS:20160911195555p:plain

と表示されます。

1つ目と2つ目は同じ表示だと思います。

マイナス2を表したい場合は3つ目の表記を使いましょう。

 

少し気にしている人であれば、マイナス2の場合は、「$-2$」と書くことを気をつけると思いますが、「マイナス2の絶対値」にはさらに注意が必要で、

「|-2|」「|{-2}|」「 \left|-2\right|」の3つを比較すると

f:id:D_PLIUS:20160911195915p:plain

となり、最初の「|-2|」だけは二項演算子としてコンパイルされてしまいます。

そのため、{}で囲むか、\left|\right|としなければ正しい表示とはならないので注意。

texでの細かい話2。数式\align中の括弧について

数式中の括弧には、大きく分けて2つの書き方があります。

本記事では\align環境のLaTeXiTで出力した画像を使っています。

1つ目は「A」です。基準として表示します。

f:id:D_PLIUS:20160911181957p:plain

こうなります。

 

2つ目は「(A)」と「\left(A\right)」を比較します。

「\left(」と「\right)」は囲んだ中の文字に合わせて括弧が大きくなるコマンドです。

f:id:D_PLIUS:20160911182833p:plain

この例では、中の文字が普通の文字なので同じ表示となります。

 

3つ目に「(A^{2})」と「\left(A^{2}\right)」を比較します。

f:id:D_PLIUS:20160911183029p:plain

このように\left(\right)で囲むことによって中の文字に合わせて括弧が大きくなります。

この場合は大きさが「\bigl(\bigr)」と同じなので、さらに右に「\bigl(A^{2}\bigr)」を表示すると

f:id:D_PLIUS:20160911183351p:plain

となります。

 

4つ目に「(A^{2^{2^{2}}})」と「\left(A^{2^{2^{2}}}\right)」と「\Bigl(A^{2^{2^{2}}}\Bigr)」と「\biggl(A^{2^{2^{2}}}\biggr)」を比較します。

f:id:D_PLIUS:20160911183820p:plain

「\left(\right)」では「\Bigl(\Bigr)」となり微妙に括弧では囲まれませんが、次に大きな「\biggl(\biggr)」では大きすぎると判断されているようです。上下を見て囲むために必要な大きさで括弧を描画するのではなく、上下対称に大きくなる\biglなどのコマンドに変わっているように感じます。

 

5つ目に、「(A_{2})」と「\left(A_{2}\right)」を比較します。

f:id:D_PLIUS:20160911184204p:plain

括弧の大きさは変わりません。yなどの下に飛び出る文字に添字をつけた「(y_{2})」と「\left(y_{2}\right)」も同様に同じ大きさの括弧となります。

 

6つ目に、「(A_{2_{2_{2}}})」と「\left(A_{2_{2_{2}}}\right)」を比較します。

f:id:D_PLIUS:20160911184514p:plain

さらにもう2つ添字をつけるとちゃんと括弧が大きくなることがわかります。

 

7つ目に、「\left(\frac{\frac{\frac{1}{2}}{\frac{3}{4}}}{\frac{\frac{5}{6}}{\frac{7}{8}}}\right)」と「\Biggl(\frac{\frac{\frac{1}{2}}{\frac{3}{4}}}{\frac{\frac{5}{6}}{\frac{7}{8}}}\Biggr)」を比較します。

これは「\Biggl(\Biggr」でさえ囲めない大きさの出力の例です。

f:id:D_PLIUS:20160911185909p:plain

このように、「\Biggl(\Biggr)」より大きな括弧が表示されます。

texでの細かい話1。参照について(labelとref)、そしてpdfにリンクを貼るhyperref

texには図表等の番号を割り振る\label{}, \ref{}コマンドがある。

処理の流れの都合によりコンパイルは2回行う必要がある。

例えば表を挿入し表の上に表題を書く場合、\label{}コマンドの位置は大きく分けて以下の4つに分けられる。

\begin{table}[ht]

  \label{tab:length}

  \caption{\label{tab:length}表の題名\label{tab:length}}

  \label{tab:length}

  \begin{tabular}{|c|c|}

    \hline

    1 & 2\\

    \hline

    3 & 4\\

    \hline

  \end{tabular}

\end{table}

赤文字の場合\label{}コマンドが指すものは、直後にある\caption{}ではなく、赤文字の前にあるラベリング可能なものになる(例えば節番号)ため注意。

 

ここまでで、\label{}と\ref{}が正しく参照しあうことが確認できた。

ここで、hyperref環境において\ref{}がどこを参照するかを見ると、表の題名の0文字目となる。つまり表上部にある「表1: 表の題名」の「表1: ここ表の題名」が左上に来る表示としようとする。

そのため十分拡大していると、開いているウィンドウの左上がここに合わされることになる(拡大率によってはページ端などの制限をうける)。

 

上のような表の場合、あまりこの問題は深刻ではないが、表や図のキャプションが表や図の下にあった場合、左上が\ref{}の位置となるように移動すると、肝心の表や図本体が見えなくなる。

グラフ構造で見る漢字

漢字をグラフとして見た場合、

「木である」(よって明らかに森である)

「木ではないが森である」

「森ではない」(「木でも森でもない」でもよい)

の3つに分けられる。

 

特徴のある、漢検一級までの漢字を紹介する。

 

木である最小画数の漢字

一、乙

 

木である最多画数の漢字(自信がないです)

*1

*2

 

森である最小画数の漢字

一、乙(木である最小画数の漢字と同じである。)

 

木ではなく森である最小画数の漢字

二、八

 

森である最多画数の漢字

 

森ではない最小画数の漢字

 

*3

口、巳、尸

女、夕、及、叉、*4

 

森ではない最多画数の漢字

 

 

ところで、グラフ理論的に、トポロジー的に同じ構造を持つ漢字をまとめたら面白そう。

 

イデア

 

検索用単語

木 森 グラフ グラフ理論 木構造 漢字 画数

 

*1:書き方によってはループが発生する

*2:書き方によっては森

*3:フォントによっては木となる場合ではなく、明らかに木であるものを選んだつもりです。常用漢字表によれば又は二画目が一画目とループをなさない場合も可なので、脚注付きとします。

*4:「又」と同様、フォントによっては木となる場合ではなく、明らかに木であるものを選んだつもりです。