<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In --><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"width="3027.07px" height="410px" viewBox="0 0 3027.07 410" style="enable-background:new 0 0 3027.07 410;" xml:space="preserve"
髙石勝彦・平川晴常・房安良和(表現駆動コース)><style type="text/css">.st0{fill:#FFFFFF;}.st1{fill:#009740;}
・物理的なパスワードマネージャーを作りたい </style>
・既存のハードウェア で実現したい<defs>
・既存の物は端子やデバイスに依存している</defs>→
半永久的に使い続けたい→ 端子が変わるたびに新製品を購入する？
<g>
・面倒な設定画面から解放されたい→ 毎回買い替えるのは面倒 & コスパが悪い<g>→ ずぼら管理でもセキュアな状態<g>
パスワードの保管場所が増える = リスクUP<g>↓↓<path class="st0" d="M2189.01,128.83h180.14c4.96,0,8.98,4.02,8.98,8.98v34.29c0,4.96-4.02,8.98-8.98,8.98h-180.14v45.38h180.14
場所、接続端子、デバイスに依存しない
c4.96,0,8.98,4.02,8.98,8.98v34.29c0,4.96-4.02,8.98-8.98,8.98h-180.14v54.13h251.07c4.96,0,8.98-4.02,8.98-8.98V74.7h-260.05
で通信する
V128.83z"/>
接続方式が欲しい！！！
<pathclass="st0" d="M1384.94,172.32c0,4.96-4.02,8.98-8.98,8.98h-93.94c-4.96,0-8.98-4.02-8.98-8.98V75.28h-73.78v257.57h73.78
v-97.03c0-4.96,4.02-8.98,8.98-8.98h93.94c4.96,0,8.98,4.02,8.98,8.98v97.03h73.77V75.28h-73.77V172.32z"/><rect x="1924.96" y="144.57" class="st0" width="50.71" height="188.28"/><path class="st0"d="M770.94,144.57c-4.96,0-8.98,4.02-8.98,8.98v179.3h189.69v-35.88h-130c-4.96,0-8.98-4.02-8.98-8.98v-25.51
送信側
受信側
c0-4.96,4.02-8.98,8.98-8.98h121.02c4.96,0,8.98-4.02,8.98-8.98v-99.94H770.94z M891.97,180.46c4.96,0,8.98,4.02,8.98,8.98v25.5
1. 送信したい文字列を1文字ずつ音声をストリーミングし、
c0,4.96-4.02,8.98-8.98,8.98h-70.32c-4.96,0-8.98-4.02-8.98-8.98v-25.5c0-4.96,4.02-8.98,8.98-8.98H891.97z"/>class="st0"
16進 ascii <path
codeに変換d="M1487.67,180.46h130c4.96,0,8.98,4.02,8.98,8.98v19.35c0,4.96-4.02,8.98-8.98,8.98h-121.02
検知した超音波の周波数から16進 ascii code
c-4.96,0-8.98,4.02-8.98,8.98v106.09h180.71c4.96,0,8.98-4.02,8.98-8.98v-179.3h-189.69V180.46z
M1626.66,287.98
2. それぞれの値に特定の周波数を設定し、6を特定、文字列に変換
c0,4.96-4.02,8.98-8.98,8.98h-70.32c-4.96,0-8.98-4.02-8.98-8.98v-31.65c0-4.96,4.02-8.98,8.98-8.98h70.32
1文字2音で超音波で送信
c4.96,0,8.98,4.02,8.98,8.98V287.98z"/>ex) hoge →68
6F 67 d="M2133.84,144.45h-62.07l-83.64,93.71l83.64,93.71h62.07l-81.65-89.7c-1.25-2.52-1.25-5.48,0-8.01
65ex) 68 6F 67 65<path class="st0"
68L2133.84,144.45z"/>→hoge</g><g>
ミスなく伝送できる? → 確実性が欲しい!
<path class="st0" d="M482.54,75.28c-4.96,0-8.98,4.02-8.98,8.98v142.57h176.7c4.96,0,8.98,4.02,8.98,8.98v34.07
c0,4.96-4.02,8.98-8.98,8.98h-176.7v53.98h259.46V190.29c0-4.96-4.02-8.98-8.98-8.98H556.3c-4.96,0-8.98-4.02-8.98-8.98v-34.08
c0-4.96,4.02-8.98,8.98-8.98h146.96l29.75-53.98H482.54z"/></g><g>
伝送制御(ヘッダ)の実装<path class="st0" d="M1040.3,296.97c-4.96,0-8.98-4.02-8.98-8.98v-98.54c0-4.96,4.02-8.98,8.98-8.98h110.35l19.65-35.89H989.59
送信側/App
TCPを基に設計...音の伝送速度:低→
サイズ:小c-4.96,0-8.98,4.02-8.98,8.98v179.3h189.7v-35.88H1040.3z"/>
受信側/App
データ入力</g>
TCPヘッダ : 20Bytes → 実装ヘッダ : 8Bytes
データの出力スクリプトの起動<g> 015<path class="st0" d="M1766,296.97c-4.96,0-8.98-4.02-8.98-8.98v-98.54c0-4.96,4.02-8.98,8.98-8.98h110.35l19.65-35.89h-180.72
送信元 No.
送信先 No.
c-4.96,0-8.98,4.02-8.98,8.98v179.3h189.7v-35.88H1766z"/>
シーケンス
No.
受信側/Python3.7
送信側/Python3.7</g>のサイクル
確認応答
No.
解析データを <path class="st0" d="M2729.08,181.09h-168.11c-4.96,0-8.98-4.02-8.98-8.98v-34.29c0-4.96,4.02-8.4,8.98-8.4l147.35-0.15
データ→音(再生)l29.75-53.98h-260.05v257.57h251.07c4.96,0,8.98-4.02,8.98-8.98v-133.8C2738.06,185.11,2734.04,181.09,2729.08,181.09z
デコード
ストリーミング開始 コントロール チェックサム
パディング
フラグ
M2664.1,269.74c0,4.96-4.02,8.98-8.98,8.98h-94.14c-4.96,0-8.98-4.02-8.98-8.98v-34.29c0-4.96,4.02-8.98,8.98-8.98h94.14
データ
c4.96,0,8.98,4.02,8.98,8.98V269.74z"/><g>
受信側/Numpy & Scipy
IPアドレス→送信元/送信先No.
:00～FF<pathclass="st0" d="M3018.08,181.09h-168.11c-4.96,0-8.98-4.02-8.98-8.98v-34.29c0-4.96,4.02-8.4,8.98-8.4l147.35-0.15
高速フーリエ変換(FFT)(利用するたびに変化)
l29.75-53.98h-260.05v151.19h177.11c4.96,0,8.98,4.02,8.98,8.98v34.29c0,4.96-4.02,8.98-8.98,8.98h-94.14
音からデータを解析
コントロールフラグ : ACK，SYN，RST，FINのみ
c-4.96,0-8.98-4.02-8.98-8.98V253.2h-73.98v79.66h251.07c4.96,0,8.98-4.02,8.98-8.98v-133.8
C3027.07,185.11,3023.05,181.09,3018.08,181.09z"/></g>
データの誤り検知・訂正
スタート同期と再送処理</g>
水平垂直パリティチェック方式で実装
</g>
送信側
受信側
◎ 0110 1000 0110 1111
<g>
接続音発生
接続音検知
<polygonclass="st0"points="61.34,137.76
0,199.11
33.13,304.64
94.47,243.3"/>
× 0110 1000 1110 1111
<polygon class="st0" points="372.82,210.89 339.7,105.36
278.35,166.7
311.48,272.23"/>
接続音検知
接続音発生
0 1 1 0 0
0 1 points="199.11,01 0 0<polygon class="st1"72.68,126.43 105.81,231.96 232.24,105.53"/>
待機297.76,275.96 297.77,275.97 待機"/>1 0 0 0 1<polygon class="st1" points="264.62,170.38
1 0 0 0 1 199.26,157.86 115.97,241.16<polygon class="st1"140.59,304.47 送信173.72,410 294.01,289.71"/>
受信
1 1 1 0 0
0 1points="177.63,267.42
1 0 0</g>
1 1 1 1 0
1 1 1 1 0
受信完了音検知
受信完了音発生</g>
0 1 1 1 0
0 1 1 1 0</svg>

きっかけ と したいこと音音 で通信するシステム

誤り検知・訂正が可能に！

2020/2/24

送信データの整合確認 → 受信完了音発生

Next... 暗号化でパスワードの安心な通信へ!

13