AES 暗号

共通鍵暗号方式を用いた AES 暗号

米国政府の次世代標準暗号化方式であり、
アメリカの国家新標準暗号規格 (Advanced Encryption Standard)
で規格化された共通鍵暗号方式です。

文章引用及び、参考文献:
e-Words
http://e-words.jp/w/AES.html
ウィキペディア:
http://ja.wikipedia.org/wiki/AES暗号

ダウンロード

Aes 暗号プログラム(ソース一式)(2009/3/6版) ms vc6.0

ソースだけのダウンロード

下記のソースはgccにてコンパイルすれば a.out を実行出来ます
Aes 暗号プログラム(ソース dos_aes.c)(2009/3/6版) dos版ソース
Aes 暗号プログラム(ソース euc_aes.c)(2009/3/6版) euc版ソース
(gccにて確認済 Solaris 10(x86))
Aes 暗号プログラム(ソース utf_aes.c)(2009/3/6版) utf版ソース
(gccにて確認済 Fedora 10,11,Mac mini OS X)
Aes 暗号プログラム(ソース sparc_aes.c)(2009/3/6版) sun sparc版ソース
(gccにて確認済 Sun Solaris SPARC)

プログラム使用方法

コマンドラインから AES 暗号/復号 を行なうプログラムです。

このソースは、AESを仕様から理解することを目的に C言語で当社にて作成したもので、
GNU General Public License に従ったフリーのプログラムです。
Microsoft Visual C++ 6.0 環境でコンパイルできます。
(Microsoft Visual Studio 2008,2010,2012,2013,2015,2017,2019,2022
(2022はプロジェクト再作成か一度2015等で変換が必要)もコンパイル確認済です)

ディレクトリ PjcAes の下にあるプロジェクト aes.dsp がメインです。
Debugでコンパイル後 PjcAes\Debug\aes.exe にて動作確認出来ます。

仕様についてはfips-197.pdf を参照下さい

プログラムの補足説明

fips-197.pdf の 11ページの計算 (0x57・0x83 = 0xc1)の確認について

プログラムは、1倍から14倍までの計算をする為のものですので
この計算(0x57・0x83 = 0xc1)を確認するには、ソースの一部を変更する必要があります
ソースライン 314行目(mulの中のfor文)の
for(i=8;i>0;i>>=1)

for(i=0x80;i>0;i>>=1)
と訂正して下さい。

プログラムの質問について

プログラム、ソースの再配布については、GNU General Public License 
を参照してください。

学生さんからの質問は学校のドメインからメールで質問頂ければ回答致します。
aesq@pjc.co.jpに連絡下さい

実行速度について

このプログラムは速度を意識して作成していませんので、実行速度は遅いものと理解して下さい。

高速化の手法について

実行速度を早くする為の手法についての情報は AESの高速化について を参照してください。

英語版

英語版のソースは英語版のページ を参照してください。

以前の頁の内容

以前のプログラムに関する情報は以前のAES情報 を参照してください。