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で暗号演算 ~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で暗号演算 ~AESまとめとGUIアプリ作成~

今回はこれまで取り上げたpythonによるAESの暗号演算処理(ECB、CBC、CTR、CMAC)のまとめと、任意の暗号演算を行えるようなアプリ作成を行ってみたいと思います。
暗号演算はpycryptodome、GUIではPySimpleGUIのライブラリを使用します。
各暗 ...pythonで暗号演算 ~AES-パディング編~

今回はパディングの中でもAESで主に使用されているパディング(PKCS#5、PKCS#7)について取り上げます。
またpythonで簡単なpadding処理の実装を行います。
PKCS#5、PKCS#7におけるパディングブロック暗号では、ある特定のビット数のまとまりを一 ...
pythonで暗号演算 ~AES-CTR編~

今回はAES-CTR編です。pythonのpycryptodomeを使用し、AES-CTRによる暗復号を行ってみます。
AES-CTRとはAESとは、 Advanced Encryption Standard(高度暗号化標準)の略となり、特定の長さのデータ(ブロック)を単位として処 ...
pythonで暗号演算 ~AES-CBC編~

今回はAES-CMAC編でも少し触れたAES-CBCについて、pythonのライブラリpycryptodomeを使用して実際に動かしてみます。
AES-CBCとはAESとは、 Advanced Encryption Standard(高度暗号化標準)の略となり、特定の長さ ...
pythonで暗号演算 ~AES-ECB編~

AES-CMAC編に引き続き、今回はAES-ECBの暗復号をpythonで実施してみようと思います。
AES-ECBとはまず初めに、AES-CMAC編でも説明したようにAESとは、 Advanced Encryption Standard(高度暗号化標準)の略となり、特定 ...
pythonで暗号演算 ~AES-CMAC編~

今回はAES-CMACの勉強と、pythonのライブラリpycryptodomeを使用して実際にMAC生成をしてみました。
初めに現在業務で組み込みソフトにおける、HSMと呼ばれるモジュールのソフト開発に取り組んでおります。
HSMは機器内の暗号処理における、鍵管理や暗 ...