タグ

2018年9月11日のブックマーク (6件)

  • プログラマの暗号化入門 - Qiita

    暗号化について理解が不十分なまま何となく動くプログラムを書いている人が意外に多いような気がします。 最低限これだけ覚えておけば、という内容だけを記載しました。 通常業務で困らないレベルの知識を身につけましょう! これだけは言っておきたかったこと 暗号化の対語は復号です。 復号化ではありません。よく間違われているので注意!(「暗号化」の対語が「復号化」ではない理由) これを知っていると少しドヤ出来ますよ。 用語集(登場人物) 平文(ひらぶん) 暗号化されていない元のデータのこと。(英語ではplain text) https://ja.wikipedia.org/wiki/%E5%B9%B3%E6%96%87 暗号文 何らかの暗号アルゴリズムで秘匿化されたデータのこと。(英語ではcipher text) https://ja.wikipedia.org/wiki/%E6%9A%97%E5%8F

    プログラマの暗号化入門 - Qiita
  • 暗号技術入門

    The document summarizes cryptography techniques such as hashing functions, MAC, digital signatures, and FIDO authentication. It discusses SHA-2 and SHA-3 hashing standards, how MAC provides data integrity while signatures provide non-repudiation. ECDSA is introduced as an elliptic curve digital signature algorithm. FIDO aims to standardize multi-factor authentication using authentication devices a

    暗号技術入門
  • 暗号化とハッシュ化に関する基本的な事柄まとめ - Qiita

    記事は拙ブログ記事「暗号化とハッシュ化に関する基的な事柄まとめ - the world as code」のリファイン版です。 暗号化とハッシュ化は違う。暗号化はデータの秘匿を目的としており、適切な鍵を用いることで復号が可能。ハッシュ化はデータの置換がそもそもの目的であり、ハッシュ関数により一定のフォーマットへ不可逆の変換を行う。 ただし、衝突耐性を持つことなどにより、セキュリティ用途に適する「暗号学的ハッシュ関数」というものもあるらしい。デジタル署名やメッセージ認証符号への使用を目的とされており、逆にチェックサム等に使用するには計算が「重い」。 アルゴリズム RSA 公開鍵暗号。素因数分解の計算難度を根拠としたもの。なおRSAは発明者の名前から取られたものであり、何かの略ではない。 SSHログイン時の鍵認証やSSL認証など、広く使われる。 秘密鍵生成コマンドとしてopenssl gen

    暗号化とハッシュ化に関する基本的な事柄まとめ - Qiita
  • 第3回 AES暗号化

    前回は代表的な共通鍵暗号方式であるDESについて取り上げた。今回はその後継であるAESについて見ていく。 AESとは 「AES(Advanced Encryption Standard)」は、DESの後継として米国の国立標準技術研究所(NIST:National Institute of Standards and Technology)によって制定された新しい暗号化規格である。 1997年にDESの後継となる共通鍵方式の暗号化規格が公募され、世界中から21の方式が提案された。それらは暗号の専門家などを中心にして、その暗号強度や安全性、ハードウエアやソフトウエアでの実装のしやすさや性能(速度)、計算に必要なハードウエアリソースや必要な電力、鍵長やブロック長などに対する柔軟性、知的財産的な評価(無償で利用できること)など、さまざまな視点から評価・検討された(選定過程については次の報告書参照)

    第3回 AES暗号化
  • Java AES 256 暗合・複合 - Oboe吹きプログラマの黙示録

    過去に何度も書いた Java AES 暗合・複合 秘密鍵、初期ベクトルをどう作成するか、いろんな方法あるが、 改めて、256bit で、SHA-256 ハッシュ値を使う方法。 暗合 public static String encrypt(String passwd, String message){ try{ byte[] key = passwd.getBytes(); MessageDigest sha = MessageDigest.getInstance("SHA-256"); key = sha.digest(key); key = Arrays.copyOf(key, 32); SecretKeySpec keyObj = new SecretKeySpec(key, "AES"); IvParameterSpec ivObj = new IvParameterSpec(Ar

    Java AES 256 暗合・複合 - Oboe吹きプログラマの黙示録
  • Java 9時代のAES 256暗号 - Qiita

    もうポリシーファイルは要りません。 大事なことなのでもう一度言います。もうポリシーファイルは要りません。 背景 Java では標準ライブラリの Cipher クラスを使えば、サードパーティのライブラリを使うことなく AES 暗号を扱うことができます。しかし、AES 暗号はアメリカの輸出規制の対象になっているらしく、標準では 128bit までの鍵しか扱えません。日のようにこの輸出規制の対象にならない国では、別途 Oracle から無制限強度のポリシーファイルをダウンロードして、システムに上書きする必要があることは有名な話です。 JavaでAES256を使用できるようにする ポリシーファイルを差し替えれば AES 256 暗号を使えるのでよいのですが、よいのですが、...正直いって非常に面倒です。このあたりの経緯を知らない人に説明するのも面倒ですし、JDK を更新するたびに差し替えるのも面

    Java 9時代のAES 256暗号 - Qiita