オイラーの定理とカーマイケルの定理

以前の記事, エルガマル暗号では, エルガマル暗号に関する諸々の前提の説明と, その実装について示した. 同エントリ内で, フェルマーの小定理1については取り扱ったものの, その一般形であるオイラーの定理およびカーマイケルの定理について特に触れなかったため, 本エントリでそれらに関してまとめる. しばしば値の確認には, 簡単のため Haskell を使う.


VRRP on AWS VPC-EC2

本エントリでは, VPC-EC2 で MASTER 側のヘルスが確認できなくなったときに, VRRP を用いてフェールオーバし, 一定度の可用性担保を実現する場合について1取り上げる. VRRP の実装としては keepalived を用いることとする.

前提

次のシチュエーションを前提としている.

  • インスタンスが 2 つ以上作成済みで, 24, 80 番ポートを SG の設定で開けてあり, どちらにおいても apache2 と keepalived が稼働している.
  • keepalived.conf にそれぞれ MASTER と BACKUP が設定済みで, VPC-EC2 のルートテーブルにて, いまの設定にあわせて 1 つに VIP (192.168.1.1/32) が設定してある.

このシチュエーションがオンプレミス環境上の話であれば, 何の問題もなく, これでフェールオーバが実現できるのだが, AWS EC2 でこれを実現するためには, AWS のルートテーブル側の VIP ターゲットをも貼り直す操作が必要となり, この操作については, ある程度自分で実装しなければならない. いくらか調べて見ると, awscli で同様の環境を作っている事例を多く見るのだが, 本エントリでは諸事情より AWS SDK for go を使って, 操作することとした.


Connector/C++ で MySQL を操作

  • 2018/07/20 09:31
  • C++

学校の関係で MySQL を触る機会が増えてきたので, MySQL の C++ 向けライブラリを一度触っておこうという忘備録.

これを実行すると, 次のように, 実在しそうでしなさそうな, 妙に怪しい雰囲気1の一覧が出力される.


エルガマル暗号

エルガマル暗号が離散対数問題の応用であることは認知していたものの, きっちりと自分でまとめたことが無かったと思うので, それに関連する諸々の前提についてもふまえて, 一度書くことにした. また, その処理系を実装した. 本エントリでは, 同暗号プロトコルの話の前にまず前提を示し, その後, 実装の観点から見た要点を示す.


数論的関数の用語と例

  • 2018/07/10 07:50

数論的関数の用語やその関連について整理したかったので書くことにした.

数論的関数

数論的関数は, 定義域が正整数 Z+\mathbb{Z}^{+} である複素数を値にもつ関数である. すなわち

数論的関数

Z+\mathbb{Z}^{+} から複素数 C\mathbb{C} への関数 Z+C\mathbb{Z}^{+}\to\mathbb{C}

をいう.

加法的関数

加法的関数は以下で定義される.

加法的関数

mZ+,nZ+,gcd(m,n)=1m\in\mathbb{Z}^{+}, n\in\mathbb{Z}^{+}, \gcd(m,n)=1 について f(mn)=f(m)+f(n)f(mn)=f(m)+f(n) を満たす数論的関数 f(x)f(x)