[金子研ホームページ]
のResearchの4番目のところなんかにC言語から扱える暗号評価用ライブラリなんてのがあります。
でも、やっぱりかなり暗号を知っている人じゃないと使うのは難しいんですよね。
他のアプローチとしては三菱電機とかNECのものも使ったことはあるんですが、やはり同様です。
#NECのはある意味わかりやすいけど、アバランシュ性評価だけでは、「強い」暗号は作れても、「強くて速い」暗号は作れないと思う。
そこで、考えたんだけど、そもそも
「暗号アルゴリズムをCで実装するのが間違い」という気がしてきました。
別にJavaで組めといってるわけではなくて、
たとえば、SboxとかP関数とかの構造が暗号アルゴリズムにはあるんですが、
Cで書いちゃうと暗号を実装してしまって、逆に構造を解析できなくなってるんではないかという気がします。
Sboxはこう変換するっていうのを単に作りこむのはらくちんなわけですが、そうではなくて、
「これはSboxである」ことを明示的に示して、それに対する解析が自動的に行われないと、やはり難しいと思う。
そのことから考えると、
「独自の暗号技術言語」なんてのがあってもいいのかもしれない。
もちろん、Cへのコンバータを作るというのも込みで、だけど。
こんなかんがえってどうよ。
のResearchの4番目のところなんかにC言語から扱える暗号評価用ライブラリなんてのがあります。
でも、やっぱりかなり暗号を知っている人じゃないと使うのは難しいんですよね。
他のアプローチとしては三菱電機とかNECのものも使ったことはあるんですが、やはり同様です。
#NECのはある意味わかりやすいけど、アバランシュ性評価だけでは、「強い」暗号は作れても、「強くて速い」暗号は作れないと思う。
そこで、考えたんだけど、そもそも
「暗号アルゴリズムをCで実装するのが間違い」という気がしてきました。
別にJavaで組めといってるわけではなくて、
たとえば、SboxとかP関数とかの構造が暗号アルゴリズムにはあるんですが、
Cで書いちゃうと暗号を実装してしまって、逆に構造を解析できなくなってるんではないかという気がします。
Sboxはこう変換するっていうのを単に作りこむのはらくちんなわけですが、そうではなくて、
「これはSboxである」ことを明示的に示して、それに対する解析が自動的に行われないと、やはり難しいと思う。
そのことから考えると、
「独自の暗号技術言語」なんてのがあってもいいのかもしれない。
もちろん、Cへのコンバータを作るというのも込みで、だけど。
こんなかんがえってどうよ。

コメント (1)
きてみました。
言語でのビジネスという点で言えば、
死屍累々だという話をrubyの作者の方がされていたのが印象的です。
暗号などの分野ではどうなるのでしょうね。
簡単な言語であれば、yacc(Yet Another Comipler Compiler)とか、racc(yaccの版)とかでつくれるんじゃないですか?
raccは作者が書いたアスキーの256倍の本もありますし、
とっかかりとしてちょうど良いと思ったりしますが。
configファイルの文法チェックにつかってみたことはある
もー
投稿者: もー | 2004年04月27日 17:22
日時: 2004年04月27日 17:22