サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
skatsuta.github.io
コンピュータサイエンス (CS) の基礎をしっかり勉強しようと思い、とりあえず Open Source Society University (OSSU) で紹介されているカリキュラムが取っ掛かりにはよさそうだったので、まずこちらの CS50’s Introduction to Computer Science という Harvard 大学のオンラインコースを対象にして、 C 言語の講義回である Week 1 から Week 4 までを受講しました。 OSSU の Introduction to Computer Science セクションの冒頭に書かれている feel free to skip straight to the second course when CS50 (the first course) moves away from C. という但し書きの通り、 CS50 の W
結城浩さんの『暗号技術入門』を Go 言語を使って学ぶ記事の第3回です。前回は AES について解説しました。 今回は第4章「ブロック暗号のモード」です。そもそも、ブロック暗号の「モード」とは何なのでしょうか。 ブロック暗号の「モード」とは前回の終わりにも書いたように、僕らが暗号化したい平文の長さは、たいていの場合ブロック暗号のブロック長 (AES なら 128 ビット) より長いことが多いです。そのため、ブロック暗号を繰り返し使って、長い文章全体を暗号化する必要があります。このブロック暗号を繰り返す方法のことをブロック暗号の「モード」と呼びます。 ブロック暗号のモードにはいくつもの種類がありますが、今回と次回でその中でも比較的使用が推奨されている CBC モードとCTR モードについて説明します。今回は CBC モードについてです。 なお、この記事中の Go のソースコードのバージョンは
$ curl -L https://s3.amazonaws.com/downloads.wercker.com/cli/stable/darwin_amd64/wercker -o /usr/local/bin/wercker この wercker コマンドを使ってコンテナイメージを pull してくるには、あらかじめ wercker login で wercker のアカウントでログインしておく必要があります。そうでないと、以下のようなメッセージが表示されてしまいます。
最近結城浩さんの『暗号技術入門』を読みました。現代の暗号技術について非常にわかりやすく書かれており、とってもおすすめの書籍です。 そこで『暗号技術入門』を参考に、 Go 言語のライブラリを使い、各種暗号技術の実装や使い方について学んでみたいと思います。以下の Go のソースコードのバージョンはすべて 1.5.2 です。 まずは第3章「対称暗号(共通鍵暗号)」です。対称暗号は、「共通の鍵で暗号化と復号をおこなう暗号アルゴリズム」です。 DES (Data Encryption Standard)DES とはDES (Data Encryption Standard) は、1977年にアメリカ合衆国の連邦情報処理標準規格 (FIPS) に採用された対称暗号です。しかし現在ではブルートフォースアタックにより短時間で解読されてしまうため、暗号化に用いるべきではありません。 ただ後述する Tripl
「レシーバ」とはGo 言語はある種のオブジェクト指向プログラミング (OOP) 言語であり、 OOP 言語の慣例通り、メソッドを呼び出される対象のことを「レシーバ」と呼びます。 ちなみになぜ「レシーバ」と呼ぶのかというと、昔の OOP 言語の文脈ではメソッド呼び出しのことを「メッセージの送信」と言い、メソッドを呼び出される側は「メッセージの受信側」だからです。 「値レシーバ」と「ポインタレシーバ」Go 言語では「値」と「ポインタ」が明示的に区別されているため、たとえばある構造体に対してメソッドを定義する場合でも、「値型」に対する定義なのか「ポインタ型」に対する定義なのかはっきりと区別しなければなりません。それぞれについて簡単に説明します。 値レシーバ「値型」に対してメソッド定義されたものが「値レシーバ」です。 Go 言語では構造体は値なので、以下の例では Person という値型に対して
OS X 10.11 El Capitan にアップグレードしたのですが、その後 native extension を利用する gem のインストールに失敗するようになりました。今後のために、エラーの内容と解決方法について残しておくことにします。 Native extension のビルドに失敗するたとえば sqlite3 の gem を入れようとしたところ、以下のようなエラーが発生して、 native extension のビルドに失敗しました。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 $ gem install sqlite3 -v '1.3.10' Buildin
このページを最初にブックマークしてみませんか?
『skatsuta.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く