3月21日、プロ棋士と将棋ソフトによる5対5の団体戦「将棋電王戦FINAL」の第2局・永瀬拓矢六段対Seleneの対局が行われ、Seleneがプログラム上の問題で「角成らず」を認識できず反則負けになるという異例の結末を迎えました。 Seleneの「反則負け」という裁定に 将棋は一進一退の攻防が続きましたが、終盤、永瀬六段が王手で「2七角不成」という手を指したことで解説陣やニコニコ生放送の視聴者から大きなどよめきが。成ることで明らかに駒が強力になる「飛車・角・歩」は、「打ち歩詰め」という反則を避けたいというごく一部の例外を除き、実戦ではまず登場しない異例の手。そのためSeleneにはこの3駒の「成らず」がプログラムされておらず、別の指し手を入力してしまったため、「王手放置」で反則負けと判断したとのことです。 永瀬六段は直後の解説会に登場し、ほぼ勝ちを読みきっていた局面だったことを証明 コンピ
Attacks have been published that are computationally faster than a full brute-force attack, though none as of 2023 are computationally feasible.[1] For AES-128, the key can be recovered with a computational complexity of 2126.1 using the biclique attack. For biclique attacks on AES-192 and AES-256, the computational complexities of 2189.7 and 2254.4 respectively apply. Related-key attacks can brea
トピックス 128ビットブロック暗号AESの安全性について 平成23年9月12日 CRYPTREC暗号方式委員会 米国の国立標準技術研究所National Institute of Standards andTechnology(NIST)により2001年に米国連邦標準規格FIPS PUB 197[1]として規格化され、CRYPTRECの電子政府推奨暗号リスト[2]にも掲載しているAdvancedEncryption Standard(AES)に対する新たな攻撃手法が国際暗号学会(International Association for Cryptologic Research(IACR))[3]が主催する国際会議CRYPTO 2011[4]開催期間中、8月16日に開かれたランプセッション[5]で発表されました[6]。 発表者がIACRのサイトにある電子文献アーカイブ(Cryptolog
このQ&Aは役に立った 役にたった:0件 このQ&Aをともだちに紹介する このQ&Aをブックマークする このQ&Aについてブログを書く 質問 質問者:pivot_shaf AES(Rijndael)、繰り返し変換 困り度: 困っています AES-128、AES-256、すなわち Rijndael(ブロック長128bit)おける鍵長効果について教えてください。 仮に256bitの鍵があるとします。 AES-256を単純に用いる以外に、鍵を 128bit に二分して、AES-128の変換操作を二重に適用する方法も考えられます。 総ラウンド数からすれば後者の方が多いですが、強度も期待のものとなるのでしょうか。 さらに512bitなどの鍵があり、128bitで四回操作すれば、それに見合う暗号強度が得られるのでしょうか。 例え四回操作しても、実は一回操作で到達できる(置き換えられる)等価な128b
AES-128、AES-256、すなわち Rijndael(ブロック長128bit)おける鍵長効果について教えてください。 仮に256bitの鍵があるとします。 AES-256を単純に用いる以外に、鍵を 128bit に二分して、AES-128の変換操作を二重に適用する方法も考えられます。 総ラウンド数からすれば後者の方が多いですが、強度も期待のものとなるのでしょうか。 さらに512bitなどの鍵があり、128bitで四回操作すれば、それに見合う暗号強度が得られるのでしょうか。 例え四回操作しても、実は一回操作で到達できる(置き換えられる)等価な128bit鍵が存在するというのであれば、総当り攻撃に関して原理上の価値は無いことになります。 128bitブロックの全単射の関数は、2^128 の階乗 通りもあると思います。 この内、128bit 鍵で指定できるのは、高々 2^128 種類にすぎ
わかる! PGP暗号 (笑) PGPには沢山の暗号が登場します。 PGP内部ではこれらのアルゴリズムをどうやって使っているのでしょう。 このページではこういった疑問に, 数式などを使わずに, できるだけ易しく解説します。 タイトルはもちろん某書籍シリーズのパクリです! 例によって字ばっかりですみません。 PGPには色々な製品やバージョンがありますが, ここでは一括して 「PGP」 と呼ぶことにします。 ただし厳密なバージョンの違いを強調するために以下の表現を用いる場合があります。 PGP 2.6.x - PGPの初期バージョン。 このバージョンの仕様は RFC1991 で公開されています。 PGP 5.x - PGP 2.6.x が抱えるソフトウェアデザイン上の問題点を修正したバージョン。 このバージョンは, かつては PGP3 と呼ばれていましたが, PGP3 自体は日の目を見ることなく
さてここで、図 2 のような手順でデータをやりとりします。 送信者は相手 (受信者) の公開鍵を取り寄せます。 送信者は取り寄せた公開鍵でデータを暗号化し、暗号文を送信します。 受信者は、自分の秘密鍵でデータを復号し、平文を手に入れます。 ネットワークが盗聴されていたとして、盗聴者が手に入れられるものは 受信者の公開鍵 公開鍵で暗号化した平文 の 2つだけです。この 2つでは平文を手に入れることはできません。 「公開鍵で暗号化されたデータは秘密鍵を使わないと復号化できない」 からです。 ここで説明したやりかたで、確かに安全に暗号化を実現することができます。 ただし公開鍵暗号方式の中で最も広く使われている RSA という暗号方式は、 暗号化・復号化に非常に時間がかかるという欠点があります。 どれくらい遅いかというと、一般的な共通鍵方式の数百〜千倍遅いのです。 実際の暗号化処理 公開鍵方式が遅
本文章は共立出版 Bit 2000年4月号 (pp17-pp24) に掲載された 『AESファイナリストをめぐって〜暗号最新動向/鈴木裕信』を Web用に編集したものです。 AESファイナリストをめぐって 〜暗号最新動向〜 鈴木裕信 hironobu at h2np.net DESからAESまでの道 暗号アルゴリズムとしてDESは広く知られているが、正式にはData Encryption Standardという名称である。これは1970年代米国商務省が政府の標準化暗号と して公募し、そして選定した暗号アルゴリズムである。 1960〜70年代前半にかけて米国内では既にデータプロセッシングのための各種 の"商用"暗号処理システムが存在していた。ここで商用とわざわざ強調するの はコンピュータが一般に使われ、そしてデータプロセッシングのセキュリティ として暗号技術が必要になる以前は暗号技術とは軍
最終目的は SSL/TLS ここから暗号化に関する話が始まります。 最終目標は「SSL/TLS プログラミングができるようになること」なのですが、 プログラミングのやり方だけを説明するのは嫌なので、 暗号の基礎についても解説してみました。 本を買って勉強してみたところ、これが非常におもしろい。 ついついいろんなことを書いてしまいました。 共通鍵 データを安全にやりとりするにはどうすればいいでしょうか。 そう、暗号化すればいいのです。 古来から伝わる暗号化の方式としてシーザー暗号というのものがあります。 仕組みはとても簡単で、下の表のように文字列をアルファベット順に 数個ずらすだけです。この例では A〜Z を F〜Z・A〜E と、5つずらしています。
安全性については、既存の各種攻撃手法に対して安全であることが数値的に評価されており、また実際に世界中の暗号研究者によって多くの攻撃がなされたものの、安全性上の問題点がいままでに指摘されたことはない。現在のところ、鍵長128ビットでは10段中7段、鍵長256ビットでは14段中9段までの攻撃結果がある[参考文献5]。 ここでいう「段」とは、段関数の繰り返し回数のことを示す。鍵長128ビットのRijndaelの場合、10個ある段関数のうち、現時点では7番目の段関数までは攻撃可能であるが、8番目の段関数において「必要とされる安全性を確保できたレベル」、9番目と10番目の段関数は「セキュリティマージン」ということになる 実装面では、全体的にパフォーマンスを重視した設計が行われており、利用環境に応じてソフトウェアでもハードウェアでも非常に効率的な実装が可能になっている。事実、PC上の処理速度は無論のこ
2013年のClojure界隈はcore.asyncが話題ですが、今回は非同期処理にcore.asyncは使いません。 今回はcore.asyncの代わりにalephというライブラリを使って、WebSocketを使った簡単なデモアプリケーションを作ってみようと思います。サーバーとクライアントの両方をClojureで実装します。 alephは、同じ作者のlaminaという非同期プログラミングライブラリをベースに、nettyを使ってHTTP/WebSocket/TCP/UDPのI/Oをサポートしたライブラリです。 core.asyncと同様に、laminaではchannelと呼ばれるキューにメッセージを出し入れすることで非同期処理をサポートしています。 laminaにはchannel以外にも様々な機能がありますが、今回はchannel以外の機能は使わないので解説しません。(というか解説できるほ
この記事は、Clojure Debugging ’13: Emacs, nREPL, and Ritzの翻訳です。著者の許諾をいただいています。また、Qiita上でのClojure Advent Calendar 2013参加記事(12/12)です。 細かいところの動作確認・アップデートの有無の調査等はまだできていませんのでご了承ください。そのうちやります。翻訳の更新履歴は末尾に有ります。 - 私は今、2013年と2014年の開発プロジェクトの準備を進めているところだ。2010年時代のswank-clojureとslimeを使ったアプローチは、もはやこのプロジェクトで使い続けることはできないだろう。nREPLのコミュニティに参加して、自分が働く分散システムのデバッグを容易にする技術革新の恩恵を受けるのだ。 私がcommon lispとslime/swankで 慣れ親しんでいた機能は: Me
この記事は、Clojure Debugging ’13: Emacs, nREPL, and Ritzの翻訳です。著者の許諾をいただいています。また、Qiita上でのClojure Advent Calendar 2013参加記事(12/12)です。 細かいところの動作確認・アップデートの有無の調査等はまだできていませんのでご了承ください。そのうちやります。翻訳の更新履歴は末尾に有ります。 - 私は今、2013年と2014年の開発プロジェクトの準備を進めているところだ。2010年時代のswank-clojureとslimeを使ったアプローチは、もはやこのプロジェクトで使い続けることはできないだろう。nREPLのコミュニティに参加して、自分が働く分散システムのデバッグを容易にする技術革新の恩恵を受けるのだ。 私がcommon lispとslime/swankで 慣れ親しんでいた機能は: Me
この記事は、Clojure Advent Calendar 2011の20日目の記事です。 [[2012/1/6 23:00 再修正]] 最新のswank-clojure (1,3.4)では、windowsのパス名の扱いの問題が解決していました。1.3.4以降のものを使えば、特に何もしないで使えます。 [[2011/12/26 23:00 修正]] 最初の投稿では、結局うまくいかなかったのですが、いろいろ調べたり方法を変えたりしてうまく行きました。 これまで、Project EulerとかCode Jamとかやるときには、ClojureBoxを使ってました。ClojureBoxは、立ちあげるとすぐにREPLが使えて便利なのですが、だいぶ前にメンテナンスが終了していて、1.3になる可能性がありません。 自分で1.3に入れ替えるのもそれほど難しくなさそうですけど、1.2ベースで作っちゃったもの
How a Clojure pet project turned into a full-blown cloud-computing web-app Presentation at Berlin Lispers Meetup: February 2, 2010 about our Clojure experiences: "How a Clojure pet project turned into a full-blown cloud-computing web-app. Or: What are the differences between a Clojure web-app and one written in Java or Common Lisp? " http://netzhansa.blogspot.com/2010/01/title-berlin-lispers-meetu
(この記事は、Clojure Advent Calendar 2011 21日目の記事です。) 前々からATNDでAPIが利用できることを知ってましたので、週末起業的な意味で、以下のサービスをHeroku上で作って見ました。当然Clojureです。 サービスの内容はブログのタイトル通りです。 http://find-event.herokuapp.com/users/tnoborio 作ったときに残したメモを頼りに、Herokuでどんな感じで作っていったかをさくさくっと書いていきたいと思います。 まずはLeinigenを作ってディレクトリを作成しますがそこらへんは割愛。 Herokuにアプリケーションを作るときに、--stack cedraを忘れずに作ります。アプリの名前を付けないと、flower-company-hogehoge-xみたいな名前がつくので最初から決めといたほうがいいです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く