Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ChaChaPoly and You, CryptoKit Explained

monolithic-adam
September 10, 2022

ChaChaPoly and You, CryptoKit Explained

トークタイトル
ChaChaPoly and You, CryptoKit Explained
トーク概要
「え、CryptoKitを使いたいけど、いつ、何を使うべきかわからない。。。」の方はもう心配いらない。このトークで一緒にCryptoKitの謎を解きましょう!

ユーザーのデータを暗号化しないといけない開発案件が出てきて「CryptoKitを使うチャンス!」を思って調べてきました。それでみんなにそのKnowledgeを共有したいと思っています!みんなCryptoKitマスターになりましょう!

monolithic-adam

September 10, 2022
Tweet

More Decks by monolithic-adam

Other Decks in Programming

Transcript

  1. • It refers to secure information and communication techniques derived

    from mathematical concepts and algorithms, to transform messages in ways that are hard to decipher. • “世界一危ないコード” Cryptography
  2. Hash Functions • 一方向 - 実質的に元に戻せない • 決定論的 - 同じメッセージは常に同じハッシュ値になる

    ことを意味します • 一意 - 同じハッシュ値を持つ 2 つの異なるメッセージを 見つけることは事実上不可能であることを意味します
  3. ChaCha20Poly1305 is an authenticated encryption scheme that combines ChaChaTLS and

    Poly1305. https://www.cryptopp.com/wiki/ChaCha20Poly1305
  4. Public Key • 二つの紐づいているキー(publicとprivate) • 誰でもpublic keyで暗号化できるけどprivate keyだけが 復号化できる •

    Digital Signatureに向いている(みんなよくSSHで Githubに通信していると思うのでこういうユースケースは 知っている!!!)
  5. ChaChaPoly.SealedBoxって何? This object includes the combined property, which in turn

    contains three properties: • nonce: it is an arbitrary number used in data encryption. • ciphertext: are the encrypted data, with the same size as the input data. • tag: it is an authentication label and prevents data from being altered without us noticing.