8350


始めて質問させて頂きます。  
質問は題名通りですが、概要を説明させて頂きます。

Javaの「SecureRandom」で生成した乱数を  
暗号化した値で認証する処理が必要となり、

暗号を使って通信する相手はJavaのアプリ。  
こちらはマイコン(C言語)となっています。

同じ言語で設計していれば悩む必要のない話ですが、  
相手は既に設計完了済みで変更できず、かつこちらも  
開発環境的にC以外では開発ができません。

とりあえず、Javaの「Java.security.SecureRandom」と  
同じ乱数をCで実現可能なのか現在調査中ですが、  
これといってヒントになるような資料が見当たりません。

恐れ入りますが、何かご存知の方がいらっしゃいましたら  
ご教授頂けると幸いです。宜しくお願いします。


CC BY-SA 3.0
2015-03-25T01:09:34.497
8349
2015-03-25T03:21:48.907
2015-03-25T02:22:39.653
3639
9003
question
java c security
【Java -> C】C言語でJavaの「SecureRandom」は実現できるのか？


既に「暗号論的に安全な乱数」を送ってくる側があるのに  
認証する側で「同じ乱数」が得られるはずも無いんですがどういう意味でしょうか？  
(同じ乱数を得ることができるのなら暗号論的に安全ではない)

マイコン側で暗号論的に安全な乱数を生成する、のであれば  
何らかのハードウエアが使えるはずなのでそれに頼るしかないです。  
A/D 変換器の熱雑音とかが簡単です。  
それなりの電気回路をあらかじめ盛り込んでおく必要がありますけど。


CC BY-SA 3.0
2015-03-25T01:33:42.203
8350
2015-03-25T01:33:42.203
8589
8349
answer


Javaの内部実装を知りたいのであれば、[OpenJDK](http://openjdk.java.net/)のソースを参照してはいかがでしょうか。

言うまでもありませんが、コードを利用するのであればライセンスに注意してください。


CC BY-SA 3.0
2015-03-25T03:21:48.907
8356
2015-03-25T03:21:48.907
5793
8349
answer