sha256のなんかについて
picoCTFのVerifyの問題を解いたのでその結果について
この記事の内容について理解する
sha256sumコマンドは、ファイルのSHA-256ハッシュ値(チェックサム)を計算するためのLinuxコマンド。SHA-256は、Secure Hash Algorithm 256-bitの略で、暗号学的ハッシュ関数の一つです。データの要約を生成するために使用され、入力データがどれだけ大きくても、固定長の256ビット(32バイト)のハッシュ値を出力します。データの整合性を確認したり、デジタル署名の作成に利用されたりします。
このコマンドを使用することで、ファイルの内容が改ざんされていないか、破損していないかを確認することができます。例えば、ファイルをダウンロードした後に、そのファイルのSHA-256ハッシュ値を計算し、提供元が公開しているハッシュ値と比較することで、ファイルの完全性を検証できます。
似たようなコマンド
- sha1sum : ファイルのSHA-1ハッシュ値を計算します。SHA-1は160ビットのハッシュ値を生成
- md5sum : ファイルのMD5ハッシュ値を計算します。MD5は128ビットのハッシュ値を生成しますが、衝突が発見されており、現在ではセキュリティ目的での使用は推奨されていません。
二階(非)同次線形微分方程式
期末テストで微分方程式の勉強
タイトルは二階だが、まずは一階
1階線形微分方程式
P(x), Q(x), R(x)はxの関数とする
これが1階線形微分方程式
右辺が0(Q(x) = 0)のとき、1階同次線形微分方程式
その一般解は
うーん、ややこしい
定義の式の形に変形してから、P(x), Q(x)をもとに一般解のパーツを集める
2階線形微分方程式

二階同次線形微分方程式の解をy=e^{mx}とおいて特性方程式を作成する
それから、一般解が求まる

また、2階非同次線形微分方程式の場合は1ステップ追加で必要
右辺をはじめにR(x) = 0として、同次にする(補助方程式)
これをやって一般解(補助解)をもとめたら、それをy_1(x)とする
次に、R(x)をつかって、
y_2(x) = AR(x) (Aは定数)
これよりAを求めて特殊解が求まる。
それでy = y_1(x) + y_2(x)として一般解がもとまる
環・体
群ではひとつの演算が定義されていることに対して、環では2つ、体ではそれ以上の演算が定義さえる
環
環と体について、定義は長いからそれぞれ以下を参照
環の定義
定義で出てくるモノイド
これのはじめに書いてある通り、環の定義で大切なのは、加算と乗算について閉じていること
コンピュータに関して、ビット計算においては加算と乗算ができれば減算、除算が可能となるため、四則演算が可能となる。
乗算について、交換律がなりたつものを可換環という
N次正方行列は、環ではあるが可換環ではない
体
四則演算についても閉じているものを体という
定義文の読み方がわからなかったので、体についての以下の定義
- 加法についてアーベル群
- 0を除いた乗算についてもアーベル群
交換律が成り立つ体を可換体という
群論について勉強してるんだけど(続き)
群論について勉強しています。
先日軽く群論のさわりについて勉強し、記事を書いた続きです。
今後の記事の予定
- 環論、体論について(この記事の次に書きます)
- 2階微分方程式
- Rustを始めましたのでそれについて(いつか書きます)
前回まだやり残している部分について
- 対称群
- 巡回群
- 同型
について書きます
対称群
対称群について、有限集合の置換全体の集合を対称群というらしいです。また、対称群の部分群には置換群という名前がついているみたい。
教科書以外にも、このサイトがわかりやすかったです。
ここでは、これらのほかにも、対称群におけるn次の偶置換全体の集合(部分群)を交代群と呼ぶのだそう
これらの群にどのような性質があるのか気になりますので、また後日深堀しようと思います // TODO
また、群に関する性質として覚えておいた方がよさそうだったものが、
有限群Xの部分Yはの位数は、Xの位数の約数であるというもの。
そして、この性質の具体例となるものが先ほど紹介した対称群だった
対称群での例を以下に
3つの要素の対称群の位数は6。中身はこんな感じです
- こうとう置換 漢字忘れた → 位数1
- 2つの要素の置換 (1 2), (1 3), (2 3) → 位数3
- 3つの要素の巡回置換 (1 2 3), (1 3 2) → 位数2
巡回置換については、この動画がわかりやすい
また、
この後に話す巡回群でも同じような性質が書いてありました
巡回群
巡回群は、とある元(生成元)(任意ではなくとあるである点に注意。そのようなとある元を持つ)によって群の元を全て生成できるような群のことです。
定義では、以下のように書きます
調べてないけど、はてなブログのMarkdownではLatexのレンダリングができなさそうなのでスクショを張りす

