タグ

2022年3月20日のブックマーク (3件)

  • RSAに対するフェルマー攻撃 - Qiita

    はじめに(Introduction) RSAの鍵ペアの生成方法にミスがあり脆弱性となってしまった実装例があったようです。 元の文献を機械翻訳(ちょっと修正)してみます。 原文のデモをやってみたところ、案外動いたので先にデモを記します。 デモ(Demo) まずは、素数$p$と$q$を生成して$N$を求めるところです。 ※:鍵長が2048bitなので多少時間がかかります。 問題となったライブラリがこのようなロジックであったかは不明ですが、翻訳した資料を参考に作成しています。 import random as rnd import sympy key_length = 2048 distance = 10000 p = 0 q = 0 # 乱数Xを生成する。 X = rnd.randrange(2, pow(2, key_length)) for i in range(distance): #

    RSAに対するフェルマー攻撃 - Qiita
  • Java9から17で入った新機能ピックアップ

    Java9から17で入った新機能で、実際コード書く上で使いそうなものをピックアップします。 Java8を使い続けていた人向けです。 レコード (Java16) 不変なデータを保持するクラスを簡単に定義できるようになりました。 classの代わりにrecordで定義します。 名前の後に、フィールドのリスト(コンポーネントと呼ばれます)を記載します。

    Java9から17で入った新機能ピックアップ
  • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

    こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

    データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし