「ハッシュ」を含む日記 RSS

はてなキーワード: ハッシュとは

2024-10-04

anond:20241004212036

オモロ。もし画像ファイル名を一緒に学習してたら、e621のハッシュ突っ込んでくじ引きするの楽しそうやな

2024-09-15

anond:20240915192726

検索機能だって改善してもらったんだし、

投稿内容をハッシュ化して保存し、直前のハッシュ値と一致したら投稿拒否するだけでいいんだよ。

2024-09-10

anond:20240910233509

解析不能から復号のできる暗号化じゃなくてハッシュなので

ハッシュする手間が1億倍になるだけ

安全パスワードの長さ

ってあるけど、元のパスワードに1億回ハッシュしたもの暗号化すれば、

パスワード解析時間を1億倍に長くできるのでは?

2024-08-17

anond:20240817015407

依存関係は木で表現

ノードロック持たせる

ロックに条件持たせる

やりたいことはできてるように見えるが、うーんしんどい

# Entity Relation Diagram
# ```mermaid
# ---
# title: Rental Office example
# ---
# erDiagram
# OFFICE ||--|{ ROOM : x
# OFFICE {
# number office_id
# }
# ROOM {
# number office_id
# number room_id
# }
# ROOM ||--|{ SCHEDULE : x
# SCHEDULE {
# number room_id
# datetime start_at
# datetime end_at
# }
# OFFICE ||--|{ BUSINESS_HOUR : x
# BUSINESS_HOUR {
# number office_id
# enum week_of_day
# datetime start_at
# datetime end_at
# }
# ```

# Directed Acyclic Graph
#
# ```mermaid
# graph LR
# A[OFFICE] --> B[ROOM]
# B --> C[SCHEDULE]
# A[OFFICE] --> D[BUSINESS_HOUR]
# D --> C
# A --> C
# ```


# 基底クラス: EntityLock
class EntityLock
attr_accessor :entity_name, :entity_locked, :attribute_locks

def initialize(entity_name)
@entity_name = entity_name
@entity_locked = false # エンティティ全体のロック状態を保持
@attribute_locks = {} # IDに対するロック管理するハッシュ
end

def lock_entity
@entity_locked = true
puts "Entity '#{@entity_name}' is now locked."
end

def unlock_entity
@entity_locked = false
puts "Entity '#{@entity_name}' is now unlocked."
end

def lock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && !@attribute_locks[entity_id]
@attribute_locks[entity_id] = true
puts "#{@entity_name} with ID '#{entity_id}' is now locked."
end
end

def unlock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
@attribute_locks.delete(entity_id)
puts "#{@entity_name} with ID '#{entity_id}' is now unlocked."
end
end

def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked

# 次に特定IDロックされているかチェック
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
return true
end

# ロックされていなければfalseを返す
false
end
end

# 子クラス: OfficeLock, RoomLock, ScheduleLock
class OfficeLock < EntityLock
def initialize
super("Office")
end
end

class RoomLock < EntityLock
def initialize
super("Room")
end
end

class ScheduleLock < EntityLock
def initialize
super("Schedule")
end
end

# 子クラス: BusinessHourLock
class BusinessHourLock < EntityLock
def initialize
super("BusinessHour")
@attribute_locks = [] # BusinessHour用のロック配列管理
end

def lock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at &amp;&amp; end_at
@attribute_locks << [start_at, end_at]
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now locked."
end
end

def unlock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if @attribute_locks.include?([start_at, end_at])
@attribute_locks.delete([start_at, end_at])
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now unlocked."
end
end

def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked

# 次に特定時間範囲ロックされているかチェック
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at &amp;&amp; end_at
@attribute_locks.each do |(locked_start, locked_end)|
if locked_start <= start_at &amp;&amp; end_at <= locked_end
return true
end
end
end

# ロックされていなければfalseを返す
false
end
end

# TreeNodeクラス
class TreeNode
attr_accessor :name, :children, :parents, :lock

