shi3zさんの通信上の圧縮アルゴリズム利用の認識と、big_brosさんによる指摘及び圧縮アルゴリズムの解説
- takagiichiro
- 217379
- 98
- 791
- 608
. @shi3z もちろんありますよ。ゲーム屋は常に容量との戦いでしたから、圧縮についてはお手の物です。離散コサイン変換等は音声でも画像でもよく用いますね。で、どちらが可逆でどちらが非可逆か答えられますか?
2015-07-15 17:49:12.@big_bros 馬鹿にするのもほどほどにしなさいな。スライド辞書法が可逆で離散コサイン変換が非可逆だってことは小学生でも知ってます。つうかそんな質問する時点でゲーム屋さんとしてどうなんですかね
2015-07-15 17:51:25スーパーファミコンの時代などは小さなROM容量にデータを詰め込むため、可逆圧縮のLZ法は手軽に実装できるアルゴリズムとして大変重宝したものだ。離散コサイン変換は音声や画像の圧縮で普通に使うね。
2015-07-15 17:51:51. @shi3z あ、そこはわかってるわけですね。説明の手間が省けてよかったです。で、いずれの圧縮方法であろうと自身が理解の上でかけたものであればその圧縮されたデータについてhashを求めておき受け取り側で検証するなどが可能ですね。ではそこに意図しない非可逆圧縮がかかるとしたら?
2015-07-15 17:54:14@shi3z ブラウザがhashを使った同一性チェックを行っているなら通信経路で意図しない非可逆圧縮がかかった時点で無駄になりますね。サーバから現在のhash値を送ってもらい、手持ちのデータで計算したhashと照合する際、手持ちのデータは想定外の非可逆圧縮がかかった状態ですから。
2015-07-15 18:00:29.@big_bros いやあのー。ほんとにゲーム屋さんなんですか?僕がPSのゲーム作ってた頃はリビジョンによって意図しないウェイトがかかることとか当たり前にあったんですけど・・・
2015-07-15 18:02:06@shi3z もちろん。それこそどんな作り方してたんですか? 昨今のオンラインアップデート当たり前のゲームなら、正規とされるリビジョンとして正しいか、取得されたデータが不完全もしくは改竄されていないかのチェックにmd5やsha-2各種のhashを用いるのは珍しくないですが。
2015-07-15 18:07:05.@big_bros えーと、リビジョンという用語から説明が必要な方ですか?同人の人?まあ僕は親切なので教えますが、この場合のリビジョンとは、ハードウェアのリビジョンです。たとえばPS1でも、最初のと最後のでリビジョンが異なり、ハードの性質も違うんですよ
2015-07-15 18:09:22@shi3z hash値の計算に取得元のURLは関係ありません。取得されたデータ列からhashを求めるわけですから、その取得元がどうであれ、「サーバが意図しているhash値」と「クライアントが受け取り持っているデータから計算されたhash値」が合っていることが重要なわけであって。
2015-07-15 18:09:50. @shi3z いや、だから動作ハードの話とかしてませんし。受け取ったデータ列からサーバ側が正とするhash値と同じ値が計算できるか否か、というのが問題です。何の話をしてると思ってたんですか?
2015-07-15 18:11:46今みたいに md5 とか sha 各種など標準化された hash 関数がポピュラーになる以前も、データの破損や相違を検出するためのチェックサムとして CRC とか使われてたんだけど、ほんとにこの人PSのゲームとか作ってたのか?
2015-07-15 18:19:43いい加減この人もうちょっと勉強しないと恥の上塗りを続けることになるぞ…どこぞのWeb屋のCEOらしいけど、従業員むっちゃかわいそう。
2015-07-15 18:21:02@yamamaya3 あー…「ダウンロードしたデータが改竄されてないかどうか md5 や sha-512 で確認しなさい」とかリテラシー教育上言われてても不思議はないですね。
2015-07-15 18:22:16