写真でかすぎる。大きさの調整どうやるだ...
ちょっと、いったん寝るのでこの状態で公開します。 明日続き足します
おはようございます
この写真でも確認できるが、巡回群の部分群においてその位数は元の巡回群の位数の約数となっている。
準同型写像
定義

二つの群が同型であるとき、群として全く同じ構造を持つ
示せという問題に対しては、上の定義の演算を実際に当てはめて同じになることを示せばいい
準同型写像については以下の性質の記述があった

群論について勉強してるんだけど
群論について勉強してます。
数学は苦手ですが、、大学の講義がで必要になったので
群とは、演算が定義され、それを満たす元の集合?という認識です
↑これは閉じているかの定義だね
厳密な定義は、
- Closure 閉包性を満たす
- Associativity 結合則を満たす
- Identity element 単位元を持つ
- Inverse element 逆元を持つ
らしいですね (markdownで入力してんのになんでbullet pointにならない!!誰か教えてください!)
また、ある集合Gについて、任意の2個の元の演算(二項演算)にたいして、その集合に含まれる時、Gはその演算について閉じているというらしい。
だから、ある集合がある演算について群を成すかどうか確かめたいときには、その集合が指定の演算について閉じているか調べて、単位元の存在と逆元の存在を確認すればいいんだな
追記: 結合則の確認も必要です(ここで交換則まで成り立ったら可換群ともなります!)
なるほど
ちなみにある演算について結合律が成り立つもの(単位元とか逆元は存在しなくていい)を半群というらしい
改行に半角スペース2つ必要なの面倒くさいな(HackMDに慣れてやらない癖がついてしまった)
群ってなんか定義とかみるとわかりにくいというか、抽象的というか、、、だからいくつか例を調べてみた
まず、閉じているについての例だけど、
例えば自然数の集合Nに対して、演算+と-について閉じているかどうかたしかめるわ
ここで、重要なのが、閉じているかどうかを確かめるときに、閉じていない群を見つけることよりも閉じている群を見つけることの方が難しいということ
閉じていない群に関しては、反例を挙げるだけでいいからね
Nの任意の2つの元a, bをとってきたときに、演算+にかんしては、もうわかると思うけど、閉じている。自然数2つを足しても自然数にしかならない
逆に演算-にかんしては、a=5, b=100のとき、a-b=5-100=-95となって自然数じゃないから、閉じていないんだな
閉じていない場合はこうやって反例を示せば終わり!!!
実例だと、ルービックキューブの操作とかも群と呼べるみたい。
東邦大学の資料をかるくよみました
ルービックキューブを面の置換として、その置換群としてかいせつされている
同じように置換も群として扱えるみたい
あ、ちょうどいま時計見たら12月31日になった。もう2024年も終わりか。皆様お疲れ様です。
また、群の定義に加えて交換法則が成り立つものを可換群(アーベル群)呼ぶらしい
さらに、群Gの空じゃない部分集合がGと同じ演算について群を成しているとき、それを部分群というみたいね
定義祭りだ 覚えるの大変だ
今日はこれ以上起きていると親に怒られそうなのでそろそろ寝ます。また明日続きを