def initialize(name, lock)
@name = name
@children = []
@parents = [] # 複数の親ノードを保持する配列
@lock = lock # TreeNodeにロックを持たせる
end

def add_child(child_node)
child_node.parents << self # 子ノードにこのノードを親として追加
@children << child_node
end

def display(level = 0)
indent = " " * (level * 4)
puts "#{indent}#{@name}"
@children.each { |child| child.display(level + 1) }
end

def has_dependency
return false if @parents.empty?

@parents.each do |parent|
puts "#{@name} is dependent on #{parent.name}"
return true
end

@parents.any?(&amp;:has_dependency)
end

def locked?(attributes = {})
# 自身ロックされているか確認
return true if @lock.locked?(attributes)

# 親ノードロックされているか再帰的に確認
@parents.any? { |parent| parent.locked?(attributes) }
end
end

# 木構造の組み立て

# ロックオブジェクト作成
office_lock = OfficeLock.new
room_lock = RoomLock.new
schedule_lock = ScheduleLock.new
business_hour_lock = BusinessHourLock.new

# ノード作成
office_node = TreeNode.new("Office", office_lock)
room_node = TreeNode.new("Room", room_lock)
schedule_node = TreeNode.new("Schedule", schedule_lock)
business_hour_node = TreeNode.new("BusinessHour", business_hour_lock)

# ノード間の依存関係の設定
office_node.add_child(room_node) # Office -> Room
room_node.add_child(schedule_node) # Room -> Schedule
office_node.add_child(business_hour_node) # Office -> BusinessHour
business_hour_node.add_child(schedule_node) # BusinessHour -> Schedule

# 木構造の表示
office_node.display

# ロック確認
puts "Case 1. Office全体がロックされた場合"
puts "Is office_node locked? #{office_node.locked?({})}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # false
office_lock.lock_entity
puts "Is office_node locked? #{office_node.locked?({})}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # true
office_lock.unlock_entity

puts "Case 2. Room id:1 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.lock({ "room_id" => 1 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.unlock({ "room_id" => 1 })

puts "Case 3. BusinessHour start_at:0 end_at:5 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.lock({ "start_at" => 0, "end_at" => 5 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.unlock({ "start_at" => 0, "end_at" => 5 })

2024-07-14

anond:20240714004406

1.

できる

通常ユーザーを分ける

2.

できる

同上

3.

できるできないというよりパスワードの代わりなのでOAuthであってもそこは同じ

強固にするならMFAなどはパスワードでもできる

4.

普通ハッシュにするのでこれもOAuthとかわらない

だと思うのでおれもよくわからん

2024-07-04

anond:20240704102757

まぁ、パスキー(FIDO認証)でパスワードレスの流れじゃないですかね

ビックテックが下記みたいに言ってるので

 

AppleGoogleMicrosoftが、パスワードレスサインインの利用促進に向けてFIDO標準のサポート拡大を表明 (2022 年 5 月 5 日)

https://www.apple.com/jp/newsroom/2022/05/apple-google-and-microsoft-commit-to-expanded-support-for-fido-standard/

 

MSはご希望個人企業にはパスワードレス提供してるよね(大企業は本当に大丈夫要件運用確認した方がいい)

ショッピングサイトAmazonくらいしかパッと思い浮かばないけど、それを追う形になるんじゃないですかね

 

Amazon」でパスワードレス認証パスキー」が利用可能に ~顔や指紋簡単ログイン

https://forest.watch.impress.co.jp/docs/news/1540281.html

 

 

暗号化どうたらは複合ではなく出来るのは推測

システムログファイルパスワードが平文で記録されているとか愉快な作りではない限り、管理者もわかりません

 

あれだけのプレビュー捌けるエンジニア基本的ジャガイモではないので、基本的セキュリティ周りでどうこうは無いと思うんですけど、

問題運用ですよね、運用エンジニア領分ではないので

 

えらい人がありがたい発言をたくさんしていることでも知られてますし、面接面接者の評価に気さくな言葉を残したりしそうな、陽気なひとたちというイメージがあると思います

