pythonで数値解析 ~matplotlibを使って棒人間アニメを作ってみた~

あんまり使い慣れてないmatplotlibのアニメーション機能について、勉強がてら棒人間アニメーションを作ってみました。
ソースライブラリの使い方なんてのは、マニュアル読み込むより実際に使っているところを見て動かしてみるのが早いですよね。
棒人間の四肢それぞれをグラフに ...
pythonでjsonファイルの読み書き

今回はpythonでjsonファイルの読み書きをしようと思います。
はじめにツールを作成する際、設定ファイルを用意しておいてツールに読み込ませて動作させることってありますよね。
pythonで設定ファイルを扱う場合、jsonファイルにしておけば辞書型でそのまま扱えるので ...
pythonで暗号演算 ~宮口・プレネルによるハッシュ値生成~

今回は宮口・プレネルという一方向圧縮関数を利用したハッシュ値生成を勉強していこうと思います。
初めに現在SHE(Secure Hardware Extension)という暗号処理機能の実装に取り組んでおります。
その中で出てきた耳なれない演算処理が宮 ...
pythonで暗号演算 ~DSA、ECDSAによるデジタル署名~

今回はDSA(ECDSA)によるデジタル署名を取り上げます。
デジタル署名自体については、以前RSAにて取り上げているため良ければこちらも参考にしてください。
DSAとはDSA(Digital Signature Algorithm)は、デジタル署名の標準規格であり、N ...
pythonで暗号演算 ~ChaCha20-Poly1305で認証付き暗号文生成~

今回はAES-GCMに続いて、ChaCha20-Poly1305による認証付き暗号文生成を取り上げます。
概要ChaCha20-Poly1305は、ChaCha20というストリーム暗号と、Poly1305という認証子生成方式を組み合わせて行う、認証付き暗号文生成方法です。
pythonで暗号演算 ~AES-GCMで認証付き暗号文生成~

今回はpythonのPyCryptodomeを使用して、AES-GCMの認証付き暗号文生成を実施します。
初めにAES-GCM(Galois/Counter Mode)は、AESの暗号利用モードのうちの一つです。
以前各種AESの暗号利用モード(ECB,CBC,CMAC ...
pythonでフォルダ内のファイルサイズ一覧取得

フォルダ内のファイルサイズ収集ツールをpythonで作ってみました。
収集した各種情報(階層、種別、パス、ファイル名、作成時刻)は、pandasを使用しエクセルに出力させます。
膨大なファイルの中から、特定のファイルを見つけて何らかの操作(コピー、リネーム、編集等)を行 ...
pythonで暗号演算 ~SHAでハッシュ生成~

今回はハッシュ関数の中でも、TLS通信で主要な役割を持っているSHAについて勉強していきます。
また、pythonのpycryptodomeライブラリを使用して、ハッシュ処理を動かしてみます。
ハッシュ関数とは概要ハッシュ関数とは、入力データに対応するランダムな値(ハッ ...
pythonで暗号演算 ~RSAのパディング~

今回はRSAの各種パディング方法について調べてみました。
また、pythonのpycryptodomeライブラリを使用して、実際に各パディング処理を動かしてみます。
概要RSAはAESと同様にブロック暗号方式です。
そのため、暗号演算時のブロック長は鍵長に依 ...
pythonで暗号演算 ~RSAによるデジタル署名~

今回は前回のDH(Diffie-Hellman)に続き、RSAによるデジタル署名を取り上げます。
RSAとは公開鍵暗号の一種で、TLS通信においては主に以下役割を担います。
役割概要その他データの秘匿公開鍵でデータを暗号化し、秘密鍵で復号化する。非推奨 (処理時間大)デジタル ...pythonで暗号演算 ~DH(Diffie-Hellman)による鍵生成~

今回はpythonのcryptographyというライブラリを使って、DHによる共通鍵の生成を行っていきます。
最近業務で認証処理を実装することになったのですが、ECDHとかECCとかよくわからない用語が頻出しました。
そのため、用語の整理と理解を兼ねた実装を行います。 ...
pythonでDoIP ~⑤DoIP通信プロトコル実装~

ついに最終回としてDoIP通信プロトコルを実装していきます。
設計しているうちにいろいろ見直ししてきたので、以前検討した以下GUIから若干変わっています。
通信プロトコル対応内容以下のDoIP通信を実現できるような実装をしていきます。
コマンド対応プロトコル実装共 ...pythonでDoIP ~④DoIP通信用GUI作成~

今回はDoIPツールに合わせたGUIを、pythonのpysimpleguiで作成してみました。
対象はGUIなので、まだDoIPプロトコルの実装まではいきません。
ツール構成DoIPクライアント、DoIPサーバそれぞれに割り当てるコマンドは以下の通り。
コマンド ...pythonでDoIP ~③DoIPプロトコル通信フォーマット概要~

今回はDoIP通信プロトコルについて解説したいと思います。
TCP/UDPでDoIP通信を実施するために必要最低限の通信内容のみ取り上げているため、詳細については実際に規格(ISO13400)を確認してください。
前提条件DoIPでは、診断機が直接DoIP通信を実施する ...
pythonでWebスクレイピング ~click()が出来ないときの対処~

pythonのseleniumで、webページ上のボタンをクリックさせるような操作はよくすると思います。
以前別記事で、要素のclick処理が実行できないときの対処を紹介しましたが、今回はそれでも改善しなかったときの対応方法を紹介します。
発生事象amazonの注文履歴 ...
pythonでWebスクレイピング ~ログイン処理のスキップ~

最近久しぶりにamazonのスクレイピングコードを動かしてみたらログイン処理がうまく動かなかった。
amazonに限らず、最近どんどんwebサイトの認証が厳しくなってくるなと思いつつ、対策を考えてみた。
結論から言うと、自身のchromeアカウントにseleniumでロ ...
pythonでDoIP ~②TCP通信~

今回はDoIPプロトコルの実装に入る前に、pythonでTCP通信を実施する方法について簡単に説明します。
UDPについては以下過去記事を参照。
TCPソケットメソッドそのうちちゃんとやろうと思いますが、今回は必要最低限のメソッドだけ。
サーバ関連メソッドメソッド ...pythonでDoIP ~①事前検討~

今回はpythonでDoIPプロトコルの実装と、実際にローカル上でTCP/IPを使用したDoIP通信を実施したいと思います。
DoIPは3年ほど前に業務で取り扱った車載イーサネット用の診断プロトコルになるのですが、この度wiresharkがDoIP通信に対応していたことを知ったので ...
pythonで開発環境 ~Jupyter Notebook の基本操作~

今までpythonのプログラミングでは、vscode上で書いたコードをターミナルで実行しエラー解析という形で進めておりました。
そろそろほかのエディタも試してみようかと思ったのでJupyter Notebookの使い方を簡単に残しておきます。
インストール今回はコマンド ...
pythonでコーディングルール ~①PEP8の確認~

今回はpythonコーディングルールのとっかかりとして、デファクトスタンダードともいえるPEP8を勉強してみました。
普段業務ではC言語を使っているのですが、職場の厳密なコーディングルールに基づいてコーディングを行っております。ベースはMISRA Cに則りつつ、独自の命名規則や判定 ...