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情報
を参照してください。