例えば、カスタマー対応してる時に、ユーザーからパスワードを直接聞き出し、それをメモに残しちゃったら、ハッシュ化ガーやソルト化ガーの意味ないですよね

ニコニコ流出パスワード大丈夫って言ってる人いるけど

ハッシュ化してるから~とか言ってるけどあれは理想であって現実じゃないんよ

その手の業界で働いたらわかる

そうなってないところなんて山ほどある

 

特に企業相手だと一般ユーザーとは違うレベルで丁寧なサポート必要になる

原因とかを細かく調査しろとか言われるし

本番でそんなのいらんだろって思うレベルで全部ログを全部出してたりする

通信ログサーバークライアントのやりとりを全部保持してたりするし中にはパスワードとかが入ってることだってある

(大きいところはマスクする処理とかある場合もあるけど)

実行したSQLの全部がログされてることもある

SQL認証処理してたらここでも残る)

そもそもハッシュ化せず生で保存していて、画面で今のパスワード確認できる必要があるシステムだってある

以前見たものではログインできないの調査依頼に「DBにはabcというパスワードが保存されてましたがユーザーABCというパスワード試行してました」とかもあった

世の中そんなもんよ

安心せずに変えておいたほうがいい

 

ニコニコ自体ウェブ系のところである程度しっかりしてるのかなって思うこともあるけど、カドカワ関係してるし

こういう古くからある体質の会社が社内委託的なので作ってたら、こういう事あってもおかしくないんじゃないかなとは思う

2024-07-02

KADOKAWAのハッキングの話チョットワカルので書く

私はプロではないのでわからないので、間違っているのは当たり前だと思って読んでください。

個々人のエンジニア能力がとかクレジットカードがとかは基本関係ないという話です。

関係なくてもパスワードを使い回している場合は、同じパスワードを使っているサービスパスワードはすぐ変えるの推奨)

三行

会社システムはどうなってるか

私は長年社内システム奴隷をやって参りました。現在クラウドになる前のサーバも触って参りましたので、その辺りからお話しをさせてください。


サーバーというのは、簡単に言うとシステム提供しているコンピュータです。

貴方が触っているコンピュータシステムネットワークの向こう側にいます。この増田増田サーバーというのがいて、私たちサービス提供してくれています

しかし、このサーバ、どんなイメージを持っていますか? でっかい黒い冷蔵庫?ちかちか光るロッカー? それともバーチャルネットワークで画面上に写されるものでしょうか。


サーバーといっても、実4形態ぐらいあるのです。私もチョットワカルぐらいなので間違っていると思いますが、まずは理解する為に簡単説明させてください。

と言う段階があります

ニコニコ動画サービスはどうかというと、色々な情報を得ると、④を使いながら③にする途中で、まだ②が残っている、ということのようですね。


これらの使い分けについてですが、最近は自社でサーバを持っていると自分たち管理しなければならなかったりして大変なので、できるだけ②から③、できたら④に持っていきたいと言うのが世の中の流れです。それでも②はのこりますが、最小限にしていく方向。

現在は、②のシステムがだけがやられたように、セキュリティ的にも預けた方が望ましいと言われています


今回も、自社で管理している部分が攻撃されました。特にクレジットカード情報漏れていないと何度も言われているのは、そこを自社で管理せずに専門業者に任せていたことが大きいわけです。

この流れをまずは頭に入れましょう。

じゃあ何がハッキングされたのか

さて、メールを扱ってるサーバーと、売れた商品バーコードでピッとして管理するシステムは全く別でどちらかがハッキングされたからといってもう一つもされるこことはありません。これは何故かと言うと、それぞれを細かくたくさんのシステム仮想サーバに別けた独立システムになっているからです。

さらKADOKAWAのようにサービスを外部に展開してる会社場合、外部向けのシステムと内部向けのもの(バックオフィス)で必要機能が異なるので、部署が異なるのと同じように違う仕組みになっているはずです。ただし、物理的にどこにサーバあるかなどはあまり関係がありません。

