![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
赤外線を使った認証システムを作りたいので質問しました。
簡単に説明すると、
発信器で4桁の番号を選択し、信号にして赤外線を使って
受信器に送信すると、設定していた番号と一致すると
ロックが解除されるというものです。
そこで、質問をしたいのは
このプログラムはC言語やアセンブリで作れるのでしょうか?
また、これらの言語で作れない場合はどのような言語で作ればいいのでしょうか?
また、どのようなプログラミングをしたらいいのしょうか?
あと、セキュリティに問題が出てくると思うので
どのようなアイデアがありますか?
質問が多くなってしまいましたが、回答よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> このプログラムはC言語やアセンブリで作れるのでしょうか?
発振器、受信器にそれぞれマイコンを使うことになると思いますので、マイコンを制御するプログラムを書くのにはアセンブリ言語かC言語がベストな選択肢だと思います。(それ以外の手が皆無なので。)
> また、どのようなプログラミングをしたらいいのしょうか?
発振器側では、
1.ボタン操作か何かで4ケタの暗証番号を受け付ける処理
2.暗証番号を何らかの方式で0と1のパターンに符号化する処理(変調処理)
3.変調されたデータに従って発振器の赤外LEDを点滅させる処理
受信器側では
1.フォトトランジスタなどの受光素子から赤外線の強弱を読み出す処理
2.読みだした赤外線の強弱データを暗証番号に戻す処理(復調処理)
3.暗証番号が正しいか判定する処理
4.ロックを解除する処理
> あと、セキュリティに問題が出てくると思うので
> どのようなアイデアがありますか?
赤外線で、一方通行の通信でセキュリティを考えるのは難しいですね。
強いて挙げれば、
1.送信器の内部に時計を持たせ、暗証番号を暗号化する際に暗号化のカギとしてタイムスタンプを用いる。
2.送信器は「タイムスタンプ」「暗号化された暗証番号」「チェックサム」を受信器に送る。
3.受信器は赤外線に乗ったデータを受信したら「チェックサム」を使って外乱光などノイズ等によりデータが化けていないかどうかチェックする。
4.データが化けていなければ、受信器は「タイムスタンプ」をカギとして「暗号化された暗証番号」を平文(暗号化される前の暗証番号)に戻す。
タイムスタンプじゃなくて、単なる乱数でもいいかもしれませんが。
これなら、学習リモコンで学習しようとしても毎回データが変わるので学習できないと思います。
No.1
- 回答日時:
>プログラムはC言語やアセンブリで作れるのでしょうか?
使用する機器しだいでしょう。
>セキュリティに問題が出てくると思うのでどのようなアイデアがありますか?
学習リモコンでコピーされたら終わりですね。
対策はありません。
(まあ、コピー出来ないような長い信号を作成して送信する程度でしょうか。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- カスタマイズ(車) いわゆる「テレビキャンセラー」について・・・・・ 7 2022/11/01 20:57
- 格安スマホ・SIMフリースマホ SMS認証用の電話番号が欲しい 6 2022/06/12 18:21
- 銀行・ネットバンキング・信用金庫 楽天デビットカードカードに詳しい方!! ご回答頂けると幸いです 質問1 家族の許可ありで使用してる 3 2023/08/07 22:53
- 医学 【近赤外線】近赤外線と赤外線の違いを教えてください。 顔認証システムは目の虹彩で判断 3 2023/06/08 20:32
- Windows 10 再起動後 Pinが使用できず、PC(windows11)にサインインできない 3 2022/08/30 20:53
- その他(セキュリティ) IDと暗証番号・パスワードの管理の画期的かつ簡単便利な方法を考案した。他人に検証してもらう方法は? 5 2023/02/08 08:49
- 電子レンジ・オーブン・トースター 日立のスチーム電子レンジMRO-GS8の修理 2 2022/10/15 17:34
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
CRC-CCITTに関しての仕様とサン...
-
TCP/IP のパケットの分断と結合...
-
UDP受信時の通信異常検知について
-
パソコンに詳しい方教えて下さ...
-
バッチファイルでディレクトリ...
-
Zipファイルをエクセルに指定変...
-
ipadで社内ネットワークに接続
-
バックアップ用テープ装置について
-
Batファイルでhostsを追加したい
-
ホームページビルダー17のサイ...
-
【datとdltの違い】
-
アプリケーションが見つかりません
-
2台のPCのデータ同期をとり...
-
ダンプツールとは?
-
システムファイルと工場出荷状態
-
ハードディスクのデータを別の...
-
Windows上のファイル操作の履歴...
-
圧縮したファイルをサーバー上...
-
コマンドプロンプトの出力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
TCP/IP のパケットの分断と結合...
-
RS232cを用いた送信プログラム
-
UDP受信時の通信異常検知について
-
ASP.NET C#でPOST受信
-
シリアル通信時のデータ受信方法
-
Outlookの「受信日時」「送信者...
-
TCPでパケットロス?
-
TCPのプログラミングで質問…と...
-
recv関数の戻り値について
-
DHCPOFFERの受信について
-
msgrcv( )で領域破壊?
-
パケット受信 recvfrom( )につ...
-
「TCPは全二重可能」の意味
-
C#にてCTI。RS232Cの受信と送信...
-
MTUで!!
-
CRC-CCITTに関しての仕様とサン...
-
PC98で232c送信winndowで受信で...
-
VB2010で、シリアル通信の方法...
-
winsockを使ったTCP及びUDP通信...
おすすめ情報