タグ

cryptとopensslに関するa2ikmのブックマーク (5)

  • QUICむけにAES-GCM実装を最適化した話 (1/2)

    4月末に、会社のほうで「Can QUIC match TCP’s computational efficiency?」というブログエントリを書きました。我々が開発中のQUIC実装であるquiclyのチューニングを通して、QUICのCPU負荷はTLS over TCP並に低減可能であろうと推論した記事です。この記事を書く際には、Stay Homeという状況の中で、手元にあった安いハードウェアを使ったのですが、その後、10gbe NICを入手し、ハードウェアによるUDP GSOオフロード環境でのパフォーマンスを確認していくと、OpenSSLのAES-GCM実装がボトルネックになることがわかってきました。 TCP上で通信するTLSでは、一般に、データを16KB単位でAEADブロックに分割して、AES-GCMを用いてAEAD暗号化します注。一方、UDPを用いるQUICでは、パケット毎にAES-GC

  • cloudpack night #7 に参加しました / EC2 における AES-NI の話 - 水深1024m

    先日行われた cloudpack night #7 に参加しました。 http://www.zusaar.com/event/978005 主催された cloudpack の id:yoshidashingo さんのまとめはこちら。 http://d.hatena.ne.jp/yoshidashingo/20130826/1377527798 新卒入社5ヶ月目、社会人なりたてのぺーぺーではあるのですが、 僭越ながら若手 LT 枠で発表させていただきました。 EC2 環境における AES-NI の性能について紹介しました。 AES 暗号化するならインスタンスをよく見たほうが良いですよ、という話です。 LT の資料だとうまくまとまらない気がしたので記事という形でまとめておきます。 AES-NI とは 詳細はここで説明するよりググったほうが良いです。 一言で言うと AES 暗号の CPU サポー

    cloudpack night #7 に参加しました / EC2 における AES-NI の話 - 水深1024m
  • module OpenSSL::PKCS5

    クラスの継承リスト: OpenSSL::PKCS5 要約 OpenSSL PKCS#5 関連の機能を集めたモジュール モジュール関数 pbkdf2_hmac(pass, salt, iter, keylen, digest) -> String pass と salt から共通鍵暗号の鍵および IV(Initialization Vector) を生成します。 OpenSSL::PKCS5.#pbkdf2_hmac_sha1 と異なり任意の ハッシュ関数を利用できます。 返り値の文字列から鍵と IV に必要なバイト数を切り出して利用します。 この関数は OpenSSL 1.0.0 以降でなければ利用できません。 [PARAM] pass: パスワード文字列 [PARAM] salt: salt 文字列 [PARAM] iter: 鍵および IV 生成時のハッシュ関数の繰り返し回数 [PAR

    a2ikm
    a2ikm 2013/06/05
    OpenSSL::PKCS5.pbkdf2_hmacあたりで鍵とIVを生成する
  • tkyk.name

    tkyk.name このドメインを購入する。 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

    a2ikm
    a2ikm 2013/06/04
    padding=1で有効,0で無効 / pkcs5_keyivgenは推奨されていない
  • JavaとRubyで暗号化/復号化 - Develop with pleasure!

    Rubyで暗号化したデータをJavaで復号化、またその逆を行ってみた。 今回はAES128ビットの暗号化モードCBC、パディングはPKCS#5で実施。 まずRuby側のコード。 require 'openssl' require 'base64' class CryptUtil def self.encrypt(pass, value) enc = OpenSSL::Cipher.new('aes-128-cbc') # 暗号化or復号化どちらを行うかセット(今回は暗号化)、復号化の場合はdecrypt enc.encrypt # ivを生成 iv = OpenSSL::Random.random_bytes(16) # 暗号化する際のキー文字列をセット enc.key = pass # ivをセット enc.iv = iv crypted = "" crypted << enc.upda

    JavaとRubyで暗号化/復号化 - Develop with pleasure!
  • 1