しかし、こうなると小さなサーバがたくさんたくさんあると言う状態になって管理が大変です。

利用者視点にしても、システムごとにログインするための情報が別々だと非常に使いづらいですよね。会社で部屋ごとに別々の鍵がついていて、じゃらじゃら鍵束を持って歩くような状態は面倒です。


すると、どうするかというと、これらをまとめて管理するシステムというものが作られます

これを「システム管理ソフト」と「認証システム」といいます。これらが全体に対してユーザ認証や、サーバが正常に動いているかどうかの管理提供する事で、たくさんのシステム管理効率化するのです。

企業の警備室に機能を集約するようなものです。ですが、ここが要になっていて、破られると全ての鍵が流出してしまうということになるわけです。


出てきた情報から見ると、この管理するシステム認証するシステムがやられたと思われます

また、その前の前段はVPNと言う仕組み(ネットワーク暗号化して安全隔離するもの)が攻撃されて破られたのではないかと推測しています

これは近頃猛威を振るっている攻撃で、業務用で多く使われているVPN装置脆弱性(弱点)が狙われて、多数の問題が起きています。当然脆弱性修正したプログラムは適用されていると思いますが、次から次へと新たなセキュリティホールが見つかる状況であり、匿名アングラネットでは脆弱性情報取引されているため、訂正版のプログラムが出る前の攻撃情報が用いられた可能性があります。(これをゼロデイ攻撃といいます) あくまでも推測ではありますが。

個々のシステム独立しています。ですが、こうなってくると、今回はシステム全体が影響を受け、さらにどこまで影響が及んでいるか分析が困難なレベルだと言われています

ここまで広範囲に影響するとすると、管理認証VPN攻撃を受けてやられたとみるべきでしょう。


また、ここが破られていると、クラウドシステムにも影響が及ぶケースがあります

一時期「クラウド」というとストレージの事を言うぐらい、クラウドストレージが当たり前になって、自社運ファイルサーバは減りました。これは今では危険認識されているほかにこちらの方が安く利便性も高いからです。

それ故に、クラウドストレージ、たとえばSharePoint OnlineやGoogleDrive、Boxなど外部のシステムに置くようになっています

しかし、今回はこれが破られている可能性があります

オンプレミスの認証サーバが破られているので、その認証情報を利用してクラウドアクセスできてしまったものだと思われます。言わば、鍵を集めて保管してあった金庫がやぶられるようなもの


通常、クラウドシステムはそんなに甘い認証にはなっていません。例えば多要素認証といってスマホなどから追加で認証すると言うような仕組みがあります。貸金庫に入るとき自称するだけでは入れず、身分証明書パスワードの両方が必要なうものです。

また、日本企業なのに突然ロシアからアクセスされたりすると警報をだして遮断する仕組みがあります

とはいえ、いちいちクラウドアクセスする度に追加認証をしていると大変で、面倒クサいと言う声が上がりがちです。


そんなときに行われてしまうのは、自社のネットワークからアクセスするときは、認証を甘くすると言う仕組みです。

まりネットワーク安全だという仮定の下においてしまうわけですね。自社の作業着を着ている人なら合い言葉だけで、本人確認なしで出入り自由としてしまうようなものです。

ところが今回は、ここが破られてしまって被害を受けている可能性があります。自社の作業着が盗まれているので、それを着られてしまったので簡単に入れてしまったようなもの

また、社内システムからデータ窃盗するには、どのシステム重要かを判断しなければなりませんが、クラウドサービスだと世界共通であるため、一度入られてしまうと慣れ親しんだ様子で好きなようにデータ窃盗されてしまうわけです。

どういう人が危ないのか

上記のことを踏まえて、KADOKAWAの展開してるサービス自体や、そこに登録しているクレジットカードは「おそらく」大丈夫です。パスワードも「ハッシュ化」という処置を経て通常は記録されていません。

ただ、パスワードを使い回している方は、その事実とは別にそもそも危険です。パスワード変更をおすすめします。さらに、ハッシュ化をされていても、時間をかければ色々な方法パスワードを抜き出す事も不可能では無いことも忘れずに覚えておきましょう。


しかし、単なるユーザー、お客さんではなく、KADOKAWA会社として関わってる人や従業員取引先で色々な書類等出した人は、既に情報窃盗されていて、そこから今後も追加で情報が出回る可能性があります

一方で、分かりやす場所に保存されていたわけではない情報システムデータベース上にだけ入っていたものなど)は、センセーショナルな形で流出したりはしないのではないかと予想しています

犯人が本当に金が理由だとするならば、データ分析するような無駄な事に労力を割かないためです。

腹いせで全てのデータを流して、暇人が解析する可能性はあります

ありますが、犯人コストを回収しようとするので、これらの情報販売しようとします。売り物になる可能のものをただ単に流したりもしづらいのではないかと思っています

もちろん、油断はするべきではありませんし、購入者が現れるとすると購入者は具体的な利用目的で購入するため、より深刻な被害に繋がる可能性も残されています

エンジニアレベルが低いからやられたのか

犯人が悪いからやられたのです。レベルが低いからとか関係ありません。

また、周到にソーシャルハッキングオレオレ詐欺のようになりすまし情報搾取するなどの方法)や、このために温存したゼロデイ攻撃(まだ誰も報告していない不具合を利用した攻撃)を駆使され、標的型攻撃不特定多数ではなく、名指して攻撃すること)をされると、全くの無傷でいられる企業や団体は、恐らく世界中どこにも存在しません。


それは大前提とした上で、敢えて言うならば、どちらかというと、経営判断が大きいと思われます

ニコニコ系のサービスと、KADOKAWA業務システムと2つに別けて話しをしましょう。


ニコニコ系のサービスは、現在クラウドシステムリフトアップしている最中だったと思われます。先日のAWSクラウドサービス大手企業)の講演会で発表があったようにです。

ですが、この動きは、ニコニコのようにITサービスを専門にする企業としては少し遅めであると言わざるを得ません。

これは何故かと言うと、ニコニコ動画というサービスが、日本国内でも有数の巨大なサービスだったからだと思われます特殊すぎてそれを受け入れられるクラウドサービスが育つまで待つ必要があったと思われます

それが可能になったのはようやく最近で、動画配信系はクラウドに揚げて、残りを開発している最中だったわですが、そこを狙われたという状態ですね。

ただ、厳しい見方をするのであれば、その前に、クラウドに移行する前に自社オンプレセキュリティ対策を行っておくべきだったと思います結果論ですが。

それをせずに一足飛びでクラウドに移行しようとしたというのだとは思います。確かに一気に行けてしまえば、自社オンプレに施した対策無駄になりますコストを考えると、私が経営者でもそう言う判断をしたかも知れません。


KADOKAWA業務システムですが、これはITを専門としない企業であれば、オンプレミス運用(②番)が多く残るのは普通です。

何故かと言うとシステムとは投資費用なので、一度購入したら4年間は使わないといけないからです。そして自社向けであればそれぐらいのサイクルで動かしても問題はありません。

しかし、それ故に内部的なセキュリテ対策投資はしておくべきだったと思います


以上の様にエンジニアレベルととかは関係ありません。基本的には経営者経営判断問題です。エンジニア責任があるとすれば、経営者に対して問題点を説明し、セキュリティを確保させる事ができなかったと言う所にあるでしょう。

ですが、パソコンのことチョットワカル私として、想像するのです。彼らの立場だったら…自社グループ経験豊富エンジニアがいて、一足飛びにクラウドリフトアップができそうなら、既存の自社サービスセキュリティ変更に投資はしないと思います

逆に、パソコンに詳しくなく、自社部門だけでは対応が難しく、SIer支援を受けつつやらなければならないと言うのならば、SIerは固いセキュリティの仕組みを付けるでしょうし、システムごとにSIerが異なることから自然システムは分離されていたでしょう。

そして減価償却が終わった者から徐々にになるので時間がかかることから、昨今の事情により、セキュリティ変更に投資をしてからスタートたかも知れません。


ただし、繰り返しになりますが、犯人が悪いからやられたのです。レベルが低いからとか関係ありません。


では何が悪かったのか

(おそらくは)社内のシステム管理を、自社でできるからと言って一本化して弱点を作ってしまったのは不味かったと思います

先ほど述べたように、高度化していく手口でシステムへの侵入は防ぐことが出来ません。

なので、システムは必ず破られると考えて、それ以上被害を広げないこと、一つのシステムが破られたからと言って他のシステムに波及しないようにすることなどを意識する必要がありました。

これは物理的な話しではなくて、論理的な話です。例えば物理的に集約されていてもちゃんと別けていれば問題ないし、物理的に分散していても理論的に繋がっていたら同じです。

すごく簡単に言えば、管理するグループを何個かに分けておけば、どれか一つが破られても残りは無事だった可能性があります


とりあえず今まで出てきた内容からするとニコニコとかその他のKADOKAWAの外部的なサービス人員的にも予算的にも全然関係ない感じ

結局社内のITシステムに十分な投資経営陣のトレーニングまでを含めた)をしなかったという月並みの話なんですかね

2024-06-28

ニコニコ流出のやつ

ニコニコはほぼ使ってなくて10年以上は全く触れてない

ただ、それより前は動画見るのにログイン必要だったこともあって一部のみたいものを見るために一時的アカ作ったかもしれないレベル

そんな昔だからどんなパスワードにしたかも覚えてない

ただニコニコ初期の頃の時代ほとんど全部同じパスワードだったかアカ作ってたら危ないかもなと思うが一時的捨て垢みたいのだったらいつものパスワードを使わなかったかもしれない

それに仮にいつものだったとしても当時使ってた他のサービスとか覚えてないかパスワード変更して回るのも難しい

 

パスワード漏れてるんだとして、ニコニコ初期の時代じゃハッシュ化するもそこまで当たり前じゃなかったと思うし初期の頃から変更してないユーザーは生のままで保存されてたりするんだろうか

2024-06-12

anond:20240612145721

既知のCSAMについてはハッシュ化したうえでデータベース化し、疑いのある画像マッチングするという手法が広くとられています

1. 疑わしい画像特徴の抽出

perceptual hash‐based detection

LAIONによって確度0.995以上でunsafeと判定されているサンプルを全て抽出し、画像URLをPhotoDNAで検証

マッチしたサンプルをProject Arachnid Shield APIを通してC3P (Canadian Centre for Child Protection)に検証してもらう

CSAM判定されたCLIP特徴を記録

cryptographic hash‐based detection

NCMECの保有するMD5データベースを用いてLAION-5Bに含まれるCSAMを検出

マッチした画像のCLIP特徴を記録

この手法は既にリンク切れになってCSAMか判別できないサンプルに対しても一定の検出を行うことができます。LAIONは各画像MD5をまとめたものをlaion2B‐multi‐md5, laion2B‐en‐md5, laion1B‐nolang‐md5といった形で公開しており、このMD5をNCMECの保有するデータベースと突き合わせることができます。このcryptographic hash-based手法はrecallが低くなるものの、MD5の一致を見るだけで良いので50億全てのサンプルを走査することができます

2. k近傍法による類似画像検出

記録したCLIP特徴でk近傍法を行い、データセット全体から類似画像検索

PhotoDNAで検証

PhotoDNAでは分からなかった画像ダウンロードし、Thornの提供するCSAM分類器で判定

CSAM判定されたものをC3Pが検証

あらた認定されたCSAM画像のCLIP特徴からk近傍法を行い、上のステップを繰り返す

この類似検索によってunsafe値に依らない検出を行うことができ、さらにPhotoDNAでマッチしない未知のCSAMも検出することができますしかしながらC3Pでの検証は人力であり、類似画像をすべて投げるわけにはいきません。そこでThornの分類器によるフィルタリングを挟んでいます

みつかったCSAMの特徴

まり詳しい統計は載っていないのですが、Reddit, Twitter, Blogspot, WordPressといったCDNや、XHamster, XVideosといったアダルトサイトドメインが含まれているようです。またサイトの特徴として"teen models"やヌード日本の"junior idol"コンテンツが多くヒットしているとしています

https://qiita.com/__dAi00/items/90521cc333924196a7ba

原文読んでないからそのつもりで

2024-04-25

anond:20240425224100

ビットコインマイニングは、ビットコインネットワークトランザクション確認し、新たなビットコインを生成するプロセスである

これは数学的な問題を解くことによって行われる。具体的には、以下のようなステップが含まれる:

1. 新しいブロック作成マイナー未確認トランザクションから新しいブロック作成

2. ハッシュ計算マイナーは新しいブロックハッシュ計算ハッシュ関数は、任意の長さのデータを固定長のハッシュ値に変換。ビットコインでは、SHA-256というハッシュ関数が使用される。

3. 難易度ターゲット比較計算されたハッシュ難易度ターゲット以下であるかどうかを確認難易度ターゲットは、ネットワーク全体のマイニングパワーに基づいて調整される。

4. ブロックの追加: ハッシュ難易度ターゲット以下であれば、そのブロック有効とされ、ブロックチェーンに追加される。そして、そのブロック作成したマイナーは新たなビットコインブロック報酬)とトランザクション手数料を受け取る。

これらのステップを繰り返すことで、ビットコインマイニングは行われる。

このプロセス競争的であり、最初問題を解いたマイナーけが報酬を受け取ることができる。

これにより、マイナーは常に最新のハードウェア効率的な電力供給を求めるインセンティブ生まれる。

2024-04-02

AI関数人間の知能にはハッシュ関数ぽい振る舞いがある?

現代AIモデルって呼ばれてる奴は重みが調整された巨大なデータ構造です。

データ構造は多分ニューラルネット的なやつが一般的なのでは。知らんけど。あ、私素人ですので、あまり真面目に聞かないでください。

そんでこのモデル入力に応じて出力が変わります。LLMなら猫っていれたら、猫について語りだして猫この特徴や可愛らしさや、猫にまつわる人間感情についての文章が出力されるだろうし、画像生成なら猫の画像が出てきます

モデルは多くの場合関数として振る舞うので、出力方向からこの出力結果を入力すると(お尻にバイブを刺すのと一緒です。)元の入力データ復元できます。猫にまつわる説明文を後ろから入力したら「猫」って言葉が出るし、猫の画像を後ろから入力したら「猫」って言葉が取り出せます

画像認識AIがやっていたことが全く同じことで、画像認識AI画像生成AIは裏表の関係になっています

ところで人間場合は多くの人が、猫を識別できるにも関わらず、猫の絵を描くことが出来ません。

描くことが出来ても「猫」の再現リアルではありません。

人間の脳は、これらAIが獲得している何かの機能を削ぎ落としているようです。

なんかそのへんが一方向性ハッシュっぽさあるよなーって思った。この辺のアイディアを組み合わせたらなにか、劇的にAI計算コストを下げれそうよね。

あとは発話とかの人類共通計算ハードウェアにしてしまうとか、世界モデルベースハードウェアに落とし込むとか色々計算効率化はありそうな気がしている。

人力イラストは、目から入ってハッシュ化され脳に記録されたデータ、もしくは頑張ってハッシュを行わずに保存されてるデータからの手を使った画像復元処理って感じだろうか。

アニメとか漫画イラストとか絵を見るとき脳の効率を使わずに気分良く見れるのは、脳内の削ぎ落とされたデータに近い形での表現からだろうなって思いました。

こうなってくるとハッシュはいいすぎててたんに情報量を落としたデータだな。

でもハッシュって言ったほうがカッコいいよな。実際多くの人にとって再現度は低いし。

でもハッシュはいいすぎましたごめんなさい。

2024-03-16

ブラウザでのダウンロード

そろそろハッシュチェックが統合されてもいいころだと思うんだ。

2024-02-20

anond:20240220040031

ぐぐったら、別人のXの投稿がでてきたんだが、どういうことだ

やまもといちろうが何喋ってるのかガチ意味不明

山本一郎Ichiro Yamamoto) @kirik.bsky.social
·

soraもすごいと思うけどズームパースも狂った動画を大量の計算で15秒捻出するより

Gemini 1.5がアホみたいにデカハッシュ長を振り返って参照し類推できる技術が将来的にプロンプトの精度を高めるのも確実なわけで

方向性が異なるものを同じハコに入れてどっちが上とかい意味はないと思うんやが

この文章意味理解できるやつ地上に存在する?

GPT-3.5のハルシネーションでももっと意味のわかる文章生成するのに、こいつやばすぎだろ……

かいハッシュ長って何語?参照し類推って何?プロンプト精度を高めるって何?

1から100まで全部意味不明何だが。

そのへんのAI驚き屋さんの足カスにすら及んでない知識量で、なんでAIを語れると思ってるんだ……やばすぎるだろ。

ヤギの歯糞のほうが論理的で安定した物質構成してるだろ。

2023-12-12

むかぁしむかし、2ちゃんねるにはVIPというものがあって、これはVIP待遇とかそんなものではなくて単なる掲示板の分類のひとつなんじゃが、そこにはコテハンというものがおった。

(注・今もあると思うが自分が離れて現在の状況が分からんので過去形で書いています

トリップという、ハッシュを付けたあとに特定文字を繋げることで生成される固有IDのようなもの名前欄に入れた「固定ハンドル」、通常「コテハン」がVIPでは闊歩しており、ここまで書けば理解ると思うがワシもそのコテハンの1人じゃった。

コテハンには様々な個性があり、今で言うぶいちゅうばあのはしりとも言えるんじゃあないかと思う。

コテハン同士で論破論破したり、名無しの人生相談に乗ったり、他の掲示板に「VIPからますた」したりなど、暇で平和自由世界じゃった。年末年始積雪した駅のライブカメラアドレスを載せたスレッド保守したり、名前欄でomikuji!したり…

(書き続けるのがだるくなったので文章はここで終わっている)

2023-10-16

スクリプト言語ハッシュマップPython辞書PHP配列)が使いやすすぎるのでわざわざクラスを作らないというのはある

2023-10-05

複雑さを減らした言語というのは、その実用において代わりの複雑さを取り込んでいて、工程をこなす複雑さとしては公平に比較し得るものではないよ。

両方でハッシュマップ実装する時の困難さは言語により違いが出るが、実用においてそれぞれで同じものを構築することがないという話だ。

いい歳こいてそのくらいも分からないのか。

2023-08-06

ネット投票が出来るようになったら

「はーいみんな俺の部屋に集まれ、俺の目の前で投票しろ、ふざけた真似するなよ?」

ってみんなやるよね?やらない?

他国ではそれの対策のため、後で投票し直せるようになってるらしいが、どういう仕組みなんだろ?

単純に考えると、以前の投票を取り消せるって事は誰が何に投票たか観測できるって事でもある。

それはマズい。

マイナンバー選挙用の秘密パスワードハッシュをとって、選挙専用アカウントIDとする。

選挙専用アカウントIDから個人特定する事はできない。

これなら安全投票のし直しを実現できそうだが。。。

しか選挙専用アカウント大量生産されてしまうか、あるいはパスワードを忘れたら永遠に参政権を失うかの

どちらかに転びそうでもある。

ここで考えるの面倒くさくなっちゃったゼロ知識とか何とかよく知らんしあーめんどくせ。stable diffusionのドスケベ絵で抜いて寝る。

ログイン ユーザー登録
ようこそ ゲスト さん